当我们学习一门新的语言时,“Hello, World!“通常是我们所写的第一个程序。

因此,所有程序员在职业生涯中至少完成了“Hello, World!“程序员在职业生涯中通常使用一种以上的编程语言,他们中的大多数甚至至少已经实现了十几种。

甚至有一个名为TTHW的指标来衡量一个程序员接触一门新的编程语言时,成功写出“Hello, World!“并运行所需要的时间。

然而,如果今天我问你,你可以写多少种不同的编程语言,你写一个"Hello word”

为了帮助你,刷新你的记忆力,我建议在计算机编程世界中走一段短暂的穿越时间的旅程。为此,我将向您展示"你好,世界!这将允许您了解计算机编程语言随时间的演变。

1. 汇编语言(Assembly Language) - 1949

汇编语言诞生于1949年。本文我向你展示的是适用于Intel 8080的8位处理器的,发布于1974年4月的汇编语言经典代码。

  1. bdos equ 0005H ; BDOS entry point
  2. start: mvi c,9 ; BDOS function: output string
  3. lxi d,msg$ ; address of msg
  4. call bdos
  5. ret ; return to CCP
  6. msg$: db 'Hello, world!$'
  7. end start

2. Fortran - 1957

Fortran是Formula Translation的衍生物,这是一种通用的交互式编程语言,特别适合于数值和科学计算。Fortran创建于1957年,下面是它的第一个“Hello, World!”程序:

  1. PROGRAM Hello
  2. WRITE (*,*) 'Hello, World!'
  3. STOP
  4. END

Fortran 90 或 95的写法有所不同:

  1. PROGRAM Hello
  2. WRITE (*,*) 'Hello, World!'
  3. END PROGRAM Hello

3. Lisp - 1958

Lisp是最古老的编程语言系列,它既是交互式的又是函数式的。1958年,Lisp作为一种实用的演示程序模型被创建出来,但是直到1970和1980年代,Lisp才成为人工智能世界中非常流行的语言。

下面是Lisp的“Hello, World!”程序:

  1. (write-line "Hello, World!")

4. Cobol - 1959

Cobol语言于1959年正式创立,并且在2019年刚刚庆祝过创立60周年。Cobol表示面向通用业务的语言(COmmon Business Oriented Language),目标是成为编程业务应用程序的通用语言。在2019年,Cobol仍被广泛应用于银行和保险的相关系统中。

下面是Cobol的“Hello, World!”程序:

  1. IDENTIFICATION DIVISION.
  2. PROGRAM-ID. HELLO-WORLD.
  3. PROCEDURE DIVISION.
  4. DISPLAY "Hello, World!"
  5. STOP RUN.

5. BASIC - 1964

BASIC是Beginner’s All-purpose Symbolic Instruction Code(初学者通用符号说明代码)的缩写。它是一门高级编程语言,其主要目标在于易用。它的“Hello, World!”程序如下:

  1. PRINT "Hello, World!"
  2. END

6. Logo - 1968

Logo旨在成为易用的Lisp,通常被称为“Lisp without brackets”,Logs并不是面向对象编程语言,但它可以帮助你入门计算机编程。

  1. print [Hello World !]

7. B - 1969

B语言创建于1969年,它现在已经过时了,但它的计算机编程语言的发展史上发挥着重要的作用。因为正是B语言启发了现在广泛应用的C语言。

  1. main()
  2. {
  3. putstr("Hello world!*n");
  4. return(0);
  5. }

是不是语法层面就非常像C语言了。

8. Pascal - 1970

Pascal是一种交互式编程语言,它创建于1970年。它被设计出来主要出于教学目的,因为这个语言的特点是清晰,且严格的语法有助于良好的程序结构。

  1. begin
  2. writeln('Hello, World!')
  3. end.

Turbo Pascal是Pascal语言的集成开发环境,在1983年被创建,并在1980年代和1990年代取得了巨大的成功。

Turbo Pascal的“Hello, World!“程序如下:

  1. program HelloWorld(output);
  2. begin
  3. writeln('Hello, World!');
  4. readln;
  5. end.

9. Forth - 1970

Forth是一门基于栈的交互式编程语言,由Charles H. Moore在1960年代发明。但它的第一个大版本是在1970年发布的。它于1994年被ANSI标准化,并于1997年被ISO采纳。2014年的Forth2012为语言的发展又焕发了生机。

下面是1970年版本Forth语言的“Hello, World!” 程序:

  1. : HELLO ( -- ) ." Hello, World!" CR ;
  2. HELLO

10. C - 1972

