(새 문서: === 개요 === 대표적인 프로그래밍 언어이다. 태생이 UNIX를 만들기 위해 생겨난 언어인 만큼, 프로그래머가 사용하기 좋게 설계되어 있...) |
|||
(같은 사용자의 중간 판 2개는 보이지 않습니다) | |||
3번째 줄: | 3번째 줄: | ||
대표적인 프로그래밍 언어이다. | 대표적인 프로그래밍 언어이다. | ||
− | 태생이 [[UNIX]]를 만들기 위해 생겨난 언어인 만큼, 프로그래머가 사용하기 좋게 설계되어 있다. | + | 태생이 [[UNIX]]를 만들기 위해 생겨난 언어인 만큼, 프로그래머가 사용하기 좋게 설계되어 있다. (물론 그 당시에 상대적으로) |
+ | |||
=== 역사 === | === 역사 === | ||
21번째 줄: | 22번째 줄: | ||
그리고 소스 코드를 고급언어로 재작성 하는데, 처음엔 부트 로더나 엔트리 포인트같은 앞부분을 제외하고 | 그리고 소스 코드를 고급언어로 재작성 하는데, 처음엔 부트 로더나 엔트리 포인트같은 앞부분을 제외하고 | ||
− | BCPL을 모태로 둔 [[켄 톰슨]]님의 B언어로 작성을 하였다고 한다. 그런데 버그가 너무 많았다 카더라. | + | BCPL을 모태로 둔 [[켄 톰슨]]님의 B언어로 작성을 하였다고 한다. 그런데 버그가 너무 많았다 [[카더라]]. |
[[데니스 리치]]님이 이건 소스 작성하는데 쓴 언어가 문제다 하여, | [[데니스 리치]]님이 이건 소스 작성하는데 쓴 언어가 문제다 하여, | ||
38번째 줄: | 39번째 줄: | ||
대규모 프로젝트 짜기 쉽지 않다. | 대규모 프로젝트 짜기 쉽지 않다. | ||
+ | |||
+ | <del>(문서 특징) 작성자가 기여도 높이려는 목적으로 작성했다</del> | ||
+ | |||
=== 표준 === | === 표준 === | ||
48번째 줄: | 52번째 줄: | ||
C11 | C11 | ||
+ | |||
=== 관계 언어 === | === 관계 언어 === |
2017년 7월 15일 (토) 12:10 기준 최신판
개요
대표적인 프로그래밍 언어이다.
태생이 UNIX를 만들기 위해 생겨난 언어인 만큼, 프로그래머가 사용하기 좋게 설계되어 있다. (물론 그 당시에 상대적으로)
역사
C언어는 UNIX를 만들기 위하여 생긴 언어이다.
그런데 첫 번째 UNIX 시스템이 릴리즈 된건 1969년이고,
C언어는 그로부터 3년 후인 1972년에 발표되었다.
UNIX를 위해 만들어진 언어인데, 정작 UNIX보다 늦게 발표된 이유엔 다음과 같은 비하인드 스토리가 존재한다.
PDP-7에 들어간 첫 번째 버전의 UNIX는 어셈블리로 작성되었는데,
벨 연구소 멤버분들(전설의 그분들)은 이 UNIX를 PDP-11에 포팅할 계획을 세웠다.
그리고 소스 코드를 고급언어로 재작성 하는데, 처음엔 부트 로더나 엔트리 포인트같은 앞부분을 제외하고
BCPL을 모태로 둔 켄 톰슨님의 B언어로 작성을 하였다고 한다. 그런데 버그가 너무 많았다 카더라.
데니스 리치님이 이건 소스 작성하는데 쓴 언어가 문제다 하여,
자료형을 추가하시고 인터프리터를 사용치 않게 하시메 C언어가 되었다.
(사실 중간에 NB도 있고, 개량도 벨 연구소 UNIX 팸분들 같이 하셨다.)근데 작성자가 자세히 쓰기 귀찮아 지고 있다.
그렇게 발표된 C언어는 성공적으로 UNIX를 재작성하는데 성공했고, 이는 PDP-11에 올라갔다.
쓰고 보니 별로 비하인드 스토리 같지가 않아
특징
문법이 컴팩트하다. (는 옛날 이야기. C11 보면 그렇지만도 않음)
대규모 프로젝트 짜기 쉽지 않다.
(문서 특징) 작성자가 기여도 높이려는 목적으로 작성했다
표준
K&R C
C89
C99
C11
관계 언어
B, ALGOL 68, Fortran, PL/I, CPL, CLACL Assembly
C++, C--, C#, Perl, Objective-C, D, PHP, Java, Rust, Javascript 등등