既然有 C 语言,那么 A 语言和 B 语言别离是什么?

刚刚阅读1回复0
zaibaike
zaibaike
  • 管理员
  • 注册排名1
  • 经验值178260
  • 级别管理员
  • 主题35652
  • 回复0
楼主

我先科学普及呵呵我从头整理的许多开展史 (我漠视了许多计算机系统牌匾和词汇,全被Gendrey就叹为不雅行了):

1822 年,Charles Babbage 研造脉冲响应机(智能化微积分)。爱尔兰政府冠名。

1832 年,脉冲响应机只能顺利完成 1/7。

1837 年,Charles Babbage 研造出一个讲义本电脑, Mechanical computer (Analytical Engine), 不外仍是未顺利完成。

1842 年,Ada Lovelace 物理学家帮 Charles Babbage, 她的讲义被遍及承认为是第二个计算机系统流程。

1911 年,Marchant calculator 被贸易机构子公司研造。

1935-1938 年,瑞典人 Konrad Zuse 本身研造出 mechanical calculator Z1。

1936 年,苏俄合做开发出溪水积乘法表(Water Integrator), 可演算 non-homogeneous differential equations。

1940 年,Konrad Zuse 展览 Z2 。

1941 年,Konrad Zuse 展览法国政府冠名的电子电路的全功用计算机系统 Z3 。

1942 年,Konrad Zuse 已经起头研造 Z4。

1943 年,盟军冠名宾夕法尼亚理工大学项目组合做开发 ENIAC 计算机系统。Z1 被空袭。

1945 年,Z4 附近地域被敌兵空袭而裹足不前。1949 年才继续研造出。

1946 年,trackball 为的是雷达系统合做开发出。ENIAC 合做开发顺利完成。

1948 年,苏俄 20 人项目组合做开发 MESM 电子电路全功用讲义本电脑。1950 年合做开发顺利完成。

1949 年,Moniac 固体 Analog computer 被澳洲人 William Phillips 合做开发用来预测爱尔兰经济。爱尔兰原子兵器科学研究所 (AERE) 已经起头合做开发 Harwell computer。

1951 年,Harwell computer 合做开发顺利完成。1957 年从劳特尔存钱到赛事输家胡弗汉顿理工大学。改名为 WITCH。1973 年捐去布里斯托尔美术馆。 2012 年在爱尔兰国度计算机系统美术馆(TNMOC) 从头启动。

1953 年,IBM 的 John Backus 为的是 IBM 701 大型计算机系统合做开发了第二个高阶流程词汇 Speedcoding。之后John Backus 项目组为的是 IBM 704 已经起头合做开发 FORTRAN 词汇。

1954 年,日本问世电阻器计算机系统 FACOM 100。

1955 年,美国海军 Whirlwind Project 在 MIT 合做开发了可在萤幕素描的 Light Pen。MIT 研造 Tx-0 (Transistorized Experimental computer zero) 讲义本电脑。

1956 年,迪克子公司和卡内基梅隆理工大学合做开发出 Information Processing Language (IPL), 第二个 AI 流程词汇。

1957 年,耶鲁大学 Kenneth E. Iverson 已著手合做开发 APL 词汇(1962 年在 A Programming Language 那哥公开)。

1958 年,MIT John McCarthy 研造出 Lisp 词汇。John Backus 用 Backus–Naur form 帮忙法兰克福联邦政府理工大学合做开发出 ALGOL 词汇 (即 ALGOL 58)。

1959 年,Lisp 问世 GC (Garbage Collection) 概念。CODASYL 国联问世 COBOL (common business-oriented language) 词汇。Digital Equipment Corporation(DEC)如前所述 Tx-0 研造 PDP-1。

1960 年,在法国巴黎问世 ALGOL 60。

1962 年,DEC 问世 PDP-4。MIT 设想,DEC 和 Spear问世的首台Mini讲义本电脑 (12-bit) LINC (从头定名源于 MIT Lincoln Laboratory)。

1963 年,DEC 问世 (12-bit) PDP-5 和 (36-bit) PDP-6。MIT Lincoln TX-2 讲义本电脑的一个叫 Sketchpad 流程有 light pen 素描功用。 ESR 教育子公司问世 5 万美金的玩偶型讲义本电脑 Digi-Comp I。牛津和伦敦理工大学联袂如前所述 ALGOL 60 合做开发出 CPL (Combined Programming Language) 词汇。

