본문 바로가기

IT 기본

[IT 지식] 01. 프로그래밍 언어란, 개발자란

0.
IT 업계에 들어온지 꽤 시간이 지났지만

부끄럽게도 아직 기초가 부족한 것 같아

진짜 기초 중의 기초를 정리하고자 

 

 

1.
프로그래밍 랭귀지(program language), 프로그래밍 언어 란 무엇일까?

예를 들면 자바, 파이썬, 루비, c언어 .... 등을 일컫는데...
이 세상엔 아래 사진보다 더 다양한 프로그래밍 언어들이 존재하기 때문에 처음에 프로그래밍에 입문했을 때

프로그래밍 언어가 뭔지 헷갈렸다.

 

2.
먼저 인간과 컴퓨터의 사이를 알아보자.
인간은 컴퓨터를 만들었다..
그리고 컴퓨터에게 일을 시키고 싶었다..
그러나 이 둘의 언어가 달라서 인간이 컴퓨터에게 일을 시킬 수가 없었다..
서로 커뮤니케이션이 안되었던 거지..!(왜 대화가 안되는 거야 OTL...)

 

인간은 인간의 언어와 닮은(=영어로 된) Python, C언어, R, JAVA 등등의 프로그래밍 언어로 이야기를 하고
컴퓨터는 오로지 0과 1로만 이야기를 했다..

그래서 사람들은 인간의 언어(Python, R, Ruby, 등등의 다양한 언어)를 ---> 컴퓨터 언어(0과 1로 나타내는 기계어)로 번역해주는 소프트웨어, 컴파일러(compiler)를 만들었다.
그래, 컴파일러는 번역가로 생각하면 된다.
컴퓨터는 컴파일러를 통해 번역된 0과 1로 구성된 내용을 통해서 인간이 시킨 일을 할 수 있게 된다.
아래 그림을 참고해 보자.

 


3. 
그렇다면 프로그래밍 언어는 왜 이렇게 다양할까?
그 이유는 프로그래밍 언어마다 능력이 다 다르기 때문이다.
사람도 그렇잖아. 모두가 잘할 수 있는게 다르듯이 프로그래밍 언어 또한 잘할 수 있는 것이 다 다른거지.
한때 내가 배웠던  R 언어는 통계 계산과 결과 그래픽을 생성하는데 특화된 언어다.

 

4.
프로그래머는 뭐 하는 사람일까?

예를 들면,
화장품을 사려고 올리브영 홈페이지에 들어갔다.
선크림을 검색하면 선크림이 종류별로 화면에 나타나고,
선크림을 선택해서 구매버튼을 누르면 로그인을 하라고 창이 뜬다.
로그인을 하면 컴퓨터 화면은 구매자 정보를 입력하는 창으로 바뀐다.
위와 같은 예시만 해도 컴퓨터가 처리하는 일들은 굉장히 많다.

프로그래머들은 컴퓨터한데 일을 시키기 위해서 위와 같은 일련의 과정에 대한 문서를 짜는 사람이다.
아래와 같은 문서를...(몇 줄의 코드를 써야 완성이 되는 것인지...ㅠ)

 

다시 말하자면
프로그래머들은 
인간의 언어와 닮은 랭귀지(예를 들면 C언어, 파이썬, 자바, 루비 ..)를 가지고
컴퓨터한데 일을 시키기 위한 문서를 작업하는 사람들이다.

 

 

5.
아래 사진은 R 언어로 작성된 문서다.
저기 사진에서 초록색 글자는 함수, 또는 그 함수에 속한 옵션인데,
R언어에는 굉장히 정말정말 많은 함수들이 존재한다.
그렇다면 프로그래머들은 저 많은 함수들을 다~~~~ 외워야만 하는 걸까?

 

결론은.... 아니다. 다 외울 필요없다.
물론 그럴 수도 없고...
이런 불편함을 해소 하기 위해 프로그래머들은 IDE(통합 개발 환경)와 함께 일을 한다.


6.
R을 쓰신 user 분들이라면 R언어를 설치하고 다음으로 R studio도 설치하실텐데
이 R studio가 바로 IDE, 통합 개발 환경이다.

이 IDE가 어떤 특징들을 갖고 있냐면,
코딩에 필요한 모든 코드들을 IDE가 가지고 있다.
그렇기 때문에 R 을 쓰시는 프로그래머가 IDE에서 'pr'을 입력하면
'pr'로 시작하는 모든 함수를 자동완성으로 보여주어 코드 작성을 수월하게 해준다..

* PS
R studio는 IDE(통합개발환경)으로 설치 시 R 언어를 기계어(0과 1로 된 언어)로 바꿔주는 컴파일러가 자동 설치된다

 

 

7.

이번 포스팅에서는 

-.프로그래밍 언어가 무엇인지
- 프로그래머들은 어떤 일을 하는지 알아 보았다