프로그래밍 언어들의 간단한 특징

개발자들은 많은 프로그래밍 언어를 마주하고 있다.

당장 우리가 쓰는 언어만 해도 어려운데 영어, 중국어, 일본어, 스페인어를 배워야 한다면? 아니, 당장 학교 다닐 때를 생각해보라 제2 외국어 정하는데도 심사숙고하지 않는가?

그렇다. 우리에게 닥친 이 선택은 너무나 가혹하다.

정말 다행인 건 프로그래밍 언어의 경우 전체적인 개념은 다를지언정 기초적인 부분이 어느 정도 비슷하다는 것이다. (변수의 할당과 사용이라든지...)

각설하고, 갑자기 막노동을 나가더라도 적어도 연장의 쓰임은 알아야 할 것 아닌가?

앞으로 밥벌이할 때 사용 하게 될 언어들의 간단한 특징을 한번 살펴보도록 하자.

Bash


Bash(Bourne Again Shell)는 Shell 명령어를 자동화하는 데 가장 많이 사용된다. 시스템 관리자에게는 핵심 툴

  • 리눅스의 모든 명령어가 Bash 프로그램이라고 할 수 있다. 그렇기 때문에 기초적인 건 배우기 쉬우나 고급단계로 가면 어려워진다.
  • 전산 시스템 관리자는 꼭 알아야 하는 언어. 전문 개발자도 알아두면 편하다 (배우려 하지 않아도 결국 반강제로 쓰게 되지만)

C


C는 범용언어이다.
성능이 아주 중요한 애플리케이션에서 사용된다.

최근 인기가 많은 언어는 최소한 C의 문법적인 부분이라도 물려받고 있으며, C의 문법은 이해하는 데 어려움은 없으나 처음이라면 어렵긴 매한가지.

C에 능숙한 사람을 뽑는 업체는 여전히 많으나 대부분 C와 C++ 모두 할 줄 알아야 우대받을 수 있다고 한다.

C++


C와 비슷하지만, 객체지향 지원 및 몇 가지 발전된 기능을 가지고 있다.

  • 구글 크롬, 파이어폭스, 마소 워드, 엑셀, 파워포인트 등이 모두 C++로 개발된 것이다.

C#


마소의 .NET 프레임워크에서 제공되는 범용언어이다.
크로스 플랫폼 게임 엔진인 유니티도 C#을 사용한다.

C++, 자바와 비슷하며 ASP.NET 프레임워크를 사용한다면 필수.

언어의 완성도가 매우 뛰어나다.

현업에 종사하면서 사용했었는데, 그때는 몰랐으나 나중에 머리가 좀 커지고나서 다시 생각해보니 정말 괜찮은 언어라고 생각된다.

.NET 프레임워크 사용 시 Visual Studio 사용은 필수이다.

JAVA


많이 사용되는 범용 언어이다.
많은 학교에서 컴퓨터 공학 초급코스로 많이 가르친다.
스프링 프레임워크, 전자정부 프레임워크(...) 등을 사용한다면 자바는 필수이다.

자바는 사실 쉬운 편은 아니지만, 인기가 많아 초보 코스에서 자주 선택되는 언어이다.

자바를 잘한다면 우리나라에서 일자리는 걱정 없다.

안드로이드 앱이나 유명 웹사이트(LinkedIn.com 등)의 서버가 자바로 개발되었다.

Javascript


바로 가기 1. 자바스크립트란?
JAVA와는 공통점이 하나도 없다.
웹을 위한 언어였으나 최근에는 서버 쪽에도 쓰인다.
예전에는 단순히 웹에서 사용자와 상호작용을 하기 위해서 사용되던 언어였다.

하지만 현재 V8 엔진을 기반으로 만들어진 NodeJS 등으로 인하여 백엔드에서도 사용되고 있으며, 지금 가장 유행하는 언어라고 생각된다.

Angular, ReactJS, VueJS 프레임워크 등으로 인하여 전성기를 맞이했다.

Objective-C

맥 OS X 및 iOS 애플리케이션개발에 주로 사용되었으나... 지금은 Swift로 대체되었다.

Swift


애플이 2014년에 공개한 언어이다.
Objective-C를 대체하기 위해서 개발된 언어이며, 동적 언어로 Objective-C보다 쉽다고 한다.

