Hello, World! 라는 문자열을 출력하는 프로그램은 대부분의 언어를 배우는 첫걸음이 되어준다.
----
누가 제일 처음 HelloWorld 를 만들었을까. 어떻게 모든 언어의 입문서에 빠지지 않는 예제가 된것일까.
이미 이 예제가 나올때부터 '프로그래밍이란 현실세계에 대한 가상세계로의 모델링' 이라는 개념을 들고 온 것이 아닐까. 새로운 세상에 대한 노크. 아. 멋지도다;
예전에 CACM 에서는 OO Language (Java 등)에서 C 스타일의 HelloWorld 소스를 예로 드는 점에 관련하여 OO 적이지 못한 예라는 논쟁이 있기도 했다는.
----
누가 제일 처음 HelloWorld 를 만들었을까. 어떻게 모든 언어의 입문서에 빠지지 않는 예제가 된것일까.
C++ version ¶
~cpp #include <iostream> using namespace std; int main() { cout << "Hello, World" << endl; return 0; }
Java version ¶
책에 처음 나오는 예제
~cpp public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }권장 예제
~cpp 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 - Template version ¶
~cpp <?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 ¶
~cpp #include <windows.h> int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int nCmdShow) { MessageBox (NULL, "Hello, World!", "Message", MB_OK); return 0; }
MFC version ¶
~cpp // ------------- Hello.h ------------- #include "resource.h" class CHelloApp : public CWinApp { public: CHelloApp() { } public: virtual BOOL InitInstance(); }; // ------------- Hello.cpp ------------- #include "stdafx.h" #include "Hello.h" CHelloApp theApp; BOOL CHelloApp::InitInstance() { AfxMessageBox("Hello World!"); return FALSE; }
C# version ¶
~cpp using System; namespace HelloWorld { class HelloWorld { static void Main() { Console.WriteLine("Hello World!"); } } }
VB.NET version ¶
~cpp Module HelloWorld Sub Main() Console.WriteLine("Hello World!") End Sub End Module
J# version ¶
~cpp package HelloWorld; public class HelloWorld { public static void main() { System.Console.WriteLine("Hello World!"); } }
Managed Extension C++ version ¶
~cpp #using <mscorlib.dll> using namespace System; int main(void) { Console::WriteLine("Hello World"); return 0; }