使用近40种编程语言编写Hello Wrold - 计算机编程语言编年史

从最早的汇编语言到现代的高级语言,编程语言的历史是一部充满创新和技术进步的旅程,有些语言逐渐消逝,而有些语言却一直流行着,这篇文章将会列举近40个编程语言的Hello World,相信有不少你是用过或有所耳闻的,那我们开始吧。

Let's back to the 1990s!

汇编语言 - Intel 8080 版本


ORG 0x0000

DATA:
    HELLO_WORLD DB 'Hello, World!', 0

CODE:
    MVI C, 9
    LXI D, HELLO_WORLD
    CALL BDOS
    RET

HELLO_WORLD: DB 'Hello, World!', 0

BDOS EQU 0x0005

END

汇编语言是一种低级编程语言,与特定的计算机架构紧密相关。Intel 8080 是一款经典的8位微处理器,发布于1972年。汇编语言允许程序员直接控制计算机硬件,实现高效的程序设计。尽管汇编语言难以阅读和维护,但它在需要高性能或直接硬件访问的应用中仍然非常重要。例如,操作系统内核、设备驱动程序和嵌入式系统常常使用汇编语言编写。

Fortran (1957)


      PRINT *, 'Hello, World!'
      END

Fortran 是第一个广泛使用的高级编程语言,特别适合科学计算。它由 IBM 为了解决科学计算问题而开发。Fortran 的名字来源于 "Formula Translation"。尽管它已经存在了很长时间,但它仍然在科学和工程领域中被广泛使用。

Lisp (1958)


(format t "Hello, World!")

Lisp 是最早的函数式编程语言之一,以其独特的括号风格闻名。它在人工智能领域有着深远的影响。Lisp 的括号常常让新手困惑。据说,在冷战期间,苏联间谍费尽心思从 NASA 获取了一张 Lisp 代码的最后一页,上面全是闭合括号 (`)`), 这个故事成为了程序员之间的经典笑话。

“如果你把 Lisp 程序倒过来,它就变成了 Perl。” 这是因为 Lisp 的代码看起来像是由括号组成的。

COBOL (1959)


       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELLO-WORLD.
       PROCEDURE DIVISION.
           DISPLAY 'Hello, World!'.
           STOP RUN.

COBOL 主要用于商业应用,尤其是银行和财务系统。它的语法旨在模仿自然语言,使得非技术人员也能更容易理解程序代码。COBOL 的名字来源于 "Common Business-Oriented Language"。

“为什么 COBOL 程序员总是带着放大镜?因为他们需要寻找那些隐藏在 COBOL 代码中的小错误。”

另一个关于 COBOL 的笑话:“COBOL 程序员退休后,他们的雇主不得不重新雇用他们,因为没有人能理解他们写的代码。” 这个笑话反映了 COBOL 程序的维护问题,因为这种语言仍然存在于许多旧系统中。

ALGOL 60 (1960)


begin
    write("Hello, World!");
end.

ALGOL 60 对后来许多编程语言的设计产生了重大影响,特别是 C 语言。它引入了许多现代编程语言中的关键概念,如过程和递归。

BASIC (1964)


10 PRINT "Hello, World!"
20 END

BASIC 是 Beginner's All-purpose Symbolic Instruction Code 的缩写,它旨在让编程变得容易学习。BASIC 在个人电脑兴起初期非常流行,许多人通过它开始了他们的编程生涯。

PL/I (1964)


HELLO PROC OPTIONS (MAIN);
   PUT SKIP LIST ('Hello, World!');
END HELLO;

PL/I 是 Programming Language One 的缩写,它结合了 COBOL 和 FORTRAN 的特性,旨在成为一个通用的编程语言。

BCPL (1967)


GET 'stdio'
OUT "Hello, World!\n"

BCPL (Basic Combined Programming Language) 是 C 语言的前身。它是由 Martin Richards 开发的,目的是为 Unix 操作系统提供一个基础。

C (1972)


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

