最好的编程语言
当我想在工作中休息一下时,我有时会阅读技术论坛。有一种帖子我真的很喜欢:编程语言之间的火焰战争。我喜欢这些帖子,因为你可以看到充满激情和聪明的人,他们正在争论,好像他们的生活正在发挥作用。
这些职位有 2 个优点:
他们让我笑
我学新东西
如果我必须总结这种帖子,那将是这样的:
帖子标题“Java 是最好的语言”由 NewJavaFanBoy 撰写
NewJavaFanBoy:Java 是最好的语言,因为它的社区。此外,它具有非常酷的功能,如 lambdas。为什么这么多人讨厌 Java?
前 JavaFanBoy:Oracle 杀死了 Java。
DotNetFanBoy:Java 的演进太慢了,C#不久前就有 lambdas。此外,一些关键功能(如可选参数和命名参数)不在 Java 中。现在,dotnet 更加开源,可以在 Linux 上运行 Mono,Java 将会消亡。
TrollRoxxoR: 因为 JavaDevelopersDontKnowHowToWriteCode
RealG33k:你们的语言都是为孩子们准备的,C++更好,但它只适合真正的开发人员。您知道 SOLID 是什么意思吗?
臀部 terGeek: 太老了,太跛脚了...你应该试试 Node.js,它基于异步调用,而且速度非常快。
LinusTorvalds:Pussies,一个真正的开发人员使用 C 或汇编。你不能和那些高水平的狗屎一起表演。
我讨厌 PHP。我无法解释为什么;那一定是因为我在 14 岁时试图学习它,它搞砸了我的大脑。但你猜怎么着,你正在使用 PHP / NGINX 的服务器上阅读这篇文章(顺便说一句,这是一个踢屁股服务器)。我擅长 Java。所以,我可以使用一个在快速胖 JVM 上运行的 Java 框架。但是,WordPress 是一个很棒的平台。它经常被纯粹主义者看不起,但它显然满足了我的需求。我的博客的目标不是成为世界上最快的博客(尽管它令人惊讶但痛苦地在 2 个 Hacker News 和 Reddit 首页中幸存下来,涉及 500 个同时连接)。我只是想要一个用户友好的界面,我可以在其中分享我的想法。
这就引出了我的观点:没有最好的编程语言,这取决于具体情况。
1)你需要表演吗?
如果是,我们在谈论什么样的表演?
秒?每种语言都可以做到!
毫秒?每一种语言都有优秀的程序员可以做到这一点。
微秒?在此步骤中,您可以删除所有解释型语言(如 python,这是一种很好的语言)。我知道一个经过良好调整的 JVM 和非常优秀的 Java 程序员可以做到这一点。我想 C#也是如此。当然,纯编译语言可以解决这个问题。
但在所有这些情况下,程序员的技能比语言更重要。
纳 秒?只有汇编或 C 可以处理这个问题。
因此,在大多数情况下,开发人员的技能才是最重要的。
2)生态系统是怎样的?
除了语言本身之外,生态系统也很重要。
在奖学金期间,我使用过 Visual Studio,我对微软生态系统的一致性感到惊讶。
现在,我更像是一个 Eclipse 人。即使在 Java 社区中,Eclipse 也被现在使用 IntelliJ IDEA 的纯粹主义者所鄙视。Eclipse 是由不同的人开发的开源软件,它清晰可见(以一种糟糕的方式)。与 Visual Studio 的一致性相比,您将在 Eclipse 的不同插件中找到不同的逻辑。
但是,如果拥有工具很棒,那么知道如何使用它们会更好。例如,当我开始使用 Java 时,我非常慢。我通过炉膛学习了一些Eclipse关键字,它改变了我的开发人员生活。我也在寻找有用的插件,Eclipse 有很多插件,因为它是一个丰富的生态系统。
3) 在线帮助有什么关系?
好吧,你正在使用你的 kickass 编程语言,但不要告诉我你知道这种语言的每一面。当您需要帮助时,拥有一门众所周知的语言很有用。一个简单的 Google 或 StackOverflow 搜索,您可以通过 Ninja_Guru_666 和 I_AM_THE_EXPERT 来获得答案。如果你更像是一个深入的程序员,你也可以检查官方文档,假设它存在你正在寻找的问题。
4)团队的技能是什么?
如果开发人员并不真正知道计算机是如何工作的,那么使用编译语言是一种自杀的举动。而且,与纯粹主义者相比,我不明白为什么知道(确切地)计算机是如何工作的会让你成为一个好的开发人员(尽管我必须承认,它有帮助;但是还有更重要的技能)。
最好不要使用最好的工具,而是使用已知的工具。而且,许多开发人员都是粉丝男孩。使用他们的首选语言将帮助他们在项目上保持动力。
5)业务方面
一个客观的观点是看看最需要的语言是什么。这并不意味着他们是最好的,但至少你会找到一份工作。在这种情况下,Java,C#,PHP,SQL 和 JavaScript 显然是最重要的(至少在法国)。
此外,作为技术领导者,在选择技术之前检查市场上的技能总是好的。如果您选择最好但罕见的技术来处理您的问题,那么祝你好运,找到熟练的技术开发人员。
但 2015 年的真实情况可能会在 2018 年发生变化。ActionScript 在不久前还是必须有的。同样,使用 Swift,在 Objective C 上花费的所有时间将在几年内过时。
最后,我将得出一个蹩脚的(我希望)明显的结论:没有最好的编程语言或最好的框架;现在最好的东西明天可能就不存在了。编程语言只是一个工具;重要的是你克服问题的方式。
版权声明: 本文为 InfoQ 作者【flow】的原创文章。
原文链接:【http://xie.infoq.cn/article/c09da779b43e28f6f79fbdc4f】。文章转载请联系作者。
评论