哪种编程语言最适合你

做了这么久的程序员,不得不说所有的编程语言我都讨厌。曾经想自创一门语言,但我没搞明白到底需要一门什么语言,所以也从未开始过。 这么多语言的话我作为移动开发的小菜鸟接触最多的还是java。收集总结了关于每种编程语言的特点,来看一下,哪个是你想要的菜。

  1. Java

    喜欢Java的人肯定喜欢打字。我指的就是敲打键盘上的键。你得不断地重复又重复。

    设计Java系统的人是个疯子,他解决问题的方式就是,设计模式。如果你把设计模式看作是这个语言中解决问题的一种方式,那么你会发现Java里有许多这样的设计模式。

    另一方面,Sun的这些家伙的确是费了点心思在Java规范上的,这使得它能运行在嵌入式系统上,所以这块我们还是坚持在使用它。我很难相信Python或者C在我的手机桌面系统上运行。还有,那些个目录又是怎么回事?我必须得使用Eclipse,因为只有它知道怎么跳过那1000个字长的路径名。如果我在应用的同一个目录下放10个类,会不会伤害到某些人?

  2. C

    C是精确的。当我用C写程序的时候,如果搞定了,我知道它是靠谱的。它就像是用一把小刷子在画一幅巨作。在这么详细的层面上写代码需要一种不同的心态。当你坐下来写C的时候,在动手之前你就得规划好到底怎么写。否则后面肯定得费很多工夫去改。

    如果你的经验足够丰富,内存泄露这种事就不太会找上门。它的第二特性——malloc/free总是形影不离。你不能忘了任何一个。否则就像是忘了冲水或者关灯。你就这么做就是了。

    有句话说得好,如果你打算给房子上漆,一把好刷子可远远不够。我猜你肯定想要个大滚轴。如果让我写一整个应用或者系统,能不用C的话我肯定不用。

    C程序想要进行改动可得费老劲了。当我写算法的时候,我知道第一遍肯定是不会对的,所以我通常都先用Python写,搞定了之后再翻译成C的。

  3. C++

    它就是个有string类的C。同时还有数组,列表,队列等东西,你可以用它们来实现你想要的。一言以蔽之:别想着自创新模板。这太困难了。除了这个,C++还改良了一下C,用C++你可以写出非常不错的软件。它这个额外的特性使得它可以用于一些大型系统上,只要大家都还遵循同样的约束的话,难度还不算太大。

  4. JavaScript

    这是个没人喜欢的语言。不过它喜欢你。当你刚开始学习它的时候,你可能会写出一些非常糟糕的代码,把对象用作字典,别的对象作KEY,不过这样也是OK的,因为这些代码运行起来也没有什么问题,只要浏览器还支持JavaScript就好。

    JavaScript没有连接器,因此所有的代码都共享一个命名空间,不过还好大家都知道这一点,所以还能一起和谐相处。

  5. CoffeeScirpt

    CoffeeScirpt是一个解释器,它将那些长得像Ruby的奇怪的语言逐行地翻译成JavaScript。它是一个拥有所有外来语法的JavaScript——括号,方括号,额外关键字移除。只有代码的基本含义还保留着。

    CoffeeScirpt挺不错的。如果你要写很多代码的时候,它能让你提高至少25%的效率。你可以一次在屏幕上看到更多行的代码。

    当你用CoffeeScript写代码的时候,你得时刻记住这是要生成JavaScript的。问题就在这。你得先去学习JavaScript。项目来的新人都得先学JavaScript,然后才能学CoffeeScript,最后才能去学习项目代码。

  6. node.js

    我也希望能爱上它。我觉得我给过它机会了。它的回调让我无法忍受。我知道会有这么一天,因为某个原因,其中一个回调并没有出现,然后我的应用就会堵在那一直等待。真是要了命了。

    还有一点就是,它几乎没有内建任何东西。如果你要做某件事情,总是会有一大堆模块来实现这个功能的。该选哪个呢?如果出现问题了,哪个模块会有人来支持?

  7. Scala

    Scala是一门函数式,强类型的语言,它会编译成JVM代码。

    我是在工作中学的Scala。有一家初创公司的生产系统用的是它,我是在后期才加入他们的。

    这让我看到了Scala丑陋的一面:类型推导。类型推荐被它用到了极致。每个对象都有类型,不过想确定它是什么类型的,你得检查不同分层上的好几个文件才行。Scala也继承了Java的文件夹的坏毛病,因此你要查找某个类型的话得进入好几层目录才能找到对应的那个文件。

    简而言之,Scala是极好的——对于那些最初的开发人员而言。新加入的成员为了熟悉现有的代码,得有一个很长的学习曲线。

  8. Erlang

    Erlang也是我曾经想爱上的一位。我真的努力了。它是一门美丽的函数式语言,它可以写出很精致的小模块,它们以一种精确的方式进行通信,你的系统可以运行10年以上,因为它能处理未知问题,如果必要的话还会重启,然后继续运行。

    不过它的结构太复杂了。开发似乎要停留在伯克利发明socket的那个年代。当前时代所需的东西几乎一样都没有。为什么开发一个简单的WEB服务需要费这么大的工夫?

  9. Go

    Go很容易学习,对于新人而言也是如此。它使用40年前的语言概念来构建一个健壮的异步系统,但它让你能像写同步代码一样编程。你可以不费吹灰之力写出1000个可以安全工作的线程。

    在库支持方面它仍需要改进。当我想做某事的时候,该用哪个库——github上2011年的那个,还是2013年开始的那个半成品?一个是官方主页链接的,不过它的官方主页看起来并不是最新的。好吧,我觉得我还是自己写一个吧。。。

    还有,为什么追加元素到数组里也这么费劲?

  10. Python

    在Python里,不管你想做什么都会有一个对应的库,如果你用的是Linux,它绝对是不二选择,因为它可以一键安装。

    如果你想做些数字处理或者科学运算,选择Python吧,你值得拥有。

    Python中的字符串即可能是文本的也可能是二进制的,因此你得上来就学习下文本编码的东东。

  11. Python 3

