快捷搜索:

C#、C++、Java、Python 选择哪个更有前景呢?

作为一个20年的老程序员来回答一下。

1998毕业,现在自己做一家IT公司,依然喜欢写代码。

C#、C++、Java、Python 选择哪个更有前景呢?

工作这么多年,正式项目用过的语言有: Pascal/Delphi,dBase/FoxBase,FoxPro,VB,VBScript,JavaScript,COBOL,C/C++,Lua,Java,C#,各种数据库的SQL。

最早学的是Pascal,大学里面学数据结构用的,毕业以后用delphi写了一个小项目,然后再也没有用过。

dBase/FoxBase也是学校里面学数据库的时候教的,然后毕业以后用的是FoxPro,也是做了一个小项目,后面基本就没用了。

VB/VBScript作为主力语言,从1998年用到2002年,对,那时候做ASP。也用VB写过还算有规模的EXE的项目。至今书橱里面那本《VB5金典》依然保佑一席之地。VB做快速开发真的很好用。然而就压根没看过。那已经不是VB了。

因为Web开发基本上没有断过,JavaScript一直陪我到现在。

COBOL是原来在对日外包公司工作的时候,接了日本一个野村证券的项目,居然是COBOL,然后,作为新技术研发部的负责人,当仁不让上了。边学边做项目,做完就扔了。

C是从开始编程就学的,断断续续用一点点,2003年做银行项目的时候,用IBM小型机,Tuxedo中间件,然后只能用C/C++语言编程(那个时候银行还不怎么接受Java)。然后自己开始创业,做游戏,用OpenGL做了一个游戏引擎,跨平台的那种,一次编写,Windows、Android、iOS都能跑。C++写的。中间尝试了一下Lua,写了两个小游戏,觉得对程序的掌控能力还是比C差远了,就放弃了。

最后就是Java和C#这对双子星,是用的时间最长,做过项目最多的。C#是从2001年开始,beta版本开始学的。记得第一个项目是2002年6、7月的样子吧,那时候公司接了一个比较大的Web项目,本来是准备用ASP做的,结果那时候我正好在学C#,然后看了一下说是10月份会发布正式版(时间大概是那样吧,年数长了,记忆有点模糊),然后仗着自己是项目负责人,外加老板不懂技术,就擅自决定用C#/http://ASP.Net来做。项目做完大概是10月份,在项目上线的前几天,微软发了正式版ASP.Net1.0,项目有惊无险的上线了。现在想想有点作死的感觉。如果微软把.Net正式版的发布时间往后推一个月,很难想象老板会拿我怎么样。

Java差不多跟C#同时学的,然后一直做啊做,从EJB做到SSH,再到Android。那时候年轻,学习的精力旺盛,然后觉得C#和Java似乎差的不是太多。

PHP看过,没用过。Python看过,没用过。还有Ruby,看过,没用过。我说看过的意思大概就是写过Hello World,但是没有拿来做过项目。

我是真的喜欢写程序,所以有什么新奇的东西,都喜欢拿来跑一跑。

然后说说对编程的看法。

首先,我认为,语言没有高下之分,只有应用场景之分。作为一个技术决策者,拿到任何一个项目,首先第一个考虑的,不是怎么做,而是用什么做。如果你拿到的是一个Web项目,我认为,在很多情况下,JSP、PHP、甚至Node.js基本上都是等价的,应该都能够很好的完成项目的开发,选择什么技术开发,看自己所拥有的资源禀赋和具体情况。如果手下一帮弟兄都是搞Java的,当然JSP啊,如果手下小弟都是做C#,当然啊。当然,项目有特殊要求的除外,比如,如果甲方是银行,那估计就没法用了,如果是有客户端的项目,当然C#+WinForm啊,如果是做安卓,当然Java啊。

其次,作为一个好的程序员,应该至少会三种以上语言,这样你能够充分接受不同语言的风格,更关键的是你会去关注不同技术社区的讨论,开阔眼界,对编程的本质会有更深刻的体会,然后你会觉得,看任何语言都是差不多的。我经常对公司的技术人员讲,要用Java的编程思想来写C#的代码。这是不同技术社区的风格体现出来的。在Java的社区,你能看到更多的对模式、框架的讨论,而微软虽然自己做的东西很讲究模式和框架,但似乎更喜欢做好一堆全家桶给你,让你去做快速开发。

第三,对各种语言的感受,写起来最爽最有成就感的当然是C,那种一切尽在掌握的感觉是很奇妙的。不过我现在公司没有C/C++程序员了,因为公司不做游戏了,我也有起码5年没碰C了。我最喜欢的还是C#,我很崇拜安德鲁,C#的语法和机制真的设计的很精妙:泛型、delegate/event、Attribute、Lamda表达式、函数式编程,总觉得这个语言的设计给人一种特别的精致美感,能满足我对一门好的语言的所有的想象。自从.Net Core以后,跨平台也不是问题了。相对Java来说,我更喜欢C#。当然,我是不会排斥Java的,只要做Java能赚钱。

您可能还会对下面的文章感兴趣: