作者 | Sylvain Saurel

译者 | 风车云马,责编 | 屠敏

50 种不合编程措辞的Hello World你知若干 休闲娱乐

以下为译文:

我们学习一门编程措辞时,都是从“Hello, World!”开始。
所有程序员在其职业生涯中,都至少打仗过一个经典的“Hello, World!” 程序。
常日程序员会利用多种编程措辞,多的乃至实现了十几种。

还有一种称为TTHW(Time to “Hello, World!”)的方法,来衡量程序员创建一个新的“Hello, World!”程序的韶光。

你可以用多少种不同的措辞编写一个“Hello, World!”程序,你的答案是什么?

让我们在打算机编程的天下里回顾一翻。
我会向你展示50种不同编程措辞编写的“Hello, World!”程序。
同时让你看到打算机编程措辞随韶光的演化。

1. 汇编措辞- 1949

汇编措辞创建于1949年。
下面我先容一种经典的汇编措辞,适用于Intel 8080 8位处理器,该处理器后来在1974年4月正式推出。

bdos equ 0005H ; BDOS entry pointstart: mvi c,9 ; BDOS function: output stringlxi d,msg$ ; address of msgcall bdosret ; return to CCPmsg$: db 'Hello, world!$'end start

2. Fortran - 1957

Fortran编程措辞是Formula Translation的派生。
它是一种汇编命令式程序设计措辞,特殊适宜于数值打算和科学打算。
Fortran措辞创建于1957年,用这种措辞写的“Hello, World!”:

PROGRAM HelloWRITE (,) 'Hello, World!'STOPEND

在Fortran 90或95版本中,程序“Hello, World!”可以这样写:

PROGRAM HelloWRITE (,) 'Hello, World!'END PROGRAM Hello

3.Lisp - 1958

Lisp是最古老的命令式和函数式编程措辞。
它最初创建于1958年,在20世纪70年代和80年代,Lisp终极成为人工智能天下中非常盛行的措辞。

(write-line \公众Hello, World!\"大众)

4. Cobol - 1959

Cobol编程措辞于1959年正式创建,2019年刚刚60周年。
Cobol是COmmon Business Oriented Language的缩写,它原来是一种用于编写业务运用程序的公共措辞。
到2019年,Cobol仍旧广泛运用于银行和保险领域。

IDENTIFICATION DIVISION.PROGRAM-ID. HELLO-WORLD.PROCEDURE DIVISION.DISPLAY \"大众Hello, World!\"大众STOP RUN.

5. BASIC - 1964

BASIC是Beginner’s All-purpose Symbolic Instruction Code的首字母缩写,它是一种高等编程措辞,其紧张特点是易用性。

PRINT \"大众Hello, World!\"大众END

6. Logo - 1968

Logo是为了更随意马虎利用Lisp措辞,常常被称为“Lisp without brackets”。
详细来说,Logo是一种面向工具的编程措辞。

print [Hello World !]

7. B - 1969

创建于1969年的B措辞现在已经由时了,但它仍旧扮演着重要的角色,由于它引发了C措辞的灵感,而C措辞至今仍被广泛利用。

main{putstr(\公众Hello world!n\公众);return(0);}

8. Pascal - 1970

Pascal是创建于1970年的命令式编程措辞。
它是为传授教化目的而设计的,其特点是语法清晰、严谨,有助于良好的程序构造。

beginwriteln('Hello, World!')end.

Turbo Pascal创建于1983年,是Pascal编程措辞的集成开拓环境。
它在20世纪80年代和90年代取得了巨大的成功。

program HelloWorld(output);beginwriteln('Hello, World!');readln;end.

9. Forth - 1970

Forth是一种基于命令式的打算机编程措辞,由Charles H. Moore于20世纪60年代发明,其第一个版本于1970年发布。
它在1994年被ANSI标准化,并在1997年被ISO采取。

: HELLO ( -- ) .\"大众 Hello, World!\"大众 CR ;HELLO

10. C - 1972

C措辞是1972年在贝尔实验室发明的,当时丹尼斯·里奇(Dennis Ritchie)和肯·汤普森(Ken Thompson)正在开拓UNIX。
Ken Thompson之前开拓了B措辞。
Dennis Ritchie决定从B措辞中得到灵感,通过添加类型来创建C措辞。

#include <stdio.h>intmain(void) {printf(\公众Hello, World!\n\公众);return 0;}

11. Smalltalk - 1972

特殊是受到Lisp措辞的启示,Smalltalk是一种面向工具、自反性和动态类型的编程措辞,发明于1972年。
Smalltalk是最早拥有集成开拓环境的编程措辞之一。

Transcript show: 'Hello, world!'; cr.

12. Prolog - 1972

Prolog是一种与人工智能和打算措辞学干系的逻辑编程措辞。
Prolog创建于1972年。

:- write('Hello, World!'),nl.

13. ML - 1973

ML是一种基于Lisp的函数式编程措辞。

print \"大众Hello, World!\n\"大众;

14. Scheme - 1975

Scheme创建于1975年,是一种支持函数式和命令式编程的多范式编程措辞。
这是基于Lisp的三大措辞之一,另两种是Common Lisp和最近创建的Clojure。

(display \"大众Hello, World!\"大众) (newline)

15. SQL - 1978

SQL(Structured Query Language)构造化查询措辞,是一种用于操作关系数据库的标准化打算机措辞。
它也可以设计“Hello, World!”。

CREATE TABLE message (text char(15));INSERT INTO message (text) VALUES ('Hello, World!');SELECT text FROM message;DROP TABLE message;

16. C++ - 1980

最初在1980年由Bjarne Stroustrup以C和类的名义创建,后来在1983年以c++措辞命名。
c++编程措辞现在已被ISO标准化,并广泛运用于工业和其他领域。

#include <iostream>using namespace std;intmain {cout << \"大众Hello, World!\"大众 << endl;return 0;}

17. Ada - 1983

Ada是一种面向工具的编程措辞,于1980年初开拓,1983年正式发布。
“Ada”这个名字是为了纪念Ada Lovelace,她是有史以来第一位女打算机科学家。

Ada常日用于高可靠性和安全性的实时和嵌入式系统。

with Ada.Text_IO;procedure Hello isbeginAda.Text_IO.Put_Line (\公众Hello, World!\公众);end Hello;

18. Common Lisp - 1984

Common Lisp,常日缩写为CL,是由ANSI标准化的Lisp措辞规范。

(princ \"大众Hello, World!\公众)

19. MATLAB - 1984

MATLAB,用于“矩阵实验室”,是一种用于数值打算的脚本措辞。
MATLAB的开拓环境也叫这个名字。

disp('Hello, World!')

20. Eiffel - 1985

Eiffel是一种面向工具的编程措辞。
Eiffel基于当今非常盛行的观点,如左券编程或重用。

classHELLO_WORLDcreatemakefeaturemakedoprint (\"大众Hello, world!%N\公众)endend

21. Objective-C - 1986

Objective-C是一种自反的面向工具编程措辞。
它是C编程措辞的扩展,与c++类似,但在动态分发或动态加载方面与c++有很大的不同。

如今,它紧张用于苹果的操作系统:macOS及其iOS衍生产品。

#import <Foundation/Foundation.h>int main {@autoreleasepool {NSLog(@\"大众Hello, World!\"大众);}}

22. Erlang - 1986

Erlang编程措辞支持几种范例:并发、实时、分布式。
它基于actor模型,具有容错和热更新功能,能够开拓高可用性运用程序。

io:format(\"大众Hello world!~n\"大众).

23. Perl - 1987

Perl是Larry Wall在1987年创建的一种编程措辞,用于轻松地处理基于文本的信息。
Perl是一种阐明措辞,它受到C措辞的掌握和打印构造的启示,也受到shell脚本措辞的启示。

print \"大众Hello, World!\n\"大众;

24. Caml - 1987

Caml是Categorical Abstract Machine Language的缩写,是一种面向程序安全性和可靠性的通用编程措辞。
Caml支持函数式、命令式和面向工具的编程风格。
它也是一种非常独特的措辞。

print_string \"大众Hello, World!\n\公众;;

25. Tcl - 1988

Tcl是工具命令措辞,是John Ousterhout在1988年开拓的一种脚本措辞。
这种动态类型措辞是跨平台的、可扩展的、易于学习的,并且基于12条语法规则。
Tcl很随意马虎与C编程措辞进行交互。

1990年,John Ousterhout为Tcl开拓了一个名为Tk的扩展,这是一个用于创建可移植图形界面的库。
因此,本日提到Tcl时,更多的是指Tcl/Tk的组合。

puts \"大众Hello, World!\"大众

26. Haskell - 1990

Haskell是一种基于lambda打算和组合逻辑的函数式编程措辞。

main = putStrLn \"大众Hello, World!\公众

27. Python - 1991

Python是一种阐明性编程措辞,具有多范式、多平台的特点。
Python支持构造化、函数式和面向工具的命令式编程。
这些年来,Python变得非常盛行,乃至在2019年景为最受欢迎的措辞之一。

Python 3.0或更高版本中的“Hello, World!”:

print(\"大众Hello, World!\公众)

28. Visual Basic - 1991

Visual Basic,简称VB,是第三代事宜编程措辞,是微软为其COM编程模型创建的集成开拓环境。

Public Sub MainDebug.Print \"大众Hello, World!\"大众End Sub

29. Lua - 1993

Lua创建于1993年,是一种自反的命令式脚本措辞,用于嵌入其他运用程序以扩展功能。

print(\"大众Hello, World!\"大众)

30. Ruby - 1995

Matsumoto Yukihiro由于对自己的Smalltalk和Lisp开拓经历感到失落望,于1993年开始在Emacs下设计Ruby措辞。
他在1995年发布了初版。
Ruby是阐明型的、面向工具的、多范式的编程措辞。

puts 'Hello, World!'

31. Java - 1995

Java是James Gosling在1995年创建的一种面向工具的编程措辞,至今仍是业界最盛行和利用最多的措辞。
Java许可完成客户机到web运用程序的所有事情,而谷歌将其作为Android移动操作系统上开拓运用程序的措辞,进一步扩展了它的功能。

class HelloWorld {public static void main(String[] args) {System.out.println(\"大众Hello, World!\"大众);}}

32. JavaScript - 1995

JavaScript是一种脚本编程措辞,紧张用于Web,但现在可以在做事器端利用Node.js等。
JavaScript是一种面向原型的编程措辞。

document.write('Hello, World!');

33. PHP - 1995

就编程措辞而言,1995年无疑是极其主要的一年,由于在Java和JavaScript之后,PHP也在这一年出身。
PHP紧张用于Web,是一种面向工具的命令式措辞,可以像其他阐明措辞一样在本地事情。

<? echo \"大众Hello, World!\公众 ?>

34. Rebol - 1997

Rebol是一种高等脚本编程措辞,它建立在denotational语义的根本上,自称为“通报措辞”。
这是一个“Hello, World!”:

print \公众Hello, World!\"大众

35. ActionScript — 1998

ActionScript是一种用于客户端运用程序(如Adobe Flash和Adobe Flex)和做事器(Flash media server、JRun、Macromedia Generator)的编程措辞。
ActionScript在Unity graphics中用作脚本措辞。

package {public class HelloWorld {public functionHelloWorld {trace(\公众Hello World !\公众);}}}

36. D - 1999

D是一种命令式的面向工具和多范式的编程措辞。
D的灵感来自许多措辞,包括c++、Java和Eiffel。
只管D有很多优点,但它还未取得创造者所期望的那样成功。

import std.stdio;void main {writefln(\"大众Hello, World!\公众);}

37. C# - 2000

c#是微软在2000年与Sun就Java措辞发生争执后创建的。
c#是一种面向工具的编程措辞,用于在Microsoft上开拓。
该措辞派生于c++和Java,利用它们的一样平常语法和一些观点。
c#也可以用于开拓ASP上的web运用程序。

using System;internal static class HelloWorld {private static void Main {Console.WriteLine(\公众Hello, World!\"大众);}}

38. Groovy - 2003

Groovy是一种运行在Java平台上的面向工具编程措辞。
Groovy是Java措辞的替代品,它的灵感来自Python、Ruby或Smalltalk。

println \公众Hello, World!\公众

39. Scala - 2003

Scala是一种多范式编程措辞,旨在以简洁优雅的形式表达常见的编程模型。
Scala通过静态类型集成了面向工具和函数式编程的范例。

object HelloWorld extends App {println(\"大众Hello, World!\"大众)}

40. F# - 2005

f#是一种函数式、命令式和面向工具的编程措辞,由Microsoft开拓。
f#源自与之高度兼容的OCaml编程措辞。
这两种编程措辞与ML措辞属于同一语系。

printfn \公众Hello, World!\"大众

41. Windows PowerShell - 2006

Windows PowerShell是微软开拓的一套软件,包括一个命令行界面、一种称为PowerShell的脚本措辞和一个开拓工具包。
从Windows 7开始PowerShell作为标准措辞。

echo \公众Hello, World!\"大众

42. Clojure - 2007

Clojure是一种经由编译的跨平台函数式编程措辞,旨在创建安全且易于分发的程序。
Clojure是基于Lisp的三大措辞之一。
Clojure可以转换为Java代码、JavaScript代码和. net代码。
因此,Clojure可以在JVM、CLR、浏览器和Node.js上利用。

(println \公众Hello, World!\公众)

43. Go - 2009

Go是一种经由编译的并发式编程措辞,灵感来自C和Pascal。
这种措辞是由谷歌从Robert Griesemer、Rob Pike和Ken Thompson(他在1969年创造了B措辞)最初提出的观点发展而来的。

package mainimport \"大众fmt\"大众funcmain{fmt.Println(\"大众Hello, World!\公众)}

44. Rust - 2010

Rust是由Mozilla设计和开拓的多范型编译的编程措辞。
Rust是“一种安全、并发、实用的措辞”,同时支持纯函数式编程风格、actor模型、过程式编程以及面向工具编程。
Rust常被称为c++的潜在继续者之一。

fn main {println(\公众Hello, World!\"大众);}

45. Dart - 2011

Dart是一种由谷歌开拓的web编程措辞。
它最初的目的是取代JavaScript。
目前,Dart还没有达到它的目标,开拓职员的紧张任务是将Dart转换成与所有当代浏览器兼容的JavaScript代码。
Dart也可以用于做事器端编程。

Dart是Flutter用于开拓移动运用程序的措辞。

main {print('Hello, World!');}

46. Kotlin — 2011

Kotlin是一种面向工具的函数式编程措辞,具有静态类型,许可在Java虚拟机、JavaScript和本地的多种平台进行编译。
2017年,谷歌使Kotlin成为继Java之后Android官方支持的第二种编程措辞。

fun main(args: Array<String>){println(\"大众Hello, World!\"大众)}

47. Ceylon - 2011

Ceylon由Red Hat创建,是一种高等开放源码编程措辞,具有强类型和静态类型。
它的语法与Java相似。
它可以编译为Java或JavaScript。

void hello {print(\"大众Hello, World!\"大众);}

48. TypeScript - 2012

TypeScript是一种免费的开源编程措辞,由微软开拓,旨在提高JavaScript代码的安全性。
TypeScript措辞是JavaScript的一个超集,它被转换成JavaScript,这样任何web浏览器或JavaScript引擎都可以运用。

console.log(\公众Hello, World!\"大众);

49. Julia - 2012

Julia是一种用于科学打算的高等、强大和动态编程措辞,其语法为其他类似开拓环境(如MATLAB、R或Python)的用户所熟习。

println(\"大众Hello, World!\"大众)

50. Swift - 2014

Swift是一种经由编译的、多范式的工具编程措辞,其设计目标是大略、高性能和安全。
它是由苹果公司开拓的开源软件,从而与Objective-C一起成为开拓移动iOS运用程序的办理方案。

print(\"大众Hello, World!\"大众)

结论

通过这次韶光旅行,用50种不同措辞编写了“Hello, World!”程序,向人们展示了70年来打算机编程措辞的变迁。

原文:https://medium.com/javarevisited/70-years-of-hello-world-with-50-programming-languages-2400de893a97

本文为 CSDN 翻译,转载请注明来源出处。

【End】