C언어의 탄생

알렉산더 그레이엄 벨 > AT&T (노키아 벨 연구소) -> Bell telephon lab(1925~)

  • 레지스터가 여기서 탄생! 오오

데니스 리치, 켄 톰슨 -> 벨연구소에서 unix를 만들어 있었어
브라이언 윌슨 케닝햄 with 리치-> 1978 C언어 책이 잘 써져있어서 대중화에 기여

unix

어셈블리 언어 -> c언어

Comparing C to machine language

동시대 기타 언어들

-> BASIC, Fortran(공학적으로 많이 쓰임. 포탄...)

C언어의 특징

  • 프로그램의 효율성을 높일 수 있다
  • (하드웨어 제어)강력 & 유연
  • 프로그래머 중심 - 프로그래머에게 많은 권한/책임을 준다
  • 다른 시스템으로 이식하기 좋음(윈도우 -> 리눅스)
  • 작은 하드웨어 (가볍지만 빠른)에 좋음

C언어의 표준

언어는 변한다.

Classic C (K&R C)

유닉스와 함께 제공된 라이브러리가 사실상의 표준 - Feb. 22. 1978

The Spirit of C (ANSI C89 / ISO C90)

  • 프로그래머를 믿어라
  • 프로그래머가 필요한 일을 하는 것을 방해하지 마라.
  • 언어를 작고 단순하게 유지해라
  • 한 연산을 할 때 단 한가지 방법만 제공해라
  • 호화을 보장할 수 없다하더라도 속도를 빠르게 해라

C9X (C99)

  • 국제 적인 문자 집합
  • 64비트 프로세서 대응
  • 과학 공학 수치 계산 적합도 개선 (FORTRAN 대체)
  • 언어를 단순하게 유지
  • C++가 더 크고 야심찬 언어가 되는 것을 허용하는 것에 동의한다 > 그래서 계속 라이브러리 추가되고..
    -> 즉 C는 보수적으로 하겠다

The C11 Standard

  • C99의 일부를 선택적인 기능으로 변경
  • 멀티 프로세서 대응 - 동시성 프로그래밍
    intel quad-core processor

The C18

  • 새로운 기능 추가없이 C11 결함만 수정

소프트웨어 개발의 7가지 단계

  1. 목적 정의
  2. 프로그램 설계
  3. 코드를 작성
  4. 컴파일
  5. 실행
  6. 오류 수정 (디버깅 -> 펀치카드에 벌레가 껴서 오류가 났어!) - 당황하지 말고 의연하게 수정하자
  7. 유지, 개선

통합개발환경(IDE)

프로그래밍 과정

소스코드 입력 -> 문서편집기 -> 소스 코드(소스코드파일) -> 컴파일러 (+링커) -> 실행파일(.exe) -> 프로그램 실행

  • 컴파일러 : 컴퓨터가 이해할 수 있는 언어로 바꿔준다. 즉 실행파일로 변환.
  • 일반적으로 컴파일러는 링커를 포함해서 지칭함. 사실 분리되어있다.

visual studio 설치

  • 인스톨러 : desktop development with c++
profile
Sin prisa pero sin pausa (서두르지 말되, 멈추지도 말라)

0개의 댓글