Skip to main content

컴퓨터 프로그래밍 언어

소프트웨어 프로그래머라는 직업은, 빠르게 변하는 테크널리지 환경에 맞춰 자신도 끊임없이 변화하고 변화를 감지할 줄 알아야 하며 새로운 기술과 환경을 자신의 것으로 빠르게 습득하고 학습할 수 있는 능력이 절대적으로 필요한 직업입니다.

. . . . .

멘토링을 위하여 만나뵈었던 몇몇 부모님들께서 가장 많이 물어보시는 질문 중 하나가 "어떤 프로그래밍 언어를 배워야 하는지요?" 였습니다. 나열하자면 프로그래밍 언어는 정말 많이 있고 많이 사용되고 있습니다, 하지만 반드시 알아야 할 것은 하나의 프로그래밍 언어가 모든 작업과 프로젝트에 적합할 수가 없다는 것입니다. 따라서 일반 기업들, 그리고 기업 내에서도 LOB (Line of Business) 가 다른 곳에서는 제 각각 가장 적합하고 최적화 된 프로그래밍 언어를 사용하여 프로젝트를 개발하고 있습니다.  일반 기업에서 많이 사용하는 프로그래밍 언어를 일례로 나열해 보면 다음과 같습니다. 물론 약간은 제 경험과 의견으로 biased 된 것도 있겠지만, 적어도 제가 일했던 월스트릿쪽과 Asset Management 그리고 헤지펀드 회사들을 기준으로 먼저 말씀드리겠습니다.

프로그래밍 언어에는 System 레벨 프로젝트를 개발하고 그에 적합한 언어가 있습니다. 그리고 일반 사용자 환경이라는 User Interface (UI) 개발에 적합한 언어가 있으며, 이 둘을 합쳐 하나의 큰 프로젝트를 완성하는것이 현재의 개발 흐름입니다. 

Application = Front-End (UI) + Middleware / API + Back-End 

시스템 레벨 프로젝트를 위하여 적합한 언어

  • C++
  • C#
  • Java
  • Python

사용자 환경 개발에 적합한 언어와 그에 따른 Framework
  • Javascript
  • Python
  • NodeJS  (시스템 네트웍 관련 막강함을 발휘하는 자바스크립트 언어입니다)
  • AngularJS
  • ReactJS
  • Vue JS
  • Ruby, Ruby on Rails 

위의 예는 많은 언어들 중, 그래도 가장 많이 현재 사용하고 있는 언어들만 간추려 본 것입니다. 시스템 관련 프로젝트 개발을 위해선 C++, C#, Java 가 가장 보편화 되어 있고 이 언어들을 사용하여 서버쪽 프로그램과 Software Development Kit (SDK), 또는 API 를 개발하고 아울러 웹서버도 자체 개발할 수가 있습니다. 또한 시스템을 컨트롤하고 일반적인 I/O (Input / Output) 관련 프로젝트를 가장 최적화 시켜 개발할 수 있도록 합니다.  데이터 베이스와 Interface 되는 SDK 또는 API 도 이들 언어를 사용해 개발하는게 가장 일반적입니다.

그렇다면 사용자들이 직접적으로 느끼고 사용하는 사용자 인터페이스 부분 (Web, Mobile App) 등은 어떻게 개발을 할까 하실겁니다. 이는 요즘은 Javascript 을 가장 많이 사용합니다. ReactJS 라는 Javascript Framework (Facebook 에서 개발) 을 이용하여 일반 Web UI 와 Mobile UI 를 개발하고 시스템 또는 데이터베이스와 연동되는 부분은 API 로 개발하여 함께 사용하게 되는 것입니다.
ReactJS 외에도 AngularJS (구글에서 밀고있는 Javascript Framework), 그리고 Vue JS 라는 프레임워크도 많이 사용되고 있습니다.

실제 제가 담당하는 개발팀에서는 사용하는 언어와 프레임워크가 다음과 같습니다. 개발된 프로그램을 사용하는 사용자는 저희 회사 전 세계 지점의 모든 Employee 들이며 저희 팀 모든 소프트웨어 엔지니어들은 다음의 프로그래밍 언어와 프레임웍을 능숙하게 다루고 저희가 Support 하는 LOB 업무를 정확하게 이해하고 관련 시스템도 모두 이해햐야 함은 물론입니다.

  1. C# with Microsoft .NET Framework
  2. C++
  3. Javascript
  4. Knockout JS, AngularJS, Vue JS
  5. Node JS
  6. Oracle RDBMS, MS SQL RDMBS
. . . . .

그렇다면 다시 처음으로 돌아가서, 지금 처음으로 컴퓨터 프로그래밍에 관심이 있는 학생이라면 어떤 코딩 언어를 가르쳐야 할까라는 질문이 다시 돌아옵니다. 위에 나열한 언어를 빠른 시간안에 배우고 사용하기란 불가능하기에, 처음 접했을 때에 쉽게 사용이 가능하고 배우기 쉬우며 많은 분야에서 가장 잘 활용되는 프로그래밍 언어를 고르는 것이 중요합니다. 아울러 기본적으로 Computer Programming Algorithm 과 함께 Data Structures 를 함께 조금씩 같이 배우는 것을 적극 추천합니다.

혹시 자녀 분들이 코딩에 관심이 있다면, Python 을 염두에 두고 학습 계획을 세우시길 추천합니다.
Python 은 스크립트 언어로 배우기 쉽고 기능도 막강하며 Google 및 많은 Financial Industry 회사에서 Data Analysis 관련 가장 많이 사용하는 언어이기도 하지만, Web Programming 을 위한 Framework 도 다수 있기에 처음 배우는 언어로는 가장 적합합니다.

컴퓨터사이언스를 전공으로 생각하고 있는 학생이라면, 그리고 부모님이시라면...
이 전공은 Problem Solving 을 좋아하고 자신의 적성에 절대적으로 맞아야 대학 4년 동안 즐겁고 재미있게 공부할 수가 있을것입니다.

. . . . .

다음 글 (1월 12일) 에서는 코딩에 관심있는 학생들에게 추천해 주고 싶은 책들과 웹 사이트등을 소개해 드리도록 하겠습니다. 





Comments