喜欢Java的人确定喜欢打字。我指的就是敲打键盘上的键。你得不断地重复又重复。node
设计Java系统的人是个疯子,他解决问题的方式就是,设计模式。若是你把设计模式看做是这个语言中解决问题的一种方式,那么你会发现Java里有许多这样的设计模式。git
另外一方面,Sun的这些家伙的确是费了点心思在Java规范上的,这使得它能运行在嵌入式系统上,因此这块咱们仍是坚持在使用它。我很难相信Python或者C在个人手机桌面系统上运行。github
还有,那些个目录又是怎么回事?我必须得使用Eclipse,由于只有它知道怎么跳过那1000个字长的路径名。若是我在应用的同一个目录下放10个类,会不会 伤害到某些人?web
C是精确的。当我用C写程序的时候,若是搞定了,我知道它是靠谱的。它就像是用一把小刷子在画一幅巨做。在这么详细的层面上写代码须要一种不一样的心态。当你坐下来写C的时候,在动手以前你就得规划好到底怎么写。不然后面确定得费不少工夫去改。算法
若是你的经验足够丰富,内存泄露这种事就不太会找上门。它的第二特性——malloc/free老是如影随行。你不能忘了任何一个。不然就像是忘了冲水或者关灯。你就这么作就是了。编程
有句话说得好,若是你打算给房子上漆,一把好刷子可远远不够。我猜你确定想要个大滚轴。若是让我写一整个应用或者系统,能不用C的话我确定不用。设计模式
C程序想要进行改动可得费老劲了。当我写算法的时候,我知道第一遍确定是不会对的,因此我一般都先用Python写,搞定了以后再翻译成C的。数组
它就是个有string类的C。同时还有数组,列表,队列等东西,你能够用它们来实现你想要的。一言以蔽之:别想着自创新模板。这太困难了。除了这个,C++还改良了一下C,用C++你能够写出很是不错的软件。它这个额外的特性使得它能够用于一些大型系统上,只要你们都还遵循一样的约束的话,难度还不算太大。浏览器
这是个没人喜欢的语言。不过它喜欢你。当你刚开始学习它的时候,你可能会写出一些很是糟糕的代码,把对象用做字典,别的对象做KEY,不过这样也是OK的,由于这些代码运行起来也没有什么问题,只要浏览器还支持JavaScript就好。安全
JavaScript没有链接器,所以全部的代码都共享一个命名空间,不过还好你们都知道这一点,因此还能一块儿和谐相处。
CoffeeScirpt是一个解释器,它将那些长得像Ruby的奇怪的语言逐行地翻译成JavaScript。它是一个拥有全部外来语法的JavaScript——括号,方括号,额外关键字移除。只有代码的基本含义还保留着。
CoffeeScirpt挺不错的。若是你要写不少代码的时候,它能让你提升至少25%的效率。你能够一次在屏幕上看到更多行的代码。
当你用CoffeeScript写代码的时候,你得时刻记住这是要生成JavaScript的。问题就在这。你得先去学习JavaScript。项目来的新人都得先学JavaScript,而后才能学CoffeeScript,最后才能去学习项目代码。
我也但愿能爱上它。我以为我给过它机会了。它的回调让我没法忍受。我知道会有这么一天,由于某个缘由,其中一个回调并无出现,而后个人应用就会堵在那一直等待。真是要了命了。
还有一点就是,它几乎没有内建任何东西。若是你要作某件事情,老是会有一大堆模块来实现这个功能的。该选哪一个呢?若是出现问题了,哪一个模块会有人来支持?
Scala是一门函数式,强类型的语言,它会编译成JVM代码。
我是在工做中学的Scala。有一家初创公司的生产系统用的是它,我是在后期才加入他们的。
这让我看到了Scala丑陋的一面:类型推导。类型推荐被它用到了极致。每一个对象都有类型,不过想肯定它是什么类型的,你得检查不一样分层上的好几个文件才行。Scala也继承了Java的文件夹的坏毛病,所以你要查找某个类型的话得进入好几层目录才能找到对应的那个文件。
简而言之,Scala是极好的——对于那些最初的开发人员而言。新加入的成员为了熟悉现有的代码,得有一个很长的学习曲线。
Erlang也是我曾经想爱上的一位。我真的努力了。它是一门美丽的函数式语言,它能够写出很精致的小模块,它们以一种精确的方式进行通讯,你的系统能够运行10年以上,由于它能处理未知问题,若是必要的话还会重启,而后继续运行。
不过它的结构太复杂了。开发彷佛要停留在伯克利发明socket的那个年代。当前时代所需的东西几乎同样都没有。为何开发一个简单的WEB服务须要费这么大的工夫?
Go很容易学习,对于新人而言也是如此。它使用40年前的语言概念来构建一个健壮的异步系统,但它让你能像写同步代码同样编程。你能够不费吹灰之力写出1000个能够安全工做的线程。
在库支持方面它仍须要改进。当我想作某事的时候,该用哪一个库——github上2011年的那个,仍是2013年开始的那个半成品?一个是官方主页连接的,不过它的官方主页看起来并非最新的。好吧,我以为我仍是本身写一个吧。。。
还有,为何追加元素到数组里也这么费劲?
在Python里,无论你想作什么都会有一个对应的库,若是你用的是Linux,它绝对是不二选择,由于它能够一键安装。
若是你想作些数字处理或者科学运算,选择Python吧,你值得拥有。
Python中的字符串便可能是文本的也多是二进制的,所以你得上来就学习下文本编码的东东。
Python 3和Python有许多共同的特性,不过它倒是门不一样的语言。因为它比较新,所以支持的并非很好。我也想使用它,不过总会有那么一个库,它是只支持Python 2的。