프로그래밍 언어 비교

Comparison of programming languages

프로그래밍 언어는 기계(종종 컴퓨터)의 동작을 제어하는 데 사용됩니다.자연어와 마찬가지로 프로그래밍 언어도 구문 및 의미론 규칙을 따릅니다.

수천 개의 프로그래밍[1] 언어가 있으며 매년 새로운 언어가 만들어집니다.소수의 사람들만이 사용할 수 있을 정도로 대중화된 언어는 거의 없지만, 전문 프로그래머들은 한 직업에서 수십 개의 언어를 사용할 수 있다.

대부분의 프로그래밍 언어는 Perl 또는 Standard ML(이름에도 불구하고)과 같이 널리 사용되는 국제(또는 국내) 표준에 의해 표준화되지 않습니다.눈에 띄는 표준화된 프로그래밍 언어로는 ALGOL, C, C++, JavaScript(ECMAScript), Smalltalk, Prolog, Common Lisp, Scheme(IEEEE 표준), ISLISP, Ada, Fortran, COBOL, SQLXQuery가 있습니다.

일반 비교

다음 표는 일반적으로 사용되는 프로그래밍 언어의 일반 정보와 기술 정보를 비교한 것입니다.상세한 것에 대하여는, 각 언어의 문서를 참조해 주세요.

언어 본래의 목적 필수 객체 지향 기능하다 절차 포괄적인 사색적인 이벤트 주도형 기타 패러다임 표준화?
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]게임에서 확인할 수 있습니다.

벤치마크

Benchmarks[51] Game에서 보고된 대로 1600² Mandelbrot를 생성하기 위한 로그 시간의 막대 그림

