运行效率与开发效率的随想
计算机语言、平台、系统等,这些都是工具,往往工具很方便很好用,都会有效率的损失。开发效率重要还是性能重要呢?这视情况而定。
C++有比C#更优越的运行效率,而C#有比C++更好的开发效率与易用性。而依赖于客户端的软件,基本以性能为主,C#开发的软件让人感觉更慢,即使.NET平台已经普及于所有系统,我认为它也不能作为比C++更主要的语言平台。飞信就是个例子,说明了大多数用户不能接受更慢的软件,用户宁愿界面UI简直一点,不华丽,都需要软件可以运行得更快。
而WEB应用刚好相反,WEB应用依赖于服务端,而且需求更新速度比较快。wordpress, drupal与magento都是很著名的系统,基于PHP,易于扩展与二次开发,但它们的运行效率的确不高。因为扩展性与功能都很强大,才使得那些系统那么著名。
开发效率是个时间问题,用C++也可以做一个WEB应用,不过所花的时间很长,这不是花钱就能解决的问题,不过运行效率可以是钱的问题,你可以花钱投入硬件,让网站运行得更快,而网站的用户可能从不感觉网站有缓慢感。而且要优化一个系统手段很多,但优化所花时间很可能不比完成需求所花的时间要长。也就因为这个原因,这些WEB应用的运行效率问题可以被暂时忽略,人们更关心WEB应用是否强大好用,是否得到很多第三方支持等。
所以,我如果要选择一个做在客户端的计算机语言,会选择C++,如果要做在服务端的,会选择php, python或者C#。(脚本语言比编译语言更容易编写与调试,所以我更偏向于脚本语言)