专栏名称: 朱小厮的博客
著有畅销书:《深入理解Kafka》和《RabbitMQ实战指南》。公众号主要用来分享Java技术栈、Golang技术栈、消息中间件(如Kafka、RabbitMQ)、存储、大数据以及通用型技术架构等相关的技术。
目录
相关文章推荐
发现新西兰  ·  新西兰国宝惨死,嘴巴被夹碎!原因让人无语 ·  2 天前  
第1眼新闻  ·  轨道15号线首列车来了,长这样→ ·  昨天  
发现新西兰  ·  KFC开始卖炸鱼,网友:“先把鸡肉做好吧” ·  4 天前  
发现新西兰  ·  新西兰脑癌患者用DeepSeek给自己看病, ... ·  4 天前  
51好读  ›  专栏  ›  朱小厮的博客

50 种不同编程语言的“Hello World”,你知多少?

朱小厮的博客  · 公众号  ·  · 2019-11-28 08:51

正文

点击上方“ 朱小厮的博客 ”,选择“ 设为星标

后台回复” 加群 “加入公众号专属技术群


历经 70 年,不断出现的编程语言为开发者解决了哪些难题?其存在又有怎样的特性?本文将以「Hello W orld」为例,花样呈现 50 种编程语言。

原文:uee.me/cDuTW


当我们学习一门编程语言时,都是从“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 point
start:  mvi    c,9      ; BDOS function: output string
        lxi    d,msg$   ; address of msg
        call   bdos
        ret             ; return to CCP

msg$:   db    'Hello, world!$'
end     start



2. Fortran - 1957

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


PROGRAM Hello
WRITE (*,*) 'Hello, World!'
STOP
END


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


PROGRAM Hello
WRITE (*,*) '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 "HelloWorld!"
    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年的命令式编程语言。 它是为教学目的而设计的,其特点是语法清晰、严谨,有助于良好的程序结构。


begin
  writeln('Hello, World!')
end.


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


program HelloWorld(output);
begin
  writeln('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 

int main(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 (textVALUES ('Hello, World!');
SELECT text FROM message;
DROP TABLE message;



16. C++ - 1980

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


#include 
using namespace std;

int main() {
  cout <"Hello, World!"   return 0;
}



17. Ada - 1983

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

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


with Ada.Text_IO;
procedure Hello is
begin
   Ada.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基于当今非常流行的概念,如契约编程或重用。


class
    HELLO_WORLD
create
    make
feature
    make
        do
            print ("Hello, world!%N")
        end
end



21. Objective-C - 1986

Objective-C是一种自反的面向对象编程语言。 它是C编程语言的扩展,与c++类似,但在动态消息分发或动态加载方面与c++有很大的不同。

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


#import 

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 Main()
    Debug.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 function HelloWorld() {
      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平台上的面向对象编程语言。







请到「今天看啥」查看全文