벤치마크는 컴포넌트 또는 시스템에서 특정 유형의 워크로드를 모방하도록 설계되었습니다.이 섹션의 벤치마크 데이터 중 일부를 컴파일하기 위해 사용되는 컴퓨터 프로그램이 완전히 최적화되지 않았을 수 있으며 데이터의 관련성에 문제가 있습니다.가장 정확한 벤치마크는 특정 상황에 맞는 벤치마크입니다.다른 사람의 벤치마크 데이터는 다른 사람에게 어느 정도 가치가 있을 수 있지만, 적절한 해석은 많은 문제를 야기합니다.컴퓨터 언어 벤치마크 게임 사이트에서는 벤치마크 데이터에서 지나치게 일반화하는 것에 대해 경고하고 있지만, 특정 프로그래밍 언어와 테스트 [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 & CDennis M. Ritchie – 1993년 4월
  • 2009 – On Go – 계속 – Google의 Go는 브랜드 X 프로그래밍 언어에 얼마나 대항할 수 있을까요?– David Given – 2009년 11월

「 」를 참조해 주세요.

모든 페이지, 서브 카테고리, 이미지를 표시하려면 , 「」를 클릭합니다.

레퍼런스

  1. ^ 2006년 5월 현재 호주 머독대학에서 주최하는 웨이백 머신에서 보관된 Diarmuid Pigott의 컴퓨터 언어 백과사전 2011-02-20에는 8512개의 컴퓨터 언어가 나열되어 있습니다.
  2. ^ Ada 레퍼런스 매뉴얼, ISO/IEC 8652:2005(E) Ed. 3, 3.9 태그 부착 타입타입 확장
  3. ^ Ada 레퍼런스 매뉴얼, ISO/IEC 8652:2005(E) Ed. 3, 섹션 6:서브 프로그램
  4. ^ Ada 레퍼런스 매뉴얼, ISO/IEC 8652:2005(E) Ed. 3, 섹션 12: 범용 유닛
  5. ^ Ada 레퍼런스 매뉴얼, ISO/IEC 8652:2005(E) Ed. 3, 섹션9: 태스크와 동기화
  6. ^ Ada 레퍼런스 매뉴얼, ISO/IEC 8652:2005(E) Ed.3 부록 E: 분산 시스템
  7. ^ "Vak.ru" (PDF). Archived from the original (PDF) on 2017-03-30. Retrieved 2008-08-09.
  8. ^ ISO 1538: 1984
  9. ^ "Vak.ru" (PDF). Archived from the original (PDF) on 2017-03-24. Retrieved 2008-08-09.
  10. ^ IEEE 694-1985
  11. ^ 오브젝트 - 정의 및 사용방법
  12. ^ "Ballerina Language Specification" (PDF). WSO2. 2018-05-01. Retrieved 2018-05-03.
  13. ^ a b POSIX.2, 셸 및 유틸리티, 명령어 인터프리터(IEEE 규격 1003.2-1992)
  14. ^ JSR 274
  15. ^ bell-labs.com
  16. ^ ANSI C89, ISO/IEC 9899:1990, 1999, 2011, 2018
  17. ^ ISO/IEC 14882:1998, 2003, 2011, 2014, 2017
  18. ^ Codeproject.com:람다 식을 사용한 C# 3.0의 기능 프로그래밍
  19. ^ ECMA-334, ISO/IEC 23270: 2006
  20. ^ Softvelocity.com
  21. ^ "Crystal". GitHub. 2 November 2021.
  22. ^ "Crystal". GitHub. 2 November 2021.
  23. ^ 에펠어의 기본 메커니즘
  24. ^ 클로즈(컴퓨터 프로그래밍)
  25. ^ ECMA-367, ISO/IEC 25436: 2006
  26. ^ Go 프로그래밍 언어(FAQ)
  27. ^ JSR 241
  28. ^ "The Haskell 2010 Language Report". Retrieved 2011-12-07. 대부분의 Haskell 구현은 Haskell 2010 표준을 확장합니다.
  29. ^ "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
  30. ^ Halcyon(Inworldz) 및 Open Sims는 추가 기능이 포함된 호환 구현을 제안합니다.
  31. ^ Lua에는 명시적인 "객체" 유형이 없습니다(더 일반적인 유형의 "테이블"이 개체 정의에 사용됨). 그러나 개체 메서드 호출에 대한 명시적인 구문이 있습니다.
  32. ^ 버전 릴리스에는 완전한 구문과 의미를 나타내는 최종 Lua 레퍼런스 매뉴얼, 레퍼런스 구현 및 테스트 스위트가 포함되어 있습니다.이들은 Kahlua 및 LLVM-Lua와 같은 다른 Lua VM 구현 및 컴파일러를 생성하는 데 사용됩니다.
  33. ^ ISO/IEC 10514-1:1996
  34. ^ ISO 7185
  35. ^ PHP 설명서, 19장. 클래스 오브젝트(PHP 5),
  36. ^ PHP 설명서, 17장. 기능
  37. ^ "PostScript Language Reference Manual" (PDF). Archived from the original (PDF) on 2017-02-18. Retrieved 2017-02-18.
  38. ^ Rust는 객체 지향 프로그래밍 언어입니까?
  39. ^ Klabnik, Steve; Nichols, Carol. "Macros". The Rust Programming Language.
  40. ^ SMLNJ.org
  41. ^ "STD.stdio - D Programming Language".
  42. ^ Scala는 Java Virtual Machine에서 실행되어 런타임 예외 처리를 상속합니다.
  43. ^ a b gcc체크되지 않은 errno에 대해 경고할 수 있습니다.Visual Studio의 새 버전은 일반적으로 stdio를 사용할 때 실패한 I/O에 대한 예외를 발생시킵니다.
  44. ^ 옵션으로 상당한 오류 체크를 활성화할 수 있지만 기본적으로 Perl은 페일 세이프가 아닙니다.
  45. ^ set -e체크되지 않은 종료 상태가0이 아닌 경우 종료를 이노블로 합니다.
  46. ^ Statements ratio 열의 데이터는 C의 동등한 코드에 대한 여러 고급 언어의 소스 문장의 일반적인 비율을 나타냅니다.비율이 높으면 나열된 언어의 각 코드 행이 C의 각 코드 행보다 더 많은 작업을 수행한다는 것을 의미합니다.
  47. ^ 행수 시험의 비율은 때 개체 수가 존 McLoone(11월 14일 2012년)는 위한 비교를 사용하여 C원으로 각 언어로 이겼다."코드 길이 14언어로 측정".그 2012-11-19에 원래에서 Archived.Cgcc C, C++g++ C++사용되었다는 사실을 위해 사용되었습니다, 포트란 G95 포트란, 자바 자바 개발 키트 서버 자바에 사용되었고, 스몰 토크 물품・용역 소비세 Smalltalk에 사용되는 데도 사용되었다.
  48. ^ Felleisen, Matthias. On the Expressive Power of Programming Languages. ESOP '90 3rd European Symposium on Programming. CiteSeerX 10.1.1.51.4656.
  49. ^ "How programs are measured Computer Language Benchmarks Game". benchmarksgame-team.pages.debian.net/benchmarksgame. Retrieved 2018-05-29.
  50. ^ Mandelbrot, Benoit B. (1982). The fractal geometry of nature (Revised ed.). San Francisco. ISBN 0-7167-1186-9. OCLC 7876824.
  51. ^ "Mandelbrot". Computer Language Benchmarks Game. Retrieved 2021-07-09.
  52. ^ "The Ultimate Benchmark The Computer Language Benchmarks Game". benchmarksgame-team.pages.debian.net/benchmarksgame. Retrieved 2018-05-29.
  53. ^ 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.
  54. ^ "Vrije Universiteit Amsterdam" (PDF).

추가 정보