收藏 分享(赏)

如何成为一个好的程序员.doc

上传人:hskm5268 文档编号:8770450 上传时间:2019-07-11 格式:DOC 页数:4 大小:34KB
下载 相关 举报
如何成为一个好的程序员.doc_第1页
第1页 / 共4页
如何成为一个好的程序员.doc_第2页
第2页 / 共4页
如何成为一个好的程序员.doc_第3页
第3页 / 共4页
如何成为一个好的程序员.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 如果想成为一个好的程序员,甚至架构师、技术总监等,显然只精通一种编程语言是不够的,还应该在常见领域学会几门编程语言,正如我们要成为高级人才不仅要会中文还要会英文,甚至还要会德文、俄文一样,其实是每一种语言都给人另一种思维方式,编程语言也一样。1. 汇编语言每种架构 CPU 都有自己的汇编语言,如果不涉及很底层的修改,了解X86 的即可,理解一下机器语言的工作方式,便于优化核心代码。2. C几乎适用于各个领域,应该是目前用途最广泛的编程语言(开发人数不是最多,但涉及到的领域、项目数量应该是最多的,目前尚没有数据支撑这一 点)。本人接触到的第一门编程语言,除了 C+也是最喜欢的一本编程语言,非常

2、美的语言,无论从其语法、编程思想、运行效率、灵活性等都有着无五伦比的优 势,虽然没有直接支持面向对象的语言特性,但很多项目也将面向对象的思想应用于 C 语言应用的开发。C 语言出生40 余年仍然风糜世界,并被大量应用于各个领 域、各种项目,这本身就是一个奇迹,包括后来的 C+、Java、C#、Javascript 等等众多主流的编程语言都深受其影响。学好 C 语言本身其实并不难,但 C 语言是与操作系统近距离工作的一种编程语言,由于其运行环境的复杂性导致了写好它必须先熟悉其环境,所以要求编程者对操作 系统乃至硬件都要非常熟悉,所以学 C 语言的人感觉学好 C 语言很难,其实是用好 C 语言太难

3、。比如指针,其实不是指针本身比较难,而是指针用不好会导致系统内 存的破坏,破坏运行环境,所以会让程序员感觉指针很难。3. C+、鉴于它是 C 语言的超集,基本包括了 C 语言的所有特性(C99 标准),得益于 C 语言的广泛应用,几乎适用于各个领域,各种操作系统平台,也是个人认 为最难的一种编程语言,但一旦精通之后再稍加学习其它语言很容易,基本无敌。其难在于功能强大与灵活,学好它的难度就是:C语言的难度+C+面向对象特 性+面向对象编程。C+是本人最喜欢的编程语言,其学习过程是漫长的,但一旦精通了 C+,学习其它任何语言都非常快,它贯穿了从硬件到对象的整个过 程,学会了很容易让人看透编程语言的

4、所有内幕。4. Visual Basic (.Net)、DelphiWindows 上的快速开发语言,特别是对于界面比较多的应用,开发速度很快。其实 C+ Builder 也把扩展了一下 C+也可用于快速开发,但自从有了 C#以后,抢占了很大一部分 RAD 的市场,用的人也少了。5. Java、C#二者都可算是比 C/C+更高一级的编程语言,一般不直接编译成机器码,需要通过虚拟机或类似虚拟机的运行时来运行,可以实现跨平台。他们与 C /C+的不同之处就在于他们的编译过程分为两个阶段:编译和运行时编译,其实第一次的编译并不是直接生成机器码,而是生成一种便于编译成机器码的中间代 码,在实际运行的时

5、候再通过所谓的运行时编译器(Just-In-Time Compiler)根据需要将中间代码编译成机器码并执行,实际上第一次编译更准确一点说是翻译。Java 运行之广也是无人不知无人不晓,但其缺点在于对 UI 的支持不太好,无论在哪个平台做的界面都不太好,特别是在 Windows 上,用 Java实现界面的应用很少;C#是微软.Net 战略的主要语言,也可以实现与Java 一样广泛的应用,包括桌面应用和 WEB 应用,而且对 UI 的支持那是刚刚的。 虽然 C#在 Linux 阵营也有 Mono 项目,虽然该项目 Novell主持,但开源项目哪能像微软一样给力,实际应用非常少,所以 C#的跨平台

