2018.03.28

기존 역량과의 '궁합'이 중요··· 추가로 배울만한 프로그래밍 언어

Andrew C. Oliver | InfoWorld

프로그래밍 언어를 배우기란 어렵지 않다. 경험만 있다면 24시간 이내에 기본은 익힐 수 있다. 구직 시장에서 경쟁력을 높이기 위해 새로운 프로그래밍 국제 공용어를 찾는 중이라면 지금 사용하는 언어도 감안해 선택해야 한다.

다음 중에서 이미 알고 있는 언어를 기반으로 새로운 언어를 선택해 익힐 것을 권한다.



자바에 익숙한 사람이 선택할 만한 언어
자바에 익숙한 사람은 더 이상 참신한 인재는 아니다. 대부분의 비즈니스 소프트웨어가 자바로 작성된 것은 사실이지만 웃돈을 주고라도 자바 개발자를 모셔가던 시절은 진작에 끝났다. 자바 개발자가 선택할 만한 다음 단계는 무엇일까? 다음 언어 중에서 선택해 보자.

- 스칼라
스칼라는 함수형 자바와 같다. 순수한 함수형을 추구하는 사람들은 스칼라를 무척 선호하는데, 사실 자바에서 스칼라까지의 거리는 상당히 짧다. 더구나 AI와 머신러닝이 뜨고, 아파치 스파크도 스칼라로 작성되는 요즘이라면 고민할 필요도 없어 보인다.

자바스크립트
자바 개발자라면 대형 아웃소싱 업체에서 일하는 경우를 제외하고 통계적으로 35세 이상이 대부분이다. 이들이 기억하는 자바스크립트는 “DHTML”을 만들고 “자바”라는 단어를 같다 붙이기 위해(그만큼 자바가 인기 있었으므로) 넷스케이프 브라우저에 집어넣었던 저급한 스크립트에 머물러 있을 것이다.

그러나 자바스크립트는 바뀌었고 서버 측 소프트웨어도 바뀌었다. 이미 자바를 알고 있으니 함수형 구조를 익혀야 한다. 자바스크립트는 서버 측 및 클라이언트 측 언어가 됐고 “임기응변” 스크립팅 언어가 필요한 거의 모든 곳에 사용된다. 자바스크립트는 개발자의 도구 상자에 넣어두면 쓸모가 있는 언어다.

C
C를 배운 적이 없는 사람도 있겠지만 요즘 C가 다시 부상 중이다. 게다가 프로그램에 C를 사용하지 않는다 해도 자바의 작동 원리, 동시성 문제 및 경합 조건과 같은 중대한 문제를 디버그하는 방법을 이해하는 데 도움이 된다.

C#에 익숙한 사람이 선택할 만한 언어
C#에 익숙한 사람은 섬세한 사람이다. 예전에는 빌 게이츠가 세운 마이크로소프트를 경외했겠지만 이제는 세상이 바뀌었다. 그러니까 여러분도 다음 언어를 하나 이상 익혀 마이크로소프트 세계 안팎에서 모두 스스로의 시장성을 높여야 한다.

자바스크립트
아까도 말했지만 예전의 자바스크립트가 아니다. 또한 모든 곳에 사용된다. 자바스크립트는 서버 측 명령줄(CLI) 앱을 위해 가장 접근성이 뛰어난 언어이며, 마이크로소프트가 몇 년 전에 갑자기 내놓은 J스크립트(JScript)를 사용할 필요가 없다. 자바스크립트에는 그보다 더 나은 닷넷 바인딩이 있다.

또한 C#으로 클라이언트 앱을 만들어왔다면 Node.js나 비슷한 런타임을 시도하거나 순수 웹 앱 만들기를 시도해보는 것도 좋다.

F#
한때의 기대처럼 세계를 바꿔 놓지는 못했지만 F#은 여전히 함수형 프로그래밍에 깊숙이 들어가 데이터 과학을 본격적으로 접하기에 좋은 방법이다. AI나 머신러닝 쪽을 파고 있거나 단순히 복잡한 계산을 위한 더 깔끔한 방법을 원한다면 F#이 적격이다.

C
이 목록에 자바가 포함될 것이라고 생각했겠지만 아니다. 자바 개발자와 마찬가지로 C# 프로그래머는 더 깊이 들어가서 런타임이 실제로 어떻게 작동하는지를 이해해야 한다. 즉, C를 이해해야 한다. C를 배워 두면 좋다.

파워셸 또는 배시(Bash)
마우스로 여기저기 클릭해서 원하는 작업을 하는 것은 사용자의 몫이다. 개발자는 모든 따분한 작업을 자동화할 수 있어야 한다. 여러 운영체제에서 제공되는 마이크로소프트 파워셸과 배시 터미널은 이러한 자동화를 위해 가장 광범위하게 사용되는 툴이다.

