为什么会有那么多编程语言?
尽管存在其他语言,是什么促使人们创建一种编程语言呢?
为什么会有那么多编程语言?
尽管存在其他语言,是什么促使人们创建一种编程语言呢?
Answers:
新的编程语言通常会从现有语言中学习,并以新的方式添加,删除和组合功能。有几种不同的范例,例如面向对象和功能,许多现代语言尝试将两者的功能混合在一起。
还有其他新问题需要解决,例如增加多核CPU。最常见的解决方案是线程,但是某些编程语言尝试以不同的方式解决并发问题,例如Actor模型。参见Erlang-并发软件
这是一个循环。您开始了一种新的语言,就可以自由摆脱前辈所有的不良语法和错误选择。在版本1中,该语言看起来很棒,因为它没有任何负担,并且可以完成工作。然后,在较新的版本中,您开始尝试可能无法使用的功能,或者从其他较新的语言中引入功能,这会使您的语法有些混乱。瞧,再经过几个版本之后,您会意识到您的语言现在像您所替换的语言一样复杂,并且存在语法错误和遗留问题。突然间,您意识到,如果您创建了一种新的语言,就可以解决所有问题……
出于同样的原因,有锤子,螺丝刀,手锯,带锯,手提凿岩机,撬棍和许多其他工具:并非每种语言都能完美地完成每项任务。一些语言针对特定的问题领域:R特别适合统计分析,C特别适合编写操作系统内核,Haskell特别适合于数学运算或财务计算,Erlang特别适合于并发编程等。
同样,出于同样的原因,衬衫有不同的颜色:有些人喜欢一种语言的“风格”胜过另一种语言。
而且,当然,许多程序员发现发明一种新语言很有趣,只是为了看看会发生什么,或者也许是因为他们对语言有一定的了解,想摸索一下,或者尝试一些想法。
因为它们全都吮吸(一种或另一种方式)。
目前,我们已经创建了大约5000种语言来描述自然问题,但是没有一种语言可以用来编写程序(例如“英语”)。
除非有人找到一种创建可以用自然语言表达您可以在句子中表达的语言的编程语言,否则他们会不断前进。
旧版代码。如果您开始使用新语言,则在更改旧语言时不必听/考虑所有投诉。即使每个人都同意新的实现更好,它也不会破坏旧的代码。而且那里有很多旧代码。
因为即使没有实际用途也可以创建新语言很有趣
神秘的编程语言(有时简称为esolang)是一种设计语言,旨在测试计算机编程语言设计的边界,作为概念的证明或作为笑话。
快速简短答案
重塑轮子...当前趋势是什么...
无聊的长答案
许多人忘记了“另一种针对旧程序员的类似新语言”是“一种针对新程序员的简单新语言”。
我的意思是什么?
好吧,对于“数年”的程序员来说,Java或C#可能是现有Cobol(OO /过程)Basic C / C ++的另一种编程语言,而对于“新”程序员来说,Java或C#是新语言,而Cobol, (OO /过程)基本的C / C ++对他们而言不存在,因此重新发明轮子已成为常事...
而且,如果技术上有新的趋势,人们可能会根据这种趋势开发出新的编程语言,例如用于Web和功能性编程的ecmascript / javascript ...
干杯。
构建新的编程语言的原因很多,主要是因为有了新的编程范例,或者由于硬件的进步,人们开发了新的语言来利用诸如多任务处理等新的硬件功能。
就我而言,出于特殊原因,我通常会构建小型编译器(使用新的编程语言)。如果我分配游戏,并且我相信专门为游戏开发而设计的编程语言将导致更快的代码更短,开发周期更短,那么我就会构建它。到最后,事实证明它也可以用于其他通用编程。
我认为大多数创建编程语言的人都有一个特定的目标,有些人从一开始就为通用而创建。但大多数不是。
顺便说一句,我确实认为编程语言太多了,但是总会有数百种新的编程语言问世。一些出于娱乐目的,一些出于利基目的,例如作为学校项目,或者出于其他数百个原因。迟早会有一种新的流行。它永远不会结束。
出于同样的原因,<whatever>太多了,我们继续创建新的<whatever>
例如,有十二种PHP MVC框架,但是人们总是会创建新的框架来满足特定需求,以避免依赖其他团队,或者只是尝试创建更好的框架。基本上,每种工具或应用程序都适用。
这是一件非常好的事情,我认为每个人几乎都是双赢的。
大学贡献了许多编程语言,爱立信(Erlang =爱立信语言),贝尔实验室(B和C语言),谷歌(几个月前的Go语言)等大型公司也做出了贡献。作为大学研究的一部分而写的许多书并没有得到太多使用。但是,有一些值得注意的例外。我想写自己的语言/编译器对于学习CS理论或相关学科的人们来说是一个很好的博士论文。令我惊讶的是,Python是在各种程序员围绕一个想法的协作在线努力下诞生的第一批语言之一。