1964 年,DEC 问世 PDP-7。General Electric, Bell Labs, MIT 联袂方案合做开发 Multics 系统。 IBM 合做开发了 PL/I 词汇 (Programming Language One)。乔治城大学 Kemeny & Kurtz 合做开发了 BASIC 词汇。

1965 年,DEC 问世热卖的民用 12-bit 讲义本电脑 PDP-8。

1966 年,如前所述 ALGOL 60 的 ALGOL W 词汇问世。

1967 年,牛津传授 Martin Richards 如前所述 CPL 合做开发出 BCPL (Basic Combined Programming Language) 词汇。

1968 年,德国 Telefunken 子公司合做开发了 ball-based mouse。Mouse 呈现在斯坦福研究所合做开发的 NLS 可点击超链接功用的系统。几所理工大学合做的如前所述 PL/I 的 XPL 词汇呈现,用来进修合做开发编译器。

1969 年,Multics 的几个研究员放弃 Multics 而专帮 Bell Labs 从头合做开发新的 OS 叫 UNIX。Ken Thompson 在 PDP-7 以汇编合做开发了 UNIX 系统(从头定名来源: Multics -> Unics -> Unix)。

1970 年,UNIX 1 从 PDP-7 移植到 PDP-11/20。Niklaus Wirth 如前所述 ALGOL W 合做开发出 Pascal 词汇。IBM 的 Edgar F. Codd 提出关系模子 (Relational model)。

1971 年,出书 Unix 手册, 已有 mail, cp, su 号令, 在 Thompson shell 施行。

1972 年,UNIX 2 在十台讲义本电脑安拆。 有了 echo 号令和 c 编译器。 Thompson 参考 BCPL 研造出 B 词汇, 不外用在 PDP-11 有问题。 Dennis Rithcie 按照 B+types 合做开发出新的 C 词汇。 Thompson 利用时失败了 3 次,Dennis 归去加上了 Structures 后才胜利。 UNIX 3 推广 C 词汇。 同年 UNIX 4 从汇编词汇大量改成 C 词汇。 Paul Allen 和 Bill Gates 成立 Traf-O-Data 子公司。

1973 年,Mouse 不再停留在只点击链接, Xerox PARC 问世了以 Mouse+GUI 为次要界面的 Xerox Alto 讲义本电脑。Digital Research 的 Gary Kildall 帮 Intel 研造 PL/M (Programming Language for Microcomputers)词汇。

1974 年, UNIX 5 大量发出教育 license。有了 dd, find 号令。32-bit OS/32 系统的 Interdata 7/32 问世。

1975 年,两个 Berkeley 研究生 Bill Joy 和 Chuck Haley 接触了 Ken Thompson 所带来的 UNIX 6 和 Pascal, 且改良了编纂器,称为 ex 。Unix Users Group 协会成立。Bill Gates 和 Paul Allen 看到 Altair 报导, 就联络 Altair。 在 PDP-10 30 天内顺利完成 Altair BASIC 翻译器。Allen 下机前才顺利完成 bootstrap 流程。同年 "Micro-Soft" 成立,其如前所述 CP/M 系统(OS 如前所述 PL/M 词汇) 的 Altair 8800 讲义本电脑问世。

1976 年,Steve Jobs 问世 Steve Wozniak 一手设想的 Apple 1 讲义本电脑, 用 BASIC 编译。Bell labs 的 Stephen Bourne 已经起头合做开发 Bourne Shell (sh)。

1977 年,Bill Joy 编译了和 UNIX 类似的 BSD 系统。贸易化的 Unix 6 有了 ratfor 和 bc 词汇。Unix Users Group 协会因 "UNIX" 商标问题改名为 USENIX。Commodore 国际问世 Commodore BASIC 系统的 Commodore PET 讲义本电脑。 DEC 问世流行的 32-bit 讲义本电脑 VAX-11/780。 UNIX 移植在 Interdata 7/32 和 Interdata 8/32。1977 至 1983 年, Jean Ichbiah 带队替美国国防部(DoD) 设想 Ada 词汇, 以取代该部成百的词汇。 Larry J. Ellison 拜读了 1970 IBM Codd 的论文后, 和 Ampex 前上司 Robert Nimrod "Bob" Miner 等人成立软体合做开发尝试室 (Software Development Laboratories, SDL)。

1978 年,苹果方案 Apple Lisa (有 GUI 的)讲义本电脑。 UNIX 7 把 Thompson shell 换成了 Bourne Shell, 有了 sed 和 awk 号令。 Bell Labs 卖 UNIX 7 license 给 Microsoft。Dennis Ritchie 和 Brian Kernighan (两人简称 K&R) 出书了出名的 "The C Programming Language" 第一版。Bill Joy 问世了如前所述 UNIX 6 的 1BSD。

