프로그래밍 언어의 종류 및 통계 어떠한 언어를 선택할까?
- IT 기술이 발전하며 프로그래밍 언어도 점차 진화되었습니다. 최초 기호나 부호를 이용했던 프로그래밍 언어는 시대 발전 흐름에 따라 사용할 수 있는 프로그래밍 언어의 종류도 굉장히 다양해졌습니다.
- 최근에는 어떠한 프로그래밍 언어가 많이 사용되며 인기 있는 프로그래밍 언어에는 어떠한 것들이 있는지 알아보고자 합니다.
현재 사용하고 있는 언어들이 중 많이 사용되는 것들은 동그라미가 좀 더 큽니다. 처음 보는 언어도 매우 많기도 익숙한 프로그래밍 언어들도 꽤 있는 것 같습니다. 아래 이미지는 이렇게 프로그래밍 언어가 다양하다는 것을 보여드리기 위해서 가져왔습니다.
프로그래밍 언어 사용 통계(github)
- 2014년~2019년까지 github 사이트에서 제공한 사람들이 많이 사용한 프로그래밍 언어 통계 수치.
- 현재 가장 많이 사용되고 있는 언어 1위 JavaScript 2위는 Python(인기 있는 언어의 특징은 어떠한 환경에서도 사용할 수 있으며 확장성이 좋은 언어가 인기가 좋음)
- 2019년 통계 그래프 중 Java를 제치고 Python이 2위로 변동된 것이 특이점. (인공지능, 기계 학습, 분석 시스템이 최근에 IT 산업에 많이 활용되다 보니 사용자가 더욱더 많아진 언어)
- 그 외에는 예전부터 많이 사용되는 언어인 Java, PHP, C#, C++, shell, C, Ruby 등이 존재함니다.
프로그래밍 언어 사용 통계(Stack Overflow)
- GitHub에서 제공한 순위와 큰 차이는 없으나 프로그래밍 언어 통계적으로 웹/모바일 관련 프로그래밍 언어가 가장 많이 사용되는 것을 확인할 수 있습니다.
변화가 가장 많았던 언어는?
- GitHub, Stack Overflow에서 제공하는 프로그래밍 언어별 많이 사용되는 언어는 Javascript와 Python이 최근에 가장 많이 사용되는 언어라고 되어 있으며 특정 사이트에선 연도별로 가장 변화가 많은 언어 중 하나를 python 언어라고 언급되기도함.
- 대부분 웹상에 있는 정보를 확인해 보아도 현재 주목받고 인기 있는 언어는 Python, Javascript 언어 두 가지로 볼 수 있다.
프로그래밍 언어별 장단점
JavaScript
- 웹브라우저 내에서 사용 가능, 응용프로그램 내장 객체에도 접근 가능.
- Node.js를 활용해 서버 사이드, 네트워크 프로그래밍 사용 가능.
- 모바일 환경에서 필수로 사용되는 언어이기도 하며 다른 웹이나 모바일 환경에서도 확장성과 호환이 좋다 보니 최근에 가장 인기 있는 언어 중 하나
- node.js Realm core를 이용해 SQL 질의를 학습하지 않아도 DB 조회 가능.
Python
- 확장성이 매우 뛰어나며 인터프리터 언어처럼 동작하나 다음 실행 시에는 컴파일 과정 형태로 처리되어 다음 실행 시 속도가 빨라짐.
- 운영체제(윈도우, 리눅스) 시스템 명령어 사용 가능 및 도구를 갖추고 있어 다른 소프트웨어를 조합해 강력한 프로그램 제작 가능
- 웹 프로그래밍, 데이터 분석, 사물인터넷, 머신러닝, 딥러닝 등 다양한 분야에서 활용 가능 언어.
- 간단한 모바일 애플리케이션 제작은 가능한 수준이지만 앱 개발을 하기 위한 완벽한 환경은 아직 시간이 좀 더 필요함.
Java
- 웹 개발 시 제공되는 프레임워크 기능이 강력하여 웹 개발 인프라가 좋음.
- 안드로이드 기반 언어가 Java이기 때문에 안드로이드 앱 개발에 가장 최적화되어 있음.
- JVM 가상머신을 이용해 플랫폼에 독립적이며 확장성이 좋으나 IOS 앱 개발은 완벽히 지원되지 않음
- 웹 환경에서 보안이 뛰어나다는 평이 있었으나 구버전의 경우 보안상 문제가 될만한 소지가 있다고 하나 이러한 부분은 웹 개발의 다른 언어와도 같은 문제가 될 수 있음.
PHP
- 웹 개발에 특화된 언어, 다양한 프레임워크를 지원하나 사이트 관리를 위한 구조에 대한 기준을 정하기 힘듬.
- 인터프리터 언어이기에 컴파일하는 언어보다 속도 측면에서 느림.
- 저렴한 유지비 비용으로 사용자가 많아 PHP로 구축된 인프라가 좋으며 특별한 컴포넌트 설치를 하지 않아도 다양한 처리가 가능.
C#
- C#은 닷넷 플랫폼에 최적화 비쥬얼 스튜디오 툴을 이용해 편리한 개발 환경(한글 지원 및 서비스지원)
- 윈도우 환경 응용 프로그램 개발 및 유니티, 언리얼 툴을 이용한 게임 개발 시 많이 이용되는 언어.
- Java, C# 두 개의 언어는 비슷한 점이 많아 하나의 언어만 배워도 이해하기 쉬운 특징이 있음
- 유지보수시 라이센스 비용이 비싼 편
Shell
- 시스템 관리자에게 필수로 필요한 언어 유닉스에서 제공하는 명령어를 그대로 사용.
- Shell 명령어를 이용해 필요한 시스템 기능 실행(운영체제 > 하드웨어)
- Shell 언어를 잘 활용한다면 개발 분야에서 수동으로 하는 작업을 모두 자동화할 수 있음
Rubi
- 원시 자료형이 존재하지 않으며 모든 것이 객체.
- 일본에서 만든 언어이기에 일본에선 인기가 좋음.
- 다른 언어에 비해 문법이 간결하며 쉽게 이해할 수 있다는 장점이 있음.
C/C++
- 프로그래밍에 입문하기 위해 C언어를 추천했지만, 현잰 다른 언어로 프로그래밍에 친숙해지는 게 더 좋음
- 최근에 인기가 떨어졌다고 하지만 전 세계적으로 C, C++ 기반 환경이 아직도 많이 존재하여 많이 사용됨.
Swift
- Swift 언어의 경우 기존 Object-c와 완벽한 호환.
- 애플 플랫폼에 최적화(IOS, macOS, watchOS)
기타
- IOS/ANDROID 애플리케이션 개발시 한가지 언어로 동시에 두가지 앱 개발이 가능하다고 이야기하지만 완벽히 지원되는 것은 불가능.
- 고성능의 IOS/ 안드로이드앱의 최적화된 앱을 개발하고자 한다면 네이티브 환경을 이용해 개발하는 것이 좋음.
- 개발속도와 생산성을 높이기 위해선 한가지 언어로 두가지의 애플리케이션 개발이 가능한 JS 기반의 React Native, 구글의 Flutter, MS Xamarine등의 플랫폼들이 존재함.
Hello World
JavaScript
<script>
alert("Hello, World");
</script>
Python
print("Hello World");
Java
package helloworld;
public class HelloWorld{
public static void main(String args[]){
System.out.println("Hello World");
}
}
PHP
<?php
echo "Hello World";
?>
C#
using System;
namespace HelloWorld{
class HelloWorld{
static void Main(string[] args){
Console.WriteLine("Hello World");
}
}
}
Shell
#!/bin/bash
echo hello World
Ruby
puts "Hello World"
C
#include <stdio.h>
int main(){
printf("Hello World");
return 0;
}
C++
#include <iostream>
using namespace std;
int main(void){
count << "Hello World" << endl;
return 0;
}
Swift
import UIKit
print("Hello World")
오래가며 인기 있는 프로그래밍 언어는 어떤 것?
- 플랫폼에 자유로운 언어, 한가지 언어를 이용해 다양한 형태로 확장되어 활용할 수 있는 언어가 최근에 가장 많이 사용되는 언어의 특징.
- 결과물을 내기 위해 수많은 방법론이 존재하는 언어는 오히려 복잡하고 기준이 없다는 평이 있었지만, 최근에는 이러한 다양성을 가진 언어가 인기가 많아짐.
- PC, MOBILE 장치를 대신할 이전에 없던 새로운 장치가 개발된다면 기존에 사용하는 프로그래밍 언어의 인기는 한순간에 바뀔 수 있음.
결과적으로 어떠한 언어가 최근에 인기 있고 많이 사용되는 것을 확인하는 것은 어렵지 않았습니다. JavaScript, Python이 가장 많은 변화가 있었고 JavaScript 언어는 모바일 IT 환경이 발전하게 되며 더욱더 많이 사용되고 있는 언어 중 하나입니다.
개인적으로 미래를 대비해 어떠한 프로그래밍 언어를 사용하는 게 좋은지에 대한 명확한 결론을 내리기 어려웠습니다. 항상 IT 환경이 발전하게 되며 프로그래밍 언어의 인기는 한순간에 바뀔 수 있기 때문입니다.
하지만 한 가지 확실한 건 있습니다. 대부분의 언어는 한가지의 언어만 배우게 되면 다른 언어를 이해하는 것이 크게 어렵지 않습니다.
그래서 프로그래밍 언어를 배우기 위해서 복잡한 환경과 이해되지 않는 프로그래밍 코드보다는 이해하기 쉬운 코드와 구성하기 쉬운 환경으로 되어 있는 언어를 사용하는 것을 추천합니다.
JavaScript, Python 언어처럼 프로그래밍 언어를 사용하기 위해 추가로 환경이나 무언가를 다운 받지 않고 설치하지 않아도 코드를 바로 작성해서 실행해 볼 수 있는 그런 언어 말입니다.
이것 또한 저만의 생각입니다만 현재는 이미 많은 점유율로 구축 되어 있는 환경과 많은 사용자를 보유하고 있는 프로그래밍 언어를 선택해 살아가며 돈을 벌며 개인적인 취미로 새로운 무언가가 나올 때 바로 적용해볼 수 있을 만한 실력을 갖추는 게 현재로선 가장 좋은 선택이 되지 않을까 생각합니다.