C언어는 무엇으로 작성되었나요?

kdyapple98의 이미지

C언어 라는 프로그래밍 언어를 처음 공부해보는 사람입니다

초기의 유닉스(?) 라는 운영체제를 개발하는데 어셈블리어 라는 언어를 사용해서 개발했다고 하더군요
그다음에 어쩌고 저쩌고 여튼 유닉스를 좀더 편하게, 좋게 하기 위해서 C언어를 개발했다고...
여기서 드는 의문이

C언어는 어셈블리어로 작성된(만들어진)건가요?

만약 그게 아니라면 C언어는 무엇으로 만들어 졌는지(이전에 있었던 프로그래밍 언어로 개발이 된건지,
아니면 초보인 제가 이해하기 어려운 어떤 이론이나 공식으로 만들어 진건지) 궁금합니다

최대한 명확하게 질문하려고 노력했습니다....

잘아시는분 답변 부탁드립니다!

vagabond20의 이미지

벨 연구소에서 어셈블리어로 초기 유닉스와 C 언어를 만들었다고 나오는군요.
C Programming Language

PDP-7 시스템에서 어셈블리어로 유닉스를 개발하면서 함께 C언어를 개발하였습니다.
처음부터 C언어로 불린게 아니고, PDP 시스템에서 사용하던 BCPL 라는 언어를 기반으로 B언어를 개발하였고, 실제로는 이 B언어가 PDP-11 시스템에 탑재할 다음 버전의 유닉스개발에 사용되었습니다. 이후 B언어의 향상된 버전으로 C언어가 만들어진거지요.

여의도자바

kdyapple98의 이미지

궁금한거 잘 못참는 성격이라 답변 달리길 기다리고 있었습니다!
깔끔한 답변 다시한번 감사드립니다 :)

지나가던..의 이미지

초보라고 하셔서, 또 명확하게 질문하는 것에 대해서 신경을 쓰시는 것 같아서 질문에 대해서 딴지를 걸어봅니다 :)
"C 언어"는 굳이 말하자면 "영어"로 만들어졌습니다.
보다 정확히는 "C 언어는 무엇으로 작성되었는가?"는 성립할 수 없는 질문입니다.
"C 컴파일러는 무엇으로 작성되었는가?"는 적법한 질문이지요.
하지만 C 컴파일러는 여러가지가 있으니 정확히는 어떤 C 컴파일러가 무엇으로 작성되었는지를 물어야합니다.
아마도 원글 작성자께서는 하고 싶으셨던 질문은 "최초의 C 컴파일러는 무엇으로 작성되었는가?"인 듯 합니다.
어떤 프로그래밍 언어와 그 언어의 컴파일러 구현, 표준 라이브러리 구현, 런타임 구현은 모두 별개입니다.
언어 자체는 문법과 의미에 대한 명세(specification of syntax and semantics)이고, 이를 어떻게 컴퓨터 프로그램으로 구현하느냐는 다른 문제입니다.
사소해 보일 수 있는 구분이지만, 이를 구분할 수 있는 사람과 그렇지 않은 사람, 구분해서 표현하는 사람과 그렇지 않은 사람은 "달라보입니다". 구분해서 표현하는 사람들이 수준 높은 사람들이라고 할 수는 없지만 최소한 초보 티는 안 난다고 할 수 있겠네요.

Anti-Lock의 이미지

+1

twinwings의 이미지

언어와 컴파일러는 다릅니다.

drinkme의 이미지

최근의 gcc는 c로 작성되어 있다고 하더라구요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.