程序员到底要学习或掌握几种语言呢,这个问题很多人都很纠结,想学怕浪费时间,不学呢感觉少了点什么。
结论:当你犹豫时,只要有时间,学比不学好,长见识,长广度。
那到底一个程序员需要掌握几种语言呢,这个问题因人而异,因人所从事或欲从事的领域有关。
1.对于从事单片机产品来说 主要是C语言 或少量汇编
2.对于从事嵌入式(有现代操作系统如 LINUX) ,如摄像机、数码产品等 ,主要是C/C++ ,也许会部分ARM;应用一般是C++,底层驱动是C+ARM
3.对于从事移动app开发(ios android)
ios 开发 需要掌握object-c swift ,建议先掌握OBJECT-C ,是否要掌握其它语言根据项目情况如C/C++ 可能也需要
当然如果使用QT 开发跨平台的app 则 掌握C/C++就OK。如果使用C#开发跨平台的app 则 掌握C#就OK
android 开发 需要掌握java,这个不用说,是否要掌握其它语言根据项目情况如C/C++ 可能也需要,如涉及性能优化相关可能需要采用C/C++编写JNI接口。
当然如果使用QT 开发跨平台的app 则 掌握C/C++就OK。如果使用C#开发跨平台的app 则 掌握C#就OK
4.对于从事平台开发(指服务器端开发)
这个取决于产品或项目的决策者,基本都市多语言混合的,有C/C++,JAVA,PYTHON等
如对于流媒体行业的平台,基本都市C/C++
对于信息管理的平台,基本都市JAVA
对于电商类的平台,基本啥都有,C/C++,JAVA,PHP,RUBY,PHTHON
当然有时还需要编写大量的脚步程序,就需要PHP,SHELL,PHTHON,PERL等
5.对于从事桌面app开发
如果是windows平台 则基本用C/C++ (VC) 或 C# 比较多,当然也有DELPHI,VB
如果是MAC 平台,则C/C++(QT), OBJECT-C,SWIFT
如果是LINUX 平台,则 C/C++(QT)
总结:语言最好用平台最原生的语言和工具开发,除非对成本和时间有很高的要求对新技术没太多要求 则可考虑跨平台开发。
一个程序只掌握一门语言很少,但一定要精通一门语言及其开发库。
工欲善其事,必先利其器。