采取这种情况:
程序员创建一种语言来解决某些问题。
然后,他发布了这种语言,以帮助其他人解决类似的问题。
另一个程序员发现,对于某些不同类别的问题,它实际上要好得多。
借助于此新应用程序,该语言随后主要在该应用程序中流行。
是否真的有这种情况发生?
换句话说,语言的预期目的是否与语言的实际使用方式或语言是否流行有关?语言具有广告目的甚至重要吗?
采取这种情况:
程序员创建一种语言来解决某些问题。
然后,他发布了这种语言,以帮助其他人解决类似的问题。
另一个程序员发现,对于某些不同类别的问题,它实际上要好得多。
借助于此新应用程序,该语言随后主要在该应用程序中流行。
是否真的有这种情况发生?
换句话说,语言的预期目的是否与语言的实际使用方式或语言是否流行有关?语言具有广告目的甚至重要吗?
Answers:
Lisp。麦卡锡最初在论文中指定了Lisp,以表明很少有简单的符号就足以构成完整的图灵语言。他惊讶地发现Lisp可以用机器代码实现(Steve Russel做了第一个Lisp解释器实现)。Lisp被广泛用于AI编程。
Java最初旨在用于嵌入式系统编程。来自维基百科,“ Java最初是为交互式电视设计的”。但是它在应用程序和Web编程中变得非常流行。
Lua最初主要是作为配置语言设计的,最终发现它是最流行的游戏脚本语言(因为它体积小,速度快,功能强大,可移植,易于扩展和嵌入,并具有用户友好的语法)。最受欢迎的游戏《魔兽世界》甚至没有真正使用它进行配置,而是使用XML。
拉里·沃尔(Larry Wall)最初对perl的意图是使用“一种通用的Unix脚本语言来简化报表处理 ”,并且该手册页将该语言描述为:
Perl是一种解释型语言,经过优化,可用于扫描任意文本文件,从这些文本文件中提取信息并基于该信息打印报告。
当然,手册页还告诉我们Perl代表实用提取和报告语言(实际名称是最初的名称Pearl的拼写错误,当Wall发现一种已经存在的PEARL语言时便更改了该名称)。
从那时起,Perl走了很长一段路,因为这是众神在宇宙中发动力量的语言。
我想JavaScript也适合这个问题,因为我不认为Brendan Eich在Netscape时代曾想过,他的LiveScript的将来版本会被用来创建当今所谓的Web“应用程序”。
JavaScript已从简单的表单验证和图像翻转转变为一种功能强大且可与脱机应用程序媲美的功能强大的工具。
但是不幸的是,我认为许多人仍然将其视为玩具。
二郎 它是很久以前在爱立信实验室中发明的,目的是开发电话应用程序,可能用于他们的交换和访问设备系列。现在,它已发展成为一种有前途的通用动态语言,并带有有趣的并发概念。
如果将来会有更多来自电信业的语言跨界到IT世界并从那里发展,尤其是最初设计用于协议建模和验证的语言,那将是很有趣的。
帕斯卡。创建用于教授编程。
我非常确定VBScript并非旨在编写恶意软件,即使这是极其普遍的用法。
BASIC是另一个著名案例。它的名称(初学者的通用符号指令代码)暗示了它作为学习者语言的起源,但是自那以后它已经发展了很多。
VHDL和Verilog(又名VerilogHDL)最初旨在描述数字电路和组件。它们被用作文档形式并模拟组件的行为。后来,Synopsys和其他公司开发了一种技术,可以将这些描述(的一部分)转换成门的净列表,进而可以用来生产真实的硬件。
由于历史原因,VHDL和Verilog被称为硬件描述语言(HDL)。今天,它们实际上已用作硬件设计语言(相同的缩写)。
ML最初是一种用于开发和编写定理证明者的语言。它是定理证明者的“元语言”。
C
最初,它最初是为与Unix操作系统一起使用而开发的。但是,即使丹尼斯·里奇(Dennis Ritchie)感到惊讶,语言也变得如此流行。
在他的名著 “ C编程语言”中。Ritchie说:“它已经远远超出了UNIX操作系统语言的起源。” 当它成为应用程序开发的流行语言时,他感到惊讶。
C ++最初被设计为“带有类的C”,以促进C ++中的面向对象编程。
然后在更高版本中提供了模板,以实现强类型容器类的实现。后来才注意到,这些模板实际上构成了图灵完备的编译时编程语言。
结果,许多应用程序现在不将C ++用作面向对象的编程语言,而是将其用作算法驱动的编程语言,该语言严重依赖于编译时多态性和元编程。
const
是我使用C ++ 的两个最重要的原因。
ADA —最初是根据美国国防部合同为航空电子设备设计的。尽管仍在该应用程序中使用,但它也很流行,例如用于实时业务中间件。
“一种语言的预期目的与它的实际使用方式或它是否流行有关吗?”
我认为语言的预期目的与其实际使用和流行没有太大关系:有些伟大的语言从一开始就被设计为具有创新性,灵活性和多功能性,但是除了在非常专业的垂直市场-例如埃菲尔铁塔。多年来,OTOH,Basic,Pascal,C等主导了整个领域,尽管它们最初是为有限的特定目的而设计的。
IMO营销/财务和支持方面的 考虑一直在某些语言的传播和扩展中起着重要作用。例如:Borland提供了TurboPascal并对其进行包装,销售和支持。MS提供了C#并打包,销售和支持它。结果,这些语言变得流行起来,第三方工具行业如雨后春笋般涌现,越来越多的开发人员和企业跃入潮流。
但是在过去的几年中,开源语言和工具正在改变其动态性,如今,基于“优点”而不是营销的语言变得越来越流行,例如Ruby,Python和Perl。但这并不是因为发明者的“意图”,而是因为该语言具有扩展和方便使用的内在潜力。
我不认为有一种流行语言并未因其初衷而被重新利用。甚至C最初也是为了制作可移植的OS(unix)而编写的。
编写任何没有特定目标的真正通用编程语言的尝试都可能由于缺乏约束和重点而失败。
我听说Ruby被设计为一种用于编写诗歌的语言,事实证明您也可以在其中编写漂亮的代码!
我会和你在一起 我要你哭。哭泣。甜蜜地哭泣。这本书是Ruby的辛辣指南。这意味着代码是如此美丽,以至于流下了眼泪。这意味着浩浩荡荡的故事和阴沉的真理让您在第二天早晨醒来,这本书就是怀抱。