hello world作为所有编程语言的起始阶段,占据着无法改变的地位,所有中/英/法/德/美……版本的编程教材中,hello world总是作为第一个TEST记录于书本之中,所有的编程第一步就在于此了!经典之中的经典!
hello world!
"Hello, world"程序是指在计算机屏幕上输出Hello, world这行字符串的计算机程序,“hello, world”的中文意思是“世界,你好”。这个例程在Brian Kernighan和Dennis M. Ritchie合著的The C Programming Language中被使用而广泛流行。因为它的简洁、实用,并包含了一个程序所应具有的一切,因此为后来的编程类图书的作者提供了范例,一直待续到今。
hello world程序全集
ActionScript
trace("Hello, world!");
Ada
with TEXT_IO;procedure HELLO isbegin TEXT_IO.PUT_LINE ("Hello, world!");end HELLO;
汇编语言
x86 CPU,GNU/Linux,NASM
section .data msg db 'Hello, world!',0xA len equ $-msg section .text global _start _start: mov edx,len mov ecx,msg mov ebx,1 mov eax,4 int 0x80 mov ebx,0 mov eax,1 int 0x80
x86 AT&T、Gas
.data msg : .string "Hello, world!/n" len = . - msg.text.global _start_start: movl $len, %edx movl $msg, %ecx movl $1 , %ebx movl $4 , %eax int $0x80 movl $0 , %ebx movl $1 , %eax int $0x80
x86 CPU、Windows、MASM32
.386 .model flat,stdcall option casemap:none;==========================================================include windows.incinclude user32.incincludelib user32.libinclude kernel32.incincludelib kernel32.lib;========================================================== .dataszCaption db "A MessageBox!", 0szText db "Hello, world!", 0;========================================================== .codestart:invoke MessageBox, NULL, addr szText, addr szCaption, MB_OKinvoke ExitProcess, NULL;==========================================================end start
8086操作系统
[BITS 16]org 0x7c00 mov ax,cs mov ds,ax mov es,ax call DispStr jmp $;End HearDispStr: mov ax, BootMessage mov bp, ax mov cx, 16;How long is the String mov ax, 0x1301 mov bx, 0x000c mov dl, 0 int 0x10 retBootMessage: db "Hello, world!"times 510-($-$$) db 0x0dw 0xaa55; Bootable Mark
ASP
<% Response.Write("Hello, world!") %>
或者简单地写成:
<%= "Hello, world!" %>
AutoIt
MsgBox(1,'','Hello, world!')
AWK
BEGIN { print "Hello, world!" }Bash (or sh)echo 'Hello, world!'
或者:
printf 'Hello, world!/n'
BASIC
传统版 BASIC(例如 GWBASIC):
10 PRINT "Hello, world!"20 END
或在提示符输入:
? "Hello, world!"
现代版 BASIC(例如 Quick BASIC):
PRINT "Hello, world!"
以下的语句,在 Quick BASIC 中同样有效:
? "Hello, world!"
BCPL
GET "LIBHDR"LET START () BE$( WRITES ("Hello, world!*N")$)
Brainfuck
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
BlitzBasic
Print "Hello, world!"WaitKey
BOO
print "Hello, world!"
C
#include <stdio.h>int main(void){ printf("Hello, world!/n"); return 0;}
或者:
#include <stdio.h>int main(void){ puts("Hello, world!"); return 0;}
C++
#include <iostream>int main(){ std::cout << "Hello, world!" << std::endl; return 0;}
或者:
#include <iostream>using namespace std;int main(){ cout << "Hello, world!" << endl; return 0;}
C++/CLI
int main(){ System::Control::WriteLine("Hello, world!");}
C# (C Sharp)
class HelloWorldApp{ static void Main(string[] args) { System.Console.WriteLine("Hello, world!"); }}
或者(仅用于Microsoft Windows)
class HelloWorldApp{ [DllImport("user32.dll")] static extern MessageBox(string title, string message); public static void Main() { MessageBox(null, "Hello, world!"); }}
或者(使用附加的Windows Forms)
using System.Windows.Forms;class HelloWorldApp{ public static void Main() { MessageBox.Show("Hello, world!"); }}
COBOL
IDENTIFICATION DIVISION.PROGRAM-ID. HELLO-WORLD.ENVIRONMENT DIVISION.DATA DIVISION.PROCEDURE DIVISION.DISPLAY "Hello, world!".STOP RUN.
Common Lisp
;直接输出"Hello world!"
;或者
(format t "Hello world!~%")
DOS批处理
@echo Hello, world!
对于MS-DOS 3.0或更低版本:
echo offclsecho Hello, world!
Linux Shell
echo Hello, world!
Eiffel
class HELLO_WORLDcreation makefeature make is local io:BASIC_IO do !!io io.put_string("%N Hello, world!") end -- makeend -- class HELLO_WORLD
Erlang
-module(hello).-export([hello_world/0]).hello_world() -> io:fwrite("Hello, World!/n").
Forth
." Hello, world!" CR
Fortran
WRITE(*,*) 'Hello, world!'STOPEND
HTML
<!-- 直接 出... -->Hello World<!-- 或者 --><html><head><title> Hello World </title></head><body>Hello World</body></html>
HQ9+
HINTERCAL PLEASE DO ,1 <- #13DO ,1 SUB #1 <- #238DO ,1 SUB #2 <- #112DO ,1 SUB #3 <- #112DO ,1 SUB #4 <- #0DO ,1 SUB #5 <- #64DO ,1 SUB #6 <- #238DO ,1 SUB #7 <- #26DO ,1 SUB #8 <- #248DO ,1 SUB #9 <- #168DO ,1 SUB #10 <- #24DO ,1 SUB #11 <- #16DO ,1 SUB #12 <- #158DO ,1 SUB #13 <- #52PLEASE READ OUT ,1PLEASE GIVE UP
Java
public class Hello{ public static void main(String[] args) { System.out.println("Hello, world!"); }}
or in tinystruct2.0:
package tinystruct.examples;import org.tinystruct.AbstractApplication;import org.tinystruct.Application;import org.tinystruct.ApplicationException;import org.tinystruct.system.ApplicationManager;public class hello extends AbstractApplication {@Overridepublic void init() { // TODO Auto-generated method stub this.setAction("say", "say");}@Overridepublic String version() { // TODO Auto-generated method stub return null;}public String say(String words){ System.out.println(words); return words;}/** * @param args * @throws ApplicationException */public static void main(String[] args) throws ApplicationException { // TODO Auto-generated method stub // Praise to the Lord! ApplicationManager.install(new hello()); // to print 'Hello World' ApplicationManager.call("say/Hello World", null); // Hello World // or... Application app=ApplicationManager.get( hello.class.getName()); app.invoke("say", new Object[]{"<h1>Hello, World!</h1>"}); // <h1>Hello, World!</h1> app.invoke("say", new Object[]{"<h2>Bye!</h2>"}); // <h2>Bye!</h2> // or... // http://localhost:8080/?q=say/Hello World // https://github.com/m0ver/tinystruct2.0}}
JSP
<% out.print("Hello, world!");%>或者简单地写成:<%="Hello, world!"%>
Lisp
;直接输出"hello, world";或者(format t "hello, world~%")
Lua
print "Hello, world!"
Malbolge
('&%:9]!~}|z2Vxwv-,POqponl$Hjig%eB@@>}=<M:9wv6WsU2T|nm-,jcL(I&%$#" `CB]V?Tx<uVtT`Rpo3NlF.Jh++FdbCBA@?]!~|4XzyTT43Qsqq(Lnmkj"Fhg${z@>
Metapost
beginfig(1);draw (0,0)--(0,10);draw (0,5)--(5,5);draw (5,0)--(5,10);draw (12,0)--(7,0)--(7,10)--(12,10);draw (12,5)--(7,5);draw (14,10)--(14,0)--(19,0);draw (21,10)--(21,0)--(26,0);draw (28,5)...(30.5,0)...(33,5)...(30.5,10)...cycle;draw (38,10)--(39.25,0)--(40.5,10)--(41.75,0)--(43,10);draw (45,5)...(47.5,0)...(50,5)...(47.5,10)...cycle;draw (52,0)--(52,10);draw (52,10)..(57,4)..(52,6.5);draw (52,5)--(57,0);draw (61,10)--(61,0)--(66,0);draw (68,10)--(68,0)..(73,5)..cycle;endfig;end
MIXAL
TERM EQU 19 the MIX console device number ORIG 1000 start addressSTART OUT MSG(TERM) output data at address MSG HLT halt executionMSG ALF "MIXAL" ALF " HELL" ALF "O WOR" ALF "LD " END START end of the program
Nuva
<..直接输出..>Hello, world!<..或者..><. // 不带换行 ? "Hello, world!" // 或者 // 带换行 ?? 'Hello, world!'.>
OCaml
let main () = print_endline "Hello world!";;
Pascal
program Hello;{此行可以省略}begin writeln('Hello, world!');end.
Perl
#!/usr/bin/env perlprint "Hello, world!/n";
Perl 5.10(含)以后版本:
#!/usr/bin/env perluse 5.010;say "Hello, world!";
PHP
<?php echo 'Hello, world!';//通常使用 ,比 print 少一 字元 print 'Hello, world!';?>或者<?= "Hello World!"?>
Pike
#!/usr/local/bin/pikeint main(){ write("Hello, world!/n"); return 0;}
PL/I
Test: procedure options(main); declare My_String char(20) varying initialize('Hello, world!'); put skip list(My_String);end Test;
Prolog
goal write("hello,world!").
Python
适用于Python 2:#!/usr/bin/env pythonprint "Hello, world!"适用于Python 3:#!/usr/bin/env pythonprint("Hello, world!")
REXX
say "Hello, world!"
Ruby
#!/usr/bin/rubyputs "Hello, world!"
Sbyke Laborana
INIT min:1001Om:"Hello, world!"
Scheme
(display "Hello, world!")(newline)
sed
(需要至少一行输入)sed -ne '1s/.*/Hello, world!/p'
Seed7
$ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello, world!"); end func;
Smalltalk
Transcript show: 'Hello, world!'
Small Basic
TextWindow.WriteLine("Hello, world!")
SNOBOL
OUTPUT = "Hello, world!"END
SQL
第一种CREATE TABLE MESSAGE (TEXT CHAR(15));INSERT INTO MESSAGE (TEXT) VALUES ('Hello, world!');SELECT TEXT FROM MESSAGE;DROP TABLE MESSAGE;第二种SELECT 'hello, world';第三种print 'hello,world!'
Tcl
#!/usr/local/bin/tclputs "Hello, world!"
TScript
? "Hello, world!"
Turing
put "Hello, world!"
UNIX-style shell
程序中的/bin/sh可改为您使用的shell
#!/bin/shecho 'Hello, world!'
bc
#!/usr/bin/bc -qprint "Hello World"quit
dc
#!/usr/bin/env dc [Hello World]p
GUI
Delphi
program HelloWorld;uses Dialogs;begin ShowMessage('Hello, World!');end.
Nuva
<. System.Ui.ShowMessage('Nuva', 'Hello, world!', ['OK']).>
Visual Basic
MsgBox "Hello, world!"或者Print "Hello, world!"
Visual FoxPro
? "Hello, world!"
X11
用一个程序
xmessage 'Hello, world!'
使用Qt
#include <QApplication>#include <QLabel>int main(int argc, char *argv[]){ QApplication app(argc, argv); QLabel label("Hello, world!"); label.show(); return app.exec();}
C 和 GTK+
#include <gtk/gtk.h>int main(int argc, char * args[]){ GtkWidget * win, * label; gtk_init(& argc, & args); label = gtk_label_new("Hello, world!"); win = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_container_add(GTK_CONTAINER(win), label); gtk_widget_show_all(); gtk_main(); return 0;}
用C++和gtkmm 2
#include <iostream>#include <gtkmm/main.h>#include <gtkmm/button.h>#include <gtkmm/window.h>using namespace std;class HelloWorld : public Gtk::Window {public: HelloWorld(); virtual ~HelloWorld();protected: Gtk::Button m_button; virtual void on_button_clicked();};HelloWorld::HelloWorld() : m_button("Hello, world!"){ set_border_width(10); m_button.signal_clicked().connect(SigC::slot(*this, &HelloWorld::on_button_clicked)); add(m_button); m_button.show();}HelloWorld::~HelloWorld() {}void HelloWorld::on_button_clicked() { cout << "Hello, world!" << endl;}int main(int argc, char *argv[]){ Gtk::Main kit(argc, argv); HelloWorld helloworld; Gtk::Main::run(helloworld);}
Java
import java.awt.*;import java.awt.event.*;public class HelloFrame extends Frame { HelloFrame(String title) { super(title); } public void paint(Graphics g) { super.paint(g); java.awt.Insets ins = this.getInsets(); g.drawString("Hello, World!", ins.left + 25, ins.top + 25); } public static void main(String args []) { HelloFrame fr = new HelloFrame("Hello"); fr.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit( 0 ); } } ); fr.setResizable(true); fr.setSize(500, 100); fr.setVisible(true); }}
Java Applet
Java Applet用于HTML文件。
HTML代码:
<html><head><title>Hello World</title></head><body>HelloWorld Program says:<applet code="HelloWorld.class" width="600" height="100"></applet></body></html>
Java代码:
import java.applet.*;import java.awt.*;public class HelloWorld extends Applet { public void paint(Graphics g) { g.drawString("Hello, world!", 100, 50); }}
JavaScript
JavaScript是一种脚本语言。最广泛用于HTML文件中,也可以用在其它宿主环境下,比如Microsoft Windows 脚本宿主(WSH)和一些Web服务环境。
用于HTML中:
alert("Hello, World!");//或者document.write("Hello, World!");
用于WSH中:
WScript.Echo("Hello, World!");
PostScript
PostScript是一种专门用来创建图像的语言,常用于打印机。
/font /Courier findfont 24 scalefontfont setfont100 100 moveto(Hello World!) showshowpage
XAML
<Pagexmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"x:Class="XAMLSample.Page1"><Button Click="HelloWorld" Name="Button1">Click Here</Button></Page>using System;using System.Windows;using System.Windows.Controls;namespace XAMLSample{ public partial class Page1 : Page { void HelloWorld(object sender, RoutedEventArgs e) { MessageBox.Show("Hello, world!"); } }}
易语言
.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
信息框
(“Hello, World!”, 0, )