1972年的贝尔实验室中,Dennis Ritchie和Ken Thompson两位大佬为了开发UNIX发明了C语言。Ken Thompson曾开发过B语言,Dennis Ritchie决定通过对B语言添加类型来创造C语言。所以说B语言为C语言提供了灵感。

  1. #include <stdio.h>
  2. int main(void) {
  3. printf("Hello, World!\n");
  4. return 0;
  5. }

11. Smalltalk - 1972

Smalltalk受到Lisp的启发,它是一门面向对象的,动态类型的编程语言,它被发明于1972年。Smalltalk是最早具有集成开发环境的编程语言之一。

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

12. Prolog - 1972

Prolog是与人工智能和计算语言学相关的逻辑编程语言,被创建于1972年。

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

13. ML - 1973

ML是Meta Language的简称,是一种以Lisp为基础的函数型编程语言。ML通常以Lisp为特征,具有类型。

  1. print "Hello, World!\n";

14. Scheme - 1975

Scheme创建于1975年,是一种多范式编程语言,支持函数式和交互式编程。它是Lisp三种重要的变种之一,由Common Lisp和Clojure共同开发。

  1. (display "Hello, World!") (newline)

15. SQL - 1978

SQL即结构化查询语言,是用于操作关系数据库的标准计算机编程语言。虽然在设计时不能创建简单的“Hello, World!“程序,但我想写出来应该是一个有趣的程序,如果你想学习SQL,这里有一些推荐课程。

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

16. C++ - 1980

C++是由Bjarne Stroustrup在1980年创建,他为C语言增加了类,在1983年得名C++。现在C++已经通过了ISO标准化,并广泛应用于工业和其他领域。如果你想要学习C++,这里有一些推荐课程。

  1. #include <iostream>
  2. using namespace std;
  3. int main() {
  4. cout << "Hello, World!" << endl;
  5. return 0;
  6. }

17. Ada - 1983

Ada是一种面向对象编程语言,其开发始于1980年初,并在1983年完成发布。之所以叫做Ada是为了纪念Ada Lovelace,这可能是历史上第一位女性计算机科学家。

Ada通常用于需要很高可靠性和安全性的实时系统和嵌入式系统中。

  1. with Ada.Text_IO;
  2. procedure Hello is
  3. begin
  4. Ada.Text_IO.Put_Line ("Hello, World!");
  5. end Hello;

18. Common Lisp - 1984

Common Lisp,通常缩写为CL,是ANSI标准化的Lisp语言规范。

  1. (princ "Hello, World!")

19. MATLAB - 1984

MATLAB是一种用于数值计算的脚本语言,被用于“Matrix Laboratory”。MATLAB是由同名的开发环境模拟的。

  1. disp('Hello, World!')

20. Eiffel - 1985

Eiffel是一种围绕设计方法设计的面向对象编程语言,它具有当下非常流行的概念,例如“按约定编程”或复用。

  1. class
  2. HELLO_WORLD
  3. create
  4. make
  5. feature
  6. make
  7. do
  8. print ("Hello, world!%N")
  9. end
  10. end

21. Objective-C - 1986

Objective-C是一种面向对象编程语言,它像C++一样,是C语言的扩展,而与C++的区别在于它的动态消息分发或动态加载。

现在,它主要用于Apple操作系统:macOS以及iOS的衍生品。

  1. #import <Foundation/Foundation.h>
  2. int main() {
  3. @autoreleasepool {
  4. NSLog(@"Hello, World!");
  5. }
  6. }

22. Erlang - 1986

Erlang是一种支持多种范式的编程语言:并发、实时、分布式。它基于Actor Model,具有容错能力以及代码热更新能力,所以Erlang开发的应用可用性通常很高。

  1. io:format("Hello world!~n").

23. Perl - 1987

Perl是由Larry Wall在1987年创建的编程语言,它可以轻松处理基于文本的消息。Perl是一种解释型语言,它受C语言的控制和打印结构以及shell脚本的启发。

  1. print "Hello, World!\n";

24. Caml - 1987

Caml代表Categorical Abstract Machine Language(分类抽象机器语言),是一种通用的编程语言,旨在提高程序的安全性和可靠性。Caml是一种致力于函数式、交互式和面向对象风格,这也是一种非常独特的语言。

  1. print_string "Hello, World!\n";;

25. Tcl - 1988

Tool Command Language(工具命令行语言),是John Ousterhout在1988年开发的一种脚本语言。它是一种动态类型语言,具有跨平台、可扩展、易学习等特点。并且可以轻松和C语言进行交互。

