보안 이슈

AhnLab 보안 전문가의 심층분석! 보안 이슈 정보를 전해드립니다.

클라우드 직종에서 가장 인기 있는 프로그래밍 언어는?

  • Facebook에 공유하실 수
    있습니다.

  • Twitter에 공유하실 수
    있습니다.

  • Linked in

    Linked in에 공유하실 수
    있습니다.

  • 붙여넣기

    블로그나 게시판에 붙여넣기 하실
    수 있습니다.

  • AhnLab
  • 2022-11-23

전 세계 자산시장 거품이 꺼지면서 경기 침체와 불황의 그림자가 드리우고 있다. 한때 뜨겁게 달아올랐던 IT 업계에도 찬바람이 불어온다. 메타나 트위터, 아마존과 같은 대형 IT 기업은 대규모 감원 계획을 발표했다. 당분간 IT 인력에 대한 수요가 감소하고 제조업 또는 1차 산업이 주목받을 것으로 예상된다. 하지만 이런 상황에서도 클라우드 개발자에 눈독을 들이는 기업이 많다. 채용 시장에서 경쟁력 있는 개발자가 되려면 어떤 역량이 필요할까? 알아 두면 좋은 프로그래밍 언어 4가지를 집중적으로 살펴보자.

 

프로그래밍 언어란 컴퓨터가 명령이나 연산 등 사용자가 원하는 작업을 수행하도록 지시하는 신호 코드를 말한다. 컴퓨터가 이해할 수 있는 신호는 01로 구성된 기계어 뿐이다. 하지만 사용자 입장에서 기계어만 사용해 작업 명령을 내리는 것은 너무 길고 난해하다. 그래서 기계어와 일대일로 대응되는 기호로 이루어진 어셈블리어(Assembly Language)가 등장했지만, 이 또한 저급 언어이기에 어렵기는 마찬가지이다.

 

고급 프로그래밍 언어는 사용자가 일반 문장과 유사하게 코딩하면 컴퓨터가 이를 기계어로 변환해 작업을 처리하는 로직을 사용한다. 프로그래밍 언어의 종류는 700개가 넘지만, 최근에는 대다수 개발자가 고급 언어를 주로 다룬다.

 

고급 언어는 입력된 모든 문장을 한 번에 변환해 최적화한 다음 실행하는 컴파일(Compile), 한 줄씩 번역하고 오류가 있으면 즉시 알려주는 인터프리트(Interpret) 방식으로 나뉜다. 컴파일 방식은 일반적으로 실행 속도가 빠르고 완성된 파일의 크기가 작다는 장점이 있다. 인터프리트 방식은 배우기 쉽고 오류를 빠르게 찾아낼 수 있으며, 적은 노력으로 복잡한 작업을 수행할 수 있다. 직종별 어떤 특성을 더 중시하는지에 따라 채택하는 프로그래밍 언어와 실행 방식이 다르다.

 

요즘 개발자는 어떤 프로그래밍 언어를 선호할까? 개발자 커뮤니티 깃허브(GitHub) 2022 1분기 순위를 보면 파이썬(Python), 자바(Java), 자바 스크립트(JavaScript), C++, PHP 순으로 상위권에 올랐다. , 20229월 티오베(TIOBE) 지수에서는 파이썬, C, 자바, C++, C# 가 상위권을 차지했다. 상위권 명단에 꾸준히 이름을 올리는 이들은 과연 어떤 특징을 가지고 있을까?

 

파이썬: 머신러닝, IoT에 강하다

파이썬은 최근 몇 년 동안 가장 인기 있는 프로그래밍 언어 5위 안에 들었다. 코드를 읽고 쓰는 것이 쉬워 대학 수업에서 교육용으로도 많이 사용된다. 파이썬의 가장 큰 장점은 기본 문법이 간결해 행동 기반으로 프로그램 알고리즘을 실행할 수 있다는 것이다. 코딩 시작 전에 필수로 작성해야 하는 서식 등의 절차도 다른 고급 언어에 비해 훨씬 간소하다. 또한, 인터프리트 방식을 사용하기 때문에 프로그램 코드를 단계별로 실행하며 오류를 빠르게 찾아내고 수정할 수 있다. 그래서 파이썬은 코딩에 적은 노력을 들여도 사용자가 원하는 작업을 신속하게 처리할 수 있는 대표적인 프로그래밍 언어라고 할 수 있다.

 

또한, 파이썬은 접착성이 우수해 다른 언어와 연결해 사용할 수 있다. 필요 시 자바나 C# 등을 함께 사용하거나, 심지어 저급 언어인 어셈블리도 호출 가능하다. 인터넷을 중심으로 구축된 거대한 파이썬 생태계를 통해 필요한 코드 모듈을 찾아 쓸 수 있어 개발자는 모든 것을 스스로 만들어낼 필요가 없다.

 

이런 편의성으로 인해 파이썬은 웹사이트 서비스 개발, 데이터 분석 다양한 분야에 활용된다. 특히 머신러닝과 사물인터넷(IoT) 개발자 사이에서 인기가 좋다. 최근 각광받는 빅데이터 분야인 데이터 사이언스에서 파이썬은 압도적인 존재감을 과시한다. 인스타그램, 유튜브도 파이썬을 주로 사용하는 것으로 알려졌다.

 