Perl


펄은 범용언어로 주로 방대한 문자열을 처리하는 데 사용된다.
펄은 정규표현식의 대부이다. 긴 문자열을 분석해 어떤 의미를 추출할 때 펄은 최적의 언어이다.

  • 상대적으로 배우기 쉽다.
  • C와 비슷하지만 해석형 언어. 그렇기 때문에 코드 실행이 쉽다.
  • 동적언어이다.
  • 펄 개발자를 뽑는 곳이 없는 건 아니지만 파이썬과 루비를 배우는 것도 좋다.

Ruby


쉽고 직관적인 범용, 동적 언어이다.
웹 개발에 주로 사용되지만, 다른 모든 종류의 애플리케이션 개발에도 사용된다.
루비 개발자는 루비에 열광하며 루비 팬 그룹도 있고 온라인 커뮤니티도 활발한 편.
웹개발에 Ruby on Rails 프레임워크 사용 시 필요한 언어

Python

쉽게 배우고 개발할 수 있게 만들어진 언어이다.
컴퓨터 공학과 기초수업에 많이 사용된다.
우분투의 애플리케이션과 인스타그램의 웹서버가 파이썬으로 개발되었다고 한다.

PHP


웹 서버에서 주로 사용된다.
배우는 게 쉽고 데이터베이스에 쉽게 접근할 수 있도록 해주기 때문에 많은 인기를 얻었다.
하지만 이상한 기능과 버그가 많아 고생할 수도 있다.
지금은 인기가 많이 사그라들었다.

R

통계 해석에 주로 사용되는 언어이다.
스프레드시트에 담기에 너무 큰 데이터를 처리하고 싶을 때 제격이다.
데이터 처리를 쉽고 효과적으로 해준다 하지만 통계가 아닌 다른 목적으로 사용하는 건 추천하지 않는다.

VBA


마이크로소프트 오피스를 자동화하는데 사용되는 언어이다.
용도가 한정되어있지만 강력하며 회계 감사 관련 일에 자주 사용된다.

쓰기가 심하게 어렵지는 않으나 다른 언어들과 비교해서 문법이 좀 특이하다.
VBA 개발자를 따로 찾는 곳은 없지만, 회계나 금융 쪽 종사자라면 VBA를 이용해서 엄청난 시간을 절약할 수 있다.

Scala

다중패러다임 프로그래밍 언어이다.

객체지향 언어의 특성과 함수형 언어의 특성을 가지며 마틴 오더스키교수가 개발했다.

다른 언어로 표현할 수 있는 패턴을 매우 간결하게 표현하여 코드 길이가 획기적으로 줄어들게 된다.

기존의 객체지향 개발에 익숙한 개발자는 처음에 함수형 패러다임에 멘붕일 올 수도..?

자바로 개발되었으며 자바언어와 호환되므로 대부분의 자바 API를 사용할 수 있다.

Coursera에서 마틴 오더스키 교수의 스칼라 강의를 무료로 들을 수 있다.

Coursera 바로 가기

Go


구글이 2009년에 만든 프로그래밍 언어이다.
이름 특성상 검색으로 정보 얻기가 힘들어 GoLang으로도 부른다.
컴파일 언어지만 컴파일러의 속도가 매우 빨라서 인터프리터 언어처럼 쓸 수 있기에 서버사이드 언어로써 좋은 평가를 받고 있다.
Go 자체 지원 라이브러리로 간결하게 웹 사이트를 만들 수도 있다.

마치며

몇 가지 언어는 직접 다뤄봤지만 사용 안 해본 언어도 있기에 찾아가면서 정리해 봤습니다.
특징이라고는 하지만 좀 더 깊게 파면 길어질 듯해 과감하게 생략된 부분이 많습니다. 왜 이 설명이 빠졌지?! 싶더라도 양해 부탁드립니다.

참고 서적이 트렌드에 비해 내용이 올드하거나 설명이 맞지 않는 부분이 좀 있어 추가 및 수정을 하였습니다.

Elm이나 그외 언어들도 소개하고 싶었으나 과유불급이라는 생각에 여기까지 했습니다.

참고

다시 시작하는 프로그래밍 - 자바스크립트로 배우는 웹 프로그래밍 A to Z