프로그래밍 언어 비교
Comparison of programming languages| 비교 프로그래밍 언어 |
|---|
| |
프로그래밍 언어는 기계(종종 컴퓨터)의 동작을 제어하는 데 사용됩니다.자연어와 마찬가지로 프로그래밍 언어도 구문 및 의미론 규칙을 따릅니다.
수천 개의 프로그래밍[1] 언어가 있으며 매년 새로운 언어가 만들어집니다.소수의 사람들만이 사용할 수 있을 정도로 대중화된 언어는 거의 없지만, 전문 프로그래머들은 한 직업에서 수십 개의 언어를 사용할 수 있다.
대부분의 프로그래밍 언어는 Perl 또는 Standard ML(이름에도 불구하고)과 같이 널리 사용되는 국제(또는 국내) 표준에 의해 표준화되지 않습니다.눈에 띄는 표준화된 프로그래밍 언어로는 ALGOL, C, C++, JavaScript(ECMAScript), Smalltalk, Prolog, Common Lisp, Scheme(IEEEE 표준), ISLISP, Ada, Fortran, COBOL, SQL 및 XQuery가 있습니다.
일반 비교
다음 표는 일반적으로 사용되는 프로그래밍 언어의 일반 정보와 기술 정보를 비교한 것입니다.상세한 것에 대하여는, 각 언어의 문서를 참조해 주세요.
| 언어 | 본래의 목적 | 필수 | 객체 지향 | 기능하다 | 절차 | 포괄적인 | 사색적인 | 이벤트 주도형 | 기타 패러다임 | 표준화? |
|---|---|---|---|---|---|---|---|---|---|---|
| 1C: 엔터프라이즈 프로그래밍 언어 | 애플리케이션, RAD, 비즈니스, 일반, 웹, 모바일 | 네. | 아니요. | 네. | 네. | 네. | 네. | 네. | 객체 기반, 프로토타입 기반 프로그래밍 | 아니요. |
| 액션 스크립트 3.0 | 응용 프로그램, 클라이언트 측, 웹 | 네. | 네. | 네. | 아니요. | 아니요. | 아니요. | 네. | 네. 1996년, ECMA | |
| 아다 | 애플리케이션, 임베디드, 실시간, 시스템 | 네. | 네, 그렇습니다[2]. | 아니요. | 네, 그렇습니다[3]. | 네, 그렇습니다[4]. | 아니요. | 아니요. | 동시,[5] 분산,[6] | 네. 1983, 2005, 2012, ANSI, ISO, GOST 27831-88[7] |
| 올도르 | 고도의 도메인 고유의 심볼릭 컴퓨팅 | 네. | 네. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | |
| 알골 58 | 어플 | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | |
| 알골 60 | 어플 | 네. | 아니요. | 아니요. | 네. | 네. | 아니요. | 아니요. | 네. 1960, IFIP WG 2.1, ISO[8] | |
| 알골 68 | 어플 | 네. | 아니요. | 네. | 네. | 네. | 아니요. | 아니요. | 동시 | 네. 1968, IFIP WG 2.1,[9] GOST 27974-88 |
| 아테지 PX | 병렬 응용 프로그램 | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 파이 미적분 | 아니요. |
| APL | 응용 프로그램, 데이터 처리 | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 어레이 지향, 암묵적 | 네. 1989, ISO |
| 어셈블리 언어 | 일반 | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 구문은 일반적으로 타깃 프로세서와 관련된 매우 고유합니다. | 네. 1985 IEEE 694-1985[10] |
| 자동 단축키 | 도메인 고유의 GUI 자동화(매크로스) | 네. | 네. [11] | 아니요. | 네. | 아니요. | 아니요. | 네. | 아니요. | |
| 오토잇 | 도메인 고유의 GUI 자동화(매크로스) | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 네. | 아니요. | |
| 발레리나 | 통합, 민첩성, 서버 측, 일반 | 네. | 네. | 네. | 네. | 아니요. | 아니요. | 네. | 동시, 트랜잭션, 정적 및 강력한 유형의 프로그래밍, 다이어그램/시각 프로그래밍 | 사실상의 발레리나 언어 사양을[12] 통한 표준 |
| 배쉬 | 셸, 스크립팅 | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 옵션 POSIX.2[13] | |
| 기본의 | 응용 프로그램, 교육 | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 네. 1983, ANSI, ISO, ECMA | |
| 빈셸 | 응용 프로그램, 스크립트 | 네. | 네. | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. 진행중, JCP[14] | |
| 블리스. | 시스템. | 아니요. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | |
| 블릿츠맥스 | 응용 프로그램, 게임 | 네. | 네. | 아니요. | 네. | 아니요. | 네. | 아니요. | 아니요. | |
| 부우 | 응용 프로그램, 게임 스크립트 | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | |
| C | 애플리케이션, 시스템,[15] 범용, 저레벨 운용 | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 네. 1989, ANSI C89, ISO C90, ISO C99, ISO C11, ISO C18[16] | |
| C++ | 응용 프로그램, 시스템 | 네. | 네. | 네. | 네. | 네. | 아니요. | 아니요. | 네. 1998, ISO/IEC 2003, ISO/IEC 2011, ISO/IEC 2014, ISO/IEC[17] 2017 | |
| C# | 애플리케이션, RAD, 비즈니스, 클라이언트 측, 일반, 서버 측, 웹, 게임 프로그래밍 | 네. | 네. | 네, 그렇습니다[18]. | 네. | 네. | 네. | 네. | 구조화, 동시화 | 네. 2000, ECMA, ISO[19] |
| 클라리온 | 일반, 비즈니스, 웹 | 네. | 네. | 네, 그렇습니다[20]. | 아니요. | 아니요. | 아니요. | 아니요. | 불명 | |
| 깨끗한 | 일반 | 아니요. | 아니요. | 네. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | |
| 클로쥬르 | 일반 | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 동시 | 아니요. |
| 클루 | 일반 | 네. | 네. | 아니요. | 네. | 네. | 아니요. | 아니요. | 아니요. | |
| 코볼 | 응용 프로그램, 비즈니스 | 네. | 네. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 네. 1968 ANSI X3.23, 1974, 1985; ISO/IEC 1989: 1985, 1998, 2002, 2014 | |
| 코브라 | 응용 프로그램, 비즈니스, 일반, 웹 | 네. | 네. | 네. | 아니요. | 네. | 네. | 아니요. | 아니요. | |
| Cold Fusion (CFML) | 웹 | 아니요. | 네. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | |
| 일반적인 리스프 | 일반 | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 확장 가능한 구문, 어레이 지향, 구문 매크로, 다중 디스패치, 동시 실행 | 네. 1994, ANSI |
| COMAL 80 | 교육 | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | |
| 크리스탈 | 범용 | 네. | 네, 그렇습니다[21]. | 네. | 네. | 아니요. | 아니요. | 아니요. | 알파[22] 스테이지 | 아니요. |
| 카레시 | 어플 | 아니요. | 아니요. | 네. | 아니요. | 네. | 아니요. | 아니요. | 나태한 평가, 비이성주의 | Curry Language Report를 통한 사실상의 표준 |
| 시톤 | 응용 프로그램, 일반, 수치 컴퓨팅 | 네. | 네. | 네. | 아니요. | 아니요. | 네. | 아니요. | 애스펙트 지향 | 아니요. |
| D | 응용 프로그램, 시스템 | 네. | 네. | 네. | 네. | 네. | 네. | 아니요. | 생성, 동시 | 아니요. |
| 다트 | 애플리케이션, 웹, 서버 측, 모바일, IoT | 네. | 네. | 네. | 네. | 네. | 아니요. | 네. | 구조화 | 네. ECMA-408 표준 |
| 딜런 | 어플 | 아니요. | 네. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | |
| 에펠 | 일반, 애플리케이션, 비즈니스, 클라이언트 측, 서버 측, 웹(EWF) | 네. | 네. | 네, 그렇습니다[23][24]. | 아니요. | 네. | 네, Erl-G | 네, 에이전트 | 분산형 SCOUP, 보이드 세이프 | 네. 2005, ECMA, ISO[25] |
| 엘란 | 교육 | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 구조화 단계적 정교화 | 아니요. |
| 엘릭시르 | 응용 프로그램, 분산 | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 네. | 네. | 동시, 분산 | 아니요. |
| 얼랑 | 응용 프로그램, 분산 | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 네. | 네. | 동시, 분산 | 아니요. |
| 행복감 | 어플 | 아니요. | 아니요. | 아니요. | 네. | 아니요. | 네. | 아니요. | 아니요. | |
| 요인 | 일반 | 네. | 아니요. | 다음과 같이 표시할 수 있습니다. | 아니요. | 네. | 네. | 아니요. | 스택 지향 | 아니요. |
| FP | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | ||
| F# | 어플 | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 아니요. | |
| 넷째 | 일반 | 네. | 아니요. | 다음과 같이 표시할 수 있습니다. | 아니요. | 아니요. | 아니요. | 아니요. | 스택 지향 | 네. 1994, ANSI |
| 포트란 | 응용 프로그램, 수치 컴퓨팅 | 네. | 네. | 네. | 네. | 네. | 아니요. | 아니요. | 어레이 기반, 벡터화, 동시, 네이티브 분산/공유 메모리 병렬 처리 | 네. 1966, ANSI 66, ANSI 77, MIL-STD-1753, ISO 90, ISO 95, ISO 2003, ISO/IEC 1539-1:2010 (2008), ISO/IEC JTC1/SC22/WG5 N2145 (2018) |
| 프리베이직 | 응용 프로그램, 수치 컴퓨팅 | 네. | 네. | 아니요. | 네. | 네. | 아니요. | 아니요. | 아니요. | |
| 감바스 | 어플 | 네. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 네. | 아니요. | |
| 게임 메이커 언어 | 응용 프로그램, 게임 프로그래밍 | 네. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 네. | 아니요. | |
| GLBasic | 응용 프로그램, 게임 | 네. | 네. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 단순한 객체 지향 | 아니요. |
| 가세요 | 응용 프로그램, 웹, 서버 측 | 네. | 다음과[26] 같이 표시할 수 있습니다. | 아니요. | 네. | 네. | 네. | 네. | 동시 | Go Language Specification을 통한 사실상의 표준 |
| 고수 | 응용 프로그램, 일반, 스크립트, 웹 | 네. | 네. | 아니요. | 아니요. | 네. | 네. | 아니요. | 아니요. | |
| 그래프 토크 | 어플 | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 논리 | 아니요. |
| 그루비 | 응용 프로그램, 일반, 스크립트, 웹 | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 메타 프로그래밍 | 진행중, JCP[27] |
| 하버 | 응용 프로그램, 비즈니스, 데이터 처리, 일반, 웹 | 네. | 네. | 네. | 네. | 네. | 네. | 아니요. | 선언적 | 아니요. |
| 하스켈 | 어플 | 아니요. | 아니요. | 네. | 아니요. | 네. | 아니요. | 아니요. | 게으른 평가 | 네. 2010, Haskell 2010[28] |
| Haxe | 응용 프로그램, 일반, 웹 | 네. | 네. | 네. | 아니요. | 네. | 네. | 아니요. | 아니요. | |
| 하이퍼넥스트 | 응용 프로그램, 교육 | 아니요. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 네. | 약하게 입력됨 | 아니요. |
| 하이퍼토크 | 응용 프로그램, RAD, 일반 | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 네. | 약하게 입력됨 | 불명 |
| 이오 | 응용 프로그램, 호스트 기반 스크립트 | 네. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | |
| IPL | 일반 | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 불명 | |
| ISLISP | 일반 | 네. | 네. | 네. | 아니요. | 네. | 아니요. | 아니요. | 네. 1997, 2007, ISO | |
| J | 응용 프로그램, 데이터 처리 | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 어레이 지향, 기능 수준, 암묵적, 동시 실행 | 아니요. |
| 옥 | 응용 프로그램, 분산 | 네. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | |
| 자바 | 애플리케이션, 비즈니스, 클라이언트 측, 일반, 모바일 개발, 서버 측, 웹 | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 동시 | Java 언어 사양을 통한 사실상의 표준 |
| 자바스크립트 | 클라이언트 측, 서버 측, 웹 | 네. | 네. | 네. | 네. | 아니요. | 네. | 네. | 프로토타입 기반의 | 네. 1997-2021, ECMA-262 |
| 즐거움 | 조사. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 스택 지향 | 아니요. |
| 줄리아. | 범용, 기술 컴퓨팅 | 네. | 네. | 네. | 네. | 네. | 네. | 아니요. | 다중 디스패치, 메타, 스칼라 및 어레이 지향, 병렬, 동시, 분산 ('클라우드') | 아니요. |
| K | 데이터 처리, 비즈니스 | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 어레이 지향, 암묵적 | 불명 |
| 코틀린 | 애플리케이션, 모바일 개발, 서버 측, 클라이언트 측, 웹 | 네. | 네. | 네. | 네. | 네. | 네, 그렇습니다[29]. | 네. | Kotlin 언어 사양을 통한 사실상의 표준 | |
| Ksh | 셸, 스크립팅 | 네. | 네. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 다양한 변형, 커스텀 프로그램 가능, 동적 로딩 가능 모듈 | 네. 1992년[13], POSIX.2 |
| 랩뷰(G) | 응용 프로그램, 산업용 계측 자동화 | 네. | 네. | 네. | 아니요. | 아니요. | 아니요. | 네. | 데이터 플로우, 비주얼 | 아니요. |
| 리스프 | 일반 | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 불명 | |
| 라이브 코드 | 응용 프로그램, RAD, 일반 | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 네. | 약하게 입력됨 | 아니요. |
| 로그토크 | 인공지능, 어플리케이션 | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 네. | 네. | 논리 | 아니요. |
| Linden 스크립트 언어(LSL) | 가상세계 콘텐츠 스크립팅 및 애니메이션 | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 네. | 스크립트는 월드 내의 오브젝트에 존재합니다. | 사실상의 참조는 LSL의 [30]Second Life 구현입니다. |
| 루아 | 응용 프로그램, 임베디드 스크립트 | 네. | 네, 그렇습니다[31]. | 네. | 네. | 아니요. | 네. | 아니요. | 애스펙트 지향, 프로토타입 기반 | 아니요[32]. |
| 메이플 | 심볼 계산, 수치 계산 | 네. | 네. | 네. | 네. | 아니요. | 아니요. | 아니요. | 분산 | 아니요. |
| 매스매티카 | 기호 언어 | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 논리, 분산 | 아니요. |
| 매트랩 | 고도의 도메인 고유의 수치 컴퓨팅 | 네. | 네. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | |
| 모듈라-2 | 응용 프로그램, 시스템 | 네. | 아니요. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 네. 1996, ISO[33] | |
| 모듈라-3 | 어플 | 네. | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | |
| 유행성 이하선염(M) | 일반, 응용 프로그램, 데이터베이스 | 네. | 다음 표준으로 승인됨 | 아니요. | 네. | 부분 스루 방향 및 Xecute | 네. | 다음 표준으로 승인됨 | 동시, 다중 사용자, NoSQL, 트랜잭션 처리 | 네. 1977 ANSI, 1995, ISO 2020 |
| 님 | 응용 프로그램, 일반, 웹, 스크립트, 시스템 | 네. | 네. | 네. | 네. | 네. | 네. | 아니요. | 복수 디스패치, 동시, 메타 | 아니요. |
| 오베론 | 응용 프로그램, 시스템 | 네. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | |
| 오브젝트 파스칼 | 애플리케이션, 일반, 모바일 앱, 웹 | 네. | 네. | 아니요. | 네. | 네. | 네. | 네. | 구조화 | 아니요. |
| 목표-C | 응용 프로그램, 일반 | 네. | 네. | 아니요. | 네. | 아니요. | 네. | 아니요. | 동시 | 아니요. |
| OCaml | 응용 프로그램, 일반 | 네. | 네. | 네. | 네. | 네. | 아니요. | 아니요. | 아니요. | |
| 오캄 | 일반 | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 동시 프로세스 지향 | 아니요. |
| 오파 | 웹 응용 프로그램 | 네. | 아니요. | 네. | 아니요. | 네. | 아니요. | 아니요. | 분산 | 아니요. |
| 오픈리스프 | 범용 임베디드 리스프 엔진 | 네. | 네. | 네. | 아니요. | 네. | 아니요. | 아니요. | 네. ISLISP, ISO를 대체 | |
| 옥시진 | 어플 | 네. | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | |
| 오즈모차르트 | 응용, 배포, 교육 | 네. | 네. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 동시, 논리 | 아니요. |
| 파스칼 | 응용 프로그램, 교육 | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 네. 1983년, ISO[34] | |
| 펄 | 응용 프로그램, 스크립트 작성, 텍스트 처리, 웹 | 네. | 네. | 네. | 네. | 네. | 네. | 아니요. | 아니요. | |
| PHP | 서버측, 웹 어플리케이션, 웹 | 네. | 네, 그렇습니다[35]. | 네, 그렇습니다[36]. | 네. | 아니요. | 네. | 아니요. | 언어 사양 및 코멘트 요구(RFC)를 통한 사실상의 표준 | |
| PL/I | 어플 | 네. | 네. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 네. 1969, ECMA-50(1976) | |
| 플러스 | 응용 프로그램, 시스템 개발 | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | |
| 포스트 스크립트 | 그래픽스, 페이지 설명 | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 스택 지향의 연결형 | 네. PostScript 레퍼런스[37] 매뉴얼로서 |
| PowerShell | 관리, 응용 프로그램, 일반, 스크립트 | 네. | 네. | 네. | 네. | 아니요. | 네. | 아니요. | 파이프라인 | 아니요. |
| 프롤로그 | 응용 프로그램, 인공지능 | 아니요. | 아니요. | 네. | 네. | 아니요. | 네. | 아니요. | 논리, 선언적 | 네. 1995, ISO/IEC 13211-1:1995, TC1 2007, TC2 2012, TC3 2017 |
| Pure Basic | 어플 | 아니요. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | |
| 파이썬 | 응용 프로그램, 일반, 웹, 스크립트, 인공지능, 과학 컴퓨팅 | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 애스펙트 지향 | Python Enhancement Proposals(PEP)를 통한 사실상의 표준 |
| R | 응용 프로그램, 통계 | 네. | 네. | 네. | 네. | 아니요. | 네. | 아니요. | 아니요. | |
| 라켓 | 교육, 일반, 스크립트 작성 | 아니요. | 네. | 네. | 네. | 아니요. | 네. | 아니요. | 모듈러, 로직, 메타 | 아니요. |
| 라쿠 | 스크립트 작성, 텍스트 처리, 글루 | 네. | 네. | 네. | 네. | 네. | 네. | 아니요. | 애스펙트 지향, 어레이, 느린 평가, 멀티 디스패치, 메타프로그래밍 | 네. |
| 리얼 베이직 | 어플 | 아니요. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 불명 | |
| 리볼 | 분산 | 네. | 네. | 네. | 네. | 아니요. | 네. | 네. | 사투리 | 아니요. |
| REXX | 스크립트 작성 | 네. | 있음(NetRexx 및 객체 REXX 방언) | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 네. 1996년 (ANSI X3.274-1996) | |
| RPG | 응용 프로그램, 시스템 | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | |
| 울리다 | 어플 | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 메타프로그래밍, 선언적, 자연어 | 아니요. |
| 루비 | 응용 프로그램, 스크립트, 웹 | 네. | 네. | 네. | 아니요. | 아니요. | 네. | 아니요. | 애스펙트 지향 | 네. 2011(JIS X 3017), 2012(ISO/IEC 30170) |
| 녹 | 응용 프로그램, 서버 측, 시스템, 웹 | 네. | 네, 그렇습니다[38]. | 네. | 네. | 네. | 아니요[39]. | 네. | 동시 | 아니요. |
| S | 응용 프로그램, 통계 | 네. | 네. | 네. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | |
| S랑 | 응용 프로그램, 숫자, 스크립트 | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | |
| 스칼라 | 응용 프로그램, 분산형, 웹 | 네. | 네. | 네. | 아니요. | 네. | 네. | 네. | SLS(Scala Language Specification)를 통한 사실상의 표준 | |
| 스킴 | 교육, 일반 | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 확장 가능한 구문 | 네. 1998년, RRS6 |
| 시드7 | 응용 프로그램, 일반, 스크립트, 웹 | 네. | 네. | 아니요. | 아니요. | 네. | 네. | 아니요. | 멀티패러다임,확장가능,구조화 | 아니요. |
| 시뮬라 | 교육, 일반 | 네. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 네. | 이산 이벤트 시뮬레이션, 멀티태스킹(멀티패킷) 프로그램 실행 | 네. 1968 |
| 스몰 베이직 | 응용 프로그램, 교육, 게임 | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 네. | 컴포넌트 지향 | 아니요. |
| 스몰토크 | 애플리케이션, 일반, 비즈니스, 인공지능, 교육, 웹 | 네. | 네. | 네. | 네. | 아니요. | 네. | 네. | 동시, 선언적 | 네. 1998, ANSI |
| 스누볼 | 텍스트 처리 | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 불명 | |
| 표준 ML | 어플 | 네. | 아니요. | 네. | 아니요. | 네. | 아니요. | 아니요. | 네. 1997년, SML '97[40] | |
| 재빠르다 | 응용 프로그램, 일반 | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 동시, 선언형, 프로토콜 지향 | 아니요. |
| TCL | 응용 프로그램, 스크립트, 웹 | 네. | 네. | 네. | 네. | 아니요. | 네. | 네. | 아니요. | |
| 비주얼 베이직 | 애플리케이션, RAD, 교육, 비즈니스, 일반, (VBA 포함), 사무실 자동화 | 네. | 네. | 아니요. | 아니요. | 네. | 아니요. | 네. | 컴포넌트 지향 | 아니요. |
| Visual Basic.그물 | 애플리케이션, RAD, 교육, 웹, 비즈니스, 일반 | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 구조화, 동시화 | 아니요. |
| 비주얼 폭스 프로 | 어플 | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 데이터 중심, 논리 | 아니요. |
| 비주얼 프롤로그 | 어플 | 네. | 네. | 네. | 아니요. | 아니요. | 아니요. | 네. | 선언적, 논리 | 아니요. |
| 울프람어 | 기호 언어 | 네. | 네. | 네. | 네. | 네. | 네. | 네. | 논리, 분산 | 아니요. |
| XL | 네. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 개념 프로그래밍 | 아니요. | |
| 조조 | 응용 프로그램, RAD, 일반, 웹 | 네. | 네. | 아니요. | 네. | 아니요. | 네. | 네. | 아니요. | |
| XPath/XQuery | 데이터베이스, 데이터 처리, 스크립트 작성 | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 트리 지향 | 네. 1999 W3C XPath 1, 2010 W3C XQuery 1, 2014 W3C XPath/XQuery 3.0 |
| 지크 | 도메인 고유의 응용 프로그램 | 네. | 아니요. | 아니요. | 아니요. | 아니요. | 아니요. | 네. | 아니요. | |
| Zsh | 셸, 스크립팅 | 네. | 아니요. | 아니요. | 네. | 아니요. | 아니요. | 아니요. | 로드 가능한 모듈 | 아니요. |
유형 시스템
페일 세이프 I/O 및 시스템 호출
대부분의 프로그래밍 언어는 프로그래머가 이러한 이벤트의 다른 처리를 명시적으로 준비하지 않는 한 입력/출력 조작 또는 다른 시스템 호출(chmod, kill 등)에 실패하면 오류 메시지를 인쇄하거나 예외를 발생시킵니다.따라서 이러한 언어들은 이 점에서 안전하게 실패한다.
일부(대부분 오래된) 언어에서는 프로그래머가 이러한 종류의 오류에 대해 검사를 명시적으로 추가해야 합니다.심리적으로, 서로 다른 인지적 편견(예: 낙관적 편견)은 초보자와 전문가 모두에게 영향을 미칠 수 있으며 이러한 누락은 잘못된 행동으로 이어질 수 있다.
Failsafe I/O는 1C의 기능입니다.기업, Ada(예외), 알골(예외나 반환 값 함수에 따라), 아름다운 발레리나인 HelenFaye, C#, 커먼 리스프("조건과 재시"시스템), 커리, D(실패 계속 던지는)[41]얼랑, 포트란, 가다(지 않는 한 결과를 명시적으로 무시되), 고수, 하버, 해스켈, ISLISP, 자바, 줄리아, 코틀린, LabVIEW가, 매스매티카, 오브젝티브-C(예외), OCaml. (excepsections), OpenLisp, PHP, Python, Raku, Rebol, Rexx(옵션 신호 켜기)트랩 처리), Ring, Ruby, Rust(결과가 명시적으로 무시되지 않는 한), [42]Scala, Smalltalk, Standard[citation needed] ML, Swift 2 2.0(예외), Tcl, Visual Basic, Visual Basic.NET, Visual Prolog, Wolfram Language, Xojo, XPath/XQuery(예외) 및 Zeek.
No Failsafe I/O : AutoHotkey (글로벌 오류 레벨은 명시적으로 체크해야 함), C,[43] COBOL, Eiffel (실제로 라이브러리에 의존하며 언어로 정의되지 않음), GLBasic (일반적으로 프로그램을 크래쉬하게 함), RPG, Lua (일부 함수는 경고를 주거나 예외를 발생시키지 않음)[44] 및 Perl.
일부 I/O 체크는 C++(STL iostream은 실패 시 발생하지만 stdio나 POSIX와 같은 C API는 실패하지 않음)[43] 및 객체 파스칼에 내장되어 있으며 Bash에서는[45] 옵션입니다.
표현력
| 언어 | 명세서[46] 비율 | 회선비[47] |
|---|---|---|
| C | 1 | 1 |
| C++ | 2.5 | 1 |
| 포트란 | 2 | 0.8 |
| 자바 | 2.5 | 1.5 |
| 펄 | 6 | 6 |
| 스몰토크 | 6 | 6.25 |
| 파이썬 | 6 | 6.5 |
프로그래밍 언어에 관한 문헌은 상대적인 표현력에 대한 비공식적인 주장을 많이 포함하고 있지만, 그러한 진술을 공식화하거나 흥미로운 결과를 [48]도출하기 위한 프레임워크는 없다.이 표는 두 가지 다른 소스로부터의 두 가지 표현력 척도를 제공합니다.표현력의 추가 측정(GZip 바이트)은 컴퓨터 언어 벤치마크 [49]게임에서 확인할 수 있습니다.
벤치마크
벤치마크는 컴포넌트 또는 시스템에서 특정 유형의 워크로드를 모방하도록 설계되었습니다.이 섹션의 벤치마크 데이터 중 일부를 컴파일하기 위해 사용되는 컴퓨터 프로그램이 완전히 최적화되지 않았을 수 있으며 데이터의 관련성에 문제가 있습니다.가장 정확한 벤치마크는 특정 상황에 맞는 벤치마크입니다.다른 사람의 벤치마크 데이터는 다른 사람에게 어느 정도 가치가 있을 수 있지만, 적절한 해석은 많은 문제를 야기합니다.컴퓨터 언어 벤치마크 게임 사이트에서는 벤치마크 데이터에서 지나치게 일반화하는 것에 대해 경고하고 있지만, 특정 프로그래밍 언어와 테스트 [52]유형을 비교하는 다양한 차트와 테이블을 생성하는 인터페이스와 함께 다수의 마이크로 벤치마크 리더가 제공하는 코드 스니펫을 포함하고 있습니다.
특정 언어 비교 일정
- 1974 – Algol 68 및 PL/I[53] – S. H. Valentine – 1974년 11월
- 1976 – ALGOL 68, JOVIVAL J3B, Pascal, Simula 67 및 TACPOL 대 TINMAN 평가 – 공통 상위 프로그래밍 언어의 요건.
- 1977 – PASCAL과 ALGOL[54] 68의 비교– Andrew S. 타넨바움 1977년 6월.
- 1993 – 5개의 작은 언어와 그 성장 방법 – BLISS, Pascal, ALGOL 68, BCPL & C – Dennis M. Ritchie – 1993년 4월
- 2009 – On Go – 계속 – Google의 Go는 브랜드 X 프로그래밍 언어에 얼마나 대항할 수 있을까요?– David Given – 2009년 11월
「 」를 참조해 주세요.
| 모든 페이지, 서브 카테고리, 이미지를 표시하려면 , 「」를 클릭합니다. |
|---|
- 프로그래밍 언어의 기본 명령 비교
- 프로그래밍 언어 비교(구문)
- 프로그래밍 패러다임 비교
- 통합 개발 환경 비교
- 다중 패러다임 프로그래밍 언어 비교
- 프로그래밍 언어의 인기 측정
- TIOBE 지수
레퍼런스
- ^ 2006년 5월 현재 호주 머독대학에서 주최하는 웨이백 머신에서 보관된 Diarmuid Pigott의 컴퓨터 언어 백과사전 2011-02-20에는 8512개의 컴퓨터 언어가 나열되어 있습니다.
- ^ Ada 레퍼런스 매뉴얼, ISO/IEC 8652:2005(E) Ed. 3, 3.9 태그 부착 타입 및 타입 확장
- ^ Ada 레퍼런스 매뉴얼, ISO/IEC 8652:2005(E) Ed. 3, 섹션 6:서브 프로그램
- ^ Ada 레퍼런스 매뉴얼, ISO/IEC 8652:2005(E) Ed. 3, 섹션 12: 범용 유닛
- ^ Ada 레퍼런스 매뉴얼, ISO/IEC 8652:2005(E) Ed. 3, 섹션9: 태스크와 동기화
- ^ Ada 레퍼런스 매뉴얼, ISO/IEC 8652:2005(E) Ed.3 부록 E: 분산 시스템
- ^ "Vak.ru" (PDF). Archived from the original (PDF) on 2017-03-30. Retrieved 2008-08-09.
- ^ ISO 1538: 1984
- ^ "Vak.ru" (PDF). Archived from the original (PDF) on 2017-03-24. Retrieved 2008-08-09.
- ^ IEEE 694-1985
- ^ 오브젝트 - 정의 및 사용방법
- ^ "Ballerina Language Specification" (PDF). WSO2. 2018-05-01. Retrieved 2018-05-03.
- ^ a b POSIX.2, 셸 및 유틸리티, 명령어 인터프리터(IEEE 규격 1003.2-1992)
- ^ JSR 274
- ^ bell-labs.com
- ^ ANSI C89, ISO/IEC 9899:1990, 1999, 2011, 2018
- ^ ISO/IEC 14882:1998, 2003, 2011, 2014, 2017
- ^ Codeproject.com:람다 식을 사용한 C# 3.0의 기능 프로그래밍
- ^ ECMA-334, ISO/IEC 23270: 2006
- ^ Softvelocity.com
- ^ "Crystal". GitHub. 2 November 2021.
- ^ "Crystal". GitHub. 2 November 2021.
- ^ 에펠어의 기본 메커니즘
- ^ 클로즈(컴퓨터 프로그래밍)
- ^ ECMA-367, ISO/IEC 25436: 2006
- ^ Go 프로그래밍 언어(FAQ)
- ^ JSR 241
- ^ "The Haskell 2010 Language Report". Retrieved 2011-12-07. 대부분의 Haskell 구현은 Haskell 2010 표준을 확장합니다.
- ^ "M8 is out!".
As a first peek into the future reflective capabilities of Kotlin, you can now access properties as first-class objects in Kotlin
- ^ Halcyon(Inworldz) 및 Open Sims는 추가 기능이 포함된 호환 구현을 제안합니다.
- ^ Lua에는 명시적인 "객체" 유형이 없습니다(더 일반적인 유형의 "테이블"이 개체 정의에 사용됨). 그러나 개체 메서드 호출에 대한 명시적인 구문이 있습니다.
- ^ 버전 릴리스에는 완전한 구문과 의미를 나타내는 최종 Lua 레퍼런스 매뉴얼, 레퍼런스 구현 및 테스트 스위트가 포함되어 있습니다.이들은 Kahlua 및 LLVM-Lua와 같은 다른 Lua VM 구현 및 컴파일러를 생성하는 데 사용됩니다.
- ^ ISO/IEC 10514-1:1996
- ^ ISO 7185
- ^ PHP 설명서, 19장. 클래스 및 오브젝트(PHP 5),
- ^ PHP 설명서, 17장. 기능
- ^ "PostScript Language Reference Manual" (PDF). Archived from the original (PDF) on 2017-02-18. Retrieved 2017-02-18.
- ^ Rust는 객체 지향 프로그래밍 언어입니까?
- ^ Klabnik, Steve; Nichols, Carol. "Macros". The Rust Programming Language.
- ^ SMLNJ.org
- ^ "STD.stdio - D Programming Language".
- ^ Scala는 Java Virtual Machine에서 실행되어 런타임 예외 처리를 상속합니다.
- ^ a b gcc는 체크되지 않은 errno에 대해 경고할 수 있습니다.Visual Studio의 새 버전은 일반적으로 stdio를 사용할 때 실패한 I/O에 대한 예외를 발생시킵니다.
- ^ 옵션으로 상당한 오류 체크를 활성화할 수 있지만 기본적으로 Perl은 페일 세이프가 아닙니다.
- ^
set -e체크되지 않은 종료 상태가0이 아닌 경우 종료를 이노블로 합니다. - ^ Statements ratio 열의 데이터는 C의 동등한 코드에 대한 여러 고급 언어의 소스 문장의 일반적인 비율을 나타냅니다.비율이 높으면 나열된 언어의 각 코드 행이 C의 각 코드 행보다 더 많은 작업을 수행한다는 것을 의미합니다.
- ^ 행수 시험의 비율은 때 개체 수가 존 McLoone(11월 14일 2012년)는 위한 비교를 사용하여 C원으로 각 언어로 이겼다."코드 길이 14언어로 측정".그 2012-11-19에 원래에서 Archived.Cgcc C, C++g++ C++사용되었다는 사실을 위해 사용되었습니다, 포트란 G95 포트란, 자바 자바 개발 키트 서버 자바에 사용되었고, 스몰 토크 물품・용역 소비세 Smalltalk에 사용되는 데도 사용되었다.
- ^ Felleisen, Matthias. On the Expressive Power of Programming Languages. ESOP '90 3rd European Symposium on Programming. CiteSeerX 10.1.1.51.4656.
- ^ "How programs are measured Computer Language Benchmarks Game". benchmarksgame-team.pages.debian.net/benchmarksgame. Retrieved 2018-05-29.
- ^ Mandelbrot, Benoit B. (1982). The fractal geometry of nature (Revised ed.). San Francisco. ISBN 0-7167-1186-9. OCLC 7876824.
- ^ "Mandelbrot". Computer Language Benchmarks Game. Retrieved 2021-07-09.
- ^ "The Ultimate Benchmark The Computer Language Benchmarks Game". benchmarksgame-team.pages.debian.net/benchmarksgame. Retrieved 2018-05-29.
- ^ Valentine, S. H. (November 1974). "Comparative Notes on Algol 68 and PL/I". The Computer Journal. 17 (4): 325–331. doi:10.1093/comjnl/17.4.325.
- ^ "Vrije Universiteit Amsterdam" (PDF).
추가 정보
- Cezzar, Ruknet (1995). A Guide to Programming Languages: Overview and Comparison. ISBN 978-0-89006-812-0.