컴퓨터와 대화하는 방법
컴퓨터와 대화하는 방법
  • 강지희
  • 승인 2020.02.14 08:40
  • 조회수 2595
  • 댓글 0
이 기사를 공유합니다

'파이썬'은 배우기 쉽고 사용하기도 쉬운 프로그래밍 언어로 각광받습니다. 어느 운영체제에서나 사용이 가능하며 실무에 필요한 고급 라이브러리를 갖고 있어 기본 패키지만 설치해도 웬만한 작업은 다 처리할 수 있죠. 친밀한 프로그래밍 언어 파이썬은 만들어진 계기도 친밀하다고 알려졌습니다.

취미로 프로그래밍 언어를 만든 사람이다. 출처: Wikimedia Commons
취미로 프로그래밍 언어를 만든 사람이다. 출처: Wikimedia Commons

파이썬의 제작자이자 네덜란드의 공학자 귀도 반 로섬(Guido van Rossum)은 1989년 12월 심심한 크리스마스 휴가를 보내고 있었습니다. 로섬은 휴가 동안 재미있게 할 수 있는 무언가를 찾고 있었는데요. 로섬은 연휴로 연구실이 닫힌 상황에서 집에서 컴퓨터로 무료한 한 때를 보내다 예전부터 생각해보던 해석기를 만들기로 결심했습니다. 로섬이 취미로 시작한 이 작업은 파이썬을 완성시켰습니다.

 

이름의 유래도 독특합니다. 파이썬의 뜻을 살펴보면 일반적으로 독이 없는 뱀으로 먹이를 감싸서 압사시키는 커다란 뱀, 또는 그리스 신화에 등장하는 악마라는 의미로 나오는데요. 하지만 이 프로그래밍 언어의 이름은 그런 '중2병스러운' 의도로 만들어진 것이 아닙니다. 

이름 파이썬은 1970년대에 만들어진 영국 BBC 방송의 코미디 프로그램 <Monty Python's Flying Circus Moments>에서 유래했습니다. 이 프로그램은 굉장히 어색하고 이상한 행동의 사람들을 보여줘 굉장한 인기를 누렸는데요. 로섬은 이 프로그램의 팬이라서 자신이 만든 프로그래밍 언어에 파이썬이라고 지었습니다.

 

컴퓨터와 대화하기

디지털 신호는 0과 1로만 구성돼있다. 출처: pixabay
디지털 신호는 0과 1로만 구성돼있다. 출처: pixabay

사람에게 언어가 있듯이 컴퓨터에도 언어가 있는데요. 이 언어를 익혀 컴퓨터와 대화하는 일을 프로그래밍이라고 하고 프로그래밍을 하는 사람을 프로그래머라고 부릅니다. 디지털 신호라고 하면 무척 어렵게 생각할 수 있는데요. 디지털 신호는 0과 1로만 구성돼있습니다. 즉 0과 1이라는 숫자만으로 밥통에서 밥을 하고 냉장고에서 온도 조절을 할 수 있죠. 이와 같이 0과 1로 이뤄진 신호를 '디지털 신호'라 하고 0과 1을 이용해 프로그래밍하는 언어를 '기계어'라고 부릅니다.

 

하지만 기계어는 사람이 알아보기가 어렵고 명령어의 길이도 너무다 길어질 수밖에 없습니다. 그래서 0과 1의 숫자로만 이루어진 기계어를 사람이 보기 편하게 바꾸자고 해서 새로운 프로그래밍 언어가 만들어졌는데요. 바로 '어셈블리어'입니다. 어셈블리어는 기계어보다 쓰기 쉽습니다. 어셈블리어를 통해 프로그래머는 0과 1로 구성된 임의의 수열을 유의미한 이름으로 바꿀 수 있습니다. 예를 들면 다음과 같이 말이죠.

1000 1011 → MOV

개별 컴퓨터나 계통 컴퓨터는 각기 고유한 어셈블리어가 있습니다. 그래서 CPU에 따라 어셈블리어가 달라질 수 있습니다. CPU 내부에 어떤 구조와 레지스터를 갖는지 각각의 레지스터 이름은 어떻게 정의했는지에 따라 기계어와 명령어들이 달라지고 이에 따라 어셈블리어도 차이가 생길 수 있습니다. 어셈블리어는 CPU에 따른 차이점을 알아야 하며 가독성이 낮다는 단점을 갖고 있습니다.

