Smalltalk的辉煌时代
Smalltalk和其创作人alan kay(2003年图领奖得主)都是IT界的一个**,值得后人了解和称赞。什么是Smalltalk,它取得了哪些成就呢?估计你在百度百科可以搜到,但是不够详细,不够丰满。
下面是一篇来自外国网友Richard Eng关于“what is smalltalk"的文章,他基本把smalltalk的历史和成就都介绍了,本文把其核心思想翻译如下:
smalltalk是一种面向对象的编程语言,它有着丰富的而**的历史。它出生于19世纪70年代,在施乐研究院(Xerox PARC),由才华横溢的梦想家团队(包括Alan Kay,Dan Ingalls和Adele Goldberg)创作。smalltalk是为了调研给孩子的编程教学而创作的。可以理解,它是一种非常小而简单的语言,是主要编程语言中最小的。
在Alan Kay的《Smalltalk的早期历史》(The Early History Of Smalltalk)(版权所有1993 ACM)中说:
Smalltalk是对计算机本身概念的一种递归,而不是把“计算机材料”分成比整体强度小的东西,比如数据结构、过程和函数,它们是编程语言的常用工具,每个Smalltalk对象都是对计算机全部可能性的递归。因此,它的语义有点像让成千上万的计算机通过一个非常快速的网络连接在一起。
Smalltalk的贡献是一种新的设计范式,我把它称之为面向对象,用于解决专业程序员的大问题和使初学者制造一个个小的可能性。面向对象是一种成功的尝试,提供了一个实质性的高效建模,使得硅爆炸所带来的复杂的动态系统和用户关系成为可能。
以下是一些smalltalk的最高成就:
- Smalltalk引入了语言虚拟机世界,这是Java和Ruby的基础。
- Smalltalk是JIT编译器的先驱(即时编译器)
- Smalltalk产生了第一个现代集成开发环境(IDE),包含了文本编辑器、类浏览,对象检查和调试。
- 自从smalltalk-80以来,它有着一流的函数和封装特性,奇怪的是,这使得smalltalk成为了非常好的函数编程。
- Smalltalk引入了软件架构模式MVC
- 在很大程度上,Smalltalk给了我们测试驱动开发(TDD)和极限编程(XP),这是现在非常流行的敏捷实践。
- Smalltalk给了我们第一个重构的浏览器
- Smalltalk在开发图形用户界面(GUI)和“所见即所得”(WYSIWYG)用户界面方面发挥了重要作用。
- 史蒂夫·乔布斯受到施乐PARC的GUI和WIMP(Windows、图标、菜单、指针)的启发,完全重新调整了苹果的策略;GUI是Smalltalk成果的直接输出。
Smalltalk曾经是一个非常流行的语言。
它于1981年8月在《字节》杂志的封面上首次亮相:
此后,Smalltalk直接促进了一代面向对象语言的产生,包括Objective-C,Erlang,CLOS,Ruby,Python,Perl,PHP,Dart,Java,Groovy和Scala。苹果公司甚至为Macintosh创建了一种smalltalk。
SimalTalk的普及率在20世纪90年代达到顶峰,当时它是继C++之后最流行的面向对象语言。根据IDC发布的1995年的一份报告显示,面向对象语言的市场份额为:
- C++ — 71.3%
- Smalltalk — 15.1%
- Objective-C — 5.7%
- Object Pascal — 4.2%
- CLOS — 2.5%
- Eiffel — 1.1%
- all others — 0.2%
Smalltalk非常适合商业用途,因此在20世纪90年代,IBM选择Smalltalk作为其VisualAge企业计划的中心,以取代COBOL。
In the early 2000s, the U.S. joint military used Smalltalk to write a million-line battle simulation program called JWARS. It actually outperformed a similar simulation called STORM written in C++ by the U.S. Air Force. That by itself was an astonishing testament to the capabilities of the language.
在21世纪初,美国联合军队使用Smalltalk编写了一个名为JWARS的百万线作战模拟程序。它实际上胜过美国空军编写的类似于C++的风暴模拟,这本身就是这门语言能力的惊人证明。
今天,Smalltalk依然被全球很多企业使用,其中较著名的用户包括:
- JP Morgan(摩根大通)
- Desjardins(加拿大合作组织,北美最大的信用合作组织)
- UBS(瑞银集团,欧洲最大的金融控股集团)
- Florida Power & Light(佛罗里达电力照明公司)
- Texas Instruments(德州仪器)
- Telecom Argentina(阿根廷电信)
- Orient Overseas Container Lines(东方海外货柜航运有限公司,香港集装箱货运)
- BMW(宝马)
- Siemens AG(西门子)
Cincom, Instantiations, and GemTalk Systems是目前Smalltalk的主要供应商.
Smalltalk是所有主要编程语言中生产力最高
根据Namcook分析研究,Smalltalk是所有主要编程语言中生产力最高的(按“经济生产力”衡量,提供1000个功能点所需的工作小时数评估)结果如下:
- C — 26,273
- Fortran — 22,394
- JavaScript — 15,929
- Forth — 14,636
- Haxe — 14,636
- Lisp — 14,636
- C++ — 12,697
- Go — 12,697
- Java — 12,697
- PHP — 12,697
- Python — 12,697
- C# — 12,309
- Dart — 11,620
- F# — 11,312
- Ruby — 11,312
- Erlang — 10,758
- Elixir — 9,845
- Haskell — 9,845
- Julia — 9,465
- Perl — 9,465
- Delphi — 8,289
- Objective-C — 7,848
- Visual Basic — 7,848
- Eiffel — 7,156
- Smalltalk — 6,879
原文:https://www.codeproject.com/Articles/1241904/Introduction-to-the-Smalltalk-Programming-Language
结论
Smalltalk是一项**,值得人们了解其思想精髓