码迷,mamicode.com
首页 > 其他好文 > 详细

选择一门语言很重要-给新手们的一些建议

时间:2014-09-03 15:01:46      阅读:255      评论:0      收藏:0      [点我收藏+]

标签:开发语言   python   java   编程   职业生涯   

(文中只挑选部分语言为例,但并不代表内容只限于这些语言)

有经验的程序员时常告诉新人”语言不重要,重要的是逻辑和思路“

后半句没错,但前半句错了。

语言很重要。

语言对于一个程序员就像钱和文凭,拥有的时候就显得不重要,但是对于新手们,还在选择主力开发语言时就显得相当重要了。

个人不太建议学太杂(虽然我自己就学挺杂),但也不建议只专研一门语言。

无论是学习还是工作,同时掌握两门以上的语言是很重要的,如果有闲暇时间,可以增加到3门。

在这两三门语言中,挑选一门作为主力开发语言,其余语言作为辅助或学习。

这样做的好处:

1.工作上,可以很容易与同事协作开发,可以明确自己的开发任务,也能搞明白其他人开发的部分是如何工作的。可以独立完成需要两三门语言完成的工作,各取其特点

2.学习上,可以了解更多的语言设计模式,扩展思路,接纳不同的编程理念

3.职业规划上,可以较快的转换主力开发语言,而不会应为语言阻碍职业发展,有多门语言的经验,了解一个项目中各个部分如何协作,也可以很快的胜任团队负责人的角色。


当然,更重要的是根据自己的职业规划合理的搭配需要掌握的2-3门语言

1.每个类型的语言掌握一种,不要全是同质的语言。

2.各门语言间有协作关系,能够互补配合

3.必须掌握一门流行的语言,可以掌握一门有前景的语言


例如做Web开发(HTML、JavaScript、CSS就不用说了)

可以是 PHP(主力)、Python(辅助)、Ruby(学习)

也可以是C#或Java(主力)、Python(辅助)、Go(学习)

做服务端开发

可以是C++(主力)、Java(辅助)、Go(学习)

也可以是Java(主力)、Python(辅助)、C(学习/辅助)

总之搭配可以很多,但是注意,主力开发语言最好是一门流行语言,辅助语言最好是一门易用(所以我给出的选择里Python比较多),学习型的语言最好是比较有前途的新语言


可能很多人看到这,会觉得,有这个必要吗?”可以用C搞定一切“、”可以用Java搞定一切“、”可以用C#搞定一切“ 、......

每个人都想只要一个完美东西能够解决所有问题

是的,现在大多数语言都发展出很多很强大的库,几乎可以搞定所有你需要的东西,正如人一样,经过高度培训每个人都可以胜任任何工作。

但是,每一门语言的诞生都是有原因的,都有最擅长的能力和一些目前没有解决的缺陷。

例如:

Java,很全面,库很多,但是某些方面也不是最简洁的,Web开发不如PHP高效(这里指的是开发效率),桌面开发不如C++的效果好。另外需要安装虚拟机(Java最成功的也是虚拟机,但在桌面程序开发上,虚拟机也造成用户部署麻烦的问题)

C#,也很全面,.net库也很多,什么东西都能再MSDN上找到对应的解决办法,而且很统一。但是最好的运行环境是在Microsoft体系下,虽然有Mono可以让它在Linux下工作,但是效果不怎么好。

Python,简单易用易学,库也多,但是2.x和3.x不兼容,让很多人疑惑,另外就是缩进式的代码块有人喜欢有人狠。效率不需要说,它毕竟是脚本语言,不需要和静态语言比较。

PHP,目前已经很好了,大量的开源程序和资料是新手最容易上手的语言,但是除了Web开发,其他方面用不上,也有人用PHP开发过桌面应用(Google搜索到过),但不可能成为桌面主流。

Go,很多特征很吸引人,身世好,开发效率高,但是库还很少,另外毕竟是新语言,可能会有还没发现的BUG。

其他如Lua、Ruby、Erlang等语言也是同样,有很好的特征,也有不足。(这里我没有说Node.js,因为我觉得他并不算是一门语言,它只是一个服务端环境或者技术,它的语言依然是JavaScript,就像.net不是语言,而是一个框架,能够在这个框架下开发的语言是C#、VB、J#、F#之类)

我认为不会有任何语言是完美的,重量级的就会全面但臃肿复杂,轻量级的开发高效但有所缺失。因此掌握两门能够互补的语言很重要。


第一门开发语言就像第一个女朋友,往往会影响程序员职业生涯的世界观。所以选择第一门语言很重要。

第一门语言可能会决定你的职业圈子,例如:

学习Object-C会认识很多IOS移动开发的人,他们讲究创新

学习Java,C#,会认识很多企业级开发的人,他们讲究需求的明确性,流程的严谨,标准

学习Python和PHP会认识很多讲究高效开发的人

另外,作为一个程序员,开发者,我们还必须考虑到需要我们的人的想法。

绝大多数程序员特别是新手们都会就职在一个企业

企业考虑的问题是(Object-C和Swift不适用这个规律,因为做IOS开发必须使用它):

高效出产品:Python、Java、C#、PHP、Go

可长期维护:Java、C#、PHP、Python

人力资源好管理:Java、C#、PHP

成本低:Java、PHP


这也就是为什么大部分公司招聘的都是Java 和PHP程序员的原因。


新手们,谨慎挑选你的第一门语言和搭建自己的语言体系,不要相信老鸟们说的”语言不重要“就像不要相信富二代说的”钱不重要“一样,等你拥有了自己的主力语言和语言体系后再说吧。

选择一门语言很重要-给新手们的一些建议

标签:开发语言   python   java   编程   职业生涯   

原文地址:http://blog.csdn.net/banmuhuangci/article/details/39024935

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!