X

뉴스레터를 구독하세요.

분기에 한번, 핵심 소식을 전달 드립니다!

개인정보 수집 및 이용

뉴스레터 발송을 위한 최소한의 개인정보를 수집하고 이용합니다. 수집된 정보는 발송 외 다른 목적으로 이용되지 않으며, 서비스가 종료되거나 구독을 해지할 경우 즉시 파기됩니다.

[기획 연재]프로그래머의 길_언어적 인간

2015-11-26 | 개발 이야기

안녕하세요? 사이냅소프트입니다.

오늘부터는 실무역량에 대해서 말씀드리도록 하겠습니다. 프로그래머는 코드로 말한다고 하죠? 그 코드의 중심인 Language에 대한 이야기입니다.

 

[Skill Set for Programmers] 

 1부 공부편  

  프로그래머의 수학 공부

  – 프로그래머의 영어   

 2부 실무역량편

  – Homo Loquens : 언어적 인간

  – 출근 첫날, 나는 회사에 어떤 기여를 할 수 있습니까?

  – Communication을 합시다.

 

[Mind Set for Programmers]

  – 이런 사람을 뽑고 싶다.

  – Don’t Stop OO, 프로그래머로서 지속할 것!

 

[Skill & Mind Set + a

 

Homo Loquens라는 말 들어보셨나요? 인간은 선천적으로 언어적 본능을 갖고 있고 그 본능을 통해 교감하고 생산한다는 것이지요. 프로그래머에게는 일반인과 의사소통하는 언어와 더불어 프로그램 Language라는 언어체계가 하나 더 있는 셈입니다. 그 언어는 각각의 패러다임과 기능에 따라 종류도 많고 계속 진화하고 있습니다.

 

 

 

 

이 많은 언어의 홍수 속에서 여러분의 주력 언어는 무엇인가요?

 

사이냅소프트의 클라우드 오피스를 만드는 개발자들은 업무 분야에 따라 주력 언어로 C++, Java, Javascript 등을 연마하고 있고, 모바일 앱을 개발하기 위해서 Objective-C를, 때로 빠른 프로토타이핑을 위해서 Python 같은 언어를 사용하기도 합니다.

 

프로그램 Language를 잘 다루고 코드로 소통할 수 있는 프로그래머가 되기 위해서는, 처음부터 이런저런 언어를 얕고 넓게 공부하는 것보다는 한 가지 주력 언어를 잡아서 능숙하게 쓸 수 있을 때까지 파고들어야 합니다. 한 언어에 대한 자신감과 깊은 개념 이해가 있은 후에는 다른 언어를 습득하기가 훨씬 수월하지요.

 

그리고 중요한 것! 주력 언어가 생기면 아주 다른 프로그래밍 패러다임에 도전하세요! 

 

 

 

예를 들어 Java 같은 객체지향 패러다임의 언어를 주로 썼다면, Haskell 같은 함수형 프로그래밍 패러다임을 지원하는 언어를 접해보는 식입니다. 다른 예로, 널리 쓰이고 있는 Javascript 라는 언어는 사실 조금 더 들여다보면 독특한 매력을 많이 가지고 있는데요, 그 언어에서 지원하는 Prototype-based 프로그래밍이라는 방식으로 코드를 작성해보는 것도 재미있을겁니다.


서로 다른 패러다임의 언어들을 공부하다 보면, 같은 기능을 구현하더라도 어떤 언어는 수십 줄의 코드가 필요한 반면 어떤 언어는 단 몇 줄의 코드로 충분한 경우를 경험할 수 있을 거예요.

 

이런저런 프로그래밍 패러다임을 접해보아야 할 가장 큰 이유는, 여러분이 사용하는 언어가 여러분이 생각하는 방법, 논리의 체계를 지배하기 때문입니다. 익숙하다는 이유로 한 가지 패러다임에만 머물다 보면 사고방식이 굳어질 가능성이 큽니다. 쉽게 해결할 수 있는 문제임에도 불구하고 그 패러다임 안에서 보면 해결하기가 어려운 것처럼 느끼는 거죠. 그럴 때는 아예 다른 접근법을 시도해야 합니다.

 

성장 가능성이 큰 프로그래머일수록 언어를 Dynamic하게 바꾸는 역동성이 필요하답니다. 도전하고 그 과정을 즐기다 보면 어느새 생각하는 레벨이 달라질 테고, 그것이 다른 프로그래머와의 차별성이자 경쟁력이 될 것입니다.

 

다시 정리해 보면, 우리는 선천적인 언어 본능을 갖고 있는 Homo Loquens 입니다. 거기다가 프로그래밍 Language라는 또 다른 언어 능력까지 갖고 있죠. 이런 언어적 능력을 활용해 생산적이면서 잘 소통하는 프로그래머가 되기 위한 전략은, 주력 언어를 선택하여 그것을 아주 깊게 이해 한 후, 패러다임의 차이가 큰 다른 Language를 익히는 겁니다. 그러면 언어로 지배되는 생각의 영역을 계속 자극하며 넓혀갈 수 있습니다.

 

감사합니다.

 

 

사이냅 문서뷰어

어디서 어떻게 사용되고 있을까요?

사이냅 문서뷰어의 적용사례를 만나보세요

[개인정보 수집, 이용에 대한 동의 절차]

사이냅 문서뷰어 적용사례를 만나보세요

차원이 다른 HTML5 웹에디터

사이냅 에디터

사이냅 에디터가 어디에 활용될 수 있을까요?
다양한 적용사례를 만나보세요

[개인정보 수집, 이용에 대한 동의 절차]

한 차원 높은 HTML5 웹에디터를 만나보세요