跨越70年编程史,40种编程语言输出hello-world
跨越70年编程史,40种编程语言输出‘hello world‘
所有编程语言的鼻祖:机器语言
机器语言随着世界上第一台计算机ENIAC的问世而诞生,使用的是最原始的穿孔卡片,卡片上的语言只有专家才能理解,与人类语言差别极大。这种语言就是机器语言,也被称为第一代计算机语言。机器语言本质上是计算机能识别的唯一语言,使用0和1组成的二进制代码直接与硬件交互。
这里就不放代码了,有兴趣的朋友们可以去玩继电器体验下
汇编语言
在计算机科学发展的初期,程序员们直接使用
机器语言(二进制代码)
来编写程序,这种方式非常繁琐且容易出错,因为每条指令都需要手动以二进制的形式输入。为了简化编程过程,人们开始使用
助记符(mnemonics)
来代表机器指令。这些助记符通常是简短的英文缩写,易于记忆和理解。随着助记符的使用,汇编语言应运而生。汇编语言使用助记符来编写程序,然后通过
汇编器(assembler)
将这些助记符转换为机器语言。最早的汇编语言之一是由IBM的工程师在20世纪50年代开发的,用于IBM 704计算机。这种汇编语言使用英语单词和助记符来代替数字代码,大大提高了程序的可读性和可维护性。
接下来这段是NASM汇编输出"hello world"代码:
section .data
msg db 'Hello, World!', 0x0A
section .text
global _start
_start:
mov eax, 4
mov ebx, 1
mov ecx, msg
mov edx, 13
int 0x80
mov eax, 1
xor ebx, ebx
int 0x80
FORTRAN
FORTRAN
(Formula Translation,公式翻译)
由IBM在20世纪50年代为科学和工程应用程序而开发。它是第一个广泛使用的高级编程语言,特别适用于数值计算和科学计算。FORTRAN包含一系列版本,每个版本都经过演化,添加了新特性。它特别适用于计算密集型领域,如数值天气预测、有限元分析等。FORTRAN的设计是许多其他编程语言的基础。
program hello
implicit none
print *, "Hello, world!"
end program hello
Lisp
Lisp
(LISt Processor,列表处理语言)
由约翰·麦卡锡于1958年在麻省理工学院开发。它是第一个函数式编程语言,对后续编程语言产生了深远影响。自Lisp诞生以来,出现了多个方言和版本,如Common Lisp、Scheme等。Lisp以其独特的表达方式和灵活性著称,支持
函数式
、
过程式
和
元编程
等多种编程范型。其核心数据结构是
原子
和
表
,程序代码本身也是一种数据结构,允许在运行时操作代码。Lisp广泛应用于人工智能领域,也用于科学计算和符号计算等。
(write-line "hello world")
COBOL
COBOL
(Common Business-Oriented Language,面向商业的通用语言)
由格雷斯·霍波博士领导开发,于1961年公布。它是为了解决商业和企业管理中的数据处理问题而设计的。COBOL重视数据项和输入/输出记录的处理,提供了简单的文件处理方式。它主要用于商业数据处理领域,如统计报表、计划编制、情报检索等。COBOL语法与英文接近,易于理解,但语言冗长。
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
PROCEDURE DIVISION.
DISPLAY 'HELLO WORLD!'.
STOP RUN.
Pascal
Pascal语言由瑞士Niklaus Wirth教授于20世纪60年代末设计并创立。它是最早出现的结构化编程语言,旨在提高程序的清晰性和可维护性。Pascal语言具有严格的结构化形式、丰富完备的数据类型、运行效率高和查错能力强等特点。它是许多学校计算机语言课上的教学语言,也是国际奥林匹克信息学竞赛推荐的程序设计语言之一。
program HelloWorld;
begin
writeln('Hello, World!');
readln;
end.
C
C语言由丹尼斯·里奇于1972年在贝尔实验室开发,旨在编写UNIX操作系统。它是现代编程语言的基础之一,对后续的C++、Objective-C、C#等产生了深远影响。C语言简洁强大,提供了丰富的运算符和直接内存访问能力。它支持结构化编程,具有可移植性,广泛应用于系统软件、应用软件和嵌入式系统等领域。
#include <stdio.h>
int main()
{
printf("Hello, World!\n");
return 0;
}
SQL
SQL
(Structured Query Language,结构化查询语言)
由Boyce和Chamberlin在1974年提出,是关系数据库的标准语言。SQL功能包括数据查询、定义、操纵和控制等。它支持关系数据库的三级模式结构,具有综合统一、非过程化、面向集合操作及语法简洁等特点。
SELECT 'Hello, World!';
C++
C++由Bjarne Stroustrup在1979年创建,作为C语言的扩展,增加了面向对象的特性。C++于1983年正式发布,并逐渐成为一种流行的编程语言。C++是一种高效、灵活和强大的语言,支持面向对象、泛型和函数式编程的特性。它广泛应用于操作系统、游戏、图形、网络等领域。
#include <iostream>
int main()
{
std::cout << "Hello, world!" << std::endl;
return 0;
}
Objective-C
Objective-C是在C语言的基础上添加了面向对象特性的编程语言,由Brad Cox和Tom Love于1983年提出。Objective-C主要用于Apple的操作系统和开发工具,如iOS和macOS。它结合了C语言的性能和面向对象编程的灵活性。
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSLog(@"hello world");
}
return 0;
}
Perl
Perl
(Practical Extraction and Report Language,实用摘取和报告语言)
由Larry Wall于1987年开发,最初用于文本处理和报告生成。Perl以其强大的文本处理能力、正则表达式支持和跨平台能力而闻名。它广泛应用于Web开发、系统管理和生物信息学等领域。
print "hello world\n";
Bash
Bash
(Bourne Again SHell)
是一种
Unix shell
和命令语言,由Brian Fox在1987年开发,作为Bourne shell的替代品。Bash是Linux和类Unix系统中最常用的shell之一,提供了丰富的命令和脚本编程能力。它支持管道、重定向、变量、循环、条件语句等编程元素,适用于系统脚本编写、自动化任务执行等领域。
echo "hello world"
TCL
TCL
(Tool Command Language,工具命令语言)
由John Ousterhout于1988年开发,旨在提供一种简单而强大的脚本语言。TCL具有易于学习的语法、强大的字符串处理和跨平台能力。它广泛应用于快速原型开发、测试脚本编写等领域。
puts "hello world"
Haskell
Haskell是一种纯函数式编程语言,基于λ演算,于1990年代初由一个委员会设计。Haskell以其强大的类型系统和惰性求值特性而闻名。它广泛应用于理论研究、并发编程和函数式编程教育等领域。
main = putStrLn "hello world"
Python
Python由Guido van Rossum于1991年开发,旨在提供一种简洁、易读和易维护的编程语言。Python以其简洁的语法、丰富的标准库和强大的扩展能力而闻名。它广泛应用于Web开发、数据分析、人工智能等领域。
print("hello world")
HTML
HTML
(HyperText Markup Language,超文本标记语言)
自1991年由蒂姆·伯纳斯-李发明以来,一直是构建网页的标准标记语言。HTML不是一种编程语言,而是一种标记语言,用于描述网页的结构和内容。通过HTML,开发者可以定义网页的标题、段落、链接、图像等元素,以及这些元素在网页上的布局和样式。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>hello world</h1>
</body>
</html>
Visual Basic
Visual Basic(VB)由微软于1991年开发,是一种事件驱动的编程语言,主要用于Windows应用程序开发。Visual Basic提供了可视化的开发环境,简化了Windows应用程序的开发过程。它易于学习,适合初学者入门编程。
Module Module1
Sub Main()
Console.WriteLine("hello world")
Console.ReadLine()
End Sub
End Module
Lua
Lua是一种轻量级、嵌入式的脚本语言,由Roberto Ierusalimschy、Waldemar Celes和Luiz Henrique de Figueiredo于1993年开发。Lua以其小巧、快速和易于嵌入其他应用程序中而闻名。它广泛应用于游戏开发、Web应用程序和嵌入式系统等领域。
print "hello world"
R语言
R语言由Ross Ihaka和Robert Gentleman于1993年在新西兰奥克兰大学开发,旨在创建一种用于统计计算和图形显示的语言。R语言基于S语言,是GNU计划的一部分。R语言是一种开源、免费的编程语言,主要用于统计分析、图形化和机器学习。它拥有强大的统计分析功能和丰富的扩展包生态系统,支持跨平台运行。R语言内置了大量的统计模型和算法,适用于复杂的数据分析和建模。
print("hello world")
Ruby
Ruby由松本行弘(Yukihiro Matsumoto)于1995年开发,旨在提供一种简单、优雅和强大的编程语言。Ruby以其简洁的语法、强大的面向对象特性和丰富的标准库而闻名。它广泛应用于Web开发、系统脚本编写等领域。
puts "hello world"
Java
Java由James Gosling等人在1995年开发,最初用于消费类电子产品的嵌入式系统。后来,Java逐渐成为一种流行的通用编程语言。Java具有跨平台性、面向对象、泛型编程等特性。它广泛应用于企业级应用开发、Android应用开发、Web开发等领域。
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Delphi
Delphi是一种面向对象的
Pascal语言扩展
,由Borland公司在1995年开发。它主要用于Windows应用程序开发。Delphi提供了可视化的开发环境、强大的组件库和高效的编译器。它简化了Windows应用程序的开发过程,提高了开发效率。
program HelloWorld;
{$APPTYPE CONSOLE}
begin
Writeln('hello world');
Readln;
end.
JavaScript
JavaScript最初由Brendan Eich在1995年为Netscape Navigator浏览器开发,用于在网页上实现动态效果。JavaScript是一种解释型脚本语言,具有面向对象、事件驱动等特性。它广泛应用于Web开发、移动应用开发等领域。
console.log("hello world")
PHP
PHP
(Hypertext Preprocessor,超文本预处理器)
由Rasmus Lerdorf在1995年开发,最初用于个人主页的开发。PHP是一种开源的服务器端脚本语言,具有跨平台性、易于学习和使用等特点。它广泛应用于Web开发、内容管理系统等领域。
<?php
print "hello world";
XML
XML
(eXtensible Markup Language,可扩展标记语言)
自1996年由万维网联盟(W3C)发布以来,一直是一种用于存储和传输数据的标记语言。XML允许用户定义自己的标签和文档结构,具有高度的可扩展性和灵活性。它广泛应用于数据交换、配置文件、Web服务等领域。
<?xml version="1.0" encoding="UTF-8"?>
<message>hello world</message>
CSS
CSS
(Cascading Style Sheets,层叠样式表)
自1996年由哈坤·维姆发明以来,一直是控制网页外观和布局的标准语言。CSS用于描述HTML和XML等文档的外观和样式,可以控制网页中的字体、颜色、布局、边框、背景等方面的样式。CSS通过将样式与HTML文档分离,使网页的样式和布局更加灵活、可维护和可扩展。
<style>
h1 {
font-size: 2.5em;
color: #333333;
font-family: 'Helvetica Neue', sans-serif;
font-weight: bold;
text-align: center;
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
}
</style>
C#
C#由微软在2000年开发,是一种面向对象的编程语言,主要用于.NET框架的应用程序开发。C#具有简洁的语法、强大的类型系统和丰富的标准库。它广泛应用于Windows应用程序开发、Web开发、游戏开发等领域。
using System;
class Program
{
static void Main()
{
Console.WriteLine("hello world");
}
}
YAML
YAML
(YAML Ain't Markup Language)
是一种数据序列化格式,于2001年由Clark Evans首次提出。YAML以数据为中心,使用缩进来表示结构,易于人类阅读和编写。它支持多种数据类型,如标量、序列、映射等,适用于配置文件、数据交换等领域。
message: "hello world"
JSON
JSON
(JavaScript Object Notation)
是一种轻量级的数据交换格式,于2001年由Douglas Crockford提出。JSON基于JavaScript的一个子集,使用键值对来表示数据。它易于人类阅读和编写,同时也易于机器解析和生成。JSON广泛应用于Web开发、移动应用开发、数据交换等领域。
{
"message": "hello world"
}
VB.NET
VB.NET是
Visual Basic的.NET版本
,由微软在2002年推出。它是.NET框架的一部分,旨在提供一种易于学习且功能强大的编程语言。VB.NET继承了Visual Basic的简洁性和易用性,同时增加了对.NET框架的支持。它广泛应用于Windows应用程序开发、Web开发等领域。
Module Module1
Sub Main()
Console.WriteLine("hello world")
End Sub
End Module
Scala
Scala是一种多范式的编程语言,支持函数式、面向对象和命令式编程。它由Martin Odersky在2004年开发,旨在结合Java和函数式编程的优点。Scala运行在Java虚拟机上,与Java高度兼容。它以其简洁的语法、强大的类型系统和并发编程支持而闻名。Scala广泛应用于大数据处理、Web开发等领域。
object HelloWorld extends App {
println("hello world")
}
F#
F#是一种多范式的编程语言,支持函数式、面向对象和命令式编程。它由微软研究院在2005年开发,是.NET框架的一部分。F#以其强大的类型推断、惰性求值和并发编程支持而闻名。它广泛应用于数据分析、金融工程、Web开发等领域。
object HelloWorld extends App {
println("hello world")
}
Go
Go语言由Google在2009年推出,旨在提供一种简单、高效和并发的编程语言。Go语言具有简洁的语法、高效的编译器和强大的并发编程支持。它广泛应用于云计算、Web开发、系统编程等领域。
package main
import "fmt"
func main() {
fmt.Println("Hello, world.")
}
Rust
Rust是一门注重安全、速度和并发的现代系统编程语言,由Mozilla的Graydon Hoare在2006年设计,并于2010年首次发布。Rust通过内存安全来实现高性能和并发,但不使用垃圾回收机制。它拥有丰富的类型系统和所有权模型,保证了内存安全和线程安全。Rust还提供了出色的文档、友好的编译器和清晰的错误提示信息,适用于系统编程、Web开发、游戏开发等领域。
fn main() {
println!("hello world");
}
PowerShell
PowerShell是微软开发的一种跨平台自动化和配置框架,于2006年首次发布。它旨在简化Windows系统的管理和自动化任务执行。PowerShell提供了一种强大的命令行界面和脚本环境,支持对象模型、管道、循环、条件语句等编程元素。它内置了大量的
cmdlet(命令行工具)
,可用于管理Windows系统、网络、应用程序等。
Write-Output "hello world"
Dart
Dart由Google在2011年推出,最初用于Web开发。后来,Dart也支持移动应用开发。Dart是一种面向对象、类C的编程语言,具有强大的类型系统和并发编程支持。它简化了Web和移动应用的开发。
void main() {
print('hello world');
}
TypeScript
TypeScript是微软开发的一个开源的编程语言,于2012年首次发布。它是在JavaScript的基础上添加了静态类型定义而构建的。TypeScript通过TypeScript编译器或Babel转译为JavaScript代码,可运行在任何浏览器和操作系统上。它添加了很多尚未正式发布的
ECMAScript
新特性,如
装饰器
、
泛型
等,适用于大型应用的开发。
console.log("hello world");
Julia
Julia语言诞生于MIT,旨在结合高性能数值计算和通用编程语言的优点。首个公开版本于2012年发布。Julia是一种高性能、动态类型的程序设计语言,支持并行计算和分布式计算。它具有接近静态编译型语言的性能,同时保留了动态语言的灵活性。Julia的语法简洁易读,适用于科学计算、数据分析、机器学习等领域。
print("hello world \n")
Swift
Swift是一种由苹果公司开发的编程语言,于2014年首次发布。它是
iOS
、
macOS
、
watchOS
和
tvOS
等苹果操作系统的官方编程语言。Swift是一种类型安全的编程语言,具有简洁易读的语法和强大的性能。它支持面向对象编程和函数式编程,提供了丰富的标准库和框架,适用于iOS、macOS等苹果平台的应用开发。
print("hello world")
Kotlin
Kotlin是一种在
Java虚拟机(JVM)
上运行的静态类型编程语言,由JetBrains设计开发并开源。自2017年Google宣布Kotlin成为Android官方开发语言以来,Kotlin在移动应用开发、服务器端开发、Web前端开发等多个领域得到了广泛应用。
fun main() {
println("hello")
}
仓颉语言
仓颉编程语言(Cangjie)是华为研发的一种静态强类型、编译型语言,面向全场景应用开发的现代编程语言,与今年发布。仓颉支持面向应用开发的一系列工具链,包括语言服务(高亮、联想)、调试(跨语言调试、线程级可视化调试)、静态检查、性能分析、包管理、文档生成、Mock 工具、测试框架、覆盖率工具、Fuzz 工具以及智能辅助编程工具,进一步提升软件开发体验以及效率。
main() {
println("Hello World")
}