Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

HelloWorld

From ZeroWiki

Hello, World! 라는 문자열을 출력하는 프로그램은 대부분의 언어를 배우는 첫걸음이 되어준다.


누가 제일 처음 HelloWorld 를 만들었을까. 어떻게 모든 언어의 입문서에 빠지지 않는 예제가 된것일까. 프로그래밍의 첫걸음으로 HelloWorld를 출력하는 관습은 1978년에 출판된, 브라이언 커니핸과 데니스 리치가 쓴 "The C Programming Language"라는 책에서 비롯되었다.

이미 이 예제가 나올때부터 '프로그래밍이란 현실세계에 대한 가상세계로의 모델링' 이라는 개념을 들고 온 것이 아닐까. 새로운 세상에 대한 노크. 아. 멋지도다;

예전에 CACM 에서는 OO Language (Java 등)에서 C 스타일의 HelloWorld 소스를 예로 드는 점에 관련하여 OO 적이지 못한 예라는 논쟁이 있기도 했다는. ^^

관련 링크

언어별 Hello World 예제

C version

#include <stdio.h>

int main(void)
{
    printf("Hello, World!n");
    return 0;
}

C++ version

#include <iostream>
using namespace std;

int main() {
    cout << "Hello, World" << endl;
    return 0;
}

Python version

print "Hello, World!"

Perl version

#/usr/bin/perl

print "Hello World!n";

Ruby version

puts "Hello World!"

Ruby version (OOP)

class String
    def say
        puts self
    end
end
"Hello, world!".say

Java version

책에 처음 나오는 예제

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

권장 예제

public class HelloWorld{
    public static void main(String[] args){
        Mouth mouth = new Mouth();
        mouth.say("Hello World!");
    }
}
class Mouth{
    public void say(String what){
        System.out.println(what);
    }
}

PHP Web version

<?php 
    echo "<H1>Hello, World!</H1><BR>n"
?>

PHP Web - Template version

<?php
    include_once "class.CHTemplate.inc";
    $tpl = CHTemplate();
    $tpl->load_file("template_hello.tpl");
    $tpl->register("MessageString", "Hello, World!");
    $tpl->pprint();
?>

----
template_hello.tpl

<HTML>
<BODY><TABLE BORDER=1><TR><TD>
<H1> {MessageString} </H1>
</TD></TR></TABLE></BODY>
</HTML>

Windows API version

#include <windows.h>

int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int nCmdShow)
{
    MessageBox (NULL, "Hello, World!", "Message", MB_OK);
    return 0;
}


Scheme version

(write "Hello World")

C# version

using System;

namespace HelloWorld
{
	class HelloWorld
	{
		static void Main()
		{
			Console.WriteLine("Hello World!");
		}
	}
}

VB.NET version

Module HelloWorld

    Sub Main()
        Console.WriteLine("Hello World!")
    End Sub

End Module

J# version

package HelloWorld;

public class HelloWorld
{
	public static void main()
	{
		System.Console.WriteLine("Hello World!");
	}
}

Managed Extension C++ version

#using <mscorlib.dll>

using namespace System;

int main(void)
{
    Console::WriteLine("Hello World");
    return 0;
}

Ada version

with Ada.Text_IO;
Procedure main is
begin
   Ada.Text_IO.Put_Line("Hello World!");
end main;