고급 프로그래밍 언어들. 출처: flickr
고급 프로그래밍 언어들. 출처: flickr

어셈블리어의 한계를 극복하기 위해 만들어진 언어가 바로 고급 프로그래밍 언어입니다. 프로그래머는 점점 더 우리가 이해하기 쉬운 방식의 컴퓨터 언어를 고안해 냈는데요. 대표적인 예시가 바로 C언어, 자바, 파이썬입니다.

 

C언어는 1971년 미국의 벨 연구소에서 개발한 시스템 프로그래밍 언어입니다. C언어는 현장에서 일하는 프로그래머가 개발한 덕분인지 프로그램을 간결하게 쓸 수 있다는 장점이 있습니다. 덕분에 시스템을 제어하는데 가장 강력한 언어로 꼽히며 유닉스 운영체제의 대부분이 이 언어로 개발됐습니다.

 

자바는 C언어에 비해 간략하고 쉬우며 네트워크 기능 구현이 용이하다는 장점이 있습니다. 덕분에 그림을 표현하는데 적합하고 인터넷 환경에서 가장 활발히 사용되는 프로그래밍 언어입니다. 파이썬은 C언어를 기반으로 한 고급 프로그래밍 언어입니다. 명령 코드가 짧아 문법이 다른 프로그래밍 언어에 비해 쉽고 표현하는 구조도 사람이 대화하는 형식이라 초보자도 쉽게 배울 수 있다는 장점이 있습니다. 

 

프로그래밍 언어가 어렵다면?

 

프로그래밍 언어 자체가 어렵게 느껴진다면 ‘블록형 프로그래밍 언어’로 기초를 쌓아도 좋습니다. 블록형 프로그래밍 언어는 기존 프로그래밍 언어의 복잡함을 비교적 단순하게 표현합니다. 마치 블록을 조립하듯이 생각의 순서에 따라 프로그래밍 블록을 조합하는 방식이기 때문이죠.

스크래치 홈페이지. 출처:
스크래치 홈페이지. 출처: flickr

가장 대표적인 블록형 프로그래밍 언어는 '스크래치'입니다. 스크래치는 미국 MIT에서 개발한 교육욕 프로그래밍 언어인데요. 전문적인 지식 없이도 쉽게 프로그래밍을 배울 수 있도록 만들어졌습니다. 스크래치는 150여개 이상의 국가에서 활용하고 있으며 한국어를 포함해 40여개 이상의 언어를 지원합니다. 한국에서도 '엔트리'라는 블록형 프로그래밍 언어가 개발됐습니다. 엔트리는 현재 한국어, 영어, 베트남어로 개발됐는데요. 스크래치에 없는 블록이나 메뉴를 개발해 결과물을 보다 풍성하게 표현할 수 있다는 장점이 있습니다. 

 

##참고자료##

 

  • 송아론, k프로덕션 <코딩맨>. 다산어린이
  • 여인춘 <임베디드 프로그래밍 무작정 따라하기>. 길벗
  • 한국 데비안 사용자 모집 <리눅스 서버 최강자 데비안 GNU/리눅스>. 한빛미디어
  • 제이 데이비드 볼터 <튜링스 맨 : 컴퓨터 시대의 문화와 논리>. 커뮤니케이션 북스


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.

  • 충청남도 보령시 큰오랏3길
  • 법인명 : 이웃집과학자 주식회사
  • 제호 : 이웃집과학자
  • 청소년보호책임자 : 정병진
  • 등록번호 : 보령 바 00002
  • 등록일 : 2016-02-12
  • 발행일 : 2016-02-12
  • 발행인 : 김정환
  • 편집인 : 정병진
  • 이웃집과학자 모든 콘텐츠(영상,기사, 사진)는 저작권법의 보호를 받은바, 무단 전재와 복사, 배포 등을 금합니다.
  • Copyright © 2016-2020 이웃집과학자. All rights reserved. mail to contact@scientist.town
ND소프트