무하유 개발자들이 추천하는 프로그래밍 언어를 배우는 방법을 공유합니다.
동일한 동작을 하는 두 파이썬 코드가 있습니다
1)
for one in commands:
a = one[0]
b = one[1]
c = one[2]
temp = array[a:b]
2)
for a, b, c in commands:
temp = array[a:b]
만약 C/C++ 또는 JAVA 개발자가 Python 을 잘 모르는 채로 코드를 작성한다면, 많은 분들이 1번 처럼 작성할 것이라고 생각합니다. 그러나 엄청 긴 코드를 작성할 때, 1번과 같은 코드가 난무한다면 2번 코드에 비해 가독성이 조금 떨어질 것이라 생각합니다. (물론 개발자의 코딩스타일 일수도 있습니다.)
이처럼, 하나의 프로그래밍 언어만 알고 있어도, 다른 언어를 공부하지 않고 코드를 작성하는 것은 어려운 일이 아닙니다. 다만, 그 언어의 장점(특징)을 잘 활용하지 못한 채로 작성할 확률이 높습니다.
언어의 특징을 잘 이해한 상태에서 코드를 짜는 것은 중요한 일입니다. 유지보수와 직결되어 있고, 알고리즘의 성능에도 영향을 끼치기 때문입니다.
보통의 회사에서는 프로그램이나 서비스를 개발할 때, version 1에서 멈추지 않을 것입니다. 고객의 요청에 의해 기능을 추가하거나 성능이 개선됨에 따라 버전이 계속 올라갈텐데, 이 때 version 1 에서 코드가 엉망으로 작성되어 있다면 버전을 높이는 것은 어려운 일입니다!

건물 건축에 비유하자면, 1층부터 건물을 쌓아올린다고 가정할 때, 1층부터 튼튼하게 짓지 않는다면, 한 층 한 층 건물이 높아질수록, 건물은 흔들리게 되고 결국 무너지게 될 것입니다. 코드도 마찬가지 입니다.
리팩토링 (1999) 의 저자 마틴파울러(Martin Fowler)는 다음과 같이 말했습니다.
“컴퓨터가 이해하는 코드는 어느 바보나 다 짤 수 있다. 훌륭한 프로그래머는 사람이 이해할 수 있는 코드를 짠다.”
여기서 ‘컴퓨터가 이해하는 코드’ 는 언어를 잘 모르는 채로 작성한 코드라고 생각합니다. ‘ㅁ’ !
그럼, 어떻게 하면 ‘사람이 이해할 수 있는 코드’를 작성할 수 있을까요? 사람이 이해할 수 있는 코드를 작성하려면 유의해야 할 것이 많습니다. 그러나 제일 중요한 것은 앞서 말씀드렸던 것 처럼, 프로그래밍 언어를 잘 이해하고, 언어의 특성에 맞게 코드를 짜는 것이라고 생각합니다. 그리고, 그러기 위해서는 프로그래밍 언어에 대해 공부해야 합니다!
따라서 이번 포스팅에서는 프로그래밍 언어를 공부하는 방법에 대해 말씀드리려고 합니다. 아래 제시된 방법들이 프로그래밍 언어를 이해하는데 도움이 될 것 입니다. 그러나 이 외에도 여러 다양한 방법들이 있고, 생각할 수 있는 모든 방법들이 모두 정답이라는 것을 명심하세요!
1. 프로그래밍 언어와 관련된 책을 읽는다.
무하유에서 주니어 개발자들을 대상으로 자바스크립트 교육을 담당하고 있는 5년차 개발자 이혜천님은 다음과 같이 말했습니다.
각 언어에 대한 책은 무조건 한 권 이상 읽어야 한다. 문법책 보다 실습책을 추천한다. 실습책의 경우, 저자가 언어에 맞게 코딩을 잘 해놓았기 때문에, 언어에 대한 가장 최적화된 코드를 작성하는데 도움이 된다.
2. 다른 프로그래밍 언어들을 공부한다.
주로 사용하는 언어가 있다는 전제하에 이 방법을 추천합니다. 다른 언어들을 공부하는 것은 주 언어를 이해하는데 매우 도움이 됩니다.
3. 프로그래밍 언어의 역사를 살펴본다.
무하유 5년차 개발자 김희진님
프로그래밍 언어의 역사를 살펴보면 언어의 특성을 이해하는데 도움이 된다. (개인적으로 위키피디아보다 나무위키가 더 재밌다.)
4. 다른 사람들의 코드를 본다. (라이브러리나 오픈소스)
무하유 4년차 개발자 김성원님
라이브러리나 오픈소스를 분석하면서 공부하는 것은 패키지의 구조나 언어의 장점을 활용하는 부분을 학습하는데 도움이 된다.
5. 직접 코드를 짜본다.
코드를 작성하면 당연히 누구나 한 번 쯤은 에러를 경험할 것 입니다. 이 때, 에러의 원인을 파악하고 직접 소스코드를 수정하는 작업은 언어를 이해하는데 매우 도움이 됩니다. 중요한 것은, 에러의 원인을 잘 알아야 한다는 것입니다. 원인을 모른채로 에러를 해결했다면 아래 그림과 같은 일이 발생할 것입니다!

6. 다른 개발자들과 함께 프로그래밍 언어에 대해 이야기한다.
코드리뷰를 받거나, 해주는 것도 본인이 언어를 더 이해하는데 도움이 됩니다. 또한 세미나, 컨퍼런스에 참여하여 언어와 관련된 이야기를 듣는 것도 좋습니다.무하유에서는, 격주마다 한 번 씩 개발세미나를 열어 다양한 주제로 개발자들끼리 소통을 합니다. 각자 컨퍼런스에 참여하여 인상깊었던 주제, 또는 흥미있는 기술에 대해 이야기하거나, 개발 문화에 대해서 이야기하기도 합니다. 이 포스팅의 주제도 개발세미나에서 다루었던 주제입니다.
이상으로 무하유 개발자들이 프로그래밍 언어를 배우는 방법이었습니다.
감사합니다.