자바스크립트에 익숙한 사람이 선택할 만한 언어
이력서에 “풀 스택 개발자”라는 문구를 넣지 않는가? 그러나 여러분은 백엔드보다 프론트엔드 개발자로서 훨씬 더 뛰어나므로, 지금까지 그 말에 넘어간 사람은 별로 없을 것이다. 솔직히 이제는 “풀 스택”이라는 주장의 근거를 마련할 때다.

R
R이라고? 데이터 과학자와 통계학자가 쓰는 언어 아닌가? 그렇다. 하지만 데이터로 손쉽게 시각화를 생성할 수 있는 비교적 간단한 언어이기도 하다. R 스튜디오를 선택해서 하버드, 또는 굳이 고집한다면 마이크로소프트가 제공하는 온라인 강좌를 들어보자. (참고로 하버드 과정이 마이크로소프트보다 더 저렴하다. 직접 확인해보라!)

SQL
NoSQL을 잘 쓰고 있는데 왜 SQL인가? 다른 어떤 언어보다 SQL을 아는 사람의 수가 더 많은 것은 거의 확실하기 때문이다. 또한 사라질 일이 없는 언어이며 데이터를 올바른 방법으로 생각하는 데도 많은 도움이 된다.

파이썬
파이썬은 배우기 간단치 않지만 예를 들어 자바나 스칼라보다는 유의미한 뭔가를 할 수준까지 배우기는 더 쉽다. 또한 루비(Ruby)의 인기가 떨어지는 중이라서 몇 년 뒤면 효용성을 장담할 수 없고 따라서 열성적인 추종자가 아니라면 루비를 추천하기는 어렵다.

루비에 익숙한 사람이 선택할 만한 언어
코딩 교육에서 루비를 배웠다면 지금쯤 그게 돈낭비였다는 생각이 들 수도 있다. 이제 어디로 가야 할까?

자바스크립트
이미 프론트엔드에서 자바스크립트의 맛은 본 적이 있을 것이다. 더 깊이 들어가서 자바스크립트를 배워라. 또한 앵귤러(Angular) 또는 비슷한 프레임워크를 함께 배우면 좋다. Node.js 또는 비슷한 백엔드 런타임도 익히자.




2018.03.28

기존 역량과의 '궁합'이 중요··· 추가로 배울만한 프로그래밍 언어

Andrew C. Oliver | InfoWorld

프로그래밍 언어를 배우기란 어렵지 않다. 경험만 있다면 24시간 이내에 기본은 익힐 수 있다. 구직 시장에서 경쟁력을 높이기 위해 새로운 프로그래밍 국제 공용어를 찾는 중이라면 지금 사용하는 언어도 감안해 선택해야 한다.

다음 중에서 이미 알고 있는 언어를 기반으로 새로운 언어를 선택해 익힐 것을 권한다.



자바에 익숙한 사람이 선택할 만한 언어
자바에 익숙한 사람은 더 이상 참신한 인재는 아니다. 대부분의 비즈니스 소프트웨어가 자바로 작성된 것은 사실이지만 웃돈을 주고라도 자바 개발자를 모셔가던 시절은 진작에 끝났다. 자바 개발자가 선택할 만한 다음 단계는 무엇일까? 다음 언어 중에서 선택해 보자.

- 스칼라
스칼라는 함수형 자바와 같다. 순수한 함수형을 추구하는 사람들은 스칼라를 무척 선호하는데, 사실 자바에서 스칼라까지의 거리는 상당히 짧다. 더구나 AI와 머신러닝이 뜨고, 아파치 스파크도 스칼라로 작성되는 요즘이라면 고민할 필요도 없어 보인다.

자바스크립트
자바 개발자라면 대형 아웃소싱 업체에서 일하는 경우를 제외하고 통계적으로 35세 이상이 대부분이다. 이들이 기억하는 자바스크립트는 “DHTML”을 만들고 “자바”라는 단어를 같다 붙이기 위해(그만큼 자바가 인기 있었으므로) 넷스케이프 브라우저에 집어넣었던 저급한 스크립트에 머물러 있을 것이다.

그러나 자바스크립트는 바뀌었고 서버 측 소프트웨어도 바뀌었다. 이미 자바를 알고 있으니 함수형 구조를 익혀야 한다. 자바스크립트는 서버 측 및 클라이언트 측 언어가 됐고 “임기응변” 스크립팅 언어가 필요한 거의 모든 곳에 사용된다. 자바스크립트는 개발자의 도구 상자에 넣어두면 쓸모가 있는 언어다.

