2.1 hello, world

hello, world 혹은 헬로월드

#include <stdio.h>

main( )
{
        printf("hello, world\n");
}

브라이언 케니건이 The C Programming Language (K&R) 서적 (1974) 에서 작성한 hello, world 프로그램.

위와 같이 정석은 hello, world 지만 뭐 애초에 stdout 을 사용해본다는데 의미가 있기 때문에 helloworld, Hello World! , 나 아이돌 그만둘래!, asdfsdfdsf 등의 여러가지 구현 방식을 볼 수 있다.

프로그래밍 언어를 연습하기 위해 최초로 작성해보는 프로그램. 프로그래밍 언어 자체보다도 개발환경을 제대로 인스톨했는지, IDE를 제대로 다룰 수 있는지, 혹은 컴파일 및 결과물 실행 방식을 제대로 이해하고 있는지가 더 관건인 테스트 프로그램에 더 가깝다.

당시의 개발환경으로는 초보자에게 쉽지않은 과제였다. 저 최초의 헬로월드를 구현하기 위해선 우선 1) 운영체제를 설치할 수 있어야 했고, 2) C 를 설치할 수 있어야 했으며, 3) 그리고 libc 와 연동시켜서 컴파일하는 등의 환경 설정을 해야했다. 뭐 빌드가 쉬운 일이 아니었던 예전의 이야기이다. 요즘의 언어들은 아예 애초에 기본으로 운영체제 내부에 기본 설치되어 있는 경우가 많고, 그렇지 않더라도 패키지매니저 등으로 매우 간단히 설치할 수 있다. 프로그램 자체도 그냥 대화창 열어서 한줄치면 interactive 하게 결과 나온다.

Esoteric language 에 한정해서 그 기괴함을 알리기 위한 광고효과로 쓰기도 한다.

프로그래밍 언어 뿐 아니라 아주 기초적인 동작을 확인하는 테스트 프로그램들도 stdout 으로 결과출력하는 식으로 동작하기에 역시 헬로월드 프로그램으로 불리기도 한다. 가령 ESA 의 로제타가 구동 완료 메세지를 헬로월드라고 트위터에 전송하는 것으로 시행하였다.

개발 환경과 생산성이 좋아진 요즘에는 단순한 stdout 출력은 잘 쓰이지 않는다. 가령 3분만에 게시물 만들기 같은 식으로 과거와 달리 엄청난 생산성을 보여주는 프로그램들이 이를 대체하고 있다. 하지만 눈에 보이는 결과물을 통해 소프트웨어에 익숙해지게 한다는 본질은 변하지 않는다.