软件开发经验之谈 002 效率第一,选对编程语言

写代码,上班打工也好,自己接项目也好,目的都是赚钱,在有限的时间内赚更多的钱,在赚到一笔钱的前提下尽量缩短投入的时间,概括而言就是两个字:效率。

为了效率,选对编程语言和开发工具很重要。

以Windows桌面开发为例,可用的语言和工具很多,早一点的,有VB,C++,Delphi,PB,后来有C#, Java,再新一点,有Python等等,这些语言工具,多多少少我都用过一段时间,就个人经验而言,C#开发效率是第一的,而且遥遥领先第二名,第二名是谁已经不重要了。下面大致阐述一下选择C#的原因:

1. 往大了说:

C#是微软目前的主推语言,桌面到服务器全线覆盖,未来十多年,不必担心它被会不会被放弃。

VB大约在2009年左右就停止更新了,VB.NET也并非微软主推,它的出现主要目的是让原VB程序员们平稳过渡。

VC++也是微软主力产品,不过面向的领域相对狭窄,在桌面开发领域,很难代表未来了。

Delphi和PB就不说了,濒临灭绝。

Java在桌面端有Swing, JFX,这么多年了存在感一直很低很低,从Sun到甲骨文也都不重视。

2. 往小了说:

语言本身:

C#和Java都是典型的面向对象风格,结构也都比较严谨,然而要比较细节操作的话,C#还是比Java周到很多,很多时候,Java需要10行代码实现的功能,C#只要不到5行,这一点同时用过C#和Java开发项目的应该有体会。这要归功于C#更完备的api体系。C++语法本身也比较严谨,无奈比较啰嗦,复杂的细节多,掌握起来实在痛苦,api也不强,很多功能没有直接api。VB和Delphi语法相近,都属于早期那种并不严谨的风格,特别容易写乱,代码一长,读起来很痛苦,api也很弱。

开发工具:

说到开发工具,也许有人也会抱怨Visual Studio的一些问题,可是比起其他开发工具,Visual Studio那可是强得太多太多,宇宙第一IDE名副其实。

生态:

都说Java生态强,不过最近几年C#生态也在飞速发展,绝大多数问题,都能在网上找到答案,中文没有的话,英文网站一般也都能搜到相关内容。相比于Java和C#,C++的生态就弱了很多,本身使用C++的人数也相对少很多,网上找资料的难度明显更高。VB和Delphi就更无奈了,这两位在他们巅峰时期(上世纪90年代到本世纪初),互联网还没普及,后面网络普及之后,已经没他们什么事了。

语言本身,总结下来就是相对于其他语言工具,用C#开发花的时间最少,也更容易写出整洁清晰的代码。

对于新人,C#是相对最优的入门选择;

对于老兵,C#容易上手,是拓展眼界改变思路的良好切入点。

有一点心里要清楚:工作的目的是赚钱,个人要效率,公司要效率,把时间花在刀刃上。