메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

어떤 언어를 먼저 배워야 할까?

한빛미디어

|

2013-12-10

|

by HANBIT

28,141

제공 : 한빛 네트워크
저자 : Brian MacDonald
역자 : 한승균
원문 : Which Language Should You Learn First?

만약 모든 사람들이 코딩하는 법을 배워야 한다면, 어떤 언어가 가장 적당할까?

초보자가 프로그래밍을 처음 시작할 때, 어떤 언어가 가장 좋을까?

Computer 간단한 질문처럼 보인다. 그리고 많은 열정적인 개발자들이 스스로에게 물어본 질문이지만, 굉장히 어려운 질문이다. 개발을 직업으로 삼고 싶어서 물어보는 것인가? 모바일 앱 열풍에 뛰어들고 싶어서인가? 당신이 개발자도 아닌데 회사의 웹 결과물을 개선하는 일을 계속 해왔기 때문인가? 아니면 단순히 개인적인 호기심으로, 재미있을 것 같아서인가?

내가 11살에 처음 프로그래밍을 배울 때에는 "재미있을 것 같아서"였다. 당시에 지역 사립 학교의 BASIC 주말반에서 TRS- 80 모델 III로 배웠었다. 왜 BASIC이었나? 만약 Logo가 마음에 들지 않았다면, 그 외에는 BASIC이 초보자용 언어로서는 거의 유일했기 때문이다. 고등학교에서 Pascal로 넘어가기 전에 다시 BASIC을 배웠다. 나는 이 언어들로 끝내주는 고급 기능을 사용해보지는 못했지만, 이 경험은 내게 어떻게 프로그래밍 언어가 동작하는지 - 절차적인 동작에 대해서 - 이해하는 기초를 마련해 주었다.

이 논의를 위해, 나는 이 질문을 가능한 백지 상태에서 생각해보고자 한다. 나는 이 질문의 목적을 "현재 사용되고 있는 언어들 가운데서, 코딩하는 법을 좀 더 알고 싶다" 라고 가정할 것이다. 만약 특정한 업무를 위한 언어가 필요한 경우라면, 이미 선택의 여지가 없을 것이다.

나는 훌륭한 초보자용 프로그래밍 언어는 다음과 같은 특징이 있어야 한다고 생각한다:
  • 상대적으로 문법이 자유로워야 한다. 이것은 초보자용 언어가 나쁜 습관을 들이게 놔두어도 괜찮다는 뜻이 아니다. 다만, 개발자가 처음으로 만든 프로그램을 실행해보기 전에 디버거부터 마스터하도록 만들어서는 안 된다는 것이다.

  • 즉각적으로 결과를 볼 수 있어야 한다. 초보 개발자들을 위해 간단한 프로그램을 작성하고, 즉시 스크린에 결과가 어떻게 나타나는지 볼 수 있도록 해주는 것이 지속적으로 흥미를 유지할 수 있도록 만든다. 당신이 뭔가 결과를 보기 위해 한 무더기의 include와 라이브러리를 사용해야 한다면, 흥미는 점점 사그라질 것이다.

  • 통합개발환경은 가볍거나 없어야 한다. 다시 말하지만, 초보 개발자들을 위해서 어떤 결과를 보는 것을 도구들이 가로막아서는 안 된다. 통합개발환경을 설치하고 설정하는데 시간을 보내야만 한다면, 당신은 코딩을 하지 않을 것이다.
모던 웹을 위한 JavaScript + jQuery 입문 이러한 기준들을 생각해본다면, JavaScript가 가장 적당하다. JavsScript 태생적으로 엄격하지 않았던 탓에 문법이 다른 전통적인 객체지향언어보다 자유롭지만, 대부분의 문법 규칙은 C++이나 Java와 유사해 좀 더 엄격한 언어로 옮겨가는 것이 그렇게 어렵지 않다. 게다가 사용하려고만 한다면 수많은 JavaScript 편집기가 있고, 만약의 경우에는 아무 텍스트 편집기에 코드를 적은 후 브라우저에서 실행해볼 수도 있다. - 이보다 더 쉬울 수는 없다. 코드가 브라우저에서 실행되기 때문에, 터미널 창에서 실행하는 것보다 훨씬 시각적이다. 결과물이 단지 텍스트에 불과하더라도, "제대로 된" 웹 페이지처럼 브라우저에서 결과를 본다는 것은, 훨씬 더 만족스러운 효과를 제공한다.

JavaScript를 훌륭한 초보자용 언어로 고려하는 것은 그렇게 이상한 일이 아니다. 내가 처음 그런 제안을 들었을 때, 매우 놀랐던 것은 인정한다. 하지만 그것은 오래 전에 학교에서 처음 C를 배우던 경험에서 온 편견이었다. Stanford, Drexel, Tufts를 비롯한 많은 수의 대학에서 컴퓨터 과학 개론 과목에서 JavaScript를 사용하고 있다. 내 아들이 다니는 중학교의 영재 교육에서는 12살짜리 아이들에게 JavaScript를 성공적으로 가르치고 있다. JavaScript는 배우기 쉬우면서도 더 정형적인 언어로 이동하기에도 좋다. 이건 Logo나 Scratch와 같은 전통적인 "교육용" 언어들이 갖지 못한 점들이다.

JavaScript가 이러한 기준을 만족하는 유일한 언어는 아니다; 당신은 Python이나 Ruby에 대해서 이야기할 수도 있고, 그것들 역시 좋은 선택이다. 지금은 JavaScript의 유명세가 한 몫을 하고 있지만, 초보자들을 위한 더 많은 자료와 라이브러리, 프레임워크가 생겨날수록, 초보자들은 더 이상 초보자가 아니게 될 것이다. 만약 Ruby를 가르치는 훌륭한 강사가 있는 지역 클래스가 있다면, 그것을 배우는 것을 망설이지 않는 것도 좋은 방법이다.

나는 이 질문에 대한 대답이 시간이 지남에 따라 바뀌어, 수십 년이 지난 후에는 다른 대답이 나올 것이라 생각한다. JavaScript는 이 시기와 장소에서 비교적 안정적인 대답이다. JavaScript는 널리 유명하며, 많은 팬을 가지고 있기 때문이다. 나는 어딘가에는 Haskell이나 Ada, 혹은 R이 초보자들에게 좋은 언어라고 확신하는 사람들이 있을 거라 생각한다. 만약 당신이 그런 사람이라면, 댓글로 왜 그런지 이야기해주기 바란다.
TAG :
댓글 입력
자료실

최근 본 상품0