关闭

编程语言介绍

291人阅读 评论(0) 收藏 举报
分类:

Python

  这款最初发布于1991年的语言人气极高,它是由荷兰程序员Guido van Rossum于上世纪八十年代末着手开发的。由他一手打造的这款新型脚本语言派生自ABC编程语言,其诞生源自Rossum在圣诞节假期中的兴趣之作。

  当需要为这种全新语言选择名称时,van Rossum希望选择一个“简短、独特而且略带神秘色彩”的字眼。他从著名英国喜剧团体Monty Python(巨蟒)身上得到了灵感,他本人也是该剧团的铁杆粉丝。不知道他当时有没有考虑过Dead Parrot(死鹦鹉,同样为英国喜剧团体)这个名称。

Java

  Java的前身是诞生于上世纪九十年代早期、由Sun公司打造的Green项目,该项目的初衷在于为即将到来的智能设备浪潮——例如互动式电视——建立一套技术支持方案。这款新语言在建立之初被称为Oak,但Sun公司的律师团很快发现该名称已经被注册,这迫使他们必须重新寻找合适的新名称。

  公司旋即召开了一系列会议,并整理出一份简短的备选名称清单(经过律师团队的严格甄选),其中包括Silk、DNA以及Java。尽管现在我们已经无法考证当初是哪位仁兄最先推荐了Java这一选项,但它确实受到了大多数与会者的广泛支持。Java的灵感源自Peet咖啡店(Java即英文的爪哇,以盛产咖啡而闻名),这里是Sun公司的各位工程师们最青睐的休闲场所。如今Unity3D游戏开发经常会用到Java语言。

Forth

  Forth语言的开发工作可以追溯到上世纪六十年代,由Charles Moore负责开发。他曾于1968年效力于一家名为Mohasco的家居家具公司,当时公司为他配备了一台IBM 1130微型计算机外加一台2250图形显示器,希望他能借此进行地毯产品的设计。

  由于无法利用FORTRAN语言进行图形设计,Moore决定自己开发一套编程语言——这就是Forth。他最初选择的名称是“Fourth”,代表这是第四代语言。但问题在于,IBM 1130微机只允许在文件名当中包含最多五个字符,所以在去掉了“U”之后、Forth由此诞生。

Perl

  作为一款被称为“瑞士军刀”的语言,Perl以其出色的灵活性与强大能力闻名于世。Perl由Larry Wall于上世纪八十年代末所创建。在为其选择名称时,Wall表示他希望能在简短的词汇中包含“积极的内涵”。他考虑过使用他妻子的名字(Gloria),但后来转而选择了“pearl(珍珠)”。

  然而当时这个名称已经被另一款编程语言所占用(即PEARL,‘流程与实验自动化实时语言’的缩写),为了避免冲突、他去掉了其中的“A”并由此衍生出perl。值得注意的是,最初peal这个名称的四个字母全部为小写,这是受到了Unix全部小写规则的启发。不过到了后来,也就是1993年Perl 4版本正式发布时,名称的首字母开始转为大写并一直沿用至今。

Lua

  Lua是由TeCGraf于1993年创建的一款脚本化语言——很多朋友对于TeCGrag可能并不熟悉,它是巴西里约热内卢天主教大学计算机图形技术小组的简称。Lua以TeCGraf此前所开发的两款早期语言为基础,它们分别是DEL(即日期输入语言)与SOL(即简单对象语言)。

  当一种结合了DEL与SOL的精华与其它诸多功能(例如流控制)于一身的新型语言被创造出来时,开发者为其取名为Lua——也就是葡萄牙语中的“月亮”。理由非常简单,因为作为其父辈,SOL在葡萄牙语中是指“太阳”。

