C 프로그래밍 입문: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
Kladess (토론 | 기여)
Joshuajh (토론 | 기여)
13번째 줄:
=== C의 역사<ref>어떤 컴퓨터 언어를 배우는 첫 부분에는 항상 그 언어가 어떤 과정을 거쳐서 만들어졌는지를 이야기 합니다. 사실 필요 없어 보이는 내용을 굳이 다루는 이유는, 컴퓨터 언어가 목적을 분명하게 갖고 만들어지기 때문입니다. 다시 말해서 해당 언어가 만들어진 이유와 과정을 보면 어떤 경우에 사용하면 좋을 언어인지를 조금 더 잘 정의할 수 있기 때문에 다루는 것 입니다. 비록 최근의 언어들은 말 그대로 범용의 목적을 가지고 만들어 지긴 하지만, 그래도 역시 해당 언어가 더 유리한 부분과 불리한 부분은 있기 마련입니다.</ref>와 특성 ===
 
C언어는 1972년에 벨(Bell) 연구소의 [http://ko.wikipedia.org/wiki/%EB%8D%B0%EB%8B%88%EC%8A%A4_%EB%A6%AC%EC%B9%98 데니스 리치(Dennis Ritche)]가 개발하였으며, [http://ko.wikipedia.org/wiki/%EC%BC%84_%ED%86%B0%EC%8A%A8 켄 톰슨(Ken Tompson)]이 UNIX를 개발할 때 사용한 B언어를 기초로 하여 개발된 것이다. 현재 UNIX의 운영체제와 이에 제공되는 소프트웨어의 거의 모두가 C언어로 작성되어 있다. 그 후 여러 종류의 C가 개발되었으며 ANSI(American National Standard Institute)에서 표준으로 정한 ANSI C가 1988년에 발표되었다. 데니스 리치(Dennis Ritche)가 C를 개발하기 이전에 사용되어온 C모태의 계보는 다음과 같다.
 
* [http://ko.wikipedia.org/wiki/%EC%95%8C%EA%B3%A8_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4) ALGOL60 (ALGOrithmic Language 1960 )]
:1960년 국제위원회에서 발표한 추상적이고 범용적인 언어
 
24번째 줄:
:1967년에 케임브리지(Cambridge) 대학교의 마틴 리챠드(Mar-tin Richards)가 발표한 시스템 프로그래밍의 효율을 높인 언어
 
* [http://ko.wikipedia.org/wiki/B_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4) B (B Language)]
* B (B Language)
:1970년 벨(Bell) 연구소의 켄 톰슨(Ken Thompson)이 개발
 
* [http://ko.wikipedia.org/wiki/C_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4) C (C Language)]
* C (C Language)
:1972년 벨(Bell) 연구소의 데니스 리치(Dennis Ritche)가 개발하였으며 B언어에 기계어 생성 및 자료형과 구조 선언을 가능케 한 언어
 
33번째 줄:
 
C 언어가 어렵게 느껴진다면, 그것은 실지로 C 라는 언어가 어렵다기 보다는 다른 언어에서 대신 처리해 주는 부분을 프로그래머 스스로 해야 하기 때문에 할 일이 많기 때문 일 것이다. 어셈블리언어 역시 프로그래머들에게 어렵다는 이유로 외면을 당하고 있긴 하지만, 실상 언어 자체만 놓고보면 배우기 가장 쉬운 언어는 아마 어셈블리언어 일 것이다. C 나 어셈블리언어 모두 '<em>어려운 것이 아니라 귀찮은 것</em>'이다. 알고보면 가장 많은 일을 해야하는 언어 들이지만 가장 많은 일을 할 수 있는 언어이다. 가장 많은 권한을 주는 언어이자 가장 많은 책임을 지우는 언어 이기도 하다.
 
 
=== C 프로그래밍 환경 ===