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의 일부를 선택적인 기능으로 변경
- 멀티 프로세서 대응 - 동시성 프로그래밍
The C18
소프트웨어 개발의 7가지 단계
- 목적 정의
- 프로그램 설계
- 코드를 작성
- 컴파일
- 실행
- 오류 수정 (디버깅 -> 펀치카드에 벌레가 껴서 오류가 났어!) - 당황하지 말고 의연하게 수정하자
- 유지, 개선
통합개발환경(IDE)
프로그래밍 과정
소스코드 입력 -> 문서편집기 -> 소스 코드(소스코드파일) -> 컴파일러 (+링커) -> 실행파일(.exe) -> 프로그램 실행
- 컴파일러 : 컴퓨터가 이해할 수 있는 언어로 바꿔준다. 즉 실행파일로 변환.
- 일반적으로 컴파일러는 링커를 포함해서 지칭함. 사실 분리되어있다.
visual studio 설치
- 인스톨러 : desktop development with c++