물론 파이썬의 단점도 있다. 인터프리트 방식을 사용하기에 다른 언어에 비해 실행 속도가 느리고, 개발한 앱의 최적화가 덜 돼 메모리를 많이 소모한다. 완성된 코드를 일반 사용자에게 배포하는 과정이 복잡하고 파편화돼 있기 때문이다. 파이썬은 기본적으로 파이썬 환경을 이미 구축한 사용자만 읽고 쓰고 실행하기 편리하다는 한계가 있다.

 

자바: 안드로이드 앱 개발에 이것 만한 것이 없다

2020년 기준 전 세계 자바 개발자는 700만 명이 넘는다. 이는 자바스크립트, 파이썬에 이어 3번째로 많은 수치이다. 특히 실행 속도가 빠른 컴파일 언어 중에서는 사용자가 가장 많다. 자바는 한 번 짠 코드를 거의 모든 스마트 기기와 플랫폼에서 사용할 수 있다. 이런 놀라운 범용성 덕분에 개발자 입장에서는 플랫폼에 따라 일일이 코드를 수정해야 하는 번거로움을 대폭 줄일 수 있다.

 

자바는 안드로이드 스마트폰 앱 개발자가 주로 사용하는 언어로, 정부에서 제공하는 사이트는 대부분 자바로 구현됐다. C++과 같은 언어에 비해 문법이 단순한 편이기 때문에 코드를 쉽게 짤 수 있고, 보안도 우수하다. 또한, 우수한 객체 지향 언어로 강력한 디버깅을 제공한다. 수많은 개발자가 구축한 레퍼런스가 있어 타 언어 대비 생산성과 실행 안정성도 높다.

 

다만, 컴파일을 거치는 언어 중에서는 실행 속도가 느린 편이며, 자바 가상머신을 먼저 로딩하고 실행하기 때문에 초기 시작 시간이 오래 걸린다. 코딩 면에서 보면 예외처리가 불편하며, 기본적인 구조를 짜기 위해 의무적으로 작성해야 하는 서식과 코드의 분량이 많다.

 

C#: 마이크로소프트 플랫폼 개발에 최적

C#은 마이크로소프트에서 개발한 객체 지향 언어로, 윈도우에서 동작하는 거의 모든 프로그램에서 사용된다. 기존의 C, C++ 언어에서 더 발전된 형태이며, C++ Java의 특징을 동시에 가지고 있다. 특히 최근에는 게임을 만드는 데 유용한 플랫폼인 유니티(Unity)와 함께 쓰면 좋은 언어로 주목받고 있다.

 

C# ASP 웹서버를 만드는 데에도 유용하다. 특히 마이크로소프트 애저(Azure)에서 개발자 친화적인 생태계를 지원하며, 빠른 속도와 완벽한 객체 지향, 닷넷(.NET)의 모든 장점을 가졌다. 게다가 미사용 메모리를 자동으로 반환하는 가비지 컬렉션(Garbage Collection) 기능까지 갖췄다. 다만, 마이크로소프트 플랫폼을 벗어나면 개발자 점유율이 높지 않다.

 

자바스크립트: 웹 페이지, 웹 앱 개발에서 압권!

자바스크립트는 웹 앱에서 사용자가 일반적으로 보고 사용하는 사용자 경험 부분에 해당하는 프론트엔드 개발에서 독보적인 입지를 차지하고 있다. 실질적으로 웹 페이지가 동작하는 부분에는 모두 자바스크립트가 사용되고 있다. 자바스크립트는 이미 존재하는 소프트웨어를 제어하고, 실시간으로 코드를 분석한다.

 

전 세계에서 자바스크립트 개발자가 가장 많으며, 그만큼 큰 생태계를 보유하고 있다. 자바와는 전혀 다른 언어이며, 웹 브라우저에서 사용할 수 있는 유일한 언어이기도 하다. 인터프리트 방식을 사용하지만, 사용법이 유연하기 때문에 여러 테스트 코드 작성 기법을 통해 다양한 영역에 활용할 수 있다.

 

자바스크립트는 풍부한 인터페이스를 제공하고 확장성이 매우 좋아 여러 플랫폼에서 사용할 수 있다. 다만, 클라이언트 보안이 약해 악성코드를 주입하기 쉽고, 디버깅 기능이 부족하다는 단점도 있다.

  • AhnLab 로고
  • 콘텐츠기획팀
  • Facebook에 공유하실 수
    있습니다.

  • Twitter에 공유하실 수
    있습니다.

  • Linked in

    Linked in에 공유하실 수
    있습니다.

  • 붙여넣기

    블로그나 게시판에 붙여넣기 하실
    수 있습니다.

지금 마케팅 안내 수신 동의하고
선물 받아가세요!

이벤트 내용 더 보기
세미나/제품/이벤트 안내

더 알아보기

개인정보 수집 및 이용 동의서

선물 발송을 위해 아래와 같이 개인정보를 수집 및 사용합니다.
동의를 거부할 수 있으나, 동의 거부 시 이벤트 참여가 불가능 합니다.

  1. ㆍ수집 항목 : 이름, 휴대전화번호
  2. ㆍ수집 목적 : 참여자 중복 확인, 공지 발송, 경품 발송
  3. ㆍ보유기간 : 이벤트 종료 후 지체 없이 파기(단, 당첨자의 경우 경품 배송 후 30일)
  4. ㆍ경품 발송 위탁: 쿠프마케팅 (모바일상품권 발송업체)
참여하기
닫기