Understading the Digital World - Brian W. Kernighan
1일 1로그 100일 완성 IT지식 - 브라이언 W. 커니핸
027. 작문과 비슷한 프로그래밍
특정 작업을 하는 프로그램을 작성하는 데는 많은 방법들이 있음.
프로그래밍은 작문과 비슷하다.
작문에서의 문체와 적절한 어휘 사용이 중요하듯, 프로그램을 작성할 때도 중요함.
또한 코드를 어렵지 않게 복사할 수 있어서 표절을 숨기기 어려움.
1960년대 : 포트란, 코볼, 베이직이 성공했던 이유 중 하나가 특정 응용 분야에 집중했기 때문이다.
1970년대 : 시스템 프로그래밍의 용도로 사용할 언어
C 언어
- 1973년 벨 연구소의 데니스 리치가 개발
- 시스템 프로그래밍 용도
- 어셈블러, 컴파일러, 텍스트 편집기 같은 프로그래머 도구와 운영체제까지 작성할 목적
- C언어로 만들어진 프로그램 : 유닉스, 리눅스 운영체제
1980년대 : 규모가 매우 큰 프로그램의 복잡성 관리를 도울 의도로 설계된 언어
C++
- 벨 연구소의 비야네 스트롭스트룹이 개발
- C++은 C언어에서 진화했고, C로 작성된 프로그램은 C++에서도 유효하지만 반대로는 불가
- 오늘날 컴퓨터에서 사용되는 주요 프로그램 대부분이 C와 C++로 작성
- C++로 만들어진 프로그램 : Mac의 소프트웨어, MS워드, 브라우저(파이어폭스, 크롬, 엣지)
1990년대 : 인터넷과 월드와이드웹(WWW)의 성장에 대응
JAVA
- 마이크로시스템즈의 제임스 고슬링이 개발
- 속도는 중요하지 않지만 유연성이 중요한 가전제품 & 전자기기의 임베디드 시스템을 위해 개발
- 이후 웹페이지상에서 실행할 용도로 변경되었지만 인기가 없었고, 웹서버에 널리 사용되고 있음.
- 안드로이드 앱을 작성하는 주요 언어
- C++보다는 단순하지만 C보다는 더 복잡
Javascript
- 1995년 넷스케이프의 브랜던 아이크가 개발
- JAVA와 아무런 관계가 없음
- 웹페이지의 동적인 효과를 구현하기 위해 브라우저 내부에서 사용할 목적으로 만들어짐
- 언어 자체가 단순함.
- 컴파일러가 모든 브라우저에 내장되어 있고, 계산한 결과를 바로 확인할 수 있음.
Python
- 1991년 네덜란드국립수학정보과학연구소 (CWI)에서 일하던 귀도 반 로섬이 개발
- 다른 언어와는 구문규칙이 다름. (문장을 그룹화 하는데 중괄호 대신 들여쓰기를 사용)
- 가독성에 초점을 두고 설계
- 프로그래밍을 배우거나 가르칠 용도로 적합.