들어가기 전에
프로그램을 만들기 위한 프로그래밍 언어의 종류는 굉장히 다양합니다.
10년을 주기로 보통 40~50개의 프로그래밍 언어가 탄생하고 있습니다.
수 많은 프로그래밍 언어 중에서 어떤 언어를 선택하여 개발할 것인가? 도 프로그래밍을 처음 배우는 분들에게는 많은 고민을 안겨줍니다.
수 많은 프로그래밍 언어 중에서 어떤 언어를 선택하는 것이 좋을까요?
학습 목표
- 다양한 프로그래밍 언어의 종류에 대하여 알아봅니다.
- 웹 프로그래밍에 좀 더 최적화된 프로그래밍 언어의 장단점에 대하여 알아봅니다.
핵심 개념
- 저급언어
- 고급언어
- 컴파일러
학습하기
저급 언어
저급 언어는 기계 중심의 언어라고 말할 수 있습니다.
기계가 직접 알아들을 수 있는 말로 '프로그램 코드를 작성한다'고 말할 수 있습니다.
컴퓨터는 전기로 동작합니다.
즉, 전기신호인 켜졌다(on)와 꺼졌다(off) 2가지 상태 값으로 동작한다고 말할 수 있습니다.
보통 숫자로 표현하면 켜졌다는 1, 꺼졌다는 0을 의미합니다. 0과 1로 표현되는 숫자를 우리는 2진수라고 말합니다.
2진수로 이뤄진 값으로 작성하는 프로그래밍 언어를 기계어(Machine Language)라고 말합니다.
숫자로만 되어 있기 때문에 유지보수도 굉장히 어렵습니다.
숫자로만 된 프로그래밍 언어는 사용이 굉장히 어려웠습니다.
그래서, 이 숫자로 된 문장과 1:1로 대응하는 기호를 만들고, 그 기호로 프로그래밍을 하게 되었습니다.
단 기호로 작성된 프로그램은 기계가 바로 알아들을 수 없기 때문에 기호로 작성된 문장들을 원래의 숫자로 바꿔야 하는 과정이 더 필요하게 되었습니다.
이러한 과정에서 사용되는 도구를 컴파일러(Compiler)라고 말하며, 이러한 기호로 작성된 언어를 어셈블리어(Assembly Language)라고 말합니다.
현재는 아주 특수한 경우를 제외하고는 기계어와 어셈블리어로 프로그램을 개발하는 경우는 거의 없습니다.
그만큼 프로그래밍이 어렵고 유지보수가 어렵기 때문입니다.
고급 언어
고급 언어는 사람 중심의 언어라고 말할 수 있습니다.
사람이 좀 더 이해하기 쉬운 문법으로 프로그래밍을 할 수 있습니다.
이런 일이 가능하기 위해선 작성된 소스코드를 번역하는 과정이 필요합니다.
이를 컴파일한다고 말하며, 이러한 일을 수행하는 것을 컴파일러라고 말합니다.
앞에서 어셈블리어도 기계어로 컴파일이 된다고 말했었죠?
컴퓨터 성능이 좋아지고, 컴파일러와 관련된 기술이 발전하면서 사람 중심의 언어로 프로그래밍할 수 있다고 생각하면 됩니다.
이러한 고급 언어로는 다음과 같은 언어들이 있습니다.
FORTRAN : 최초의 고급언어 중의 하나라고 말할 수 있으며, 과학 계산용으로 주로 사용됩니다. 현재 공대에서도 많이 사용되고 있습니다.
COBOL : FORTRAN과 더불어 역사가 오래된 언어입니다. 일반 업무에서 사용할 목적으로 만들어졌으며, 현재도 은행 등에서 사용되고 있습니다.
PROLOG : 논리형 프로그래밍 언어로써, 논리식을 토대로 오브젝트와 오브젝트 간의 관계에 관한 문제를 해결하기 위해 사용됩니다.
C : 1972년 미국 벨 연구소의 데니스 리치에 의해 개발된 고급 언어로써 시스템 프로그래밍에 가장 적합한 평가를 받는 언어입니다.
Erlang :스웨덴의 에릭슨에서 개발한 함수형 병행성 프로그래밍 언어이며 통신 인프라를 위한 언어입니다.
Lisp : LISt Processsor의 약자로써 대표적인 함수형 언어입니다. 프로그래밍 언어의 역사를 말할 때, 현대의 컴퓨터를 위해 등장한 고급 언어 중 가장 오래된 것이 포트란이고, 두 번째로 오래된 것이 바로 이 리스프입니다.
Swift : 2014년 WWDC(Apple WorldWide Developers Conference)에서 공개한 프로그래밍 언어입니다. 최근에 만들어진 언어로 현대 프로그래밍 언어의 발전을 대다수 계승한 모던 프로그래밍 언어라고 말할 수 있습니다.
Kotlin : IntelliJ IDEA의 개발사 JetBrains에서 2011년에 개발한 프로그래밍 언어입니다. JVM기반의 언어이며 Java와의 상호 운영이 100% 지원됩니다. Swift와 마찬가지로 현대 프로그래밍 언어의 발전을 대다수 계승한 모던 프로그래밍 언어라 말할 수 있습니다.
Clojure : 클로저(Clojure)는 리치 히키(Rich Hickey)가 만든 리스프 프로그래밍 언어의 방언으로서, 범용 함수형 언어입니다.
Python : 프로그래밍 입문자가 읽기 쉽고 적은 코드를 사용하여 프로그램을 개발할 수 있습니다. 많은 사람에게 추천되는 언어이며, 데이터 과학에서도 자주 사용되며 웹사이트 개발에서도 많이 사용되고 있습니다. 최근 python은 ML (machine learning)에서도 많이 사용됩니다.
JAVA : 1995년 썬 마이크로 시스템즈에서 개발한 객체지향 프로그래밍 언어입니다. 거의 매년 세계에서 가장 많이 사용되는 인기 1등을 차지하고 있습니다.
웹 프로그래밍에서 인기가 많은 언어
프로그래밍 언어 중에서 가장 인기 있는 언어는 무엇일까요?
사람마다 다른 관점으로 언어를 바라보기 때문에 순위를 매긴다는 것은 쉽지 않을 것입니다.
기업이나 언론의 경우 인기 있는 프로그래밍 언어를 알기 위해서 github, stackoverflow와 같은 사이트에서 언급되는 횟수를 활용하기도 합니다.
comment
1. Javascript
2. Python
3. 코드에 대해 여러사람들과 이야기 해볼수 있으며 여러오류에 대한 자세한 답변들이 잘나와있습니다.
1.Javascript를 사용하면 좋을것 같습니다.
2.Python을 사용하면 좋을것 같습니다.
3. 프로그래밍 언어를 활용하여 특정 문제를 해결하는 중 발생하는 이슈를 공유할 수 있으며 이를 통해 내가 모르는 지식을 얻을 수도 있고, 내가 아는 지식을 더 잘 정리해서 공유할 수도 있는 지식의 선순환 구조를 만들 수 있다. 추가적으로 해당 프로그래밍 언어 개발자도 사용자에게 자주 발생하는 이슈를 개선하는 새로운 Release를 오픈할 수 있다.
1.JavaScript일것 같습니다. 프론트 엔드 뿐 아니라 최근 서버영역까지 확장을 하고 있으므로, 한가지 언어로 모든 영역을 커버할수 있을것 같습니다.
2. 읽기 쉽고 적은코드의 사용으로 입문자에게 좋은 Python 입니다.
3. 네이버 지식인처럼 물어볼수있는 곳이 생깁니다. 또 반대로 질문에 답을 해주며 자신이 알고있는 지식을 상기시킬수 있고, 다른사람의 답변을 보며 새로운 지식을 얻어갈수 있습니다.
1. Javascript
2. Python
3. 혼자서 풀 수 없는 오류나 질문이 생겼을 때 답을 얻을 수 있다. 라이브러리 개발이 매우 활발해 좋은 기능들을 빠르게 선언만 하여 쓸 수 있다.