ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 개발 언어 선택의 중요성?
    컴퓨터 일반 2019. 9. 23. 12:21
    반응형

    저자의 개인적인 생각이고 경험을 바탕으로 글을 적으며, 이것으로 인해 개발 언어의 차이점을 두지 않았으면 좋겠다.

     

    많이 물어보는 질문인데 처음 개발 언어를 무엇을 선택해야 하나요?라는 질문을 많이 한다. 

    세상에는 개발을 할수 있는 언어가 정말 많다. c, java, python, c# 등등 샐 수도 없이 다양하다.

    위에는 티오베 지수를 통해 티오베에서 만든 개발 언어 순위 표이다. 2019년 9월 티오베 지수에서는 위와 같이 프로그래밍 언어 순위는 매기고 있다. 1위는 java이고 2위는 c 3위는 python이다. 그 뒤로는 c++, c#으로 연결되어 있다. 그 밑에 언어들은 개발에 필요한 언어이긴 하지만, 개발의 메인이라고 볼기는 조금 힘들다. 조금씩 설명을 붙여 가며 이야기해보자. (개발언어의 특징 역사 등등은 다른 블로그의 포스팅을 보길 바란다. 현업에선 어떻게 사용하는지 어떤 언어가 어떤 분야에 사용되는지 알아보기 위함이다.)

     

    1. java

     

    java가 1등인 이유

    - oracle이라는 database업계의 1등이 무료로 배포한 언어.

    - android 앱 or 웹에서 주로 사용하는 언어

    - 간결하고 사용하기 편한 객체지향 언어의 선두주자

     

     

     java라는 언어는 몇 년간 1등의 자리를 놓치지 않고 있다. 그럴 수밖에 없는 게 oracle이라는 회사에서 무료로 프로그래밍 언어로 배포했기 때문이다. oracle이라는 회사는 DB업계에서는 부동의 1위를 지키고 있는 회사이다. 그러므로 언어로 연결해 사용하는 DATA저장공간인 DB업계 1위에서 사용하는 언어를 무시할 수 없는 것이다. 그런데 이것을 무료로 배포했으니 얼마나 많이 사용하고 진보적으로 발전했을까? 여기까지가 자바를 많이 사용하는 큰 이유이다. 하지만 최근 oracle이라는 회사가 자바를 사용하는데 사용료를 받기 시작했고, 그 이후에 구글과 소송을 걸 정도로 자바를 사용하는데 큰 이슈가 발생했다. 그러므로 앞으로는 자바의 사용이 조금 줄지 않을까 생각을 한다. 왜냐면 무료가 아니기 때문이다. 아직까지는 잔재가 많이 남아 있어 사용을 하고 있지만, 다른 오픈소스의 언어가 개발을 진행하고 그것을 이용하여 파장된 사업이 많아진다면, 세계에서 주류 언어가 바뀔 것이다.

     

    위에 3가지 이유가 java가 1위인 이유이다. 정말 많이 사용하는 언어라고 보면 된다. 웹, 앱은 우리 손에서 땔 수 없는 수준으로 영향력을 과시하고 있기 때문이다. 그리고 객체지향이라는 언어를 베이스로 깔고 있어 사용하기도 쉽고, 배우기가 쉽다. 

    java를 추천하는 대상

    - 처음 프로그래밍을 배우시는 대학생이나, 취미반 학생

    - 웹, 앱 쪽으로 취업을 희망하는 분들

     

    첫 번째 언어로 java를 선택한다면, 대학생이나 이제 막 처음 프로그래밍을 접하는 사람에게 추천하는 언어이다. 하지만 자신이 취업을 웹, 앱 쪽으로 가지 않을 것이라고 확신한다면, 절대 이언 어를 주 언어로 선택하여 배우지 말아야 한다. 웹 쪽으로 갈 학생이라면 꼭 이 언어를 선택해보자

     

     

     

    2. c, c++

    c계열 언어를 사용하는 이유

    - 메모리를 직접 관리한다.

    - 큰 기업들과 산업 전반적으로 사용한다.

     

     c, c++ 언어들은 같은 과라고 보면 된다. 엄밀히 따지면 다르지만, 처음 배우는 입장에선 그렇게 생각하지 않아도 된다. c언어 계열의 제일 중요한 특징은 메모리를 사용자가 직접 관리를 해주어 프로그래밍을 해야 한다는 것이다. 그래서 메모리를 자동으로 관리해주는 java, python과 달리 배우기가 조금 복잡하다. 하지만, 메모리를 직접 관리하는 것이 중요한 요소이다. 왜 중요하냐면, 기계를 조작하는데에는 그렇게 큰 메모리를 장착 할 수가 없기 때문이다. 예를 들어 내가 기계 팔을 만드는데 그 부분에 하드디스크를 달아서 사용할 것인가? 사람 팔에 하드디스크를 달아 사용한다고 생각해보면, 끔찍한 일이다. 무겁고 사용이 불편하기 때문이다. 그만큼 메모리 관리는 정말 중요한 요소 이다. 

     

    메모리 사용 최적화를 필요로 하는 분야

    - 산업현장

    - 기계나 부품을 만드는 회사(임베디드)

    - 큰 용량의 데이터를 사용하는 빅데이터 회사 등등

     

    이렇게 메모리 관리를 최적화해서 사용하는 분야는 따로 있다. 웹, 앱 쪽이 아니다. 그래서, c계열은 산업적으로 사용하는 경우가 많다. 일자리도 그렇다. 부품을 만드는 회사 반도체, 기계, 노트북 등등 을 만들 때 소형화와 메모리를 관리할 수 있는 c언어 계열을 많이 사용하는 것이다. 그래서 c언어는 임베디드, 기계를 만들거나, 등등을 만들고 싶거나 이런 일을 하는 회사에 들어갈 것이라면 배우길 바란다.

     

    C언어 계열을 추천하는 대상

    - 기계에 대해 관심이 많은 분

    - 반도체나, 임베디드 기계를 다루는 회사에 취업을 희망하시는 분

     

    3. c#

     

     c# 은 마이크로 소프트에서 개발한 c언어 계열의 언어의 특징과 자바의 객체지향의 특징을 섞어 만든 언어이다. 그래서 윈도라는 운영체제에서 사용하는 애플리케이션을 만드는 용도로 주로 사용된다. 이 언어를 많이 사용하는 분야는 mes, erp 같은 분야이다 mes 공장 자동화 시스템을 만드는 것으로 4차 산업에 적합한 분야이다. erp는 너무 유명하니 찾아보도록 저자는 mes에 대해 말하겠다.

     

    mes는 공장을 자동화하는 시스템을 만드는 것이다. 많은 사람이 사용할 필요가 없다. 왜냐하면 공장에서만 사용하면 되기 때문이다. 그래서 주로 윈도즈에서 사용하는 프로그램을 만들고 조작을 하면 된다. 그것을 가능하게 하는 것이 바로 c#이다. c#은. NET이라는 프레임워크를 지원한다. 이것은 윈도즈용 프로그램을 만드는데 최적화 되어있다. 이점을 꼭 알고 넘어가자. c#은 객체지향 언어여서 정말 좋은 언어이지만 .net프레임 워크라는 너무 좋은 툴이 있어 사용하기가 엄청 편하다. 그래서 알고리즘이나 머리를 써 모듈을 만드는 일이 처음 배울 때는 거의 없다. 그냥 드래그앤 드랍을 하면된다. 하지만 현업에서는 이부분을 뜯어 고쳐서 동적으로 구현을 하도록 구현을 해야하는데 이 개발 능력은 정말 얻기 어렵다. 처음 배우는 사람에게는 추천하지 않는 언어이다. 정리해서 말하면, c#을 사용하는 데는 윈도우즈용 프로그램을 만드는 회사 인데, 이부분이 프레임워크단에서 해결이 가능 하지만, 현업에서는 프레임워크를 뜯어 고칠 수 있을 정도의 능력을 원한다는 이야기이다.

     

    c#을 추천하는 대상

    - 4차 산업혁명에 관심이 있고, 공장 자동화 시스템에 관심이 있는 분

    - 윈도우즈용 프로그램을 만들어 보고 싶은 분

    - 개발 언어를 조금 접해 보신 분

     

    4.python

     

     python은 정말 간결하고 배우기가 너~~ 무 쉽다. 메모리도 자동으로 관리해 주어 메모리에도 신경을 많이 쓰지 않아도 된다. 그리고 django, tenssorflow, R, numpy 등등 정말 많은 프레임워크와 라이브러리를 제공한다. 다양한 걸 해볼 수 있다. 그런데 아쉬운 게 우리나라에선 거의 사용하지 않는다. 왜냐하면 이미 사업이 c와 java로 구성되어 유지보수도 하기 때문이다. python으로도 다 되지만 말이다. 그런데 java가 유료가 되면서 다시 사용하려고 하는 추세이지만, 제약이 많아 도입하는 건 어렵다. 그래도 사용하는 분야가 있다. 빅데이터, 4차 산업 이제 막 뜨는 신사업에서 많이 사용하려고 하다. 관련된 분야에 대해  지원좋은 라이브러리들이 많기 때문이다. 그래서 빅데이터, 4차산업 이제 막 시작하는 스타트업 등에서 많이 볼 수 있다. 하지만 우리나라는 빅데이터를 사용하여 사업에 이용하는 빈도수가 10% 미만이다. 거의 사용하지 않는 것이다. 그 말은 즉, 일자리가 없다(대기업 아니고서야...) 그리고 빅데이터를 사용하려면 처음 프로그래밍을 하는 사람이 직접 다루기에는 어렵고 이론도 정말 어렵다. 그래서 학벌을 많이 본다. 많이 볼 수밖에 없다. 어려우니깐....  하지만, 무료이기 때문에 미래는 밝다 앞으로 10년 뒤에는 많이 사용하지 않을까 조심 스래 추측해 본다.

     

    python을 추천하는 대상

    - 빅데이터에 관심이 많으신 분

    - python을 이용한 스타트업에 관심이 있으신 분

    - 프로그램을 취미로 배우실 분

     

     

     

    위에 내용은 저자 개인적인 생각이므로, 참고만 해 주셨으면 한다.

    반응형

    댓글

Designed by Tistory.