计算机编程语言为何层出不穷化解开发者痛点才是关键

在 7 月上旬的一篇 CACM 博客文章中,Doug Meil 谈论了《为何有这么多编程语言?》这个话题。而在 1990 年代,曾有一位精通计算机、但并非身为全职开发者的朋友向他提问“为何没有一种好用的编程语言?”当时他的回答是,编程语言同行为特定的人物或工作语言而设计。

(来自:BLOG@CACM)

从这个意义上说,大多数语言的区别,并不在于它们使什么成为可能、而更多地表现在它们使什么变得容易。

几年前,Doug Meil 有机会参观了位于加州山景城的计算机历史博物馆。有趣的是,在众多展品中,有一幅关于编程语言演变的超大号壁纸图标。

这张图是如此之大,想必任何编写过“Hello World”语句人们,都可以在上面找到对应的编程语言。

在本能的趋势下,人们会忍不住沿着时间的正序方向去查看。但若回头望,你又会领略到不同的视角。

这张图表显示了已经发明的数千种编程语言里的大约 150 种,其中一些较为通用、另一些则是为特定类型的应用程序而设计。

图表上的箭头,显示了较新诞生的语言如何受到了老语言的影响。不过就算复杂如此图,它也只能算是更大范围里的一个样本。

(图 via Coding Across America)

软件世界里的新语言依然层出不穷,但很少有全新的语言冒出来。回顾早期,计算机的资源内存、存储和处理能力都相当昂贵且有限。

为此,人们不得不逆风上坡,甚至经常需要通宵熬夜来争取计算机的使用时间。而 1950-1960 年代初始的命名空间,可以精确地处理底层事务。

时至今日,年轻开发者们已鲜有涉足 FORTRAN(公式翻译)、COBOL(通用商业导向语言)、BASIC(初学者通用符号指令代码)、ALGOL(算法语言)、LISP(List Processor)。

不过就算大多数人可能根本没有听说过描述字符串处理算法的 SNOBOL 语言(1962)或 OBJOL,但只要充分理解了面向对象的编程理念,就不难推测它可以用来干什么 —— 至少年代的命名模式就是如此。

1964 年的 PL/I,致力于成为一种更好用的编程语言。虽然它没有如设计者预期那样发展,但早在 1960 年代初,人们就已经提出过“为何有这么多编程语言”的疑问。

时间快速翻到千禧年后,我们陆续迎来了 Scala(2003)、Go(2009)、Rust(2010)、Kotlin(2011)和 Swift(2014)。

当下的技术环境,似乎所有这些基本语言的属性,都被重组到了特定的解决方案中。

其能够满足任何平台上的所有低级 / 高级功能、过程 / 对象、单线程 / 多线程、编译 / 脚本需求。

在此情况下,继续创造新语言的最大因素,反而是出于控制的考量。

1990 年代中期,微软主要提供了 Visual Basic 和 Visual C 开发语言,两者都源于计算机历史博物馆壁纸上的旧节点。

VB 流行于为 Windows桌面平台构建前端应用程序,但缺乏许多高级语言功能 —— 比如数据结构和线程。

VC 处于光谱的另一端 ——开发者几乎可以做到任何事情,但难点在于语言本身太过复杂。

正因如此,一些人看到了打造一款“中间语言”的机会,于是 Java 在 1996 年迎来了爆发。

据悉,Java 是一种功能齐全的面向对象语言,且涉及重点之一是跨平台的可移植性,可惜这并不是微软的首要目标。

随后 Sun Microsystems 和微软在 1997 年陷入了旷日持久的冲突,并最终推动后者在 2022 年推出了 C# 。

乍一看 C# 和 Java 很像,但实际上并非如此。其填补了微软开发堆栈的‘中间’位置,且该公司能够更好地掌控该语言。

最后从总体设计控制角度来看,维护和发展现有系统,很容易变成一项艰巨的挑战。而管理编程语言的增长,也是最困难的案例之一。

作为编程语言的用户,优秀开发者们不仅具有生产力、还能够以创造性的方式去使用相关特性,即便这么做并不是语言作者所期望的。

2009 年的 Go 语言,就是一个相当有趣的例子。其诞生的一个主要推动因素,就是需要能够在 Google 的容器化云环境中,高效且可预测地部署。

其次是对强大语言的渴望,尤其在网络和并发性方面。从人才角度来看,Google 显然有能力为现有语言构建一套新的编译器和运行时引擎。

但要改变开发者的习惯,则需要费力地改变编程语言的语法和功能 —— 尤其是被告知某些事情不再被允许、或必须以不同方式去完成时。

计算机编程语言为何层出不穷化解开发者痛点才是关键

为什么会有这么多计算机编程语言

