[Chapter #0] 프로그래밍을 시작하시는 분들을 위한 글.

in #java7 years ago (edited)


자바를 공부하기에 앞서..


언어를 이용하여 대화를 합니다. 그런데, 언어가 다르다면?

만약에 우리가 오지로 여행을 떠난다고 가정을 해보겠습니다. 오지에는 오지에 옛~날부터 살고 있던 원주민들이 있다고 가정해 보겠습니다. 이들은 그들만의 언어를 만들고, 생활을 해 왔습니다. (즉, 자기네 언어 말고는 다른 나라의 언어는 모르는 상황입니다.)

 이제, 우리는 그들(원주민)과 대화를 해보겠습니다.  일단 먼저 대화를 하려면 그들과 대화 할 수 있는 수단인, 그들의 언어를 알아야 할 것 같습니다.

여러분들은 이제 그 오지에 정착하면서 그들의 언어를 배우기 시작합니다. 시간이 많이 흐르고, 우리는 그들의 언어를 익혀서 익숙하지는 않겠지만 더듬더듬 말은 해볼 수 있을 것 같습니다.

자, 시간이 얼마나 흘렀을까요? 또는, 제대로 그들의 언어를 모조리 파악 했다고 자신 할 수 있겠습니까? 대화가 과연 원활하게 계속 이어질까요?


통역사를 써볼까?

마침 그 오지의 원주민의 언어를 오랫동안 공부해서 능숙하게 원주민의 말을 사용하는 통역사가 있다고 합니다.  그렇다면 여기서 우리가 떠올릴 수 있는 가장 좋은 방안은 바로 통역사를 쓰는 방법이 제일 간단하고 좋을 것 같네요.

통역사를 쓴다면 우리는 통역사에게 우리가 하고 싶은 말을 우리 말로 하고, 통역사는 우리가 하고자 하는 말을 상대방에게 잘 전달 해 줄 것입니다. 훨씬 빨리,  그리고 정확하게 원주민과 말을 할 수 있겠네요!

컴퓨터와 대화를 해 보자.

Preview
1) 컴퓨터와 대화를 할 수 있도록 우리는 프로그래밍 언어를 사용한다.
2) 컴퓨터는 사람이 사용하는 고급언어 (프로그래밍 언어 )를 이해 할 수 없다.
3) 프로그래밍 언어를 번역기(컴파일러)를 통해 컴퓨터가 이해 할 수 있는 저급언어(기계어)로 만든다.
 

자, 지금까지 오지에 살고 있었던 원주민에 빗대어 이야기를 해봤습니다. 지금부터는 컴퓨터에 빗대어 이야기 해 보겠습니다. 이제 우리는 컴퓨터와의 대화 를 하기 위해 [프로그래밍 언어 ]를 배워 볼까 합니다.  [프로그래밍 언어]란 컴퓨터와 대화 할 수 있는 사람이 할 수 있는 '언어' 라고 생각 합시다.

우리가 배울 수 있는 프로그래밍 언어의 종류는 굉장히 여러가지가 있습니다. 우리가 알아볼 java와 더불어 C, C++, C#, Python 등등 여러가지 언어들이 존재 하고 있죠. 이들은 사람이 할 수 있는 언어이기 때문에 고급언어(High-Level Language) 라고 이야기 합니다.

결론적으로 고급언어는 프로그래머가 컴퓨터에게 이야기를 하기 위한 언어라고 볼 수 있겠죠? 그리고 사람이 사용하는 언어 이기 때문에 사람만 알아 볼 수 있습니다. 이 고급언어로 컴퓨터에게 할 말들을 작성한 것을 소스코드(또는 그냥 코드) 라고 합니다.

그렇다면, 컴퓨터가 알아 들을 수 있는 언어에 대해서 이야기 해보겠습니다. 컴퓨터는 위에 이야기한 고급언어는 알아 들을 수가 없습니다. 대신 컴퓨터는 기계어(또는 저급언어 - Low Level Language) 라고 불리우는 0과 1로 이루어진 2진수로 이루어진 언어만을 사용 합니다.

저희가 컴퓨터의 언어(기계어)를 사용하기란 참 어려운 일입니다. 그래서 컴퓨터와 대화하기위한 고급언어를 컴퓨터가 사용하는 언어인 기계어로 통역하기 위한 과정이 필요 할 것 같네요. 이 때 통역하는 과정을 컴파일(Compile), 통역하는 프로그램을 컴파일러(Compiler) 라고 이야기 합니다.

컴파일러가 존재 하지 않을 때 compiler
컴파일러를 사용한다면? compiler

컴퓨터는 컴파일러에 의해서 기계어로 번역이 된 저급언어만을 이해 할 수 있습니다. 이러한 기계어들이 어떠한 목적을 위하여 만들어 졌을 때(게임, 인터넷, 동영상 플레이어 등등) 우리가 흔히 이야기 하는 프로그램이라고 이야기 합니다.

우리는 지금부터 Java라는 프로그래밍 언어를 이용하여 컴퓨터와 대화를 할까 합니다.


Sort:  

자바 중요하죠 ㅎㅎ 앞으로의 후속 글들 기대하겠습니다

헉...자바라니! 저도 자바기초 포스팅을 하고있는데 너무 부족할거같아서 걱정입니다ㅠㅠ 앞으로 더욱열심히 해야겠습니다 좋은글 기대할게요!

좋은글 기대하겠습니다~!

좋은 글 감사합니다~ 팔로우하고 갈게요 ! 맞팔해주실꺼죠?

우와 프로그래밍 배우고 싶었는데 그림이 눈에 딱 들어오네요! 앞으로 있을 포스팅 기대하며 업보팅&팔로우 하고갑니다