Python 3和Python有许多共同的特性,不过它却是门不同的语言。由于它比较新,因此支持的并不是很好。我也想使用它,不过总会有那么一个库,它是只支持Python 2的。

作为程序员,许多时候,你没法选择使用哪种语言。但是不管你在用哪种语言,都需要尝试去接受它的优点和缺点。

时间: 2024-10-10 09:55:43

哪种编程语言最适合你的相关文章

哪一种编程语言适合人工智能?

用Python机器学习库,opencv和haarcascading概念来培训.建立了样品POC来检测通过安置在不同地点的无线摄像头传递回来基础情感像幸福,生气,悲伤,厌恶,怀疑, 谷歌的AI击败了一位围棋大师,是一种衡量人工智能突然的快速发展的方式,也揭示了这些技术如何发展而来和将来可以如何发展. 人工智能是一种未来性的技术,目前正在致力于研究自己的一套工具.一系列的进展在过去的几年中发生了:无事故驾驶超过300000英里并在三个州合法行驶迎来了自动驾驶的一个里程碑:IBM Waston击败了J

最适合人工智能开发的5种编程语言

原文: 最适合人工智能开发的5种编程语言 [IT168 评论]自从去年,AlphaGo打遍天下棋手无对手,人工智能的风头就一直无人能及.在刚刚过去的IT领袖峰会上,BAT三位大佬都看好人工智能的未来发展.今年年初,百度就做了一个大动作,在医疗方面押宝人工智能,所以在这次峰会上李彦宏也发声称互联网是道开胃菜,人工智能才是主菜. 人工智能是一个很广阔的领域,很多编程语言都可以用于人工智能开发,所以很难说人工智能必须用哪一种语言来开发.选择多也意味着会有优劣之分,并不是每种编程语言都能够为开发人员节省

帮你提升 Python 的 27 种编程语言

