C언어가 C 언어인 이유..

익명 사용자의 이미지


B 다음에 C 라서..

익명 사용자의 이미지

이거 맞는 말이네요..(..)

__
SOrCErEr

익명 사용자의 이미지

진짜로 그런거 아녔나요? -_-;

SOr wrote..
이거 맞는 말이네요..(..)

__
SOrCErEr

익명 사용자의 이미지

B언어가 베이직.

그 다음이 C언어..뭐 그런거겠죠..(멋대로 상상-,.-;)

익명 사용자의 이미지

B언어라는게 따로 있었음.

여담 Java를 만든 녀석들(?)이 언어의 이름을 가지고 고민했을때
그러니깐 Java라는 이름이 정해지기전에
D언어라고는 절대로 안 부르겠다고 했다는군요 ㅋㅋㅋ
결국 커피 마시다가 어라 이 이름 게안네 한거지만 ^^
(이 역시 실제로 있던일)

익명 사용자의 이미지

C의 경우도 이미 있던 B언어를 개량하는 것으로 시작했던게 거의 새로
만들다시피 되고, 만들던 사람이 이건 B보다 뛰어나다! 라는 생각에
C라고 이름지은 것으로 알고있습니다)

__
SOrCErEr

익명 사용자의 이미지


개인적으로 자바를 별로 좋아 하지 않는데

코딩을 해보면.. 오히려 C 보다 훨신 군더더기가 많고 간결하지 못하다고

느꼈다.

로직구현에 있어서도 구현가능은 하겠지만.. 돌려쳐(?) 를 해야되는것..

나만 이렇게 느끼는지 모르겠지만..

어쨋든.. C 언어가 나온지 도 상당히 오래 되었건만.. 상당기간후

새로이 만들어냈다는 언어의 문법이 영 실망스러웠다..

만일 위의 사람 말대로 자바를 만든사람이 이름을 D언어라고 결정했다면..

내가 용서(ㅡ,.ㅡ;) 할수 없었을...^^;

익명 사용자의 이미지

중요한건 개인적 성향이겠죠.
저도 뭐... 일반적으로 OOP들을 통틀어서 다 좋아하지 않습니다.
C가 좋아요T_T 라지만 재밌는건 C를 만든 사람도 이렇게까지 뜰 줄은
몰랐다는 것이고, 제가 OOP를 싫어하듯, OOP를 좋아하는 사람이 있는거겠죠)
마찬가지입니다. C를 좋아하고, JAVA를 싫어한다면 JAVA를 좋아하고 C를
싫어하는 사람도 있겠죠)

이렇든 저렇든 결론은... 내가 좋아하는게 만세~ 인겁니다^^

__
SOrCErEr

익명 사용자의 이미지

개인적으로 제가 씨언어와 프로그래밍 언어의 역사에 관심이 있어서

그리고 시간이 많아서 자세히 적습니다.
--------------------------------------------------------------

C는 현재 가장 널리 이용되고 있는 언어 중의 하나이다. C는 고급 프로그래밍

언어이면서도 하위 수준의 언어이고, 특수 목정 언어이면서도 범용 언어인

양면성을 가진 언어로 유명하다. ALGOL을 개발한 사람들과 달리 C를 개발한

Dennis Ritchie는 인기있는 프로그래밍 언어를 만들려고 시도한 것이 아니라

좀더 나은 운영체제를 개발하려 하였다.

(미 국방성에서 만든 ADA나 IBM에서 만든 PL1이 엄청난 공을 들여 만든

데 비해 씨는 본의 아니게? 나온죠. 하지만 많은 기능을 자랑하는

PL1이 실패하고 C가 상업적 성공을 이룬건

몸집이 큰 공룡보다 작은 기생충이 환경에 잘 적응하기 때문이라고 봅니다

..비유가 좀 이상한가요?)

1960년대에 Ritchie가 입사한 Bell 연구소의 과학자들은 Multics라는 운영

체제에서 실험을 하고 있었다. 이 다중 사용자, 시분할 시스템은 이전까지

수고스럽게 작업하던 프로그래머에게는 급속도로 친한 친구처럼 되었다.

카드 뭉치를 오퍼레이터에게 건네고 출력된 결과를 받기 위해 서너 시간

기다리는 대신 Multics는 사용자가 키보드로 명령을 입력하고 즉각적인

응답을 받을 수 있게된 것이다. 그러나 경비 문제로 Bell 연구소는 Multics의

사용을 포기하기로 하였다. 그러나 Thomson과 Ritchie는 자신들과 연구소의

프로그래머들을 위해 새로운 운영체제 UNIX를 개발하기로 하였다. 1971년에

UNIX 개발이 완료되었으나 UNIX는 어셈블리어로 작성되어 있었으므로 PDP-11

이외의 컴퓨터에서는 이식성이 없었다.