Smalltalk

  Smalltalk是一个包含多种面向对象编程语言的家族,最初由Xerox公司的帕洛阿尔托研究中心(简称PARC)于上世纪七十年代所创建。它的出现给众多后续出现的编程语言带来了重大影响,其中包括Java、Python以及Ruby等等。

  Alan Kay的学习研究小组一手建立起了Smalltalk,而根据Kay的回忆,当时选择这个名称是为了迎合“印欧神话体系”中的设定。在这套理论系统中,像宙斯以及托尔这类名号霸气侧漏的神往往历尽坎坷、饱经磨难。因此他反其道而行之,选择了Smalltalk这样一个听起来就人畜无害的字眼,平和舒缓的风格也让人们不至于对这种语言抱有不切实际的期望。

Logo

  Logo是一款由麻省理工学院人工智能实验室的多位计算机科学家于上世纪六十年代中期开发完成的编程语言,当时主要是为了满足教学需要。它属于Lisp语言的一类分支,能够被用于实现多种编程概念的教学、同时也给Scratch等后续教学型语言带来了深远影响。

  它的一大主要特点在于利用海龟图形生成源自命令的输出结果。Logo这一名称明显源自希腊语的“logos”,原意为“字”或者“思想”,开发者希望借此对其与传统中面向数字的编程语言加以区分。

Ruby

  Ruby由松本行弘于1993年所创建,这款真正面向对象的脚本化语言被作为Perl以及Python的替代方案。与Perl类似,松本希望选择一个与珠宝相关的词汇为其命名。在与同事石冢圭树进行讨论之后,最终名称选项被锁定在Coral(珊瑚)与Ruby(红宝石)二者之间。

  Ruby最终当选,这一方面是由于松本更喜爱这个名称、另一方面它同时也是石冢的生日石。松本还明确指出,虽然Perl所代表的珍珠象征着六月、而Ruby所代表的红宝石则象征着七月,但Ruby并非Perl的继承者(松本一直认为Perl只是一种‘玩具性质的语言’);相反,Ruby将彻底取代Perl。

Scheme

  在上世纪五十年代末,麻省理工学院的John McCarthy创造出了Lisp。作为历史最为悠久的早期高级编程语言之一,Lisp很快成为人工智能研究者们最为青睐的编程方案。随着时间的推移,Lisp的一系列不同分支也争相涌现,其中就包括Planner与Conniver。

  1975年,麻省理工学院的Gerald Jay Sussman与Guy Steele开发出了Lisp的又一款衍生方案,并按照Planner与Conniver的命名惯例为其选择了Schemer作为名称。不过这种语言当时运行在由麻省理工学院自主开发的ITS(即非兼容分时系统)系统之上,该系统强制要求文件名由两部分组成、且每一部分最多只能包含六个字符。有鉴于此,Schemer最终被缩减成了Scheme。

Scala

  Scala语言由Martin Odersky于2001年创建,它身兼函数与面向对象两种特性。它在编写时充分考虑到了将开发成果编译为Java字节码的需求(在此之前,它也能够被编译为.NET代码)。

  Scala这一名称的确定基于两个不同理由:第一,由于结合了可扩展LAN、因此它具备很好的扩展(scale)能力;第二,“scala”在意大利语中代表着楼梯或者阶梯,这为该语言赋予了美好的双重含义——帮助使用者通往目标的卓越编程语言。

Scratch

  Scratch是一款教学性编程语言,由麻省理工学院媒体实验室于2003年开发完成。孩子们可以利用它将屏幕上的各个积木状模块(被称为sprite,即精灵)连接起来,并借此完成程序创建。在它的帮助下,年轻的开发者们能够创造出属于自己的故事、电影、游戏、音乐以及一切曾经出现在他们梦中的事物。

  这款语言的名称来自嘻哈电台主持人通过旋转并刮擦(scratch)塑胶唱片来创造全新音效与音乐作品的表演方式。