在1990年, John Ousterhout又开发了Tcl的扩展——Tk,这是一个可移植的用于创建图形界面的库。我们今天所讨论的Tcl,多数情况是指Tcl和Tk的组合。

  1. puts "Hello, World!"
  1. Haskell - 1990

    Haskell是一种基于lambda计算和组合逻辑的函数式编程语言。
  1. main = putStrLn "Hello, World!"

27. Python - 1991

相信大家对Python都比较熟悉,即使没有过,基本上也都听说过。它是一门解释型语言,可以跨平台。Python支持结构体,函数和面向对象的交互式编程。随着AI的发展,近几年Python的热度也是持续上涨。

如果你想学Python,可以参考这份课程推荐。

下面是Python3.0以后版本“Hello, World“程序的写法。

  1. print("Hello, World!")

1

28. Visual Basic - 1991

Visual Basic,通常简称为VB,是第三代事件编程语言。微软也为其创建了集成开发环境。

  1. Public Sub Main()
  2. Debug.Print "Hello, World!"
  3. End Sub

29. Lua - 1993

Lua创建于1993年,是交互式编程语言。它专注于嵌入其他应用程序以对其进行扩展。

译者注:我们之前介绍过Lua在Redis中的应用,不知道你是否还记得。

  1. print("Hello, World!")

30. Ruby - 1995

由于对Smalltalk和Lisp的开发感到沮丧,Yukihiro Matsumoto从1993年起开始在Emacs上设计Ruby语言,并于1995年发布了第一版。Ruby是解释型、面向对象、多范式的编程语言。如果你感兴趣,可以看一下这些课程。

  1. puts 'Hello, World!'

31. Java - 1995

Java是James Gosling(我们常说的高司令)在1995年时创建的一门面向对象编程语言,到目前为止,Java仍然是业界最流行、使用最广泛的语言。使用Java可以开发从客户端到服务端到各种应用,Google选择Java作为Android开发语言这件事使得Java得到了更进一步的发展。想要学习Java的话可以关注这几门课程。

  1. class HelloWorld {
  2. public static void main(String[] args) {
  3. System.out.println("Hello, World!");
  4. }
  5. }

32. JavaScript - 1995

JavaScript是一门主要用于开发Web页面的脚本语言,但现在也可以用作服务端开发,如Nodejs。JS是一门面向过程的语言,推荐课程在这里。

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

33. PHP - 1995

1995年对于编程语言而言绝对是非常重要的一年,在Java和JavaScript之后,PHP也于同年诞生。PHP是一门解释型的面向对象编程语言。

  1. <? echo "Hello, World!" ?>

34. Rebol - 1997

Rebol是一种高级脚本语言,自称“消息传递语言”。

  1. print "Hello, World!"
35. ActionScript — 1998

ActionScript可以用于开发客户端应用程序,如Adobe Flash和Adobe Flex;也可以用于服务端开发(Flash media server, JRun, Macromedia Generator)。现在,ActionScript在Unity图形引擎中被当作脚本语言使用。

  1. package {
  2. public class HelloWorld {
  3. public function HelloWorld() {
  4. trace("Hello World !");
  5. }
  6. }
  7. }

36. D - 1999

D语言是一门面向对象编程语言,它的设计借鉴于许多语言,包括C++、Java和Eiffel。D语言是一门优秀的语言,但是一直都没有像它的创造者期望的那样获得成功。

  1. import std.stdio;
  2. void main () {
  3. writefln("Hello, World!");
  4. }

37. C# - 2000

2000年,微软就Java语言与Sun公司发生争议,随后便创造了C#,C#是一种被设计为在Microsoft.NET平台上开发的面向对象的编程语言,它是由C++和Java派生而来,使用了许多它们的通用特性和概念。C#也可以用来在ASP.NET平台上开发Web应用。C#课程自取。

  1. using System;
  2. internal static class HelloWorld {
  3. private static void Main() {
  4. Console.WriteLine("Hello, World!");
  5. }
  6. }

38. Groovy - 2003

Groovy是运行在Java虚拟机上的一门面向对象编程语言,它是Java的超集,其设计受到了Python、Ruby和Smalltalk的启发。这里有一些学习书籍可以参考。

  1. println "Hello, World!"

39. Scala - 2003

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

  1. object HelloWorld extends App {
  2. println("Hello, World!")
  3. }

40. F# - 2005

F#是一门在.NET平台上开发的函数式、面向对象编程语言。F#源自与它高度兼容的OCaml,它们都属于ML语言这一系列的。

  1. printfn "Hello, World!"

41. Windows PowerShell - 2006

