" 본인이 하고 싶은 일 또는 제품등을 서비스하는 회사에서 권장하는 프로그래밍 언어를 배우면 된다. "
그렇다면 프로그래밍 언어란 무었이고 왜 종류는 다양한지에 대해서 의문이 들 수 있다.
프로그래밍 언어란?
말 그대로 언어의 일종이다. 외국어를 공부하는 이유는 외국인과 대화를 하기 위해서 공부를 한다
즉 프로그래밍 언어는 컴퓨터랑 대화를 하기 위해서 배우는것이 프로그래밍 언어 볼 수 있다.
프로그래밍 언어는 왜 다양한것인가?
먼저 프로그래밍 언어가 왜 탄생했는지부터 알아보자.
수학에는 2,8,10,16진법이 있는데 사람이 가장 많이쓰는 진법은 10진법이다.
이유는 아마도 사람의 손가락이 10개이기 때문이다. 그렇다면 컴퓨터는 어떤 진법을 사용할까? 2진법이다.
이유는 전력이 입력되고 들어오지 않고 이 상태를 표현하기에는 2진법이 가장 쉽기 떄문이다.
CPU건 GPU등의 연산장치는 이 2가지 신호를 확장한 것이라고 볼수 있다.
사람이 010101 이라는 0과 1을 이용해서 컴퓨터와 대화하기는 상당히 곤란한 부분이 많고 어렵다고 볼 수 있다.
이 어려움을 극복하기 위해서 그리고 어려움을 개선하기위해서 최초의 프로그래밍 언어인 어셈블리어가 나오게 되었다.
그리고 그 언어가 발전하여 여러 가지 언어가 나오게 되었다.
C, C++ , C#, JAVA, 파이썬 등...
프로그래밍 언어 중 가장 좋은 1개로 통일하면 좀더 생산적이지 않을까?
"프로그래밍 언어는 왜 여러 종류가 있고 이것들이 모두 다 쓰이는 이유는 무엇일까?" 라는 생각을 할 수 있다.
이 부분은 언어의 완성도나 성능이 아닌 해당 언어를 개발한 회사의 환경에서 이유를 찾을 수 있다.
다른 회사에서 개발한 언어를 기반으로 제품을 만들 경우 예를 들면 IOS의 App을 Objective-c / Swift가 아닌 다른 언어를 언어를 이용하여 개발 할 경우 해당언어의 라이선스가 무료에서 유료로 변경이 되거나 버전업을 통해 특정기능이 제한이 되거나 하는 등의 이슈가 있을 수 있다.
본인이 직접 개발하고 라이선스가까지 관여할 수 있는 언어를 사용한다면 위에 말한 이슈에 대해서 상당부분 자유로울 수 있다.
또한 각 회사마다 문화와 목표가 있고 그 방향성에 맞게 언어가 개발되고 발전되어지기 때문에 프로그래밍 언어가 다양하다고 볼 수 있다.