사람들이 사용하는 다양한 프로그래밍 언어가 존재하는데, 기업에서 요구하는 프로그래밍 언어 외에도 외적으로 여러 프로그래밍 언어를 공부하는 사람들이 있다. 그들이 그런 프로그래밍 언어를 공부하게되는 동기가 궁금하다.

  1. 시대의 흐름에 따라서 하게 되는 경우

  2. 미래에 전도유망한 경우

  3. 호기심과 흥미를 유발한 경우

  4. 개인의 트렌디한 부분을 부각시키기 위한 경우

이와 비슷한 내용의 글을 찾다가 아래의 링크를 알게 되었다.

[ 2018. 03. 07 ]

이제 첫 직장을 잡고 회사 내에서도 자바, 그러니깐 OOP 를 이용해서 프로젝트를 수행한다. 프로젝트 수행이라고 해봤자 현재 단순 과제에 머무는 수준이다. 글의 내용은 앞으로 미래에 쓰일 언어가 무엇이 될 것인가에 대해 의견을 하고 있었다. 글쓴이는 스칼라 언어에 대해서 말하고 있었는데 함수형 프로그래밍이 기존에 존재하는 절차 지향적 언어와 객체 지향 언어 패러다임에 또 다른 패러다임으로 작용하고 있다고 설명한다. ( 순수 내 개인적인 생각 ) 하지만 함수형 프로그래밍 패러다임이 현재 우리의 프로그래밍 언어의 일상 속에는 들어가지 못하다고 하고 있는데 그가 말하고 있는 이유는 아래와 같다. 아니 그가 추가한 글이라고 말하는게 낫겠다.


함수형 프로그래밍의 코드의 간결성과 추상화가 높아진 만큼 코드의 복잡성을 줄였지만 반면 내부적 오류에 대한 복잡성이 증가.

현재로서 사람이 인식할 수 있는 추상화의 가장 최적화는 C++, Java, Python


여전히 객체 지향 언어들이 다수의 언어를 주로 이루고 있지만 그에 따라 객체 지향 언어인 자바에서 함수형 프로그래밍이 가능하게끔 인터페이스에 스태틱과 디폴트 메소드 구현 가능 및 람다 구현을 넣어서 자바8을 내놓았다. 하지만 나 또한 자바 프로그래밍을 하고 있지만 자바8에 대한 제대로된 사용법을 익히지 않은 채 기존에 존재하는 내용들을 사용하기 때문에 이것또한 공부해야 함은 당연하다고 느낀다.


더군다나 새로운 언어에 대한 본인 가용 언어의 스펙트럼을 넓혀서 좋지만 개인의 스페셜이 될만한 특정 언어는 한 가지 가지고 있는 것이 좋다고 생각한다. 댓글에 인상 깊은 글이 있었는데 언어는 프로그램의 복잡성을 최대한 줄이고 최대한의 성능을 위한 도구일 뿐이며 개인의 자아나 감정을 이입해서는 안된다는 것. 


객관적인 지표를 가지고 분석하되 그 지표가 타당하여야 하며 타 언어와 비교했을 때 저울질분만 아니라 해당 프로젝트에 대한 적합성도 따져봐야 할 것. 너무 많은 언어들이 존재하고 언어에 따라서 지원하는 내용들도 천차만별이고 그에 따른 특성도 개별적이기 때문에 본인이 해보고 싶은 언어를 공부하는 것도 나쁘지 않을 것 같다.


다만 현재 하고 있는 언어에 대해서도 꾸준히 전문성을 기르며 실력향상을 해야할 것 같다.


Posted by doubler
,