1979 年,UNIX 移植在 DEC VAX, 成为 UNIX/32V。Bill Joy 蒲月问世 2BSD, 有了 vi 和 C shell。UNIX/32V 东西+2BSD 东西+虚拟内存(大改)内核的 3BSD 在年尾问世。 消费 CP/M 硬件的 Novell 子公司成立。 Bjarne Stroustrup 合做开发 “C with Classes” 词汇。Mike Lesk 在 1978 写的 UUCP (Unix-to-Unix Copy) 流程随 UNIX 7 发布。北卡罗来纳理工大学研究生 Steve Bellovin 出席杜克理工大学研究生 Jim Ellis 和 Tom Truscott 的合做开发类似 ARPANET 的邮件列表(mailing lists) 以供给没参与 DARPA (国防高阶研究方案局) 项目标理工大学会议, 他先以 Bourne Shell 词汇写了 Netnews 流程,能操纵 UUCP 流程通过调造解调器让两个讲义本电脑交换文件, 较后才以 C 词汇重写。 Larry J. Ellison 改 SDL 子公司名为 Relational Software, Inc. (RSI) , 问世在 PDP-11运行的 Oracle V2 (心理学, 没有人喜好当小白鼠掏钱买 V1), 乃是首个民用关系数据库办理系统 (relational-database management system, RDBMS), 首个客户是 CIA (IBM 还没筹办卖, 所以才找到那家做着类似工具的子公司, 负责找的 Dave Roberts 刚好是 Miner 前上司, Oracle 是 CIA 项目标 codename)。

1980 年,Microsoft 问世 UNIX 7 license 的 Xenix 系统, 卖给 IBM/Intel/Tandy/Siemens (Siemens 改 Xenix 成 SINIX) 等 OEMs 子公司。爱尔兰问世 Sinclair BASIC 系统的 Sinclair ZX80 讲义本电脑。Commodore VIC-20 问世。欧洲核子研究组织(CERN) 的 Tim Berners-Lee 写了超文本 ( hypertext) 流程 ENQUIRE。 UUCP 协议的 Usenet 新闻网公开。

1981 年,Bill Gates 在 COMDEX 博览会挖掘了IBM 讲义本电脑的 GUI 。Sinclair ZX 81 问世。IBM 姗姗来迟 (比 Oracle 迟了, 固然 1970 论文是 IBM 写的) 问世 SQL/DS (Structured Query Language/Data System), 它的首个 RDBMS。

1982 年,大杂烩(PWB/UNIX 2.0, CB UNIX 3.0, UNIX/TS 3.0.1, UNIX/32V 混在一路) UNIX System III 系统问世。Sinclair ZX Spectrum 问世。鉴于次要产物 Oracle 名气大, RSI 子公司第二次改名成 Oracle Systems Corporation。 Sun Microsystems 子公司成立, Bill Joy 很快就参加。 Sun 同年卖出 Sun-1 工做站, 乃是兴办人之一 Andy Bechtolsheim 在斯坦福理工大学 DARPA 冠名下设想的 CPU board, 系统是 UniSoft 移殖 Unix 7 的 UniPlus V7 到 Motorola 68000 微处置器的 SunOS。