6、平不理想,仅 限于微软的 Windows 系列(包括移动应用)。6. Javascript、ActionScriptWEB 开发前端脚本,特别是 AJAX 被作为一个专有名词提出来之后前台脚本已经不单单是进行一些简单的辅助,而成了 WEB UI 的主要实现形式,并且产生了很多流行的框架项目,如 ExtJS、JQuery、Dojo 等。这些语言与前面几种编程语言不同之处还在于其弱类型特性, 属于动态语言,设计思想与前面几种有些不同,虽然都支持面向对象但其实现方式稍有不同。学习它们会拓宽思路,帮助我们更深刻地理解编程语言。7. shell、VB Script、Python、Perl、Ruby、PH

7、P、TCL脚本语言,特别是 shell、VS Script 属于轻量级的脚本语言,一般只用于批处理(虽然它们可以完成非常复杂的功能),尤其是 shell(准确地说shell 不是一种编程语言,由于 该语言是它专属,暂以代之);特别是shell 应用范围最少,而后面的四种除了可用于批处理,还可以用于 WEB编程,而且 Ruby 用于 WEB 开发已经非常 流行。其中 Python 是本人比较喜欢的一种,它把程序的可读性要求提高了一个档次,把代码的缩进列入了语法范畴,这应该也是编程语言的趋势,以后可能将 注释的添加也列入注释范围,比如对每一个类、每个函数必须填写相应的注释,否则编译不通过,这样有助

8、于更好地统一、执行一个工程编码的规范。8. Lua、Matlab属于小众的编程语言,Lua 有一个嵌入式脚本引擎,非常轻量级;Matlab 的所谓 M 语言与 Lua 类似,它是 Matlab 专用的脚本语言。不同的领域都有一些专门的脚本语言,真的希望这些语言能够是一种。9. XML、HTML、XSLT、CSS这些语言又是另一种类型的编程语言,这些语言通过标记来表示,特别是 XML、HTML 是一种静态的标记语言。而 XSLT 则可以有动态之意,属于XML 的一种派生语言,可以将 XML 文档转换成其它格式的文本文档这使得数据的展显非常方便,XML 用于表示数据,通过不同的 XSLT 表现为不

9、同的样式。严格来讲 CSS 不应该算作一种编程语言,但它的确通过与 HTML 配合可以实现类似 XSLT 的效果,只是它暂时未从 HTML 中独立而已。10.Verilog、VHDL硬件描述语言,用于集成电路设计。它们也是编程语言,只是它编译后的产物不是类似 CPU 执行的指令那样的程序,而是对执行机构进行改造、重组的方案。11.LISP、Haskell、Erlang函数式编程语言,它们将电脑运算视为数学上的函数计算,并且避免状态以及可变数据,是另一种编程范型,又是一种编程思路。编程语言远远不止这么多,也并不是一个程序员要精通这里所说的所有编程语言,个人认为每一类都应该熟悉一种,至少了解其编程

10、思路,并达到可以读懂的程度, 而对于一些重要的编程语言,应该掌握,不仅要会读还要会写包括:C、C+、Java、C#、JavaScript 等,但根据自己的工作领域不同可能的侧 重不同,视实际情况选择了解其它编程语言。12.SQL数据库必备,虽然标准是有,但不同的数据库还是有自己的一些特性,或者实现标准不完整,比如Cybase、DB2、Oracle、MySQL、SQLite、SQL Server 等等,但只要掌握了标准的 SQL,用其它语言的时候也只需要一个简单的手册而己。程序员修炼之道里不也建议每年学习一门编程语言嘛,十类编程语言,十年寒窗,程序员的漫漫修炼之路。后: 首先,感谢各位网友的讨论

11、,可能标题为“掌握”不太准确,已经改为“熟悉”。这里列的编程语言并不是每种都需要“精通”,那绝对是不可能的,而且我也还从来没有理解什么样的程度叫“精通”。根据每个人的所有领域不同使 用的主要语言也不同,工作用的语言肯定是需要“精通”的,除了工作用的语言,必须要掌握的语言有:C(包括 C)、Java 或C#、SQL、Javascript,需要熟悉的:perl 或 python、XML,其它的可以根据兴趣或应用领域选择。实际上,掌握了这些语言后已经从一个初级程序员变身为高级程序员,在学习过程中对设计模式、算法、操作系统、微机原理等知识的涉猎基本达到了一个初级 架构师的水平,如果自己的沟通能力、创新能力、管理能力等素质够硬还可以做到 CTO 的职位,这也是本人推荐的程序员的成长技术路线。编程语言其实只是个工具,什么时候用哪个工具,如何用好每个工具非常重要,这里蕴含着很多知识、技能、思想。每学习一们编程语言,学习的不是语法,而是编程语言的精髓,解决问题的思维,重在思想

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报