프로그래밍 언어

분류

자세한 것은 프로그래밍 언어를 참고하라.
문서설명
C++11 정식 명칭 ISO/IEC 14882:2001. C++의 최신 버전으로, 본래는 2000년대에 발표할 것을 염두에 두고 C++0x라고 불렀으나 표준화 과정이 지연에 지연을 거듭하며 C++0x를 C++1x로 바꿔야 할 판이 되었다. 이걸 두고 Bjarne Stroustrup이 0x가 그 0x가 아니라 16진수 리터럴이라고 농을 친 적이 있다. 최종적으로는 2011년 10월 국제 표준으로 출판되었다.
C Dennis Ritchie가 유닉스 운영체제에 쓰려고 만든 프로그래밍 언어. 시스템프로그래밍을 위해 개발되었지만 사실상 모든 플랫폼에 컴파일러가 있다는 특성 때문에 범용성 높은 소프트웨어를 개발하는 데 더 많이 쓰인다. ISO/IEC 9899로 표준화되어 있다. 1999년에 표준화된 버전(ISO/IEC 9899:1999)은 흔히 C99라고 많이 부르며, 2011년 현재 최신 버전은 2011년에 나온 ISO/IEC 9899:2011(통칭 C11)이다. 어라 C++11보다 늦게 나올 줄 알았는데 같은 해에 나왔네?…
자바스크립트 JavaScript. 월드 와이드 웹의 사실상 기반이 되는 프로그래밍 언어로, 이름과는 달리 자바와는 거의 관련이 없다. ECMA스크립트라는 이름으로 표준화되었으며 자세한 언어적 특징은 이 문서를 참고하라.
C++ export C++의 옛 기능 중 하나로, C++98에서 처음 추가된 이래 구현체가 하나 밖에 없었고(Comeau) 그마저도 표준화 위원회에서 제발 빼 달라고 사정 사정을 하여 C++11에서 사라진 기능. 그 선조격인 C와 마찬가지로, C++는 전통적으로 매 소스 유닛을 컴파일할 때마다 그 소스가 참조하는 모든 "정의"(즉, 함수의 프로토타입이나 타입 정보들)를 매번 읽어 들어야 한다. 그러나 Cpp템플릿은 정의와 더불어 "선언"(즉, 함수의 몸체)도 매번 읽어서 컴파일해야 하는데, 이 때문에 복잡한 템플릿의 사용은 컴파일 시간을 뻥튀기하는 일등 공신으로 잘 알려져 있었다. export는 이 문제를 템플릿의 정의와 선언을 분리할 수 있도록 하여 해결하려고 했던 시도이다. 즉 헤더 단에는 export를 붙여 놓은 템플릿 정의만 써 놓고, 구현체가 이 정의를 다른 변환 유닛(translation unit)에 있는 실제 선언과 연결시킬 수 있는 가능성을 열어 놓은 것이다.…
C++ Bjarne Stroustrup이 C에 SIMULA 스타일의 객체지향 기능을 추가한다고 삽질하다가 흑막이 되어 버린 프로그래밍 언어. ISO/IEC 14883으로 표준화되어 있다. C++를 객체지향 프로그래밍 언어라고 부를 수 없는 가장 큰 이유는 C++의 객체지향은 다른 객체지향 언어들에 비해서 그렇게 좋은 편이 아니기 때문(...)인데 이는 C랑 소스 레벨에서 호환되겠다는 당치도 않은 목표 때문에 동적인 구현이 필요한 많은 기능을 빼먹은 탓이다. 대신 C++는 컴파일시간에 최대한 많은 걸 하기 위해서 제네릭프로그래밍 및 템플릿 메타프로그래밍을 강력하게 지원하기 때문에 결과적으로 언어 설계가 특이하게 나와 버렸다.…
J스크립트 JScript. 마이크로소프트의 ECMA스크립트 구현. 실질적으로는 자바스크립트와 거의 동일한 언어이며 단지 상표권 분쟁을 막기 위해 이름을 바꿨다고 보통 본다. 현재 최신 버전은 인터넷익스플로러9에 포함된 9.0이며 ECMA스크립트 5판에 부합한다.
자바 <http://java.sun.com/> 썬마이크로시스템즈(지금은 오라클)에서 만든 프로그래밍 언어와, 그 프로그래밍 언어가 돌아가는 바이트코드 기반 플랫폼. 후자는 자바플랫폼 참고. 언어로서의 자바는 솔직히 그렇게 좋아하지 않는 것이 enterprisey하기 때문이다. enterprisey하다고 해서 기업에서 써먹기 좋게 생겼냐 하면 꼭 그런 것도 아니고... 비슷한 스타일의 기업에서 비슷한 스타일로 만든 언어인 C#과 비교해 보면 그 차이가 극명하게 두드러진다.…
난해한 프로그래밍 언어 Esoteric programming language 또는 esolang. 어떤 이유로든 써먹기 뭣하게 만들어진 프로그래밍 언어를 일컫는다. 특성상 실험적인 언어나, 그냥 장난으로 만든 언어 따위가 모두 포함되는 경향이 있다.
나루 프로그래밍 언어 <http://mearie.org/projects/naru/> Naru programming language. lifthrasiir가 2005년 이래 구상만 하고 있는 프로그래밍 언어. 랑데브 안에서는 자주 베이퍼웨어 취급을 받고 있다. lifthrasiir의 삽질, 프로그래밍 언어
Xbase dBase에서 쓰던 SQL과 연동된 프로그래밍 언어(PL/SQL의 원조?...)가 여기 저기 퍼져 나가서 일반화되자 묶어서 부르기 시작한 이름. 무려 ANSI X3J19로 표준화되어 있다. 프로그래밍 언어
<http://perl.org/> Perl. 프로그래밍 언어. 언어학자 Larry Wall이 만든 만큼 언어 철학 자체가 다른 언어들과 사뭇 다르고, 잘 만들어진 언어 사용자 커뮤니티의 예(CPAN 등)를 볼 수 있는 예제. 현재는 펄6이 개발 중이다.
PL/SQL 선언적프로그래밍언어인 SQL에 절차적프로그래밍을 가능하도록 이것 저것 추가한 확장이다. 저장프로시저 따위에서 보통 많이 쓰는데, 직접 써 보면 그다지 쓸만한 물건이 아니다... 프로그래밍 언어
ECMA스크립트 <http://www.ecma-international.org/publications/standards/Ecma-262.htm> ECMAScript. ECMA-262 및 ISO/IEC 16262로 표준화된 프로그래밍 언어로, 월드 와이드 웹에서 아주 미친듯이 쓰이고 있다(좀 더 정확히는 그냥 그 언어 밖에 없다). 웹프로그래밍을 하는 사람들의 기본 스킬이자 증오애증의 대상. 현재 최신 버전은 2009년에 발표된 5판(5th edition). 자바스크립트라고도 많이 불리지만 엄밀히는 자바스크립트는 ECMA스크립트의 구현 중 하나이다.…
파이썬 <http://python.org/> Python. lifthrasiir의 주력 프로그래밍 언어 중 하나. 혹자는 이 언어를 두고 "실행 가능한 의사코드"라고 말하기도... 파이썬의 프로그래밍 언어 개선 프로세스(PEP)와 Guido van Rossum의 강력한 리더십이 인상 깊다. 오픈 소스 구현체가 비교적 많다는 것도 장점. CPAN에 비해 후달리는 외부 라이브러리 관리 시스템은 좀 아쉽다. (그냥 CPAN이 특출난 걸지도...)
하스켈 <http://haskell.org/> Haskell Curry의 이름에서 딴 함수형프로그래밍언어. Ocaml 같은 거랑 비교하면 부수효과를 강력하게 제어하고(모나드를 통해) 타입클래스를 통한 함수형 스타일의 다형성을 지원한다는 차이가 있음. 사용자 커뮤니티가 꽤 잘 정립되어 있다는 장점도 있다.
프로그래밍 언어 프로그래밍 언어가 사람을 이롭게 할 수 있을까? 잘 설계된 언어가 좋은 프로그램이 만들어질 확률을 높인다는 걸 보장할 수 있을까? (샤피어울프가설의 PL 버전인듯) 지금까지의 사례를 보면 가능성은 충분한 것 같지만 한 가지 암울한 사실은 프로그래밍 언어의 선택은 이런 거 고민 안 하는 현실 세계에서 이루어진다는 것.
루비 <http://www.ruby-lang.org/> 마츠모토 유키히로가 만든 프로그래밍 언어. 루비온레일즈 때문에 떴다고 봐도 과언이 아니다. 다른 동적 프로그래밍 언어에 비해 동적인 부분을 굉장히 많이 살리는 경향이 있다. 파이썬이라거나 이런 것들은 프로젝트가 커지면 동적인 부분이 잘 제한되고 정적인 부분이 많아져서 나중에 처리하기 쉬운데, 루비에서는 class_eval 이런 것들이 횡행(?)하고 정적 모듈 시스템이 존재하지 않는다거나 그러니까. 뭐 취향 차이인듯.…
C# 자바를 대항하는 마이크로소프트의 주력 프로그래밍 언어. 보통 닷넷프레임워크와 묶여 돌아 간다. ---------- LINQ는 보기에는 SQL이랑 굉장히 비슷한데 실제 역할은 파이썬의 list comprehension 같은 역할을 하는 걸로 기억한다. 개인적으로는 SQL 문법을 싫어해서 아주 딱히 찬동하는 건 아니지만.

목록

문서설명
중괄호 프로그래밍 언어 Curly-brace(또는 Curly-bracket) programming language. 프로그래밍 언어 중 여러 문장을 묶는 블록 문법이 중괄호({...})인 것들을 일컫는다. 여기 속하는 대부분의 언어들은 C에서 유래했거나 영향을 크게 받은 언어들이 보통으로, 코드 레이아웃이 문법적으로 영향을 거의 미치지 않는 자유형(free-form) 문법을 사용한다는 점도 특징이다.
중괄호를 쓰는 프로그래밍 언어 말 그대로, 여러 문장을 묶기 위해 중괄호를 쓰는 프로그래밍 언어. 대표적인 예가 C이며, C의 영향을 많이 받은 C++나 C#, 자바, ECMAScript, D언어 등도 여기에 속한다. 워낙 C의 영향력이 컸기 때문에 여기에 속하는 언어들은 매우 높은 확률로 문장 구분자가 ;이며, 보통 공백이 코드 의미에 거의 영향을 안 미친다는 공통점도 가지고 있다.

세부 분류


도쿠위키DokuWiki-custom(rev 9085d92e02)을 씁니다.
마지막 수정 2011-05-30 18:25 | 외부 편집기