Knowledge
프로그래밍 언어 종류 10가지
De1fin
2019. 8. 10. 00:51
1. C언어
- 1972년, 데니스 리치에 의해 개발된 프로그래밍 언어
- 실질적으로 모든 컴퓨터 시스템에서 사용할 수 있도록 설계됨
- 정규화된 표준 C 라이브러리가 존재하며, 이식성이 뛰어남
- 아직도 필자를 포함한 많은 개발자들에게 사랑받는 언어
- 시스템 프로그램 개발에 매우 적합하며, 응용 프로그램 개발에도 많이 쓰임
- 대표적인 절차지향 언어
2. JAVA
- 1995년 발표된 썬 마이크로시스템즈의 제임스 고슬링과 다른 연구원들이 개발한 언어
- 웹 애플리케이션, 모바일 기기용 소프트웨어 개발에 가장 많이 사용하는 언어 중 하나
- 자바 8부터 람다식(Lambda Expressions)을 지원하여 함수적 프로그래밍을 지원
- 스레드 생성 및 제어와 관련된 라이브러리 API를 제공하여 멀티 스레드를 쉽게 구현
- 오픈 소스(Open Source) 언어이므로 자바 프로그램에서 사용하는 라이브러리 또한 오픈소스의 양이 방대함
- 2009년 4월 20일 제작사가 오라클과 인수 합병됨에 따라 자바에 대한 권리 및 유지보수 또한 오라클로 넘어감
- 대표적인 객체지향 언어로, 설계도인 클래스를 작성하고, 객체와 객체를 연결하여 목적에 맞는 프로그램 구현
3. Python
- 1991년 프로그래머인 귀도 반 로섬이 발표한 고급 프로그래밍 언어
- 플랫폼이 독립적이며 객체지향적, 동적 타이핑 대화형 언어
- 컴파일 없이 코드를 바로 실행할 수 있는 인터프리터식 언어
- 다른 프로그래밍 언어에 비해서 인덴트(띄어쓰기, 공백)에 매우 민감한 언어
- 고수준의 다목적 언어로 가독성이 좋다는 장점이 있음
- 주로 인공지능 개발, 빅데이터 분석등 신기술 분야에서 많이 사용되는 언어
4. Perl ( 펄 )
- 1987년 래리 월에 의해 발표된 언어로, Practical Extraction and Reporting Language (실용적인 데이터 취득 및 리포트 작성 언어)의 약자
- 고수준의 다목적 인터프리트 언어
- C와 비슷한 구문에 sed, AWK, 셸 스크립트 등과 같은 여러 유닉스 기능을 포함하고 있으며 언어 자체의 자유도가 높음
- CGI 스크립팅부터 시스템 및 네트워크 관리에 이르기까지 모든 분야에 두루 사용
- 작업을 수행하는 방법이 너무 많아 사실상 코드 읽기가 불가능하여 유지보수가 어려움
5. PHP
- 동적으로 HTML 페이지를 생성하기 위해 서버 측 스크립팅에 주로 사용되는 인터프리트 언어
많은 운영체제에서 독립형 스크립팅 언어로도 사용 가능 - 프리프로세서가 오픈 소스이다 보니 이식성이 좋아서 거의 모든 웹 서버에서 실행할 수 있음
- 변수 이름 앞에 $를 붙인다는 점(예: $abc)과 문자열끼리 결합할 때 덧셈 기호(+)를 점(.)으로 대신해서 쓰는 특징이 있음
- 느슨한 타입 검사로 인한 보안 취약점 문제가 많이 지적되는 언어
6. C++
- AT&T 벨 연구소의 비야네 스트롭스트룹이 1983년 발표하여 발전한 프로그래밍 언어
- C의 확장으로 개발된 중간 수준 언어
- 객체 지향 프로그래밍을 지원
- 다중 상속, 템플릿, 연산자 오버로드, 예외 처리, 실행시 형 식별 등의 다양한 기능을 가짐
- 현재 가장 인기 있는 언어 중 하나로 광범위한 시스템과 애플리케이션에 사용
7. Ruby ( 루비 )
- 1995년 마츠모토 유키히로가 개발한 동적 객체 지향 스크립트 프로그래밍 언어
- 클래스 정의, 가비지 컬렉션, 정규 표현식 처리, 다중 스레드, 예외 처리, 반복, 클로저, Mixin, 연산자 오버로드 등의 기능 지원
- 이식성이 높아 GNU 리눅스외에도 유닉스, 맥 OS X, 윈도 95/98/Me/NT/2000/XP, 도스, BeOS, OS/2 등에서도 동작
- 정형화된 서식을 요구하지 않음
- 구문은 ALGOL계를 계승하면서 가독성을 중시함
8. Cotlin ( 코틀린 )
- JetBrains에서 2011년에 공개한 프로그래밍 언어
- 간결한 문법을 가지고 있으며, 세미콜론은 옵션
- JVM(Java Virtual Machin) 기반의 언어이며, Java와의 상호 운용이 100% 지원
- 2017년에 구글이 안드로이드의 공식 언어로 Kotlin을 추가하게 됨
- 모바일 환경이나 임베디드, IoT 환경을 위해 개발된 Kotlin/Native 컴파일러로 기계어 최종 컴파일 가능
- LLVM에 기반하고 있으며, 참조 횟수 카운팅 방식의 가비지 컬렉션을 사용함
9. R언어
- 통계 계산과 그래픽을 위한 인터프리터 프로그래밍 언어이자 소프트웨어 환경
- 통계 계산과 소프트웨어 개발을 위한 환경이 필요한 통계학자와 연구자들과 행렬 계산을 위한 도구로서도 사용 가능
- 선형 및 비선형 모델링, 고전 통계 테스트, 시계열 분석 / 분류, 클러스터링 등 다양한 통계 및 그래픽 기술을 구현함
- 패키지 공유로 특정 기능 또는 특정 연구 분야에서의 확장성이 뛰어난 언어
- 수학 그래픽을 포함하여 고품질의 그래프를 만들 수 있는 정적 그래픽 제공
- 문법과 통계처리 부분은 AT&T 벨 연구소가 개발하였던 S를 참고하였으며 데이터 처리 부분은 스킴으로부터 영향을 을 받음
10. Swift ( 스위프트)
- 2014년 크리스 래트너에 의해 애플 운영체제용 언어인 오브젝티브-C와 함께 공존할 목적으로 개발된 언어
- Objective-C의 단점을 보완하고, LLVM/Clang 컴파일러로 빌드되는 애플의 신규 프로그래밍 언어
- iOS와 macOS를 대상으로 함
- 하위 호환성도 보장하여 코드 내부에서 C나 Objective-C 코드를 섞거나 스크립트 언어처럼 프로그래밍이 가능
- 클로저, 다중 리턴 타입, 네임스페이스, 제네릭, 타입 인터페이스