未来编程技能只是必备的技能,只会编程,无论是什么语言和平台,前景都不大,因为可以找一大把这样的人,但是如果是将编程技能与其他行业结合,人工智能,机器学习,机器视觉,就是这样的行业,与工业结合紧密,自然是很有前景的,因为复合型的人才很少,自然身价高。
其实单纯做软件开发,无论是iOS,Android,还是.NET, 还是Java, 都没什么前景,除非你做到很牛逼,也不过是吃青春饭。但是如果你做的是某些需要软件技能的有前景的行业,比如机器学习,深度学习,人工智能,计算机视觉等行业,是很有前景的。比如今年VR年
尤其在计算机软件的历史上,技术卓越的产品,如OS/2、Mac
OS、UNIX等,都败在了Windows漂亮的界面上。JAVA的用户主要是网络服务的开发者和嵌入式设备软件的开发者,嵌入式设备软件不是C#
的用武之地,而在网络服务方面,C# 的即时编译和本地代码Cache方案比JAVA虚拟机具有绝对的性能优势。
其实在编程语言中真正的霸主多年来一直是C++,所有的操作系统和绝大多数的商品软件都是用C++作为主要开发语言的。JAVA的程序员绝大多数也是C++的爱好者,PHP的成功里面也有类似C++的语法的功劳。在操作系统、设备驱动程序、视频游戏等领域,C++在很长的时间内仍将占据主要地位,而在数量最大的应用软件的开发上,C# 很可能取代C++的位置。首先,C# 和JAVA一样,简直就是照搬了C++的部分语法,因此,对于数量众多的C++程序员学习起来很容易上手,另外,对于新手来说,比C++要简单一些。其次,Windows是占垄断地位的平台,而开发Windows应用,当然微软的声音是不能忽略的。最重要的是,相对于C++,用C# 开发应用软件可以大大缩短开发周期,同时可以利用原来除用户界面代码之外的C++代码。
C# 将不可避免地崛起,在Windows平台上成为主角,而JAVA将在UNIX、Linux等平台上成为霸主,C++ 将继续在系统软件领域大展拳脚。非常有意思的是,这些语言的语法极其接近,因为JAVA和C# 都是由C++发展而来的。其他的开发工具当然还会在相当长的时间里继续他们的旅程,不过在市场份额上,将不可避免地受到冲击。
个人喜欢C#的语法,Java成熟的模式,C/C++的博大。跨平台,实际项目中很少机会让你跨。语言只是个工具,重要的是编程思想~ 学好了,哪个都有前途
应用市场更在乎应用本身的质量,类似这种学术性的考虑并不具有实际价值,优势来自应用“好不好用”,不同技术在不同素质的程序员手里展现的优势也各不相同。
我认为未来的IT行业的信息构架会更趋向于面向服务开发,只要拥有构架质量良好的服务总线,企业并不会过于操心基础服务到底用什么技术实现,实用的价值远大于学术层面考虑的所谓优势。
单纯就这两种语言而论,两者都得在专门的虚拟环境上运行,都具有平台粘性,相对而言,java看起来更加可移植,未来IT行业的多平台和多硬件性只能把问题引向一个方向,谁能更方便的跨平台可移植,谁价值就更大,硬件水平的不断提升把性能这一差距无限的缩小,简单来看,java首先能通过jvm运行在iphone上,稍后一年.net框架也通过第三方编译器支持了对iphone app的编译输出,熟优熟劣,见仁见智。
作者:白恒阳
链接:https://www.zhihu.com/question/19738815/answer/13618917
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
网友评论