Hello World

来源于:维基百科

Hello, World ”程序指的是只在计算机 屏幕上输出“Hello, World!”(意为“世界,你好!”)这行字符串的计算机程序 。一般来说,这是每一种计算机编程语言 中最基本、最简单的程序,亦通常是初学者所编写的第一个程序。它还可以用来确定该语言的编译器程序开发环境 ,以及运行环境 是否已经安装妥当。

将输出字符串“Hello World”作为第一个示范程序,现在已经成为编程语言学习的传统。该程序因Brian Kernighan和丹尼斯·里奇 (Dennis M. Ritchie)所著的计算机程序设计教程《C程序设计语言 》(The C Programming Language )中使用而广泛流传;但这本书并不是“Hello World”的滥觞,虽然这是一个普遍存在的错误认知。

“Hello World”示例程序最早出现于1972年,由贝尔实验室 成 员Brian Kernighan撰写的内部技术文件《Introduction to the Language B》之中。不久同作者于1974年所撰写的《Programming in C: A Tutorial》,也延用这个示例;而以本文件扩编改写的《C语言程序设计》也保留了这个示范程序。

起初,"hello, world"程序的标准打印内容必须满足“全小写,无惊叹号,逗点后需空一格”。不过沿用至今,完全恪守传统的反而罕见。

以下是用不同语言写成的Hello World程序的列表:

ActionScript

trace
(
"Hello, world!"
)
;

Ada

with
 TEXT_IO;

procedure HELLO is
begin
    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 CPUWindowsMASM32
 .
386

        .model    flat , stdcall
        option    casemap : none
;==========================================================
    include      windows. inc
    include      user32. inc
    includelib   user32. lib
    include      kernel32. inc
    includelib   kernel32. lib
;==========================================================
        .data
szCaption db "A MessageBox!" , 0
szText db "Hello, world!" , 0
;==========================================================
        .code
start:
    invoke    MessageBox, NULL, addr szText, addr szCaption, MB_OK
    invoke    ExitProcess, NULL
;==========================================================
    end   start

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:: Console :: 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

(
format t "Hello world!~%"
)

DOS 批处理

@
echo
 Hello, world!

对于MS-DOS 3.0或更低版本:

echo
 off
cls
echo Hello, world!

Eiffel

class
 HELLO_WORLD

creation
    make
feature
    make is
    local
        io: BASIC_IO
    do
        !! io
        io.put_string ( "%N Hello, world!" )
    end -- make
end -- 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!'

    STOP
    END

HTML

<!-- 直接輸出... -->


Hello World

<!-- 或者 -->

<html >
<head >
<title > Hello World </ title >
</ head >
<body >
Hello World
</ body >
</ html >

HQ9+

H

INTERCAL

PLEASE
 DO
 ,
1 <-
 #
13
DO , 1 SUB # 1 <- # 238
DO , 1 SUB # 2 <- # 112
DO , 1 SUB # 3 <- # 112
DO , 1 SUB # 4 <- # 0
DO , 1 SUB # 5 <- # 64
DO , 1 SUB # 6 <- # 238
DO , 1 SUB # 7 <- # 26
DO , 1 SUB # 8 <- # 248
DO , 1 SUB # 9 <- # 168
DO , 1 SUB # 10 <- # 24
DO , 1 SUB # 11 <- # 16
DO , 1 SUB # 12 <- # 158
DO , 1 SUB # 13 <- # 52
PLEASE READ OUT , 1
PLEASE GIVE UP

Java

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

JSP

<%

    out.print ( "Hello, world!" ) ;
%>

或者简单地写成:

<%=
"Hello, world!"
%>

Lisp

(
format t "hello, world~%"
)

Lua

print
 "Hello, world!"

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 address
START OUT MSG(TERM) output data at address MSG
        HLT                halt execution
MSG 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/local/bin/perl

print "Hello, world!/n " ;

PHP

<?php

    echo 'Hello, world!' ; //通常使用這個,比 print 少一個字元
    print 'Hello, world!' ;
?>

或者

<?=
 "Hello World!"
?>

Pike

#!/usr/local/bin/pike
int 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

#!/usr/bin/env python

print ( "Hello, world!" )

REXX

say "Hello, world!"

Ruby

#!/usr/bin/ruby

puts "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;

或者(SQL)

print 'hello,world!'


Tcl

#!/usr/local/bin/tcl

puts "Hello, world!"

TScript

? "Hello, world!"

Turing

put "Hello, world!"

UNIX-style shell

程序中的/bin/sh可改为您使用的shell

#!/bin/sh

echo 'Hello, world!'

bc

#!/usr/bin/bc -q
print "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++和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 scalefont
font setfont
100 100 moveto
(Hello World!) show
showpage

XAML

 <Page


  xmlns ="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, )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值