22. Ideals and History

22.1. History, Ideals, and Professionalism

프로그래밍 언어의 아이디어들에 대해 알아보자.

22.1.1. Programming language aims and philosophies

프로그래밍 언어의 이상적 조건들은 무엇일까?

  • 포터블함
  • 타입 안전성
  • 엄밀한 정의
  • 고성능
  • 생각을 명확히 표현할 수 있음
  • 디버깅하기 쉬움
  • 테스팅하기 쉬움
  • 모든 시스템 자원에 접근함
  • 플랫폼 독립적
  • 모든 플랫폼에서 작동함
  • 시간이 지나도 안정적임
  • 응용 분야의 요구에 맞춰 빠르게 발전
  • 배우기 쉬움
  • 작음
  • 유명한 프로그래밍 스타일을 지원함
  • 프로그램의 분석을 쉽게 함
  • 기능이 많음
  • 큰 공동체에 의해 지원됨
  • 초심자 친화적임
  • 전문가에 의해 잘 쓰일 수 있는 특성을 제공
  • 많은 소프트웨어 개발 도구를 제공
  • 많은 소프트웨어 컴포넌트를 제공
  • 오픈 소스 공동체에 의해 지원됨
  • 메이저 플랫폼 개발사에 의해 지원됨

등등이 있다.

22.1.2. Programming ideals

좋은 프로그래밍이란 무엇일까?

22.1.2.1. What we want

  • 정확성
  • 유지 보수 가능성
  • 성능
  • 빠른 개발 가능

22.1.2.2. General approaches

소프트웨어를 쓰는 데 있어 일반적으로는 두 가지 방법이 있다. 바텀-업 방식과 탑-다운 방식.

22.1.2.3. Direct expression of ideas

프로그래밍 언어는 생각을 분명히 표현할 수 있어야 한다.

  • 코드에 생각을 분명히 표현하라.
  • 독립적인 생각은 독립적으로 표현하라.
  • 생각 간의 관계를 코드에 표현하라.
  • 코드에 표현된 생각을 조합하라.
  • 간단한 생각은 간단히 표현하라.

22.1.2.4. Abstraction level

프로그래밍 언어는 높은 추상화 층을 제공해야 한다.

22.1.2.5. Modularity

프로그램은 잘 모듈화되어야 한다.

22.1.2.6. Consistency and minimalism

코드는 일관적이어야 하고, 간결해야 한다.

22.1.3. Styles/paradigms

C++은 4개의 메이저한 패러다임을 지원한다.

  • 절차 지향.
  • 데이터 추상화.
  • 객체 지향.
  • 제네릭 프로그래밍.

22.2. Programming Language History Overview

C++ 및 다른 프로그래밍 언어의 역사를 알아보자.

22.2.1. The earliest languages

최초엔 어셈블러가 있었다.

22.2.2. The roots of modern languages

최초의 언어들은 Fortran, Lisp, COBOL 등이다.

22.2.2.1. Fortran

포트란은 가장 오래된 언어 중 가장 중요한 언어 중 하나이다. 계산 과학에서 쓰였다.

22.2.2.2. COBOL

반대로 코볼은 비즈니스 프로그래머들에 의해 쓰였다.

22.2.2.3. Lisp

리스프는 연결 리스트와 심볼릭 프로세싱에 쓰였다.

22.2.3. The Algol family

이후에는 알골 족이 나왔다.

22.2.3.1. Algol60

그 시초는 알골60이었지만, 학계 밖에서는 쓰이지 않았다.

22.2.3.2. Pascal

그것이 발전되어 파스칼이 나왔다.

22.2.3.3. Ada

에이다는 알골 족의 분화이다.

22.2.4. Simula

시뮬라는 최초의 객체지향 프로그래밍 언어 중 하나이다.

22.2.5. C

C는 시스템 프로그래밍의 혁신으로, 가장 성공적인 프로그래밍 언어 중 하나이다.

22.2.6. C++

C++은 C의 개선으로부터 출발한, 공통 조상을 갖는 다른 언어이다.

22.2.7. Today

오늘날에는 많은 다른 언어들이 존재한다.

22.2.8. Information sources

정보를 더 얻고 싶다면 검색해 보자.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중