1960년 대에는 두가지 종류의 언어가 있었다. 하위 수준의 어셈블리어는

기억 장소 각각의 비트를 조작할 수 있기 때문에 특정한 컴퓨터를 프로그래머가

직접 제어할 수 있었다. 고급 언어는 보다 쉽게 사용할수 있었으며 다양한

하드웨어상에 구현되어져 있었다. 프로그래머는 많은 양의 상세한 세부 사항들에

신경 쓸 필요 없이 좋은 알고리즘 설계에만 집중할 수 있었다.

프로그래머는 많은 양의 상세한 세부 사항들에

신경 쓸 필요 없이 좋은 알고리즘 설계에만 집중할 수 있었다.

(이 말은 현대의 펄이나 파이썬 자바에도 적용되는 말이죠. 미래의

프로그래밍 언어가 나온다면 더욱더 그러할 테고 말입니다)

Cambridge 대학과 London 대학의 합동 위원회는 고급 언어이면서도 동시에

하위 수준인 언어를 개발하기로 결정하였다. 이 언어는 특정 컴퓨터에만 종속되지

않도록 고급언어이면서도 특정한 비트를 조작할 수 있도록 하였다. 그 결과로

만들어진 언어가 CPL이다 이 CPL은 Cambridge Programming Language의 약자이다

이 언어는 60년대 초기에 개발되었고, 크고 어려운 언어이므로 인기가 없었고,

MartinRichard가 1967년에 BCPL로 확장하였다.

Cambridge Programming Language

(이 말 좀 웃기지 않나요? 서울대에서 만든 언어는

SPL? Seoul Programming Language

고려대에서 만들면

GPL?

BCPL은 UNIX 운영체제를 만든 Bell 연구소의 연구진에 의해 연구된 후,

시스템 프로그래밍을 위한 B라는 언어로 계승되었다. 그러나 이 언어에는

명시적인 데이터 형이 없기 때문에 부적합한 언어로 판명되었다. 1972년에

Dennis Ritche는 B에 원래의 CPL의 기능 중에 다양한 데이터형과 같은 기능을

추가하여 C라는 언어를 개발하였고, C를 이용하여 UNIX를 다시 작성하였다.

1978년에 Ritchie와 Kernighan은 C에 관한 책을 출판하였고, 소위 K & R C를

설명하는 이 책은 그 후 10년 뒤에 ANSI C가 만들어지기까지 C를 설명하는

표준 문서가 되었다. C가 널리 이용된 중요한 원인 중에 하나는 UNIX의 많은

부분이 C로 기술되었다는 점이다. 그 결과로 UNIX의 이식성이 좋아져서

1980년대 중반부터 UNIX는 운영 체제의 표준이 되다시피 했다.

C는 프로그래머를 위한, 프로그래머에 의한, 프로그래머의 언어로 알려져 있다.

이와 같은 사실은 보기 좋게 작성하기 보다는 간결하게 쓸 수 있는 C의 특성에서

명백해 진다. Begin과 end보다는 중괄호 { }를 사용한다. 이것은 빠른

프로그래밍을 가능하게 하지만 한편으로는 가독성을 떨어트리기도 한다.

(네이티브가 아닌 한국 사람은 별 차이 없습니다)

C가 경험이 많은 프로그래머 위주로 개발되었다는 또 다른 예는 에러 메시지가

명료하지 않다는 점이다. lint 프로그램이 제공되기는 하나 자신의 에러를

추적하는 것은 그리 쉬운 일이 아니다.

----------------------------------------------

심심해서 타이핑 해봤습니다. 중간 중간 코멘트는 그냥 제 생각.

익명 사용자의 이미지

Denis Ritchie가 아직도 AT&T에서 만들고 있는 것입니다.

http//www.vitanuova.com/mkt/appdev/limbo.html

익명 사용자의 이미지

고려대에서 만들면..

KPL

익명 사용자의 이미지

B언어를 데니스 리치가 만들었고, 거기에 동료인 켄 톰슨이(몰래)
자료형(int, float .. 이런 것들)을 추가해서 발표한 것이
C라더군요. 이 문구는 모 출판사의 "안녕하세요 C" 입문서에
서 읽었습니다. (그 때가 95년 이던가..)

익명 사용자의 이미지

프로그래밍 언어로서 B보다 C가 나을지 몰라도,

"학점"으로서 B가 낫죠, C보담... -_-;

******
졸업학점 때매 겨울방학 반납(?)해야 될 예비 졸업생임다. ㅠ.ㅠ

익명 사용자의 이미지

PC상에서 최초의 C++ 컴파일러를 만든 Walter Bright 라는 사람이 현재
D 언어 스펙을 설계하고 있습니다.
관련 사이트

http//www.digitalmars.com/d/index.html

휘리릭~~