12개 언어의 Hello World 프로그램

Hello World 프로그램

“Hello World” 프로그램은 문자열을 그대로 화면에 출력하는 프로그램입니다. 프로그램이라고 하기엔 매우 짧지만 많은 보통 새로운 언어를 배울 때 처음으로 작성합니다.

숙련된 프로그래머도 새로운 프로그래밍 언어나 프레임워크 등을 시작할 때 Hello World 로 테스트를 진행하는 경우도 많습니다.

Hello World 프로그램

많은 경우 CLI 환경(Command Line Interface)에서 문자를 출력하지만 GUI 프로그램(윈도우창 같은), 웹브라우저, 임베디드 시스템의 LCD도 사용합니다.

또 음성합성 프로그램에서도 사용합니다.

프로그래밍 튜토리얼에 최초로 Hello world 를 도입한 것은 C언어의 창시자 데니스 리치로 알려져 있습니다. 그의 동료 커니핸과 함께 저술한 The C Programming Language 에서는

The only way to learn a new programming language is by writing programs in it. The first program to write is the same for all languages:

Print the words
hello, world

The C Programming Language

새로운 프로그래밍 언어를 배우는 것은 그 언어로 프로그램을 쓰는 것이다. 첫번째 작성할 프로그램은 모든 언어에서와 같다. 단어 hello, world 를 출력한다.

Hello World 프로그램을 작성하는 것은 단순히 모니터에 글자 몇개를 출력하는 이상의 의미가 있습니다.

출력에 성공하면 소스코드에디터(통합개발 환경, IDE), 컴파일러, 런타임 환경이 정상적으로 작동하는 것을 확인할 수 있습니다.

어떤 언어라도 개발환경을 설치하고 환경변수 등 설정을 하는데 까지 시간과 노력이 많이 듭니다. 그래서 최대한 빨리 무언가 결과물을 볼 수 있도록 간단한 코드를 작성합니다.

Hello World 가 출력되면 개발환경이 정상적으로 작동하는 것을 알 수 있습니다.

언어마다 코드가 다르므로 하나씩 알아보겠습니다.

명령프롬프트 – 윈도우10 CMD

윈도우의 CMD 명령프롬프트입니다. 윈도우10에 기본 내장된 프로그램이며 echo 명령어는 배치 스크립트를 사용할 수 있습니다.

C:\Users\masterkay>echo hello world
[실행결과]
hello world

C언어

#include <stdio.h>

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

C++

C++ 는 C언어를 기반으로 객체지향 프로그래밍 방식을 추가한 언어입니다. 현재는 C와는 전혀 다른 언어로 봐도 무방합니다. 함수가 아니라 cout 객체의 연산자 << 를 사용합니다. hello world 프로그램에 객체를 사용하므로 C와 비슷하다고 듣고 온 사람들을 긴장시킵니다.

#include <iostream>

int main()
{
    std::cout << "Hello World!\n";
}

C#

C#은 C샵이라고 합니다. MS 비주얼스튜디오에서 C# 콘솔 프로그램 프로젝트를 생성하면 자동으로 아래와 같은 코드를 만들어 줍니다.

C#은 .NET 닷넷 프레임워크의 일부분으로 MS사가 자바를 뛰어넘을 목적으로 야심차게 개발한 언어입니다. CLR(Common Language Runtime)이라는 환경에서 실행합니다.

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}
\

자바(Java)

말이 필요없는 객체지향 프로그래밍 언어의 최강자 자바입니다. 기본 API도 클래스가 매우 세분화되어 있기 때문에 Hello World 를 호출하는 메소드가 길어 보입니다.

인텔리제이를 사용하면 sout 이라는 자동완성 기능이 있어서 수고를 줄여줍니다. 자바는 JVM (Java Virtual Machine) 이라는 환경에서 실행합니다.

package com;

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

자바스크립트

