首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >硬件改进在现代语言的开发(如Python / Java)中扮演了什么角色?

硬件改进在现代语言的开发(如Python / Java)中扮演了什么角色?
EN

Software Engineering用户
提问于 2017-05-12 09:25:10
回答 2查看 458关注 0票数 6

我想问一下编程语言的历史,特别是在过去20-30年中硬件在语言开发中的作用。

我一直在阅读关于Python和ABC项目ABC项目的历史。在我看来,在语言结构、抽象到更自然的(“表现性”)语法、可扩展性等方面,我学到了很多东西。

我想知道硬件在现代语言的发展中扮演了什么角色。例如,更多的RAM是否意味着语言的内存分配效率可能会降低,但对用户来说却变得更加方便?更快的处理器是否意味着昂贵得令人望而却步的操作可能会进入主流?

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2017-05-12 10:25:50

不,可用的硬件资源似乎对编程语言设计没有重大影响。

  • 垃圾收集不是90年代S语言的创新。相反,它从50年代末开始使用,这是Lisp发明的许多概念之一。从那时起,GC已经成为非常高级的编程语言的期望。C++是该规则的例外,因为它打算像C一样作为系统编程语言使用。
  • 解释器和虚拟机也有类似的历史: Lisp在50年代末引入了解释,而UCSD (70年代末)使用了字节码解释器运行时,在某些方面看起来与Java非常相似。许多早期的家用计算机,如商品64,提供了一个基本的解释器作为主要接口。然而,口译员的性能下降给他们带来的影响要大得多,这限制了口译系统的“严重”发展,主要局限于学术用户或拥有强大工作站的用户。
  • 人性化的语法设计也不是什么新鲜事。能够以一种看上去像数学的方式为数学表达式编写代码是Fortran (50年代末)的主要创新。COBOL (也是50年代后期)非常冗长,并试图像通俗的英语一样阅读。这也是SQL语法(70年代)的一个目标。ABC和Python并不少见,特别是因为它们是高度依赖关键字的ALGOL语言家族的一部分。他们的语法创新是将反面规则(即缩进分隔块)与类似ALGOL的语法结合起来。

在一些次要的方面,硬件施加的限制与今天的情况不太相关,或开辟了新的机会:

  • C和C++的设计方式支持单程编译,这减少了编译器的内存量。因此,您必须预先声明在C或C++程序中使用的所有函数。然而,现代机器有更多的内存,没有主流编译器可以进行一次编译.
  • 更好的计算资源意味着编译器能够执行更复杂的优化和分析。没有这种处理能力,像Scala这样的语言是不可行的。
  • 随着计算机价格的提高,开始编程的门槛已经大大降低了。特别是脚本语言不需要首先编译程序,并且允许更容易地修改。这似乎与90年代互联网的迅猛发展有关: Perl在CGI脚本中非常流行,但在很大程度上被PHP所取代,因为向HTML页面添加一点代码要容易得多。现在,每个人都有内置到浏览器中的JavaScript IDE。
票数 11
EN

Software Engineering用户

发布于 2017-06-05 07:09:28

我找到一篇文章解释了你的要求。

这是文章的链接-

http://pythonholics.blogspot.co.il/2017/02/programming-history-1980s-period-of.html

1980年代是在祈使语中相对巩固的几年。所有这些运动都没有发明新的范式,而是详细阐述了过去十年中发明的思想。C++将面向对象和系统编程相结合.美国政府将Ada标准化,这是一种系统编程语言,用于国防承包商。在日本和其他地方,大量资金用于研究所谓的第五代编程语言,这些语言包含了逻辑编程结构。功能语言社区开始对ML和Lisp进行标准化。米兰达( Miranda )是一种有着懒惰评价的功能语言,在这十年里,它的研究开始站稳脚跟。语言设计的一个重要的新趋势是,通过使用模块或大规模的代码组织单元,更多地关注大型系统的编程。Modula、Ada和ML在1980年代都开发了值得注意的模块系统。模块系统通常与通用编程结构结合在一起--泛型本质上是参数化模块(也请参阅面向对象编程中的多态)。虽然尚未出现重要的命令式编程语言的新范式,但许多研究人员扩展了现有语言的概念,并使其适应新的环境。例如,阿格斯和翡翠系统的语言将面向对象的编程应用于分布式系统.1980年代还带来了编程语言实现方面的进展。RISC在计算机体系结构中的运动假定硬件应该是为编译器而不是为人类组装程序员设计的。得益于处理器速度的提高,使得越来越激进的编译技术得以实现,RISC运动激发了对高级语言编译技术的更大兴趣。语言技术一直延续到1990年代。在此期间发展起来的一些著名语言包括:

  • 1980年的今天,C++ (有类的C语言,1983年改名)
  • 1983年-- Ada
  • 1984年-通用Lisp
  • 1984-MATLAB
  • 1985年-埃菲尔
  • 1986年-目标-C
  • 1986年- LabVIEW (可视化编程语言)
  • 1986年-- Erlang
  • 1987 - Perl
  • 1988年- Tcl
  • 1988年的今天,Wolfram语言(作为Mathematica的一部分,2013年6月才有了一个单独的名字)
  • 1989 - FL (Backus)
票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/348816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档