검색
검색
공개 노트 검색
회원가입로그인
폴 그레이엄 에세이 요약

언어들이 해결하는 것

## 언어들이 해결하는 것
  • 프로그래밍 언어는 각각 특정 문제를 해결하기 위해 설계되었으며, 이를 통해 언어의 특징과 장점을 이해할 수 있다.

주요 내용 요약:

  • 프로그래밍 언어는 "해결하려는 문제"를 통해 특징을 정의할 수 있음.

  • 각 언어가 겨냥한 특정한 약점이나 불편함이 있었음.

언어별 해결 대상:

  • Algol: 어셈블리어는 너무 저수준이다.

  • Pascal: Algol은 자료형이 부족하다.

  • Modula: Pascal은 시스템 프로그래밍에 불충분하다.

  • Python: Modula-3은 어렵고 무섭다.

  • Simula: Algol은 시뮬레이션에 적합하지 않다.

  • Smalltalk: Simula의 모든 것은 객체가 아니다.

  • Fortran: 어셈블리어는 너무 저수준이다.

  • Cobol: Fortran은 어렵다.

  • PL/1: Fortran의 자료형이 부족하다.

  • Ada: 기존 언어들에는 항상 무언가가 빠져 있다.

  • Basic: Fortran이 어렵다.

  • APL: Fortran은 배열 처리에 적합하지 않다.

  • J: APL은 별도의 문자셋을 필요로 한다.

  • C: 어셈블리어는 너무 저수준이다.

  • C++: C는 너무 저수준이다.

  • Java: C++는 복잡하고, MS가 우리를 위협하고 있다.

  • C#: Java는 Sun이 통제하고 있다.

  • Javascript: Java는 어렵다.

  • Lisp: 튜링 기계는 계산을 설명하기에 부적절하다.

  • Scheme: MacLisp는 복잡하다.

  • T: Scheme에는 라이브러리가 없다.

  • Common Lisp: Lisp는 방언이 너무 많다.

  • Dylan: Scheme에는 라이브러리가 없고, Lisp 문법은 어렵다.

  • Curl: Lisp 문법은 어렵고 XML은 중복된다.

  • Arc: Scheme에는 라이브러리가 없고 더 간결할 수 있다.

  • Perl: 쉘 스크립트/awk/sed는 충분히 프로그래밍 언어 같지 않다.

  • Python: Perl은 복잡하다.

  • Ruby: Perl은 복잡하고 Lisp 문법은 어렵다.

  • Prolog: 프로그래밍은 논리와 충분히 닮지 않았다.

추가 언급:

  • 새로운 언어는 기존 도구들의 틈새 요구를 충족시키거나 초기 사용자들에게 매력을 제공하는 방식으로 발전해 왔음.

  • 언어가 해결하려는 문제에 따라 설계 동기를 쉽게 이해할 수 있음.


What Languages Fix - (폴 그레이엄 에세이 요약)


공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기