为什么需要更多的编程语言
编程语言是由一些人为另外一些人创造的。因此,它们承载着创造者的文化印记,有些文化印记不为其他群体的工程师们喜爱,因此他们转而创造出了自己的版本。这在计算机科学历史中无数次上演,导致产生了许多流行语言的方言。最明显例子就是首个阿拉伯语编程语言。去年有篇关于Ramsey Nasser的文章,他创造了第一个表情文字编程语言:
Nasser评论到:“我们使用的工具承载着它们创造者的文化设想。”当Nasser创造的时候,他在将true和false翻译成阿拉伯语时遇到了困难。最终他使用了correct和incorrect这两个词,虽然两者的概念并不完全吻合,但是他说这最终演变成了一场他不得不和他父母以及朋友进行的奇妙对话。Nasser旨在创造编码的通用性:“Emojinal意在甩掉文化包袱。”
这是一个古老格言的另一种版本:你说的语言改变了你思考的方式。有些语言有助于某些类型的思考;而有些有助于其他类型的。正如我们在四月份写下的文字所说:
“语言不仅是针对不同工作的不同工具,它们还是可以描绘你思考编程的技术。”Richard Pattis说。他是加州大学的信息学高级讲师,他于1981年发明了Karel教育编程语言。Pattis建议多才多艺的程序员要扩展思维的话,最好学习不同编程范式的语言,从面向对象语言(譬如C /JAVA),到函数式语言(譬如ML和Haskell),到脚本语言(譬如Lisp和Python),到逻辑基础语言(譬如Prolog),到低级语言(譬如C,Java虚拟机或者机器语言)。目标不是为了熟练运用这些语言,而是能从不同的角度来思考解决问题。好的程序员不仅仅学习如何编程,还要学习核心概念,用其武装自己的大脑,从而写出高效的代码来解决问题。

计算机编程语言为何层出不穷化解开发者痛点才是关键

为什么这么多人学习Java,Java编程语言好在哪里?

Java语言的实用性、简易性和向后兼容性都彰显出独特的价值。正因如此,Java语言才能超越C语言占据的主流地位,成为计算机语言中的“大佬”。正是Java的主流地位才带动了大批Java培训机构发展壮大。这也是为什么这么多培训机构都要做Java培训的原因所在,相信对于为什么这么多人学习Java,Java编程语言好在哪里?知道一些原因所在了吧!今天小编详细介绍一下Java编程语言好在哪里?为什么这么多人学习Java

1.为什么这么多人学习Java,Java编程语言好在哪里?因为Java语言的实用性

James Gosling 将 Java 描述为“蓝领”的程序设计语言。它能使开发者花最小的代价完成工作,同时还能使得开发者在一段时间之后,还能继续完成别人的(甚至自己的)代码并且明白其中的意思。当然,你也可以编写可读性差的代码,就像你在其他语言中能做的一样,但是使用良好的编码风格能够让它比其他许多语言都有更好的可读性。为什么这么多培训机构都做Java培训?

2. 为什么这么多人学习Java,Java编程语言好在哪里?因为Java语言具有向下兼容性

Sun公司和之后的 Oracle公司在确保一个版本的 Java 代码能够正常地在新的版本运行上做出了很多努力。虽然事情并不总是这样(如 JavaSE1.4 中的断言和 JavaSE5 中的枚举)并且有时不向下兼容的做法能够获得更好的实现(如:泛型),但向下兼容对开发者来说依然是一个引人注目的特性。没有比为了能在新版本的平台上运行代码而修改旧版本中的正常代码更糟糕的事情了。这简直是浪费时间。

3. 为什么这么多人学习Java,Java编程语言好在哪里?因为Java语言的可扩展性/性能/可靠性

在超过20年和每年数以千计的开发者的推动和发展,Java 已经成为了一个坚实的平台,可以赶上甚至超过本地代码的水准(多亏了 JVM 使用了动态而非静态代码解析的一些优化)。当谈及可扩展性,看看使用 Java 语言的一些大型企业:Twitter(抛弃了 JVM 的 Ruby-on-Rails,因为它不再能够扩展),Spotify,Facebook,Scalesforce,eBay,当然还有 Oracle。Hadoop,Cassandra 和 Spark,大数据工程的基础框架,无不使用Java 或者 Scala 并且在 JVM 虚拟机上运行的。如果你想要良好的拓展性和性能,Java 和 JVM 是最好的选择。为什么这么多培训机构都做Java培训?

4. 为什么这么多人学习Java,Java编程语言好在哪里?因为Java语言的高保鲜度

查看 TIOBE 统计图能够发现,2014 年 10 月份开始,Java 的受欢迎程度有了显著的提升,这刚好是在 JDK8 发行之后。JDK8 对 Java 开发者来来说有了显著的变化,它引入了 Lambda 表达式和 Stream API。突然间 Java 开发者能够在不用学习一整套新语言(如 Scala)的情况下以一个更加有效的方式进行开发。这些特点也使它有可能更简单地利用多核/多处理器的机器,而不必写很多复杂的和潜在的容易出错的多线程代码。随着 Jigsaw 工程在为 JDK 9 的发布而启动,我们会看到模块化使大企业应用程序更容易建立、部署和维护。同时在 JDK10 中,对于发展新的语言特性的计划已经在进行中了,比如值的类型等等。

这些原因也是为什么这么久Java编程语言一直非常受欢迎的原因所在相信介绍到这里你已经很清楚为什么这么多人学习Java,也正是因为学习的人多所以Java培训机构层出不穷,参差不齐,昆明北大青鸟是Java培训起家的IT培训机构,专注于Java培训已经17年,如果你想要参加Java培训,昆明北大青鸟是你不错的选择,当然你也可以免费申请我们的体验课,来看看昆明北大青鸟分级教学,因材施教的教学模式是否更适合你。

上一篇: 女销售原来靠这样卖房(楼盘置业顾问提成大概多少)
下一篇: 网易云音乐下载链接提取,网易云音乐下载提取