C 대체재를 만들고 있다고 생각했지만 틀렸다

4 hours ago 1

C3의 목표는 오늘날 C가 쓰이는 영역만 대체하는 것이 아니라, C의 단순성과 성능에 현대적 편의성을 더해 범용 애플리케이션을 만드는 언어를 제공하는 데 있음 1980~90년대에는 C와 Pascal이 애플리케이션 언어였지만, 오늘날 C 대체재는 주로 운영체제·임베디드·고성능 라이브러리용 언어로 받아들여져 C3의 의도가 잘못 전달됨 객체지향을 포함한 메서드 우선 사고는 객체의 소유·의존 관계를 일찍 결정하게 하며, 구조를 뒤집을 때 관련 메서드까지 고쳐야 해 문제를 탐색하며 설계를 바꾸기 어려워짐 PHP 코드베이스의 절차적 구조는 Turbo Pascal 시절과 같은 개발 속도를 보여줬으며, 좋은 동적 배열·문자열과 arena allocator가 있다면 많은 추상화에 객체지향이 필요하지 않다는 판단으로 이어짐 C3는 앞으로 C-like라는 표현보다 범용 애플리케이션 언어임을 강조하고, C뿐 아니라 C++·Swift까지 아우르는 선택지로 자리매김할 계획임 애플리케이션 언어였던 C의 기억 1980년대 가정용 컴퓨터 환경에서는 BASIC과 어셈블리가 주요 선택지였고, 16비트 컴퓨터가 등장하면서 Pascal과 C도 실용적인 언어가 됨 당시에는 예산이 부족한 젊은 개발자가 컴파일러를 구하기 어려웠음 DOS에 포함됐다는 이유로 QBasic을 이용해 본격적인 프로그램을 작성하기도 했음 이후 Turbo Pascal을 사용하면서 개발 생산성이 크게 높아짐 Turbo Pascal은 BASIC의 복잡한 goto·gosub 구조보다 코드를 쉽게 조직할 수 있었고, 절차적 방식이라 구조나 아키텍처를 사전에 강제하지 않았음 GCC로 C를 일부 익히고 대학에서 C++를 배운 뒤에도 개인 프로그램은 계속 절차적으로 작성함 객체지향 도입 뒤 느려진 개발 1996년경 Java 강좌를 통해 객체지향(O​​O) 을 핵심 접근법으로 이해하기 시작함 이후 Objective-C를 접하고 Java 게임 서버를 빠르게 개발하는 경험을 쌓았지만, 프로그래밍 실력이 늘었음에도 Turbo Pascal 시절의 개발 속도에는 도달하지 못함 같은 수준의 코드를 작성하면서도 구현보다 설계에 더 많은 시간을 쓰게 된 점이 불만으로 남음 PHP에서 확인한 절차적 개발의 효율 장기간 참여한 PHP 코드베이스는 일부 객체지향 구조를 사용했지만, 핵심 흐름은 사용자의 호출을 함수로 전달하고 결과를 보여주는 단순한 형태였음 클래스가 일부 쓰였어도 전체 동작은 대부분 절차적이었으며...

Read Entire Article