자바 스크립트는 웹 서비스를 개발하는 사람들에게 기본이 되는 프로그래밍 언어입니다. 웹브라우저의 안과 밖 등 다양한 환경에서 사용이 가능한데요. 자바스크립트는 만능 언어로 알려져 있습니다. 웹브라우저, 경고창, 콘솔까지

웹브라우저의 경고 창에 출력

  <script>
    alert( 'Hello, world!' );
  </script>

콘솔 창에 출력

웹브라우저 개발자 도구 console 환경에서 사용가능합니다.

console.log("Hello, World!");

웹브라우저 body 에 출력

document 객체를 사용하여 body에 출력합니다.

document.write("Hello World!");

HTML

HTML 은 Hyper Text Markup Lanuage의 약자로 제어기능이 있는 프로그래밍 언어는 아니지만 웹브라우저에 Hello World를 출력할 수 있습니다.

<html>
<body>Hello, world!</body>
</html>

파이썬

4차산업의 필수 언어로 각광받고 있는 파이썬입니다. 파이썬은 웹사이트 제작부터 머신러닝까지 다양한 목적으로 사용할 수 있습니다.

문법이 쉬운 것으로 유명합니다.

print("Hello Wolrd!")

역시 영어로 표현하면 사람의 말이 될 정도로 군더더기가 없는 문법입니다. Basic 과도 비슷하지만 파이썬에 비교할 대상은 아니죠.

PHP

php 도 웹개발을 위한 언어입니다. html 파일에 body 내부에 아래 코드를 넣으면 작동합니다.

<?php
echo "Hello World";
?>

Ruby

루비는 일본인 프로그래머 마츠모토 유키히로가 만든 객체 지향 프로그래밍 언어입니다. 동적 타이핑의 스크립트 방식인 점에서 파이썬과 유사합니다.

창시자 마츠모토 유키히로는 스트레스 없는 쉬운 프로그래밍을 지향하여 설계했다고 합니다. 문법도 쉽습니다.

puts 'Hello, world!'

Microsoft Small Basic

마이크로 소프트사의 스몰베이직입니다. 7세 아동부터 107세 노인까지 배울 수 있는 세상에서 가장 쉬운 언어 중의 하나입니다.

이 프로그래밍 언어의 목표는 스크래치 같은 블록코딩 이후 학생들이 텍스트 베이스 코딩으로 넘어가는 것을 돕는 것입니다.

TextWindow.WriteLine("Hello World!")

Basic

베이직이라고 부릅니다. 베이직은 코모도어 64, 애플2 등 8비트 컴퓨터에 기본으로 장착된 프로그래밍 언어였습니다. 현재 대다수 컴퓨터는 64비트이기 때문에 WinApe 등의 8비트 머신 에뮬레이터를 사용하여 실행해 볼 수 있습니다.

print "Hello World"

어셈블리어 (NASM)

어셈블리어는 기계어에 1대1 대응할 수 있는 저수준(low level) 언어입니다.

CPU의 레지스터를 직접 조작하고 문자열 처리를 해야하기 때문에 가장 길다고 할 수 있겠네요. 사실 저 위의 다양한 언어들도 결국은 기계어로 변환되서 실행됩니다.

그러니까 어셈블리어를 알게되면 다른 언어들의 메카니즘도 이해할 수 있습니다.

section	.text
    global _start
	
_start:
   mov	edx,len
   mov	ecx,msg
   mov	ebx,1
   mov	eax,4
   int	0x80
	
   mov	eax,1
   int	0x80

section	.data
    msg db 'Hello, world!', 0xa
    len equ $ - msg

요약

다양한 언어의 Hello World 프로그램을 둘러봤습니다. 언어의 첫인상이 끝까지 가기 때문에 한번쯤 살펴보는 것은 의미있습니다.

프로그래밍 튜토리얼

파이썬 튜토리얼 – 스무디코딩 (smoothiecoding.kr)

외부참조문서

Windows 및 Mac용 Visual Studio 2019 다운로드 (microsoft.com)

Download Java for Windows

Welcome to Python.org

Small Basic (smallbasic-publicwebsite.azurewebsites.net)

NASM

Leave a Comment