作者:Sylvain Saurel,译者:夏夜
这是一个计算机世界的编程时光之旅
对很多人来说,每当学习一门新的编程语言,写下的第一行代码可能都是“Hello,World!“。因此,”Hello,World!” 已经成为一段经典程序。
在职业生涯中,所有程序员都至少完成过一段“Hello,World!” 程序。在成长中,程序员通常会使用多种编程语言,大部分程序员甚至实现过十几种”Hello,World!”版本。
甚至还出现了一种衡量标准,叫做 TTHW,用于评估程序员用新的编程语言实现一段“Hello, World!”程序并成功运行所花费的时间 。
但现在,如果我问你,你可以用多少种不同的编程语言编写“Hello,World!”,你会给出怎样的回答?为帮你回忆起来,我会向你展示怎样用 50 种不同的编程语言编写“Hello,World!”程序。这样,也能让你看到计算机编程语言多年的历史演进。
1. 汇编语言 – 1949 年
汇编语言创建于 1949 年,本文中,我会向你展示一段经典的汇编程序,这是为 Intel 8080 平台的 8 位处理器编写的,这款处理器于 1974 年 4 月下旬发布。
1 2 3 4 5 6 7 8 | <span style="color: #000000;">bdos equ 0005H ; BDOS entry point start: mvi c,</span><span style="color: #800080;">9</span> ; BDOS function: output <span style="color: #0000ff;">string</span><span style="color: #000000;"> lxi d,msg$ ; address of msg call bdos ret ; </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> to CCP msg$: db </span><span style="color: #800000;">'</span><span style="color: #800000;">Hello, world!$</span><span style="color: #800000;">'</span><span style="color: #000000;"> end start</span><code><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"> </span> |
2. Fortran – 1957 年
Fortran 编程语言是 Formula Translation 的衍生版本。它是一种可编译的通用命令式编程语言,特别适用于数值和科学计算。Fortran 语言创建于 1957 年,以下是使用该语言第一个版本编写的“Hello, World!”程序:
1 2 3 4 | <span style="color: #000000;">PROGRAM Hello WRITE (</span>*,*) <span style="color: #800000;">'</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">'</span><span style="color: #000000;"> STOP END</span> |
在 Fortran 90 或者 95 版本中,“Hello, World!”程序可以写为如下这样:
1 2 3 | <span style="color: #000000;">PROGRAM Hello WRITE (</span>*,*) <span style="color: #800000;">'</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">'</span><span style="color: #000000;"> END PROGRAM Hello</span> |
3. Lisp – 1958 年
Lisp 是最古老的编程语言家族,它既是命令式语言,又是函数式语言。Lisp 最初创建于 1958 年,当时是作为展示程序的实用模型发布的。在 20 世纪 70 年代和 80 年代,Lisp 家族成为人工智能领域非常受欢迎的语言。
以下是用 Lisp 编写的“Hello, World!”程序:
1 | (write-line <span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span>) |
4. Cobol – 1959 年
Cobol 正式创建于 1959 年,所以 Cobol 编程语言在 2019 年刚刚度过它的 60 周年纪念日。Cobol 是 COmmon Business Oriented Language 的缩写,人们发明它是希望将其作为业务编程应用的通用语言。2019 年,Cobol 在银行业和保险业中仍然应用广泛。
以下是用 Cobol 编写的“Hello, World!”程序:
1 2 3 4 5 | <span style="color: #000000;">IDENTIFICATION DIVISION. PROGRAM</span>-ID. HELLO-<span style="color: #000000;">WORLD. PROCEDURE DIVISION. DISPLAY </span><span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span><span style="color: #000000;"> STOP RUN.</span> |
5. BASIC – 1964 年
BASIC 是 Beginner’s All-purpose Symbolic Instruction 的缩写,它是一种高级编程语言,这种语言的主要目标是容易使用,正如以下“Hello, World!”程序所证实的这样:
1 2 | PRINT <span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span><span style="color: #000000;"> END</span> |
6. Logo – 1968 年
Logo 语言很像 Lisp 语言,但比 Lisp 更容易使用,这正是 Logo 被发明出来的原因,正如人们通常所认为的那样,Logo 是“没有圆括号的 Lisp 语言”。
1 | print [Hello World !] |
7. B – 1969 年
B 语言发明于 1969 年,这种语言现在已经被废弃,但它曾扮演了一个重要角色,它极大地促进了 C 语言的诞生,而现在 C 语言正被广泛使用着。
1 2 3 4 5 | <span style="color: #000000;">main () { putstr (</span><span style="color: #800000;">"</span><span style="color: #800000;">Hello world!*n</span><span style="color: #800000;">"</span><span style="color: #000000;">); </span><span style="color: #0000ff;">return</span>(<span style="color: #800080;">0</span><span style="color: #000000;">); }</span> |
8. Pascal – 1970 年
Pascal 是一种命令式编程语言,创建于 1970 年。它是为教学而设计的,其特点是语法清晰、严谨,有助于生成良好的程序结构。
1 2 3 | <span style="color: #000000;">begin writeln (</span><span style="color: #800000;">'</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">'</span><span style="color: #000000;">) end.</span> |
Turbo Pascal 创建于 1983 年,它是为 Pascal 编程语言打造的集成开发环境。Turbo Pascal 在 20 世纪 80 年代和 90 年代取得巨大成功。
以下是 Turbo Pascal 中的“Hello, World!”程序:
1 2 3 4 5 | <span style="color: #000000;">program HelloWorld (output); begin writeln (</span><span style="color: #800000;">'</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">'</span><span style="color: #000000;">); readln; end.</span> |
9. Forth – 1970 年
Forth 是一种基于命令式堆栈的计算机编程语言,由 Charles H. Moore 在 20 世纪 60 年代创建,但是,它的第一个主要版本是在 1970 年发布的。这门语言在 1994 年被 ANSI 标准化,并且在 1997 年被 ISO 采用。为这门语言送上美好的祝福吧,2014 年它甚至迎来了一个新版本,也就是 Forth 2012。
以下是 Forth 1970 版本的“Hello, World!”程序:
1 2 | : HELLO ( -- ) .<span style="color: #800000;">"</span><span style="color: #800000;"> Hello, World!</span><span style="color: #800000;">"</span><span style="color: #000000;"> CR ; HELLO</span> |
10. C – 1972 年
贝尔实验室的 Dennis Ritchie 和 Ken Thompson 在 1972 年开发 UNIX 时发明了 C 编程语言。Ken Thompson 之前已经发明了 B 语言。Dennis Ritchie 受到了 B 语言的启发,决定发明一种新的语言,即 C 语言,在其中引入了类型概念。
1 2 3 4 5 6 | #include <stdio.h> <span style="color: #0000ff;">int</span> main (<span style="color: #0000ff;">void</span><span style="color: #000000;">) { printf (</span><span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!\n</span><span style="color: #800000;">"</span><span style="color: #000000;">); </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">0</span><span style="color: #000000;">; }</span> |
1 |
11. Smalltalk – 1972 年
Smalltalk 是一种面向对象的,具有反身性和动态类型的编程语言,发明于 1972 年,当时主要是受到 Lisp 语言的启发。Smalltalk 是最早一批具有集成开发环境的编程语言之一。
1 | Transcript show: <span style="color: #800000;">'</span><span style="color: #800000;">Hello, world!</span><span style="color: #800000;">'</span>; cr. |
12. Prolog – 1972 年
Prolog 是一种与人工智能和计算语言学相关的逻辑编程语言。Prolog 创建于 1972 年。
1 | :- write (<span style="color: #800000;">'</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">'</span>),nl. |
13. ML – 1973 年
ML 是 Meta Language 的缩写,它是基于 Lisp 的函数式编程语言。ML 通常被认为是带有类型的 Lisp 语言。
1 | print <span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!\n</span><span style="color: #800000;">"</span>; |
14. Scheme – 1975 年
Scheme 创建于 1975 年,它是一种支持函数式和命令式的多范式编程语言。它是 Lisp 语言的 3 大变种之一,另外两个变种 Common Lisp 和 Clojure 的诞生要晚得多。
1 | (display <span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span>) (newline) |
15. SQL – 1978 年
SQL 是 Structured Query Language 的缩写,它是操作关系型数据库的标准化计算机语言。尽管它不是用来创建简单的“Hello, World!”程序的,但是,照下面这样创建一个 SQL 程序却是非常有趣。
1 2 3 4 | CREATE TABLE message (text <span style="color: #0000ff;">char</span>(<span style="color: #800080;">15</span><span style="color: #000000;">)); INSERT INTO message (text) VALUES (</span><span style="color: #800000;">'</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">'</span><span style="color: #000000;">); SELECT text FROM message; DROP TABLE message;</span> |
16. C++ – 1980 年
C++ 最初由 Bjarne Stroustrup 创建于 1980 年,和 C 语言同名,但是包含了 class(类)这个概念。C++ 语言正式命名为 C++ 是在 1983 年。
这门编程语言现在被 ISO 标准化了,在工业界以及其他领域被广泛使用。
1 2 3 4 5 6 7 | #include <iostream> <span style="color: #0000ff;">using</span> <span style="color: #0000ff;">namespace</span><span style="color: #000000;"> std; </span><span style="color: #0000ff;">int</span><span style="color: #000000;"> main () { cout </span><< <span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span> <<<span style="color: #000000;"> endl; </span><span style="color: #0000ff;">return</span> <span style="color: #800080;">0</span><span style="color: #000000;">; }</span> |
Ada 是一种面向对象的编程语言,从 20 世纪 80 年代早期开始开发,并于 1983 年发布正式版本,即 Ada 1983。“Ada”这个名字用来纪念 Ada Lovelace,她被认为很大可能是历史上第一位女性计算机科学家。
Ada 通常用于实时系统和嵌入式系统,这些系统要求高度的可靠性和安全性。
1 2 3 4 5 | <span style="color: #000000;">with Ada.Text_IO; procedure Hello </span><span style="color: #0000ff;">is</span><span style="color: #000000;"> begin Ada.Text_IO.Put_Line (</span><span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span><span style="color: #000000;">); end Hello;</span> |
18. Common Lisp – 1984 年
Common Lisp 通常简写为 CL,是由 ANSI 标准化了的 Lisp 语言规范。
1 | (princ <span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span>) |
19. MATLAB – 1984 年
MATLAB 是“Matrix Laboratory”的缩写,它是一种脚本语言,用于数值计算。MATLAB 在同名的开发环境中编写。
1 | disp (<span style="color: #800000;">'</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">'</span>) |
20. Eiffel – 1985 年
Eiffel 是一种围绕一种设计方法而设计的面向对象编程语言。Eiffel 基于当今非常流行的概念,如契约编程或重用等。
1 2 3 4 5 6 7 8 9 10 | <span style="color: #0000ff;">class</span><span style="color: #000000;"> HELLO_WORLD create make feature make </span><span style="color: #0000ff;">do</span><span style="color: #000000;"> print (</span><span style="color: #800000;">"</span><span style="color: #800000;">Hello, world!%N</span><span style="color: #800000;">"</span><span style="color: #000000;">) end end</span> |
21. Objective-C – 1986 年
Objective-C 是一种反身式的面向对象编程语言。它是 C 编程语言的扩展,就像 C++ 一样,但是和 C++ 又不一样,特别是在动态消息分发或者动态加载方面与 C++ 很不一样。
当今,它主要用于苹果操作系统:macOS 及其衍生的 iOS 系统中。
1 2 3 4 5 6 7 | #import <Foundation/Foundation.h> <span style="color: #0000ff;">int</span><span style="color: #000000;"> main () { @autoreleasepool { NSLog (</span><span style="color: #800000;">@"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span><span style="color: #000000;">); } }</span><code><span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px;"> </span> |
22. Erlang – 1986 年
Erlang 这种编程语言支持多种范式:并发、实时和分布式。它独具特色的层是基于参与者(actor)模型的,具有容错和热代码更新功能,允许开发具有极高可用性的应用程序。
1 | io:format (<span style="color: #800000;">"</span><span style="color: #800000;">Hello world!~n</span><span style="color: #800000;">"</span>). |
23. Perl – 1987 年
Perl 编程语言由 Larry Wall 创建于 1987 年,是为更容易地处理基于文本的信息而创建的。Perl 是一种解释性语言,它受到了 C 语言的控制结构和打印结构的启发,同时也受到了 shell 脚本语言的启发。
1 | print <span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!\n</span><span style="color: #800000;">"</span>; |
24. Caml – 1987 年
Caml 是 Categorical Abstract Machine Language 的缩写,它是一种面向程序安全性和可靠性的通用编程语言。Caml 支持函数式、命令式和面向对象的编程风格。它也是一种非常独特的语言。
1 | print_string <span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!\n</span><span style="color: #800000;">"</span>;; |
25. Tcl – 1988 年
Tcl 是 Tool Command Language 的缩写,它是一种脚本语言,由 John Ousterhout 在 1988 年开发出来的。这种动态类型语言是跨平台的、可扩展的、易于学习的,并且基于 12 条语法规则。Tcl 很容易与 C 编程语言交互。
在 1990 年,John Ousterhout 开发出了 Tcl 的一个扩展,叫做 Tk,它是一个用于创建可移植图形接口的代码库。现在,当我们谈起 Tcl 时,我们更多地是在谈论 Tcl/Tk 这个组合。
1 | puts <span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span> |
26. Haskell – 1990 年
Haskell 是一种函数式的编程语言,它基于 lambda 计算和组合逻辑。
1 | main = putStrLn <span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span> |
27. Python – 1991 年
Python 是一种解释性编程语言,具有多范式、多平台的特点。Python 支持结构化、函数式和面向对象的命令式编程。
这些年来, Python 变得非常流行,甚至在 2019 年成为最受欢迎的语言之一。
以下是用 Python 3.0 或更高版本编写的“Hello, World!”程序:
1 | print (<span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span>) |
28. Visual Basic – 1991 年
Visual Basic,简称为 VB,它是第三代事件编程语言,也是微软创建的集成开发环境,用于其 COM 编程模型。
1 2 3 | <span style="color: #000000;">Public Sub Main () Debug.Print </span><span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span><span style="color: #000000;"> End Sub</span> |
29. Lua – 1993 年
Lua 创建于 1993 年,它是一种反身式、命令式脚本语言,用于嵌入在其他应用程序中来扩展这些应用程序的功能。
1 | print (<span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span>) |
30. Ruby – 1995 年
由于对 Smalltalk 和 Lisp 的开发经历感到失望,Yukihiro Matsumoto 于 1993 年开始用 Emacs 设计 Ruby 语言。
他在 1995 年发布了该语言的第一个版本。Ruby 是一种解释性的、面向对象的多范式语言。
1 | puts <span style="color: #800000;">'</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">'</span> |
31. Java – 1995 年
Java 是 James Gosling 在 1995 年创建的一种面向对象的编程语言,它至今仍然是工业界最受欢迎和使用最多的语言。
你能够使用 Java 做任何事情,从客户端到 Web 应用无所不包;而且 Google 选择 Java,用在 Android 操作系统上作为开发应用程序的语言,这又进一步扩展了 Java 能力。
1 2 3 4 5 | <span style="color: #0000ff;">class</span><span style="color: #000000;"> HelloWorld { </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> main (String[] args) { System.</span><span style="color: #0000ff;">out</span>.println (<span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span><span style="color: #000000;">); } }</span> |
32. JavaScript – 1995 年
JavaScript 是一种脚本语言,主要用于 Web 开发,但现在可以用于服务端,比如 Node.js。JavaScript 是面向原型的编程语言,这种语言里的函数是第一类对象。
1 | document.write (<span style="color: #800000;">'</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">'</span>); |
33. PHP – 1995 年
1995 年绝对是编程语言非常重要的一年,因为在 Java 和 JavaScript 之后,PHP 也在这一年被发明出来。PHP 主要用于 Web,它是一种面向对象的命令式语言,能够像其他任何解释性语言一样在本地运行。
1 | <? echo <span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span> ?> |
34. Rebol – 1997 年
Rebol 是一种高级脚本编程语言,建立在指代语义的基础上,自称为“消息传递语言”。以下是用 Rebol 编写的“Hello, World!”程序:
1 | print <span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span> |
35. ActionScript – 1998 年
ActionScript 这种编程语言,可用于客户端应用程序(例如 Adobe Flash 和 Adobe Flex)和服务器(Flash 媒体服务器,JRun 和 Macromedia Generator)。ActionScript 现在作为一种脚本语言,用于 Unity 图形引擎之中。
1 2 3 4 5 6 7 | <span style="color: #000000;">package { </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> HelloWorld { </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> function HelloWorld () { trace (</span><span style="color: #800000;">"</span><span style="color: #800000;">Hello World !</span><span style="color: #800000;">"</span><span style="color: #000000;">); } } }</span> |
36. D – 1999 年
D 是一种命令式、面向对象的多范式编程语言,用于系统编程。D 的发明受到许多语言的启发,包括 C++、Java 和 Eiffel。尽管 D 语言有很多优点,但是它从未获得其发明者所期望的成功。
1 2 3 4 5 | <span style="color: #000000;">import std.stdio; </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> main () { writefln (</span><span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span><span style="color: #000000;">); }</span> |
37. C# – 2000 年
C# 是微软于 2000 年与 Sun 就 Java 语言发生争执后创建的。C# 是一种面向对象的编程语言,用于 Microsoft.Net 平台上的开发工作。该语言派生自 C++ 和 Java,使用了它们的一些通用语法和其他许多概念。
C# 也可以用于开发 ASP.Net 平台上的 Web 应用程序。
1 2 3 4 5 6 7 | <span style="color: #0000ff;">using</span><span style="color: #000000;"> System; </span><span style="color: #0000ff;">internal</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> HelloWorld { </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> Main () { Console.WriteLine (</span><span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span><span style="color: #000000;">); } }</span> |
38. Groovy – 2003 年
Groovy 是一种面向对象的编程语言,运行在 Java 平台上。Groovy 是这个平台的 Java 语言的替代品,受到了 Python 、 Ruby 或者是 Smalltalk 语言的启发。
1 | println <span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span> |
39. Scala – 2003 年
Scala 是一种多范式编程语言,被设计用于简洁优雅地表示通用编程模型。Scala 采用静态类型,集成了面向对象和函数式编程范式。
1 2 3 | <span style="color: #0000ff;">object</span><span style="color: #000000;"> HelloWorld extends App { println (</span><span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span><span style="color: #000000;">) }</span> |
40. F# – 2005
F# 是一种函数式、命令式和面向对象的编程语言,由微软为其 .NET 平台而开发。F# 从 OCaml 编程语言衍生而来,而且与 OCaml 具有高度兼容性。这两种编程语言与 ML 语言属于同一种语系。
1 | printfn <span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span> |
41. Windows PowerShell – 2006 年
Windows PowersShell 是由微软开发的一套软件,它包含了命令行接口、一种称作 PowerShell 的脚本语言和一个开发包。从 Window 7 开始,PowerShell 就作为微软操作系统的标配。
1 | echo <span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span> |
42. Clojure – 2007 年
Clojure 是一种可编译的、跨平台的函数式编程语言,用于创建安全的和易分布式运行的程序。Clojure 是 Lisp 语言的 3 大变种之一。Clojure 可转换为 Java 字节码、JavaScript 代码和 .NET 字节码。因此,Clojure 可以在 JVM、CLR、浏览器和 Node.js 上使用。
1 | (println <span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span>) |
43. Go – 2009 年
Go 是一种可编译的、并发式编程语言,受到了 C 和 Pascal 语言的启发而发明的。这种语言是由谷歌开发的,它是从 Robert Griesemer、Rob Pike 和 Ken Thompson 最初提出的概念发展而来的。这位 Ken Thompson 正是在 1969 年创造了 B 语言的那位 Ken Thompson!
1 2 3 4 5 6 7 | <span style="color: #000000;">package main import </span><span style="color: #800000;">"</span><span style="color: #800000;">fmt</span><span style="color: #800000;">"</span><span style="color: #000000;"> func main () { fmt.Println (</span><span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span><span style="color: #000000;">) }</span> |
44. Rust – 2010
Rust 是由 Mozilla 开发的一种多范式、可编译的编程语言。Rust 被设计成为“安全的、并发的、实用的语言”,同时在某些方面支持纯函数式编程风格、参与者模型、过程式编程以及面向对象编程。Rust 通常被描述为 C++ 的潜在继承者之一。
1 2 3 | <span style="color: #000000;">fn main () { println (</span><span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span><span style="color: #000000;">); }</span> |
45. Dart – 2011 年
Dart 是谷歌开发的一种 Web 编程语言。它最初的目的是要替换 JavaScript。目前,Dart 还没有达到它的目标,开发人员更喜欢将 Dart 转换成与现代所有浏览器兼容的 JavaScript 代码,Dart 还可以用于服务端编程。
Dart 是 Flutter 用于开发移动应用程序的语言。
1 2 3 | <span style="color: #000000;">main () { print (</span><span style="color: #800000;">'</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">'</span><span style="color: #000000;">); }</span> |
46. Kotlin – 2011 年
Kotlin 是一种面向对象的、函数式编程语言,它具有静态类型,允许针对 Java 虚拟机、JavaScript 和本地的多种平台进行编译(多亏了 LLVM)。2017 年,谷歌继 Java 之后,把 Kotlin 作为 Android 官方支持的第二种编程语言。
1 2 3 | fun main (args: Array<String><span style="color: #000000;">) { println (</span><span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span><span style="color: #000000;">) }</span> |
47. Ceylon – 2011 年
Ceylon 是由红帽(Red Hat)创建出来的,它是一种高级开源编程语言,具有强类型和静态类型。它的语法和 Java 的很像。它能编译为 Java 字节码或者 JavaScript。
1 2 3 | <span style="color: #0000ff;">void</span><span style="color: #000000;"> hello () { print (</span><span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span><span style="color: #000000;">); }</span> |
48. TypeScript – 2012 年
TypeScript 是由微软开发的免费开源的编程语言,旨在提升 JavaScript 代码的开发效率,保证 JavaScript 代码的安全性。TypeScript 语言是 JavaScript 的一个超集,它被转换成 JavaScript,这样任何 Web 浏览器或 JavaScript 引擎都可以解释它。
1 | console.log (<span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span>); |
49. Julia – 2012 年
Julia 是一种高级的、强大的和动态的编程语言,用于科学计算,熟悉其他开发环境(如 MATLAB、R 或者 Python)的用户应该很了解 Julia 的语法。
1 | println (<span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span>) |
50. Swift – 2014 年
Swift 是一种可编译的、多范式的对象编程语言,其设计目标是简单、高性能和安全。它是由苹果公司开发的开源项目,这使得它与 Objective-C 一起成为了开发移动 iOS 应用程序的解决方案。
1 | print (<span style="color: #800000;">"</span><span style="color: #800000;">Hello, World!</span><span style="color: #800000;">"</span>) |
总结
这次在计算机编程语言世界里进行的跨度达 70 年的时光旅行,向你介绍了用 50 种不同语言编写的“Hello, World!”程序。
以上编程语言清单只占到人们发明的所有编程语言的一小部分,我邀请你在评论区分享你最喜欢的语言所编写的“Hello, World!”程序,但请不要和上面清单上的语言重复哦。
原文链接:
https://medium.com/javarevisited/70-years-of-hello-world-with-50-programming-languages-2400de893a97