`
gimgen1026
  • 浏览: 160093 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

程序员的四个境界

阅读更多
  IT行业可谓现在的热门行业,程序员也是很多人羡慕的工作。薪水高,不用东跑西颠,
敲敲键盘,看看屏幕,一切工作全都搞定,轻松而方便。果真如此吗?不尽然,实际上,程
序员的职业生涯也是一个求道的过程,需要不断的提高和学习,IT行业知识更新之快,常让
程序员们有随时掉队的危险,无一日不战战兢兢,不敢稍有懈怠。

 程序员的职业生涯也可分为四个阶段,初级程序员(菜鸟)、高级程序员(熟练工)、系统
程序员(高手)、软件大师(大师),其作品也经历四种境界:

· 可以运行的程序
· 健壮、高效的程序
· 结构优美的程序
· 思想深邃的程序

 程序员的必经第一个阶段都是编写可以运行的程序。很多人的编程生涯是从“Hello
World”开始,当第一次按照教科书上的步骤,将源文件编辑完后,编译、连接、运行,在
屏幕上显示出“Hello World”时,心中的激动一点也不亚于阿里巴巴打开了宝库的大门。
初级程序员的目标一般是让程序能运行起来,他们迷惑于库函数的众多,不知道该用哪一
个,他们还要学习基本的语法,以使程序编译通过。初级程序员一般不会考虑设计模式、软
件结构等问题。记得本人编写的第一个较大的程序是本人的本科毕业论文题目--一个计算
机辅助实验系统,开发工具为Turbo C,在DOS下开发(那个时候Windows还不太流行,怎么
样,年代够久远吧),整个软件大约7000行代码,在当时已经能干不少事,在DOS下也能显示
不少花里胡哨的图形界面,支持中文,支持鼠标操作(那时候在DOS下需要自己处理鼠标事件
中断),当时还颇受好评。可是今天再重新温习过去的作品,真有点掺不忍睹,整个软件毫
无结构可言,一共分成两个源文件还是由于编译器不支持一个太大的源文件而被迫分开,整
个系统就是源代码的简单堆砌。相信每个程序员都需要经历这个阶段,它是程序员职业生涯
的开始,没有捷径可以跨越,只有不断的实践、学习和总结。

 第二阶段的程序员已积累了不少的编程经验,语法和库函数不再是障碍,他们已不再满
足于程序正确运行、功能实现无误。他们需要了解程序背后发生的事情,需要了解操作系统
的原理和调度机制,内存管理,文件系统组织等;了解开发工具的细节,如C的函数调用机
制,参数的传送机制、堆栈的建立过程等;了解C++的封装、继承和多态性背后的机制,虚
函数实现机理等。他们不仅知道程序应该如何运行,还知道它为什么这样运行,能编写高
效、鲁棒的程序。

 第三阶段的程序员能构建结构优美的软件系统,软件系统结构的合理性、可扩展性、可
维护性、可测试性是系统程序员考虑的重点,结构优美的软件系统同一栋完美的建筑群一
样,每个部分各司其职,搭配合理。本人一直认为,一个好的软件系统应当具有美学特征,
如简洁、和谐、层次感等,一个好的软件系统应当是简洁的,易于理解的;应当是和谐的,
每个部分高内聚、低耦合,既分工又合作;应当是层次分明,易于维护和移植。所以,本人
建议那些进行软件系统设计的程序员,当你设计完一个系统后,需要问问自己:"它美
吗?",如果答案是否定的,那么我建议你需要重新考虑系统的设计,如果答案是肯定的,
那么,恭喜你,你已经达到一个相当高的水平。

 最后一级也许是每个程序员梦想达到的顶峰,程序设计不再是简单的工具,而是大师们
改变世界的魔杖,从C到C++,再到COM和COBRA,再到XML和WEB SERVICES,每次改变,不是
软件语法和开发工具的升级,而是用软件构建现实世界模型的改变,是一种软件思想的革
命,软件具有了灵魂和智能。如果没有理解这一点,认为C++只是更好的C,COM只是更好的
C++话,你就没有了解它们的精髓和思想性。

 “程序员之路漫漫兮,吾将上下而求索”,希望与所有的程序员共勉。
分享到:
评论

相关推荐

    程序员十层境界(很经典)

    每个境界都代表了一个程序员成长的不同阶段,无论是从技术能力还是思维方式上都有着质的飞跃。当然,这十个境界并不是固定不变的,每个人的成长路径都是独一无二的。对于大多数程序员来说,能够达到第五或第六境界就...

    程序员九重境界,看看你到了第几重!

    四、团队协作:随着经验的增长和个人能力的提升,程序员逐渐承担起了更多的责任。他们不仅需要关注个人技术的成长,还要学会与其他成员有效沟通合作,共同推动项目的进展。“突然认识到一个人的力量是多么渺小,一个...

    程序员的八重境界

    通过以上对《程序员的八重境界》的解读,我们可以发现,无论处于哪个阶段,每个程序员都应该清楚自己的定位和目标,并为之不懈努力。更重要的是,每个人都应该找到自己真正热爱的东西,并为之付出努力。在这个过程中...

    程序员分成几种不同的境界

    根据对职业的理解和技能水平,我们可以将程序员分为不同境界,这些境界不仅体现在技术能力上,还包括了项目管理、创新思维、沟通技巧以及个人品质等多个方面。 五流程序员,他们主要关注技术和工具的更新。这一层次...

    程序员的九重境界,看看自己的位置

    #### 境界四:独立开发者 - **简介**:在这个阶段,程序员已经具备独立完成项目的能力,并能够承担起整个项目的开发任务。 - **特点**: - 能够独立分析需求并制定开发计划。 - 具备良好的时间管理和项目管理能力...

    java思想 编程的四个境界

    ### Java思想:编程的四个境界 #### 一、引言:程序员成长的四个阶段 在IT行业中,程序员的成长路径往往被视为一种求知的过程,正如国学大师王国维所描述的成大业者的三种境界。然而,在程序员的世界里,这一过程...

    程序员境界

    根据给定文件的信息,我们可以提炼出关于“程序员境界”的一系列重要知识点。 ### 一、程序员的成长阶段 在程序员的职业生涯中,存在着不同的成长阶段。这些阶段不仅代表着技术水平的提升,也意味着思考方式与解决...

    一个程序员的成长的六个阶段

    第四阶段被认为是程序员职业生涯中的一个重要里程碑。在此阶段,程序员已经能够直接在平台上进行深层次的开发工作,如编写驱动程序或修改操作系统内核。这不仅需要深厚的底层知识,还需要对硬件有一定的了解。这一...

    程序员编写程序能力的四种境界

    程序员编写程序的能力可以从四个不同的阶段来划分,这些阶段与心理学中的意识层次相呼应,反映出程序员在技术掌握上的深度和熟练度。以下是对这四个阶段的详细解析: **阶段一:无意识,无能力** 在这个阶段,...

    Java程序员上班那点事儿 作者:钟声

    - **修炼的第一层境界**:在这个阶段,求职者可能对职业薪酬有一定的期待,但往往缺乏实际经验和市场行情的认知。 - **修炼的第二层境界**:随着经验的增长和技术的提升,求职者逐渐了解到行业内不同角色和水平...

    java程序员上班那点事

    原名:《Java 程序员要上班!》1 前言8 第一卷生存法则9 第1章知己知彼,百战不殆10 1.1 问题1:这个职业赚钱吗?赚多少钱10 1.1.1 修炼第一层境界:剑指四方,试问天下谁与争锋11 1.1.2 修炼第二层境界:世界如此之...

    匠人的百宝箱--单片机C程序员的n层境界

    单片机C程序员的n层境界是一个逐步提高编程能力的过程。从第一层开始,每一层都涵盖了不同的编程技术和思想,旨在帮助程序员逐步提高编程能力,编写出高效、可读、可维护的代码。 第一层:目标代码的长度和执行效率...

    写给初学者:Java程序员工作总结.doc

    作者建议,程序员应该在三个年后确定自己的行业背景,否则,频繁跳槽可能会导致经验和技能无法累积。 二、合理的职业规划 作者认为,职业规划是程序员职业发展的重要一步。职业规划是短期或长期的职业计划,需要...

    2013-7-4程序员工作效率低下11大原因

    ### 程序员工作效率低下11大原因详解 #### 一、工作时不专心 - **开通信软件:** 在工作期间打开QQ、MSDN、淘宝客户端等通信或娱乐软件,容易分散注意力,降低工作效率。古语云:“蟹六跪而二螯,非蛇鳝之穴而无可...

    编程珠玑番外篇-G. 程序员心底的小声音

    作者将程序员分为新手、高手和中手三个层次,并指出,中手程序员通常在积累了大量实践经验或在高手团队中磨练后才能提升至高手阶段。 文章引用王国维的学术三境界来类比编程的三个阶段,强调了实践和团队协作的重要...

    程序员编程艺术第一~二十七章集锦与总结(教你如何编程)(by_July)定稿版

    通过不断追求更高效的算法和技术来解决实际问题,从而达到艺术的境界。书中强调了三个主要方面: 1. **算法优化**:不断探索新的算法,并尝试将其应用于实践中。 2. **解决实际问题**:面对真实世界中的挑战,提供...

Global site tag (gtag.js) - Google Analytics