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

HelloWorld: Difference between revisions

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


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

Revision as of 16:39, 17 January 2011

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;
}

MFC version

// ------------- 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;
}

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;