코딩에 대한 진입폭이 점차 낮아지면서
코딩을 도전하시는 분들이 많이 늘어났습니다.
대게 상대적으로 쉬운 언어,
심지어는 언어가 없는 블록코딩으로
간단한 프로그램을 구현하시는 분들도 계십니다.
그런데 여기서 이상한 게 있습니다.
컴퓨터는 0과 1밖에 이해하지 못한다고 들었습니다.
그런데 어떻게
그림이나 글자로된 코드를 이해하는 걸까요?
우리가 쓴 코드를 컴퓨터가 이해하도록 만드는 도구.
바로 컴파일러입니다.
컴파일러는 한마디로
'번역가'라고 보시면 될 것 같습니다.
우리가 넷플릭스로
해외 드라마나 영화를 즐길 수 있는 이유.
영어를 비롯해서
일본어,중국어,아랍아,배트남어,스페인어 등
세계 각자의 언어로 된 영상물을 이해할 수 있는 이유.
바로 자막이 있기 때문입니다.
번역가들이 언어를 해석한 다음
보기 좋게 자막을 달아주기 때문에
우리들은 다른 언어로된 영상물을 이해할 수 있습니다.
2022.01.26 - [노베이스도 이해하는 공학이야기] - 로우레벨,하이레벨?저급언어,고급언어?대체 기준이 뭔가요?
프로그래밍이 진행될 때
컴파일러는 동시통역을 해줍니다.
동시통역가가 서로 다른 언어권의 사람들이
서로 대회할 수 있게 해준다면
컴퍼일러는 컴퓨터와 사람의 소통을 가능하게 만들어줍니다.
프로그래밍이라는 게 처음 세상에 등장했을 때는
전통적으로 0과1만을 입력해서
컴퓨터를 다뤄야합니다.
그게 바로 기계어라고 부르는
기계가 알아듣는 언어죠.
근데 이렇게 프로그램 작업을 하면
컴퓨터는 좋긴한데
사람들이 작업하는데 불편한 점이 이만저만 아닙니다.
내가 짠 코드를 다른 사람과 공유해야하는데
이 기계어 자체가 워낙 까다로워서
이걸 제대로 이해하는 사람도 드물지,
거기에 문법이 복잡해서 다른 사람이 쓴 코드를
제대로 이해하기도 어렵지.
등등 어려운 점이 한 둘이 아니었습니다.
그래서 사람들은 생각했습니다.
'사람이 작업하게 편한 언어를 만들고
이를 컴퓨터 언어로 해석해주면 어떨까?'
그렇게 C,파이썬 등이 생겨났고
점점 사람이 다루기 쉬운 언어들을
'고급언어'라고 부르면서
많은 사람들이 프로그래밍을 접하게 되었습니다.
물론 사람이 쓰기 쉬운 만큼
단점도 존재합니다.
바로 속도가 느리다는 것.
곧바로 기계어로 컴퓨터에 전달하는 것과 달리
'해석'의 과정을 거치기 때문에
그 과정에서 속도가 차이가 납니다.
여러분들이 미국인과 대화할 때
직접 영어로 소통하는 것과
파파고 번역기를 쓰면서 소통하는 것
둘의 차이를 생각하시면 이해가 와닿을 것입니다.
예전에 파이썬은
C언어와 비교했을 때 답답하게 느리다고 평가받았지만
점차 컴파일러가 향상되면서
파이썬도 C언어에 크게 뒤쳐지지 않으면서
사용하기 편한 언어로 자리를 잡았습니다.
이 글을 쓰다가
HTML을 잠시 열어봤습니다.
글 하나를 쓰는데에도 저렇게 정체모를
컴퓨터 언어들이 있습니다.
이 언어들을 컴퓨터가 조리있게 해석해서
우리는 완성품인 글을 보고 있는 거죠.
우리의 일상과 떨어져있을듯하지만
컴파일러가 있었기에
IT기술이 있는 게 아닐까요?
'완벽한 백신'은 왜 여전히 나오지 못하는 걸까? (0) | 2022.09.13 |
---|---|
주파수가 뇌를 자극?집중력향상과 연애운까지??? (1) | 2022.09.05 |
헬스장 인바디는 어떤 원리로 체성분을 측정할까? (2) | 2022.06.06 |
프로그램 최적화는 왜 중요할까? (0) | 2022.05.16 |
왜 사람이 붐비는 지하철에서는 와이파이가 느리게 갈까? (1) | 2022.05.15 |
댓글 영역