Windows PowerShell是Microsoft开发的软件套件,包括命令行界面,称为PowerShell的脚本语言和开发套件。 从Windows 7开始,PowerShell已作为标准配置提供。

  1. echo "Hello, World!"

42. Clojure - 2007

Clojure是编译型、跨平台的函数式编程语言,它可以安全、简单的开发分布式系统。Clojure是Lisp的三种主要方言之一。Clojure可以编译成Java字节码,JavaScript代码或者是.NET字节码,因此它可以运行在JVM、CLR和浏览器上。

  1. (println "Hello, World!")

43. Go - 2009

Go是一种编译型的支持并发的编程语言,它的设计受到了C和Pascal的启发,该语言由Google从Robert Griesemer,Rob Pike和Ken Thompson的最初概念开发而来。没错,这个Ken Thompson就是在1969年设计B语言的人!

  1. package main
  2. import "fmt"
  3. func main() {
  4. fmt.Println("Hello, World!")
  5. }

44. Rust - 2010

Rust是由Mozilla设计并开发的一门多范式的编译型编程语言。Rust被设计为“安全、并发、实用的语言”,在某些方面支持函数式编程风格,面向对象编程。Rust被认为有望替代C++。

  1. fn main() {
  2. println("Hello, World!");
  3. }

45. Dart - 2011

Dart是由Google开发的用于web应用的编程语言,它最初的目标是替代JavaScript。目前,Dart的目标还没有实现,开发人员的首要任务是可以将Dart转换成与所有现代浏览器兼容的JavaScript代码。Dart也可以用于服务端的开发。

Dart最近的势头很猛,主要是因为它是手机端流行框架Flutter的开发语言。

  1. main() {
  2. print('Hello, World!');
  3. }

46. Kotlin — 2011

Kotlin是一门面向对象编程语言,支持静态类型,可以被编译成字节码运行在Java虚拟机上。也可以编译成JavaScript语言,或者在其他多个平台运行的语言。(感谢LLVM)2017年,Google使Kotlin成为继Java之后Android正式支持的第二种语言。如果你想学Kotlin,可以参考这些课程。

  1. fun main(args: Array<String>) {
  2. println("Hello, World!")
  3. }

47. Ceylon - 2011

Ceylon是由“红帽”创建的开源的强类型和静态类型的高级编程语言,它的语法类似于Java。可以将其编译成Java字节码和JavaScript。

  1. void hello() {
  2. print("Hello, World!");
  3. }

48. TypeScript - 2012

TypeScript是由微软开发的免费、开源的编程语言。用于改善和保护JavaScript代码的生产。TypeScript是JavaScript的超集,可以转换为JavaScript,以便由任何Web浏览器或JavaScript引擎解释。

  1. console.log("Hello, World!");

49. Julia - 2012

Julia是用于科学计算的高级、强大、动态的编程语言,使用的是其他类似开发环境(例如MATLAB、R或Python)的用户熟悉的语法。

  1. println("Hello, World!")

50. Swift - 2014

Swift是一门编译型、多范式的编程语言,它简单、高效、安全。它由苹果开发并开源。使其成为与Objective-C一样开发iOS移动应用的解决方案。

  1. print("Hello, World!")

结论

我们的旅行到此就要告一段落了,我想你介绍了50种语言的“Hello, World!“程序的写法。本文所提供的编程语言列表远非详尽。希望你能和我分享你喜欢的语言的“Hello, World!“程序。

译注:

50年来的更新换代,有的语言还是一样流行,相信你还记得第一个Hello word程序,每一个程序员都有一个世界和平的梦想“Hello world"。

你不会真的以为这叫你好世界吧。

