새로운 프로그래밍 언어 C3가 자신을 단순한 C 대체재가 아닌, C의 단순성과 성능에 현대적 편의성을 더한 '범용 애플리케이션 개발 언어'로 재정의하며 주목받고 있습니다. 개발팀은 C3의 목표가 오늘날 C가 사용되는 운영체제나 임베디드 시스템 같은 특정 영역을 대체하는 것을 넘어, 과거 C가 담당했던 것처럼 다양한 종류의 프로그램을 만들 수 있는 언어를 제공하는 데 있다고 설명했습니다. 이는 C3가 처음부터 C뿐만 아니라 C++와 스위프트(Swift)까지 아우르는 더 넓은 범위의 언어를 지향했음을 분명히 하는 메시지입니다.
C3 개발팀은 1980년대와 90년대에 C와 파스칼(Pascal)이 범용 애플리케이션 언어였던 시절을 회상하며, 절차적(procedural) 개발 방식의 효율성을 강조합니다. 특히 터보 파스칼(Turbo Pascal)을 통해 경험했던 빠른 개발 속도가 객체지향(Object-Oriented, OO) 패러다임 도입 이후 오히려 느려졌다고 지적합니다. 객체지향은 초기에 객체 간의 소유 및 의존 관계를 결정해야 하므로, 개발 과정에서 설계를 변경하기 어렵게 만들고 리팩토링(refactoring) 비용을 증가시킨다는 것입니다. 반면, PHP 프로젝트에서 경험한 절차적 구조는 높은 개발 효율을 보여주었으며, 좋은 동적 배열(dynamic array)과 문자열, 아레나 할당자(arena allocator)만 있다면 많은 추상화에 객체지향이 필수적이지 않다는 결론에 도달했습니다.
이러한 경험을 바탕으로 C3는 C의 단순성과 성능을 유지하면서도 현대 소프트웨어 개발에 필요한 편의성을 제공하는 것을 목표로 합니다. 기존 C 라이브러리(libc)가 지나치게 기본적인 기능만 제공하고, C++는 느린 컴파일 속도와 메서드 우선(methods first) 사고방식이 깊이 배어 있어 개발 편의성이 부족하다는 점을 문제로 인식했습니다. 따라서 C3는 앞으로 'C-like'라는 표현 대신 '범용 애플리케이션 개발 언어'임을 강조하며, C가 과거에 담당했던 것처럼 개발자가 작업을 위해 자연스럽게 선택할 수 있는 언어로 자리매김할 계획입니다. 이는 오늘날 C가 주로 사용되는 영역을 대체하려는 지그(Zig)와 같은 언어들과는 차별화되는 지점입니다.