九款编程语言以及缔造它们的伟大女性
从大型机步入主流市场至今,女性这半边天已经为我们设计并开发出了大量出色、而且目前仍给软件开发领域带来深远影响的编程语言。
九款编程语言以及缔造它们的伟大女性
从第一印象来讲,软件开发工作似乎一直是个男性主导下的世界。但尽管如此,女性在过去几十年中,同样给编程技术带来重要且至今仍具有关键意义的贡献成果。作为其中的一大核心区划,编程语言的开发工作中亦不乏女性从业者们的身影。无数女性技术先驱者们早在大型机与机器码称雄的时代就开始设计并开发用于向计算机设备下达指令的语言,并在随后的汇编以及更高级别的现代语言时代下继续作出诸多贡献。在今天的文章中,我们将一同了解九款出于女性技术人员之手的编程语言、它们多年来所产生的重大影响以及其背后缔造者们的故事。
ARC汇编语言
缔造者: Kathleen Booth
年份: 1950年
背景故事:在早期计算机编程流程当中,我们必须以机器码方式直接编写程序,也就是说必须编写计算机能够解读并据此采取行动的一系列1与0组合。汇编语言的出现让程序员们得以通过助记符的形式来编写机器指令,而且由机器码向汇编码转化的趋势也让计算机编程变得更容易也更可靠。出现时间最早的汇编语言之一出自Kathleen Botth之手,她当时在英国的伯克贝克学院任教。该语言专门针对ARC(即自动继电器计算机)所开发,而后者的设计与构建工作同样有Booth的参与。
Address
缔造者: Kateryna Yushchenko
年份: 1955年
背景故事:欧洲地区诞生的第一款可编程计算机名为MESM,其由苏联于1950年所打造。负责其运作管理工作的科学家之一正是位于基辅的乌克兰科学院尤先科SSR数学研究所的Kateryna Yushchenko,她同时也是第一位被苏联授予物理与数学科学规划博士头衔的女性。由于在MESM上使用机器码进行编程的难度很高,因此Yushcenko和她的同事们认为有必要打造一套更为高级的编程语言来简化这方面的工作。1955年,Yushchenko创造出了Address编程语言,这是第一种支持间接寻址机制的语言、而且出现时间早于西方发达国家的诸多知名高级语言——例如COBOL。Address在随后的二十多年中一直被苏联所广泛使用。
COBOL
缔造者: Grace Hopper及其他来自数据系统语言记录会议的成员
年份: 1959年
背景故事:COBOL,全称为面向商业的通用语言,最初的诞生契机源自美国政府以及各大企业对于能够埃不同计算机设备之上、能够为非技术人员使用的数据处理编程语言的需求。该委员会负责着这一新型编程语言的开发,而Grace Hopper正是美国海军方面的关键性技术顾问之一。早在迈入这一行业头一个十年,Hopper就曾经在面对UNIVAC系统时创建出了第一款编译器——也就是A-O——以及一系列其它早期高级编程语言,例如ARITH-MATIC以及B-0、或者叫作FLOW-MATIC。诞生于1955年的FLOW-MATIC是一款采用英文关键词的商务应用程序开发语言。随后于1959年出现的COBOL最终继承了FLOW-MATIC中的大部分设计思路,并于次年推出了第一套正式版本——正是因为这一点,Hopper被业界尊为COBOL之母。
FORMAC
缔造者: Jean Sammet
年份: 1962年
背景故事: FORTRAN语言于上世纪五十年代由IBM公司开发而成,其主要面向数学计算以及科学计算任务。而在1961年,IBM公司雇用了数学家Jean Sammet。她此前曾经在在Sperry Gyroscope以及Sylvania负责科学编程类工作,并与Grace Hopper一同参与了COBOL语言的开发。1962年,Sammet在IBM公司开发出了编程语言FORMAC(即FORmula MAnipulation Compiler,公式操作编译器)。而作为其扩展成果之一,FORTRAN能够执行各类代数运算。FORMAC而后成为第一款被广泛用于进行符号型数学计算的编程语言。
Logo
缔造者: Cynthia Solomon协同Daniel G. Bobrow、Wally Feurzeig以及Seymour Papert
年份: 1967年
背景故事: 在上世纪六十年代末期,来自马萨诸塞州坎布里奇Bolt、Beranek以及Newman的研究小组成员们意识到有必要开发一套专门面向儿童的、大量采用单词与语句而非数字及符号的编程语言——这一设计思路与当时的各类主流编程语言有着明显的区别。其中一位研究人员正是Cynthia Solomon,她的计算机科学之旅始于在人工智能先驱机构麻省理工学院Marvin Minsky自学Lisp语言的经历。Solomon参与了这款名为Logo的全新语言的开发工作,并于上世纪六十年代末制定了向七年级学生教授其使用方法的指导细则。Logo语言最知名的象征性应用就是我们耳熟能详的小海龟机器人,用户可以对其发出指令以绘制各类几何图形。Solomon最终加入到麻省理工学院的人工智能实验室,随后还负责了苹果商标的创造工作。Logo影响了此后出现的多种教育性编程语言,例如SmallTalk以及Scratch。
CLU
缔造者: Barbara Liskov
年份: 1974年
背景故事: 面向对象型编程语言的一大革命性发展标志正是上世纪七十年代中期CLU语言的诞生。CLU的设计与开发由麻省理工学院的Barbara Liskov负责领导,而她也是美国历史上第一位获得计算机科学博士学位的女性。通过CLU语言,Liskov提出了诸多概念(或者说将其引入流行),其中包括抽象数据类型、迭代器以及并行作业等等。CLU本身并不属于面向对象语言,因为它某些关键性的面向对象特性,例如继承。CLU虽然从来没能得到广泛应用,但它却给其后的众多著名语言带来了巨大的影响,例如Java、Python以及C++,它们都或多或少地采纳了来自CLU的先驱性概念。
Smalltalk
缔造者: Adele Goldberg协同Alan Kay、Dan Ingalls、Ted Kaehler、Diana Merry、Scott Wallace、Peter Deutsch以及其他Xerox PARC成员
年份: 1980年
背景故事: 正如二十年前COBOL的诞生让编程真正走入寻常百姓家,SmallTalk的一大设计目标正是构建一种适用于任何一位用户——而不仅仅是计算机科学家——并允许他们借此开发应用程序的语言。SmallTalk由Xerox公司的帕洛阿尔托研究中心(简称PARC)在Alan Kay的指导下创建而成,她的设计灵感则来源于Simula、世界上第一款面向对象程序。1973年,Adele Goldberg加入到Kay在PARC的开发团队,并在SmallTalk及其各类先驱性概念——例如模式-视图-控制器(图形化用户界面背后的关键性概念)、所见即所得编辑器以及集成化开发环境——的构建过程中扮演着重要角色。1979年,Goldberg在一台PARC Alto计算机上向Steve Jobs及其手下程序员展示了SmallTalk演示素材及其GUI设计,而这直接启发了苹果旗下Macintosh桌面系统的诞生。SmallTalk最初于1980年首次以SmallTalk-80的名头公开亮相,并对随后出现的多种知名编程语言产生了深远影响,包括Java、Objective-C以及Python。
BBC BASIC
缔造者: Sophie Wilson
年份: 1981年
背景故事: BBC BASIC也许是在史以来惟一一种专门为电视节目所开发出的编程语言。1981年,BBC公司希望推动一套名为“计算机素养项目”的电视节目,用于指导普通百姓学会编程。不过BBC公司的技术顾问们认为现有的BASIC版本还不足以完成这一目标。为了解决这个问题,BBC方面专而向Acorn Computers公司寻求帮助,希望由后者打造一款名为BBC Micro的新型计算机,外加一款专门面向电视节目的新型BASIC版本。Sophie Wilson是一位计算机科学家,而且在大学阶段就曾经开发出了Acorn的第一款计算机,即8位Acorn Microcomputer。Wilson以不足16KB的小巧体积为BBC编写出了BASIC的新版本,其中包含有命名规程、函数以及IF-THEN-ELSE结构等功能特性。计算机素养项目与BBC Micro以及Wilson的BBC BASIC给观众带来了巨大的冲击,正是这些让英国的观众们第一次接触到计算机以及编程的广阔世界。而且这些成果随后还被移植到多种其它平台之上。
Coq
缔造者: Christine Paulin-Mohring协同Thierry Coquand、Gérard Huet、Bruno Barras、Jean-Christophe Filliâtre、Hugo Herbelin、Chet Murthy、Yves Bertot以及Pierre Castéran