美国编程用什么语言?

董美涛董美涛最佳答案最佳答案

这个问题的答案和这个问题一样有意思,我2013年在美国读CS master的时候写过不少code。 当时我们学一门新课,需要自己实现一个简单的search algorithm来查找给定数据集中的key,然后找到value所在的位置。 我用的语言当然就是C++了(虽然当时已经很少用C++写code了),我的同学中有几个是用java的,还有一个用python,还有两个用c#。 这个搜索算法本身很简单,但是我们要把它搞成有输入输出格式,并且支持文件输入输出的形式,这样在课上就能检查大家的code质量了。 当时我们的programming assignment是要交5个以上的file(每个file要支持读、写、执行权限)和一个主程序来测试这几个file的能力。 这里我还想说说我对Python的看法,因为一直都有很多人在吹Python多好多好,所以我想就着这个问题说说自己的看法。

第一,我认为Python的语法比Java简单这个说法是不正确的,从我的经验来看,用Python做工程的项目要比用Java复杂得多;

第二,用Python效率低这种说法也是不科学的,我在做search project时用Java和Python分别实现了同样的函数,结果CPU的时间消耗相差无几。而且后来我把那个search function放到GitHub上供大家下载测试,发现用Java和用Python实现的搜索耗时基本上一致。

第三,很多人吹捧Python的垃圾回收机制,说Java的垃圾回收很慢且麻烦,在我看来正是由于Java的自动垃圾回收机制才能让它做到轻松跨平台,而Python必须手动控制内存分配才可以做到高效。第四,有人说Python有解释器,在执行时不需要先编译成字节码再运行,实际上任何一门语言都是先在硬盘里编译成系统可以识别的二进制代码然后再运行的,只不过Python的解释器把编译的过程放在了后台,让我们感觉好像是直接运行了文本来完成功能。

我来回答
请发表正能量的言论,文明评论!