AWK

  任何一位曾经与Unix系统打过交道的朋友肯定也对AWK相当熟悉,这是一种用于处理文本文件的解释型语言。它最初诞生于1977年,当时被作为Unix grep工具的通用版本使用,随后于1979年首次成为Unix版本7中的内置方案。

  在开发Perl时,Larry Wall受到了来自AWK的诸多影响。与其它大部分编程语言的名称一样,AWK同样是个缩写词;但与常见情况不同的是,这一缩写代表的并非语言本身的作用、而是来自贝尔实验室的三位开发者的姓氏首字母:Alfred Aho、Peter Weingerber以及Brian Kernighan(上图)。


Groovy(精妙,亦有时髦之意)

  时间转回2003年,当时Java程序员James Strachan希望能用上一款像Python或者Ruby那样的脚本化语言——但却要能够运行在Java平台之上。这可怎么办?

  答案是自己动手。他设计出的这款新语言能够将开发成果动态编译为Java字节码,用他自己的话说,这是一款“站在全部精妙(groovy)Java代码的肩膀上而被创造出来的语言”。接下来的工作就简单了,没费什么脑子、Groovy这个名称已然被敲定。

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

高级编程语言的发展历程(机器语言、汇编语言、高级语言)

目录   高级编程语言的发展历程(一)创始纪   高级编程语言的发展历程(二)虚拟机的前世今生   高级编程语言的发展历程(三)FORTRAN 语言是怎么来的   高级编程语言的发展历程(四)...
  • u012701023
  • u012701023
  • 2015-05-31 17:52
  • 2582

Tensorflow基本介绍

本文转自:TensorFlow 官方文档中文版 基本使用 使用 TensorFlow, 你必须明白 TensorFlow: 使用图 (graph) 来表示计算任务.在被称之为 会话 ...
  • u010385646
  • u010385646
  • 2016-09-02 10:05
  • 5633

算法描述与性能优化的解耦——Halide语言 (1)

解耦工作的难度一定程度上取决于要解耦的两个概念是否能够清晰的区分开来。算法描述和性能优化的解耦是不容易的,因为一般说来这两个概念不易区分。但在图像处理这样的领域里,计算具有典型的模式(数据在pipel...
  • xiaolizi399
  • xiaolizi399
  • 2015-01-03 10:15
  • 1958

介绍嵌入微软办公软件EXCEL中的编程语言

  • 2011-11-23 21:27
  • 68KB
  • 下载

计算机编程语言介绍(整理)

  • 2013-05-27 17:46
  • 65KB
  • 下载

军用Ada编程语言介绍

  • 2011-04-10 16:46
  • 469KB
  • 下载

黑马程序员_Java编程语言中创建和使用日期的详细介绍

------- android培训、java培训、期待与您交流! ---------- java统计从1970年1月1日起的毫秒的数量表示日期。也就是说,例如,1970年1月2日,是在1月1日后的8...
  • redouba
  • redouba
  • 2013-06-29 16:56
  • 639

PHP编程语言介绍及安装测试方法

 PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于...
  • u011862178
  • u011862178
  • 2014-08-08 12:41
  • 575

面向对象编程语言概要介绍

一、面向过程语言 过程设计语言,如C语言,Fortran语言等,用这些语言编程也称为面向过程编程。 语言把代码组成叫做过程或函数的块,每个块的目标是完成某个任务。 二...
  • u011468424
  • u011468424
  • 2016-01-31 13:34
  • 456

【编程语言-Java】ThreadPoolExecutor介绍与实例

Java 5 开始,Java 提供了自己的线程池。线程池就是一个线程的容器,每次只执行额定数量的线程。 java.util.concurrent.ThreadPoolExecutor 就是这样的线程池...
  • NiubilityMan
  • NiubilityMan
  • 2015-05-30 21:49
  • 269
    个人资料
    • 访问:7704次
    • 积分:1049
    • 等级:
    • 排名:千里之外
    • 原创:89篇
    • 转载:18篇
    • 译文:0篇
    • 评论:0条
    文章分类