d라이브러리









컴퓨터언어를 모르면 PC의 진수를 만끽할 수 없다. 어떤 언어를 배워야 컴퓨터의 묘미를 터득할 수 있을까?

퍼스널컴퓨터(PC)의 용도는 고정되어 있는 것이 아니고 사용하기에 따라 달라진다. 사무실에서 문서를 작성하거나 자료를 관리하기도 하고, 연구소에서 실험 데이터의 처리에 사용되기도 하며, 아이들의 방에서 게임의 열기를 발산하기도 한다.

그런데 일반인들에게는 잘 알려지지 않은 PC의 묘미가 있으니 그것이 바로 프로그램(Program)을 작성하는 일, 프로그래밍(Programming)이다. 프로그램은 컴퓨터를 사람의 마음대로 조정하기 위하여 작성한 '논리적 흐름'이다. 프로그램이 있어야 컴퓨터를 움직여서 원하는 결과를 얻어낼 수 있는 것이다.
대형컴퓨터만 존재하던 시절에는 프로그래밍을 해볼 수 있는 사람은 극히 소수였다. 그러나 지금은 PC 보급의 대중화로 누구나 프로그래밍을 배울 수 있다. 많은 사람들이 단순히 재미로 프로그래밍에 열중하기도 하고, 쓸모있는 프로그램을 만들기 위해서 밤을 새우기도 한다.

언어로 컴퓨터를 제어

컴퓨터에서 프로그램을 작성하려면 어떻게 할까. 컴퓨터는 나름대로의 언어를 가지고 있다. 이것을 기계어(machine language)라고 부른다. 기계어만 알아들을 수 있는 컴퓨터에게 사람의 의사를 체계적으로 전달하기 위해 인공적인 언어가 필요하다. 이것을 프로그램 언어(program language)라고 한다. 인간에게 여러 가지의 언어가 있듯이 컴퓨터에도 여러 종류의 프로그램 언어가 있다. 컴퓨터 사용자가 그의 국적에 따라 프로그램 언어를 선택하는 것이 아니라 프로그램을 작성하는 목적에 따라 알맞는 프로그램 언어를 고르게 된다. 이 언어의 문법에 맞게 컴퓨터에게 내릴 지시사항을 만드는 일이 프로그래밍이다.

프로그램 언어의 문법에 맞게 쓰여진 프로그램을 컴퓨터가 이해할 수 있는 형태로 번역해주는 것이 프로그램언어 소프트웨어다. 인간의 언어에 방언이 있듯이 같은 종류의 프로그램 언어에도 조금씩 다른 프로그램 언어 소프트웨어가 존재한다. PC에서 프로그램을 작성하려면 특정 프로그램 언어 소프트웨어를 사용해야 한다.

새로운 언어를 배운다는 것은 힘들다. 다행스럽게도 컴퓨터 프로그램 언어는 인간의 언어와 달리 규칙의 예외가 없기 때문에 개념만 이해하고 문법책과 사전만 가지고 있으면 곧 프로그램을 만들수 있다.

그런데 무엇때문에 PC사용자가 프로그램 언어를 배워야 한단 말인가. 그것은 워드프로세서나 데이터베이스 소프트웨어와 같이 특정 용도에 맞추어 제작된 패키지(package) 소프트웨어들은 사용자들의 요구를 완전하게 만족시킬 수 없기 때문이다. 사용자의 요구를 가장 잘 아는 것은 그 자신이므로 그 요구에 맞는 프로그램을 작성할 수 있는 사람도 그 자신인 셈이다.

물론 컴퓨터를 처음 사용하는 사람이나, 프로그램 언어를 배울만한 시간이 없는 사람은 프로그램 언어를 사용하여 자신이 필요로 하는 프로그램을 만드는 것이 불가능하거나 비능률적인 일이다. 이런 사용자들은 상업적으로 판매되는 패키지 소프트웨어를 사용하는 것으로 참는 것이 현명하다.

그러나 PC사용자는 곧 프로그램 언어의 필요성을 느끼게 된다. PC에서는 아주 하찮은 일이라도 간단한 베이직 명령어 몇개를 모르면 처리할 수 없기 때문다.

대표적인 PC용 언어/베이직 파스칼 C

몇년전까지만 해도 PC에서 사용할 수 있는 프로그램 언어는 그렇게 많지 않았다. 그러나 최근 PC의 하드웨어적 기능이 강화되고, 시장경쟁으로 프로그램 언어 소프트웨어가 비약적인 발전을 거듭하고 있어 PC에서 사용할 수 있는 프로그램 언어의 종류와 질이 크게 많아지고 향상되었다.

목록을 살펴보면 ADA 알골 APL AWK 베이직 C언어 코볼 포스(Forth) 포트란 LISP 로고(LOGO) 모듈라-2 파스칼 파이로트(Pilot) PL/I 프롤로그 RPG 스몰토크 스노볼 등이다.

그러나 이중 많은 프로그램 언어들은 전산학을 전공으로 하는 사람들의 전유물들이다. 그런 것들을 제외한다면 일반 PC 사용자들의 프로그램 언어의 선택은 매우 좁아진다.

