Hello World

Article on other languages:

Hello, World! 程序是一个在计算机屏幕上,只印出 "Hello, World!"(意为「世界,你好!」)這一行字串的计算机程序。像這樣簡單的程序,通常是计算机程序设计语言的初学者,在学习编写時的第一个程序。它还可以用来确定该语言的编译器程序开发环境,以及运行环境是否已经安装妥當。

把印出 "Hello World" 作为第一个範例程式,现在已经成为程式語言學習的传统。该程序由 Brian Kernighan 和丹尼斯·里奇写的计算机程序设计教程《C语言程序设计》(The C Programming Language)而廣泛流傳;但這本書並不是 "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 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!") %>
或者:
<% strHelloWorld = "Hello, world!" %>
<%= strHelloWorld %>
或者簡單地寫成:
<%= "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(int argc, char* argv[])
{
   printf("Hello, world!\n");
   return 0;
}

或者:

#include <stdio.h>
int main(void)
{puts("Hello, world!");}

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()
    {
        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(*,10)
10  FORMAT('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!");
%>

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

Python 3.0 之前

#!/usr/local/bin/python
print "Hello, world!"

Python 3.0 及之后

#!/usr/local/bin/python
print("Hello, world!")

REXX

say "Hello, world!"

Ruby

#!/usr/bin/ruby
print "Hello, world!\n"

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!'

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;

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!'


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!'

用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");

用于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!");
    }
  }
 }

外部链接

Article keywords: hello kitty world, from hello mac os world x, hello cruel world, java hello world, hello world lyric, ham hello in life radio world, hello in vc world, hello scam world, hello kitty cutie world,

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net