目前,软件开发人员正在使用大量不同的编程语言,大多数工作需要熟悉很多技能,如Java、Java、PHP和C#。然而,随着软件需求的发展,新的和尚未被普遍接受的编程语言越来越突出,为程序员提供了针对某些工作的正确工具。
预测哪些语言最终会上升到编程语言排行榜的顶部是困难的,很多语言的受欢迎指数都呈上升趋势,以下是八种目前还没有大火的编程语言竞争力分析,看起来未来几年将在在企业中发挥巨大作用。(排名按照开源社区受欢迎程度,swift最受欢迎)
在2014年的苹果WWDC大会上首次亮相,旨在替代OSX和iOS开发的Objective-C语言。苹果于2015年12月,根据Apache许可证开源了该语言,这意味着所有源代码都可以编辑,程序可以在不归属于苹果的情况下运枣蚂行。
RedMonk分析师Stephen O'Grady表示,Swift与迅兄Ruby和Python这些更现代的语言相似,自发布以来一直享受着高速增长。苹果公司表示: Swift采用安全的编程模式,并添加了现代功能,使编程更容易、更灵活、更有趣。
Github上Star:39.8K
这种开源语言被视为比较成熟的语言(如Java和C)更快速、更易于使用。它已被许多企业使用:BBC、SoundCloud,Facebook以及英国政府获奖的GOV.UK网站。
Type在年初开始普及,上半年保持着强劲的增长势头。这反映在其技术出版商RedMonk的排名中,在第一季度Github的排名中位列17位,其中Erlang和Rust并列。
被描述为“Java的超集”,Type最大的优点就是程序员可以利用Angular,这是一个用于创建以Type编写Web应用程序的框架。
Github上Star:24.6K
由Mozilla创建,Rust 1.0于2014年发布,已经开发了多年。
与C和C ++在某些方面类似,Mozilla将其描述为一种专注于性能、并行化和内存安全的新型编程语言。通过从零开始构建语言并结合现代编程语言设计的元素,Rust的创建者避免了传统语言必须处理大量”baggage“(向后兼容性要求)。经过一段时间的发展,该语言正在引起程序员的兴趣。
Github上Star:22.9K
快速编译并与Java一起运行,Kotlin是一种静态类型的编程语言,可在Java虚拟机上运行,可编译为Java源代码。
由俄罗斯软件开发公司JetBrains创建凳昌埋,Kotlin正在Pinterest,Evernote,Uber和Coursera上使用。
Github上Star:16.6k
Clojure于2009年推出,是Lisp编程语言的一种方言。它是一种强调函数式编程的通用语言。它将代码视为数据,并具有宏系统,如其他“Lisps”。
它被成功应用到沃尔玛、Puppet实验室和各大软件公司。
Github上Star:6.5k
Haskell将自己称为“高级纯函数式编程语言”,1990年发布了第一个版本。它具有类型推理系统,主要在学术界内使用,但有一些行业应用案例,例如AT&T,BAE Systems,Facebook甚至Google的项目。
2016年,开始编制2020版本。
Github上Star:681
R提供用于统计计算的开源软件环境。
首先出现在1993年,R在数据驱动的职业之中,例如数据挖掘、统计学家甚至学者,受到了越来越多的欢迎。它提供了一个简单有效的方式来分析数据,尽管它不能与像Hadoop这样的大型架构相竞争。
普通程序员目前对R语言的接受程度一般,随着大数据以及人工智能的发展,R语言未来的发展前景还是很不错的。
Github上Star:240
在任何时候,我都希望摆脱对文本语言的依赖。这部分是由于 1950 年代后期和 1960 年代的启中语言研究,其中研究了形式语法技术,但基于文本。
程序员现在只考虑文本。一些语言取得了突破,例如 Smalltalk 和 Hypercard。Smalltalk 承担了文本的很多复杂性,并将程序的整体结构置于文件系统、浏览器和编辑器的环境中。
我们还开始了电子表格中的函数式编程系统,其中每个销旁巧单元格代表一个基于立即值的函数或其他单元格中的函数。
因此,电子表格可以被视为一个完整的编程系统。
然而,电子表格只是一种方式,对于一般编程(自己编写电子表格程序),我们需要更通用的方式,比如 Smalltalk。
文本是线性和二维的,但程序是围绕更亏键复杂的维度构建的。基于文本的编程的难点在于将多维映射到二维。
许多程序员考虑使用文本编辑器进行编程(vi 和 emacs 是糟糕的例子),但我们应该使用程序编辑器,以便在没有基于文本的滚动的情况下轻松访问系统中的“远程”定义。大多数 IDE 对此感到失望,因此我们也需要超越 IDE。
我们应该将超文本的鼻祖 Ted Nelson 的思想应用到编程中。
文本只能用于程序中执行某些 *** 作的部分(功能),而不应用于整个系统的结构或框架。
一句话提醒。当我说我们应该从 1960 年代基于文本的思维中解放出来时,我们应该只抛弃文本,我们应该将结构化思维保留在语法背后,尤其是指称和公理语义中基于语义的语言定义。这些先进技术的应用使编程变得足够简单,可供我们其他人使用。
这样做的一个重要影响是语言和风格之战可以成为过去。编程基于程序的语义(以前的中间分析树),可以以不同语言和风格的几种视图呈现给任何程序员的口味。
但首先,我们需要摆脱许多程序员的心理偏见,他们认为他们采用的语言在某种程度上是神奇的。这在很大程度上是几十年来糟糕的教学和认为编程必须是一种特殊方式的人的结果。我们需要改变整个行业的态度。
计算和编程是关于探索的。我们应该恢复这种探索的感觉和兴奋,抛弃过去奄奄一息的基于文本的语言。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)