아크가 특별히 객체 지향적이지 않은 이유
아크가 특별히 객체 지향적이지 않은 이유
주요 아이디어:
객체 지향 프로그래밍은 특정 상황에서 유용할 수 있지만, 모든 프로그램에 반드시 적용해야 할 필요는 없으며, 아크 언어는 객체 지향 개념을 필수로 하지 않는 방향을 택했다.
에세이 요약:
객체 지향 프로그래밍의 인기: 현재 객체 지향 프로그래밍이 매우 흥미로운 기법으로 받아들여지고 있지만, 뛰어난 프로그래머들 중 일부는 이에 대해 덜 열광적이다.
아크의 철학: 아크는 객체 지향 개념이 모든 프로그램에 적용될 필요가 없다고 보고, 새로운 타입을 정의할 수 있도록 하되 이를 프로그램의 중심으로 삼지 않는다.
객체 지향 프로그래밍의 장단점:
장점: 객체 지향은 정적 타입 언어나 클로저 및 매크로가 부족한 언어에서 제약을 극복하는 방법을 제공한다.
단점: 대기업 환경에서 사용하는 경우가 많은데, 이는 대규모 팀과 보통 수준의 프로그래머들이 프로그램의 손상을 최소화하도록 돕지만, 결과는 중복과 비대함으로 이어진다.
생산성 착각: 객체 지향은 많은 작업을 하고 있다는 착각을 일으키며, 단순한 작업도 복잡한 클래스와 메소드를 사용하도록 유도한다.
언어 디자인 관점: 객체 지향이 전체 언어 설계에 필수적이라는 견해를 반대하며, 객체 지향 요소를 개별적으로 제공하는 것이 더 효과적일 수 있다고 주장.
개인적 경험: 저자는 강력한 객체 시스템을 가진 공통 리스프를 사용하면서 객체 지향 기능을 사용하지 않았고, 다른 기술로 작업을 성공적으로 수행해 왔다.
결론: 자신의 프로그래밍 경험을 바탕으로 아크는 객체 지향 개념이 없어도 충분히 강력한 언어로 설계되었으며, 언어가 필요하지 않은 기능을 포함하려는 시도는 위험할 수 있다.
Why Arc Isn't Especially Object-Oriented - (폴 그레이엄 에세이 요약)