예를 들면 포트란은 공과대학의 학생들이 아니면 쓸 일이 별로 없다. 또 코볼은 대형컴퓨터에서는 사무처리용으로 아직도 많이 사용되지만 PC에서는 기능이 낮아 거의 외면당하고 있다. 또 인공지능 연구용 언어라고 하는 LISP나 프롤로그도 학술용 프로그램 언어에 속한다. LISP의 경우 오토캐트(AutoCAD)라고 하는 매우 유명한 캐드소프트웨어에 내장되어 있어 이를 배우는 사람들이 있기는 하지만.

그렇다면 일반인들이 가장 널리 사용하는 언어는 무엇인가. 이 질문에 대한 답은 베이직 파스칼 C언어의 세가지 프로그램 언어가 될 것이다.
베이직은 PC에 최초로 도입된 고급 프로그램 언어다. 베이직의 특징은 컴퓨터 초보자도 쉽게 사용할 수 있도록 설계되었다는 점이다. PC에서 베이직 프로그램 언어를 지원하는 프로그램 언어 소프트웨어는 GW-베이직 터보-베이직 퀵(QUICK)-베이직 등이 있다. GW-베이직은 대화형으로 진행되는 프로그램 언어로서 현재 가장 많은 사용자들을 확보한 언어다. 반면에 터보 베이직이나 퀵 베이직은 보다 고급 기능을 제공하는 베이직 언어 소프트웨어다. 많은 PC사용자들이 최초의 프로그램 언어로 베이직을 익히고 있다.

파스칼은 프로그램 언어를 가르치기 위해 만든 교육용 언어다. 대부분 프로그래밍 관련 서적들이 파스칼 프로그램을 예로 들고 있다. PC에서 사용할 수 있는 파스칼 프로그램 언어 소프트웨어에는 여러가지가 있지만 가장 유명한 것이 터보 파스칼(TURBO PASCAL)이다. 이것은 전통적인 파스칼 프로그램을 실용적인 형태로 개선시킨 것으로 많은 PC사용자들의 사랑을 받고 있다.

컴퓨터에 대한 이해도가 높은 사람이라면 C언어라고 하는 프로그램 언어를 권할 수도 있다. C언어의 특징은 간결하고 효율이 좋고, 이식성이 높다는 것이다. 특히 이식성이 좋다는 점은 C프로그램 언어의 큰 장점이다. 현재 C언어로 작성한 프로그램은 거의 모든 컴퓨터에서 사용할 수 있다. PC에서 사용 할 수 있는 C프로그램 언어 소프트웨어도 폭발적으로 늘어나고 있는데, 대표적인 것으로 래티스(Lattice)-C,MS-C, 런(Run)-C, 퀵-C, 터보-C 등이 있다. 이중에서 대화형으로 진행되는 런-C가 초보자에게 권할만하고, 중급자용으로는 터보-C나 퀵-C, 고급 사용자는 MS-C를 선택하는 추세이다.

언어를 익히는 비결

컴퓨터의 프로그램 언어를 배운다는 것도 외국어를 배우는 것만큼 쉬운 일이 아니다. 새로운 개념을 이해해야 하고 또 많이 사용해 보아야 한다. 그러기 위해서는 많은 시간과 노력을 바쳐야 한다.

그럴만한 시간이 없거나 필요가 없는 사람은 프로그램은 언어를 배우려고 애를 쓰지 말고 다른 해결책을 찾는 것이 좋다. 예를 들면 상업적으로 판매되는 패키지 소프트웨어를 이용하여 문제를 해결하거나 다른 사람에게 일임하는 것이다.

프로그램 언어를 꼭 배워야 한다면 작성하려고 하는 프로그램을 파악하여 어떤 프로그램 언어를 사용할 것인가를 결정한다. 그러나 이미 프로그램 언어를 알고 있다면 가능한 그 프로그램 언어를 사용하여 원하는 프로그램을 작성할 수 있는 것이 효율적이다. 처리하고자 하는 작업이 특정 프로그램 언어를 꼭 필요로 하는 경우에는 부득이 새로이 외국어를 배우는 결심을 해야 하겠지만.

프로그램 언어의 문법을 약간 공부하고, 다른 사람이 여러가지 고생을 한 끝에 작성한 프로그램 리스트를 보면서 프로그래밍의 감각을 익힌 다음에는 작지만 필요한 프로그램을 스스로의 힘으로 작성하는 경험을 하는 것이 중요하다. 처음부터 큰 프로그램을 작성하려는 것은 무리이다. 배우는 과정에서 같은 프로그램 언어를 사용하는 사람과 정보를 교환할 수 있다면 매우 큰 도움이 된다.

처음에 프로그램을 작성하여 실행시켜보면 분명히 잘 실행되지 않고 이상한 결과를 얻게 될 것이다. 그래서 무엇이 문제인가를 찾아내고 고치는 과정을 통해서 책에는 나와 있지 않은, 많은 것을 배우게 된다. 이런 과정을 거쳐 자신에게 필요한 프로그램, 또 어느 정도 큰 프로그램을 완성하게 될 때 비로소 프로그래밍의 묘미를 깨닫게 될 것이다.
 

컴퓨터의 역사가 계속되는 한 프로그래밍 언어는 계속 개발된다. 어떤 언어가 가장 효용성있는 것으로 인정받을지 …
 

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

1990년 01월 과학동아 정보

  • 탁현상 기획실장

🎓️ 진로 추천

  • 컴퓨터공학
  • 소프트웨어공학
  • 정보·통신공학
이 기사를 읽은 분이 본
다른 인기기사는?