C 语言是一种通用的编程语言,它既强大又灵活,成为许多现代编程语言的基础。C 语言在系统编程和嵌入式系统开发中尤为常见。

Pascal (1972)


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

Pascal 由 Niklaus Wirth 设计,作为一种教学语言。它强调清晰性和结构化编程,因此非常适合教育用途。Pascal 的名字来源于 Blaise Pascal,一位著名的数学家和哲学家。

Ada (1980)


with Ada.Text_IO;
procedure Hello is
begin
  Ada.Text_IO.Put_Line ("Hello, World!");
end Hello;

Ada 是一种强类型、面向对象的语言,最初是为了军事和航空电子系统的开发而设计的。它注重安全性,适用于安全关键型应用。Ada 的名字来源于 Ada Lovelace,她是世界上第一位程序员。

C++ (1983)


#include <iostream>
int main() {
    std::cout << "Hello, World!" << std::endl;
    return 0;
}

C++ 是 C 语言的一个扩展,它增加了面向对象的特性。C++ 在游戏开发、实时系统和大型应用程序中非常流行。C++ 由 Bjarne Stroustrup 开发,他最初将其命名为 "C with Classes"。

Modula-2 (1983)


MODULE Hello;
FROM FormatString IMPORT FormatString;
BEGIN
  FormatString("Hello, World!\n", NIL);
END Hello.

Modula-2 是 Pascal 的一个扩展,旨在解决 Pascal 中的一些限制。它引入了模块的概念,以更好地组织代码。Modula-2 由 Niklaus Wirth 开发,他是 Pascal 的创造者。

Objective-C (1983)


#import <Foundation/Foundation.h>
int main() {
    NSLog(@"Hello, World!");
    return 0;
}

Objective-C 是 C 语言的一种扩展,它加入了 Smalltalk 风格的消息传递机制。它是 Mac OS X 和 iOS 应用开发的基础。Objective-C 由 Brad Cox 和 Tom Love 开发。

Perl (1987)


print "Hello, World!\n";

Perl 是一种脚本语言,常用于文本处理和系统管理任务。它以其灵活性和强大的正则表达式支持而著称。Perl 由 Larry Wall 开发,他是一位计算机科学家和语言学家。

Tcl (1988)


puts "Hello, World!"

Tcl 是 Tool Command Language 的缩写,它是一种脚本语言,主要用于快速开发图形用户界面。Tcl 由 John Ousterhout 开发。

Python (1991)


print("Hello, World!")

Python 是一种易于学习且功能强大的编程语言,它强调代码的可读性和简洁性。Python 在 Web 开发、数据分析和人工智能领域非常流行。Python 由 Guido van Rossum 创建,他被称为 Python 的“仁慈的独裁者”。

Ruby (1995)


puts "Hello, World!"

Ruby 是一种动态的、面向对象的脚本语言,它强调简洁性和开发者的幸福感。Ruby on Rails 框架极大地促进了 Web 开发。Ruby 由 Yukihiro Matsumoto 开发,他也被称为 matz。

PHP (1995)


<?php
echo "Hello, World!";
?>

PHP 是一种服务器端脚本语言,主要用于 Web 开发。它易于学习,可以嵌入 HTML 代码中。PHP 最初由 Rasmus Lerdorf 开发。

Java (1995)


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

Java 是一种面向对象的语言,它强调“一次编写,到处运行”的原则。Java 广泛应用于企业级应用和 Android 应用开发。Java 由 James Gosling 在 Sun Microsystems 开发。

JavaScript (1995)


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

JavaScript 是一种客户端脚本语言,用于增强 Web 页面的交互性。它也是 Node.js 等服务器端技术的基础。JavaScript 由 Brendan Eich 在 Netscape Communications Corporation 开发。

Scheme (1975)


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

Scheme 是 Lisp 的一个方言,它以其简洁性而著称。Scheme 通常用于教学和研究。Scheme 是由 Guy L. Steele 和 Gerald Jay Sussman 开发的。