C
C를 배운 적이 없는 사람도 있겠지만 요즘 C가 다시 부상 중이다. 게다가 프로그램에 C를 사용하지 않는다 해도 자바의 작동 원리, 동시성 문제 및 경합 조건과 같은 중대한 문제를 디버그하는 방법을 이해하는 데 도움이 된다.

C#에 익숙한 사람이 선택할 만한 언어
C#에 익숙한 사람은 섬세한 사람이다. 예전에는 빌 게이츠가 세운 마이크로소프트를 경외했겠지만 이제는 세상이 바뀌었다. 그러니까 여러분도 다음 언어를 하나 이상 익혀 마이크로소프트 세계 안팎에서 모두 스스로의 시장성을 높여야 한다.

자바스크립트
아까도 말했지만 예전의 자바스크립트가 아니다. 또한 모든 곳에 사용된다. 자바스크립트는 서버 측 명령줄(CLI) 앱을 위해 가장 접근성이 뛰어난 언어이며, 마이크로소프트가 몇 년 전에 갑자기 내놓은 J스크립트(JScript)를 사용할 필요가 없다. 자바스크립트에는 그보다 더 나은 닷넷 바인딩이 있다.

또한 C#으로 클라이언트 앱을 만들어왔다면 Node.js나 비슷한 런타임을 시도하거나 순수 웹 앱 만들기를 시도해보는 것도 좋다.

F#
한때의 기대처럼 세계를 바꿔 놓지는 못했지만 F#은 여전히 함수형 프로그래밍에 깊숙이 들어가 데이터 과학을 본격적으로 접하기에 좋은 방법이다. AI나 머신러닝 쪽을 파고 있거나 단순히 복잡한 계산을 위한 더 깔끔한 방법을 원한다면 F#이 적격이다.

C
이 목록에 자바가 포함될 것이라고 생각했겠지만 아니다. 자바 개발자와 마찬가지로 C# 프로그래머는 더 깊이 들어가서 런타임이 실제로 어떻게 작동하는지를 이해해야 한다. 즉, C를 이해해야 한다. C를 배워 두면 좋다.

파워셸 또는 배시(Bash)
마우스로 여기저기 클릭해서 원하는 작업을 하는 것은 사용자의 몫이다. 개발자는 모든 따분한 작업을 자동화할 수 있어야 한다. 여러 운영체제에서 제공되는 마이크로소프트 파워셸과 배시 터미널은 이러한 자동화를 위해 가장 광범위하게 사용되는 툴이다.

자바스크립트에 익숙한 사람이 선택할 만한 언어
이력서에 “풀 스택 개발자”라는 문구를 넣지 않는가? 그러나 여러분은 백엔드보다 프론트엔드 개발자로서 훨씬 더 뛰어나므로, 지금까지 그 말에 넘어간 사람은 별로 없을 것이다. 솔직히 이제는 “풀 스택”이라는 주장의 근거를 마련할 때다.

R
R이라고? 데이터 과학자와 통계학자가 쓰는 언어 아닌가? 그렇다. 하지만 데이터로 손쉽게 시각화를 생성할 수 있는 비교적 간단한 언어이기도 하다. R 스튜디오를 선택해서 하버드, 또는 굳이 고집한다면 마이크로소프트가 제공하는 온라인 강좌를 들어보자. (참고로 하버드 과정이 마이크로소프트보다 더 저렴하다. 직접 확인해보라!)

SQL
NoSQL을 잘 쓰고 있는데 왜 SQL인가? 다른 어떤 언어보다 SQL을 아는 사람의 수가 더 많은 것은 거의 확실하기 때문이다. 또한 사라질 일이 없는 언어이며 데이터를 올바른 방법으로 생각하는 데도 많은 도움이 된다.

파이썬
파이썬은 배우기 간단치 않지만 예를 들어 자바나 스칼라보다는 유의미한 뭔가를 할 수준까지 배우기는 더 쉽다. 또한 루비(Ruby)의 인기가 떨어지는 중이라서 몇 년 뒤면 효용성을 장담할 수 없고 따라서 열성적인 추종자가 아니라면 루비를 추천하기는 어렵다.

루비에 익숙한 사람이 선택할 만한 언어
코딩 교육에서 루비를 배웠다면 지금쯤 그게 돈낭비였다는 생각이 들 수도 있다. 이제 어디로 가야 할까?

자바스크립트
이미 프론트엔드에서 자바스크립트의 맛은 본 적이 있을 것이다. 더 깊이 들어가서 자바스크립트를 배워라. 또한 앵귤러(Angular) 또는 비슷한 프레임워크를 함께 배우면 좋다. Node.js 또는 비슷한 백엔드 런타임도 익히자.


X