1983 年,出名的民用 UNIX System V ( SysV) 系统问世。MIT 的 Richard Stallman 开展了 GNU Project,专门合做开发免费 license 的 UNIX-like(很像 UNIX 但又不是 UNIX,GNU 也是 GNUs Not Unix 的缩写) 东西。Apple Lisa 发布。4.2 BSD 问世。SunOS 曾一度交融 SysV 和 4.2 BSD。Anders Hejlsberg 在 Borland 幂下合做开发 Turbo Pascal 和 Delphi 两个IDE (之后在微软带队合做开发了 .Net, C#, TypeScript)。Novell 合做开发收集系统 NetWare。"C with Classes" 重从头定名为 C++。因为 CIA 和 Navy Intelligence (海军谍报)都要求移植在 VAX, Navy 还要撑持 Unix, 以 C 词汇重写成 Oracle v3。

1984 年,Sinclair QDOS 系统的 Sinclair QL 问世。Linus Torvalds 也用过 QL, 还写了本身的汇编器和编纂器。他 11 岁就接触日本问世的 Commodore VIC-20 讲义本电脑了 。

1985 年,卡内基·梅隆理工大学的人,如前所述 4.2BSD 合做开发了 Mach 系统微内核。Steve Jobs 的 NeXTSTEP 就是如前所述 Mach 系统内核, 多年后成为的是 Mac OS。 IBM 和 Microsoft 已经起头合做开发 OS/2。第一版 "The C++ Programming Language" 书发行。

1986 年,4.3BSD 问世, 其 TCP/IP stack 影响力甚大。

1987 年,一个理工大学传授合做开发了 MINIX OS 便利给学生进修。OS/2 合做开发出了。AT&T (Bell labs 母子公司)和 Sun 交融三巨头系统 BSD + SysV + Xenix, 称为 System V Release 4 (SVR4)。然后改名为 Solaris 2。

1988 年,K&R 改版 ANSI 尺度的 "The C Programming Language" 书出书。Steve Jobs 1985 年成立的 NeXT Inc. 问世 NeXT Computer 工做站讲义本电脑。

1989 年,为的是移除 AT&T license,BSD 问世 BSD license 的 Networking Release 1 (Net/1) 系统。

1990 年,GNU 要合做开发自家的 GNU Hurd 系统内核(也是参考 Mach)取代 UNIX。

1991 年,几乎砍掉所有 AT&T 东西的 Net/2 发行。几个月后,芬兰理工大学生 Linus Torvalds 不爽 MINIX 教育-only license ,在 MINIX 平台写了 Linux 系统内核, 8月26日在新闻组(Usenet newsgroup )正式(7月3日是第一次提,不外目标是求人供给 POSIX 尺度文件)分享, Linux 系统大量安拆了 GNU 的东西,所以 Richard Stallman 对峙人们称号 Linux 系统为 GNU/Linux 比力公允。跟着 GNU GPL license 的 Linux 问世后, GNU Hurd 内核酿成合做开发裹足不前。Berners-Lee 1989 年起草,连系超文本 ( hypertext) + 传输控造协议(TCP) + 域名系統(DNS) 的概念构成 World Wide Web (WWW), 第二个万维网网站 http://info.cern.ch

由欧洲核子研究组织(CERN)的 NeXT 主机在8月6日上线。

1992 年,Berkeley Software Design (BSDi) 敢敢拿 Net/2 当成 BSD/386 来卖钱后,被 AT&T 控诉。

1993 年,Novell 从 AT&T 买下了 Unix System Laboratories 分部。继承者 FreeBSD, NetBSD 在讼事期间已相续拔剑而出。美国国度超等讲义本电脑应用中心(NCSA)为 NCSA HTTPd web 办事器合做开发 CGI 尺度。

1994 年,BSD 和 Novell 息争后已失去开源合做开发者的自信心, 与 Linux 合作已无可能。Solaris 2.4 发行。世界上更好的词汇末于刷存在感了, Rasmus Lerdorf 以 C 词集合做开发 Personal Home Page Tools (PHP Tools) 的一套 CGI 二进造东西。

1995 年,Berkeley 理工大学最初一个版本 4.4BSD-Lite Release 2 发行。 Oracle Systems Corporation 改名改上瘾, 第三次改名成现今的 Oracle Corporation。Amazon.com 卖出第一本书 “Fluid Concepts and Creative Analogies”。

1996 年, OpenBSD 问世。 Sun 发布 Java 1.0。 Compaq 内部文件提出 “Cloud Computing”。 史丹佛理工大学生 Larry Page 参与 Stanford Digital Library Project (SDLP) 项目。 他觉得 WWW 就是庞大的链接图像, 所以筹算打造反向链接 (Backlink) PageRank 算法的搜刮引擎 BackRub 以代替当今流行的关键字搜刮次数算法, 随后 Sergey Brin 参加一路以 Java 和 Python 词集合做开发。 爬虫在3月从 Larry Page 的史丹佛主页已经起头爬。 他们也参考李彦宏的 “link analysis”, 即 IDD Information Services 的 Randex 的 anchor text 且在 2001 的 patent 文件

提及 (点击 1998 年的下载只能看见 2001)。

1997 年, BackRub 改名成 Google。

1998 年,Andi Gutmans 和 Zeev Suraski 与做者合做, 问世 PHP 3.0, 递归缩写从头定名为 PHP: Hypertext Preprocessor ,也代替了 PHP/FI 2.0 气概的从头定名。 史丹佛理工大学博士生 Larry Page 和 Sergey Brin 岁首年月和数人发布了 PageRank 算法论文。 接着两人成立 Google 子公司, 首轮四个次要投资人包罗 Sun 兴办人之一 Andy Bechtolsheim 和 Amazon 兴办人 Jeff Bezos。

2000 年, Ericsson 在新加坡发布第一部蓝牙手机 Ericsson T36。 微软发布 .NET Framework 1.0 Beta 1。

2002 年, 微软发布 .NET Framework 1.0 Service Pack 1。

2004 年, DragonFly BSD 问世。

2006 年, Amazon 问世 Amazon Web Services (AWS) 平台。 3 月问世 Amazon S3 (Amazon Simple Storage Service), 8月公测 EC2 (Amazon Elastic Compute Cloud)。

2009 年,NetWare v6.5 最初一版。

2010 年, Oracle 收买 Sun。

C 词汇源自 B, B 源自 BCPL,可 B 的从头定名就连 Dennis Ritchie 本人都不懂准确谜底(看下文, 他实的不懂同事在想什么!工做也没聊过那个话题 !? C 词汇之父不懂, 知乎上的大神能懂吗 ?)... 所以不存在 A 词汇, 就算存在也是在 Ken Thompson 的脑子里未曾公开。知乎大神也请别随意脑补 Algol,若是 Algol 是 A 词汇,那么 CPL 就是 B 词汇,BCPL 就是 C 词汇, B 就是 D 词汇了, 把 CPL 和 BCPL 间接抹去那不大好意思吧 ? 要说脑补实的没完没了,好比 "A"T&T 合做开发的 Multics 工具就是 A 词汇, "B"ell labs 合做开发的就是 B 词汇, 亦或 Ken Thompson 女神是 "A"da Lovelace 。开展史文献并没有 A 词汇的说法。当然你能够说 APL 是 A programming language 的缩写,但现实上是 APL 词汇, 而不是 A 词汇;即使是也不是你想像的那种 A-B-C 曲属关系。

The Development of the C Language*:

Challenged by McIlroys feat in reproducing TMG, Thompson decided that Unix—possibly it had not even been named yet—needed a system programming language. After a rapidly scuttled attempt at Fortran, he created instead a language of his own, which he called B. B can be thought of as C without types; more accurately, it is BCPL squeezed into 8K bytes of memory and filtered through Thompsons brain. Its name most probably represents a contraction of BCPL, though an alternate theory holds that it derives from Bon [Thompson 69], an unrelated language created by Thompson during the Multics days. Bon in turn was named either after his wife Bonnie, or (according to an encyclopedia quotation in its manual), after a religion whose rituals involve the murmuring of magic formulas.

小我觉得比力合理的是 BCPL 和 Bonnie 的堆叠字就是 B。 当然我也只是脑补 :p

不外别忘了 Ken Thompson 用人名从头定名产物的习惯有迹可循,好比第一代 Unix shell

从头定名为 Thompson Shell。

所以 Ken Thompson 就是一贯闷骚流程员性格,把喜好的人名内置在产物, 如 Steve Jobs 从头定名 Lisa 讲义本电脑没两样。口虽不说,但产物名仍是很诚笃的。

【更新】

KEN, UNIX, AND GAMES

:

Once we had moved to the PDP-11, and Unix was beginning to achieve some visibility

, Ken continued various game-related activities. Some were just simple text interactions, like a Blackjack opponent, or a rewriting of the "Hunt-the-Wumpus" game. Many of these were written for his son Cory, then at just the age to play with them. Some were not games as such, but recreational demos: he wrote an interpreter for the Snobol language, and illustrated it with a program that solved the Instant Insanity puzzle.

当我看到那篇文章(其实我是先看的维基)提到 Ken Thompson 儿子叫 Cory 我就震惊了, Ken Thompson 在 2019 年 5 月被 Brian Kernighan 的访谈

提到他写 Unix 的时候孩子才一岁。 既然刚出生的儿子叫 ‘C’ory (有些文章写成 Corey), Dennis 应该也是才坚决选的 C, C after B 反而是巧合。

The Development of the C Language*

:

This paper is about the development of the C programming language, the influences on it, and the conditions under which it was created. For the sake of brevity

, I omit full descriptions of C itself, its parent B [Johnson 73] and its grandparent BCPL [Richards 79], and instead concentrate on characteristic elements of each language and how they evolved.

所以呢,B 词汇是 C 词汇的 "parent", Bonnie 是 Cory 的妈妈, 那比 C after B 的烂理由有意义得多了。

0
回帖 返回休闲娱乐

既然有 C 语言,那么 A 语言和 B 语言别离是什么? 期待您的回复!

取消