Haskell (1990)


main = putStrLn "Hello, World!"

Haskell 是一种纯函数式编程语言,它强调不可变性和无副作用。Haskell 在并发编程和数学计算方面表现出色。Haskell 由 Haskell Curry 命名,他是著名的逻辑学家和数学家。

Delphi / Object Pascal (1995)


program Hello;
begin
  Writeln('Hello, World!');
end.

Delphi 是基于 Object Pascal 的集成开发环境,它提供了丰富的可视化工具和组件库。Delphi 常用于 Windows 应用开发。Delphi 由 Anders Hejlsberg 和团队在 Borland 开发。很多人也将其称之为戴尔菲

Lua (1993)


print("Hello, World!")

Lua 是一种轻量级的脚本语言,广泛用于游戏开发和嵌入式系统。它易于嵌入到其他应用程序中。Lua 由 Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo 开发。

Go (2009)


package main
import "fmt"
func main() {
    fmt.Println("Hello, World!")
}

Go(也称为 Golang)是一种由 Google 开发的开源编程语言,它强调简洁性和效率。Go 适用于网络服务和分布式系统。Go 由 Robert Griesemer、Rob Pike 和 Ken Thompson 开发。

Swift (2014)


import Swift
print("Hello, World!")

Swift 是 Apple 为 iOS 和 macOS 开发而创建的一种现代编程语言。它旨在提高安全性并简化语法。Swift 由 Chris Lattner 和 Apple 团队开发。

Rust (2010)


fn main() {
    println!("Hello, World!");
}

Rust 是一种系统级编程语言,专注于安全性、速度和并发性。它旨在防止内存安全问题。Rust 由 Mozilla 开发。

Kotlin (2011)


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

Kotlin 是一种静态类型的编程语言,它与 Java 语言兼容。Kotlin 在 Android 开发中非常流行。Kotlin 由 JetBrains 开发。

TypeScript (2012)


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

TypeScript 是 JavaScript 的一个超集,它添加了静态类型检查和面向对象的功能。TypeScript 用于构建大型应用程序。TypeScript 由 Microsoft 开发。

Julia (2012)


println("Hello, World!")

Julia 是一种高性能的动态编程语言,专为科学计算和数值分析而设计。它结合了 Python 的易用性和 C 语言的速度。Julia 由 Jeff Bezanson、Stefan Karpinski、Viral Shah 和团队开发。

Elixir (2011)


IO.puts "Hello, World!"

Elixir 是一种基于 Erlang 虚拟机的函数式编程语言,它强调并发性和容错性。Elixir 用于构建高可用性和可伸缩的服务。Elixir 由 José Valim 开发。

Dart (2011)


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

Dart 是一种面向对象的编程语言,它被用于 Web 和移动应用开发,特别是在 Flutter 框架中。Dart 由 Google 开发。

Scala (2003)


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

Scala 是一种多范式的编程语言,它结合了面向对象和函数式编程的特点。Scala 在大数据处理和并发编程方面表现优秀。Scala 由 Martin Odersky 开发。

Groovy (2003)


println "Hello, World!"

Groovy 是一种基于 Java 平台的脚本语言,它可以无缝地与 Java 代码交互。Groovy 用于自动化脚本、测试和构建工具。Groovy 由 James Strachan 开发。

R (1993)


cat("Hello, World!\n")

R 是一种统计编程语言,广泛用于数据分析、图形表示和科学计算。R 由 Ross Ihaka 和 Robert Gentleman 开发。

Brainfuck (1993)


++++++++[>++++[>++>+++>+++>><<<-]>+>+>->>+[<]<-]>>.>.+++++++..+++.>><-.<.+++.------.--------.>>+.>.

Brainfuck 是一种极简主义的编程语言,它仅包含八种指令。尽管它不是为实用目的而设计的,但它因其挑战性和趣味性而受到程序员的喜爱。Brainfuck 由 Urban Müller 开发。

 

阅读剩余
THE END