以下为正文: 作为全球最流行的编程语言联合设计者之一,我经常看到的一种令人沮丧的行为(在Python社区和其它社区都有),就是那些有影响力的人试图把“缺失”的恐惧感灌输给其它开源社区,将其当作对社区贡献的源动力.(我偶尔会对自己的这种不当行为感到内疚,当别人落入同样的陷阱时我也就更容易察觉到). 虽然借鉴其他编程语言社区的经验是一件好事,但以恐惧为基础的方法来激励行动存在严重的问题,因为它将助涨社区成员为争取贡献者的关注而将其它社区的成员视为敌人,而不是当做潜在的盟友去迎接更大的挑战,共同推动顶

IT公司中最流行的10种编程语言

http://tech.chinaunix.net/a2011/0428/1184/000001184007.shtml 导读:近日bcahub.shareittips.com作者Akash Padhiyar发布了一篇题为"10 Popular Programming Languages In IT Companies"的文章,译文如下: 1. C语言 C语言是一种通用性的编程语言,由Dennis Ritchie于1969年-1973年间在贝尔实验室为Unix操作系统而开发. 尽管C语

初学者,哪几种编程语言最值得你去学习?

有不少零基础的小白有私下咨询我,有哪些最有用或最好的编程语言适宜学习? HTML/CSS不谈,我认为答案取决于你想通过编程来做什么. 几种编程语言简述: 对只用一种语言来构建某个项目的情况而言,Javascript和它的框架是非常有用的.Angular.js可以控制展示给用户的网站前端.Node.js将作为管理网站所有内容的网络服务器.Express.js在前端和服务器两者之间运行,对信息的来去进行导向. Python 可读性和灵活性都非常好,最近它成为大学院校在教授计算机专业时选择的入门语言之

RAID5和RAID10,哪种RAID更适合你(上)

[IT168 专稿]存储是目前IT产业发展的一大热点,而RAID技术是构造高性能.海量存储的基础技术,也是构建网络存储的基础技术.专家认为,磁盘阵列的性能优势得益于磁盘运行的并行性,提高设备运行并行度可以提高磁盘的性能和数据安全性. 20年来,RAID 推出了一系列级别,包括RAID 0.RAID 1.RAID 2.RAID 3.RAID4.RAID 5,以及各种组合如 RAID 0+1 等.其中最广泛的包括RAID5与RAID10.但是一直以来,关于RAID5与RAID10的性能优劣的争端还是

c++/java/c# 几种编程语言的指针、引用比较

前一段时间,我在 cnblogs 别人的博客中,谈到: java 中的引用/指针,与 c++/C# 中的引用/指针不是一个概念. Java 引用,相当于 c++ 指针(fun3).Java 引用可以赋值 null, 而 c++ 引用 (见 fun2) 不能赋值 null,c++ 指针可以赋值 null(fun3). Java 中,无 c++ 引用(fun2)对应的语法. 结果引起不必要的质疑,特此,写博客,对c++/java/c# 几种编程语言的指针.引用,进行比较,期望引起更多的人,对此有所关

12 种编程语言的起源故事

过去的几十年间,大量的编程语言被发明.被替换.被修改或组合在一起.每种语言总在争论中诞生,又在进化中消亡.而这些语言的的创造者,无一不是编程世界中的标志性人物,高举探索的旗帜不断前行.敬仰之情促使了这篇文章的诞生,这里收集并分享了这五十年来最成功.最流行的十二门编程语言和它们的创造者的故事. 1.Java 的起源 1990 年代初,任职于 Sun 公司的詹姆斯·高斯林等人开始开发 Java 语言的雏形,最初被命名为 Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机.电话.闹钟.烤面包

【新手必看】2015年需要学习的15种编程语言!

如果你是一个程序员,那么你的美好时光来了.根据美国劳动统计局的预测,计算机方面的工作岗位将在接下来的七年时间里增长8%.如果你很擅长于写代码,那么你的薪资可以高达300美元一小时甚至更多. 想要拿到这一领域的高薪,那么你就得掌握最需要的几门编程语言. 下面是老郭--在线学习平台扣丁学堂的总监指出的2015年你需要知道的15种编程语言: 1. Java Java用于构建企业web应用的后端,是当今最为流行的编程语言之一.Web开发人员可以凭借Java和基于Java的框架为各种用户建立可扩展的Web