编程语言50年来的变化,我用50种编程语言告诉你“Hello world”怎么写!的更多相关文章

  1. 数百种编程语言,而我为什么要学 Python?

    是应用率最高.长期霸占排行榜的常青藤 Java?是易于上手,难以精通的 C?还是在游戏和工具领域仍占主流地位的 C++?亦或是占据 Windows 桌面应用程序半壁江山的 C#?…… 我想,每个人可能 ...

  2. DevOps运动的缘起 将DevOps想象为一种编程语言里面的一个接口,而SRE类实现了这个接口

     SRE vs DevOps:是敌是友? - DockOne.io http://www.dockone.io/article/5935   RE vs DevOps:是敌是友? [编者的话]网站可靠 ...

  3. 用19种编程语言写Hello World

    用19种编程语言写Hello World 转载自:http://www.admin10000.com/document/394.html Hello World 程序是每一种编程语言最基本的程序,通常 ...

  4. AES加密CBC模式兼容互通四种编程语言平台【PHP、Javascript、Java、C#】

    原文:AES加密CBC模式兼容互通四种编程语言平台[PHP.Javascript.Java.C#] 由于本人小菜,开始对AES加密并不了解,在网络上花了比较多时间查阅资料整理: 先简单从百度找来介绍: ...

  5. [译]Python作为一种编程语言有多强大?

    Quora上有个问题:Python作为一种编程语言有多强大? 以下是Patrycja Okowicka的回答 说实话,Python是一门强大的语言,几乎所有东西都可以用Python创建!这就是为什么它 ...

  6. PHP、Java、Python、C、C++ 这几种编程语言都各有什么特点或优点

    PHP.Java.Python.C.C++ 这几种编程语言都各有什么特点或优点 汇编: C: Java: C#: PHP: Python: Go: Haskell: Lisp: C++: &l ...

  7. c++/java/c# 几种编程语言的指针、引用比较

    前一段时间,我在 cnblogs 别人的博客中,谈到: java 中的引用/指针,与 c++/C# 中的引用/指针不是一个概念. Java 引用,相当于 c++ 指针(fun3).Java 引用可以赋 ...

  8. 转载:帮你提升 Python 的 27 种编程语言

    帮你提升 Python 的 27 种编程语言: 出处:http://www.oschina.net/translate/languages-to-improve-your-python

  9. 查看scn headroom变化趋势的几种方法

    查看scn headroom变化趋势的几种方法 scn headroom问题,本文不做解释. 本文为自己的总结,脚本来自于oracle sr技术project师. 转载请注明出处http://blog ...

  10. 24种编程语言的Hello World程序

    24种编程语言的Hello World程序 这篇文章主要介绍了 24 种编程语言的 Hello World 程序,包括熟知的 Java.C 语言.C++.C#.Ruby.Python.PHP 等编程语 ...

随机推荐

  1. android注册验证码的使用

    主要是创建了验证码的生成类. 通过此生成类,与imageview相互联系起来,实现验证码显示.并添加点击事件,实现验证码的切换. 实验的截图如下:(验证码可以点击切换) 具体的关于验证码的生成类如下: ...

  2. python3启动子进程之 os.fork()

    python3启动子进程之 os.fork() 先了解python3 os.fork()  使用说明 在生物学家开始克隆研究之前,计算机科学家就拥有成功的克隆历史.他们克隆了进程,尽管他们没有将其称为 ...

  3. (js描述的)数据结构[链表](4)

    (js描述的)数据结构 [链表](4) 一.基本结构 二.想比于数组,链表的一些优点 1.内存空间不是必须连续的,可以充分利用计算机的内存,事项灵活的内存动态管理. 2.链表不必再创建时就确定大小,并 ...

  4. python 写一个生成大乐透号码的程序

    """ 写一个生成大乐透号码的程序 生成随机号码:大乐透分前区号码和后区号码, 前区号码是从01-35中无重复地取5个号码, 后区号码是从01-12中无重复地取2个号码, ...

  5. TP的where方法的使用

    1.Thinkphp中where()条件的使用 总是有人觉得,thinkphp的where()就是写我要进行增加.查询.修改.删除数据的条件,很简单的,其实我想告诉你,where()是写条件语句的,但 ...

  6. 010-字符串-C语言笔记

    010-字符串-C语言笔记 学习目标 1.[掌握]二维数组的声明和初始化 2.[掌握]遍历二维数组 3.[掌握]二维数组在内存中的存储 4.[掌握]二维数组与函数 5.[掌握]字符串 一.二维数组的声 ...

  7. 【从零单排HBase 03】深入HBase读写

    在了解HBase架构的基础上,我们需要进一步学习HBase的读写过程,一方面是了解各个组件在整个读写过程中充当的角色,另一方面只有了解HBase的真实请求过程,才能为后续的正确使用打下初步基础,毕竟, ...

  8. OpenCV 之 基本绘图

    OpenCV 虽是开源的计算机视觉库,但里面也有一些基础的绘图函数,本文将介绍几种常用绘图函数:直线.圆.椭圆.长方形.多边形等. 1  数据结构 1.1  二维向量 cv::Point 代表的是二维 ...

  9. STL迭代器的使用

    STL的迭代器听起来怪吓人的,其实并不是什么高深的东西,说白了就是定义了一个指向STL的指针.. 对于没个STIL都可以定义 set,,vector ,,map,,,string 定义: set< ...

  10. ATcoder--D - Summer Vacation

    这个题目的题意有点难搞 题目连接: https://atcoder.jp/contests/abc137/tasks/abc137_d 题目大意:输入n和m 指的是一共有n个输入在m天前一共能赚到的钱 ...