News Feed

4세대 언어의 꿈, 생성형 AI에서 되살아났을까

컨텐츠 정보

  • 조회 390

본문

젊은 엔지니어였던 시절, 필자 곁에는 언제나 거칠지만 통찰력 있는 개발자 래리가 있었다. 퍼즐처럼 복잡한 코드를 마주한 수십 년 경력의 개발자인 래리는 14잔 째 커피를 마시며 프로젝트 현실, 프로젝트 매니저의 진실, vi 대 EMACS 논쟁, 그리고 4세대 언어(4GL)에 대한 냉소를 아낌없이 공유하곤 했다.

래리가 남긴 말 중 지금까지도 선명히 기억나는 한 마디가 있다. “4세대 언어는 결코 성공한 적도 없고, 앞으로도 성공하지 못할 것이다.”

그로부터 수십 년이 흘렀고, 지금 필자를 포함한 수많은 개발자는 생성형 AI 기반의 코드 생산 환경에 발을 담그고 있다. 그리고 문득 이런 의문이 떠올랐다. “지금 우리가 도달한 이 지점이, 래리가 말했던 그 4GL 유토피아 아닐까?”

4세대 언어란 무엇인가

4세대 언어(4GL)는 3세대 언어(자바, 자바스크립트 등)보다 추상화 수준이 높은 프로그래밍 언어로, 자연어와 유사한 문법을 통해 비전문가도 프로그래밍할 수 있도록 설계된 시스템이다. 간혹 프로그램 생성 언어(program-generating language)라고도 불린다. 자연어 인터페이스라는 개념도 포함된다.

실제로 1981년에 출간된 ‘프로그래머 없는 애플리케이션 개발(Application Development Without Programmers)’이라는 책은, AI가 인간 개발자를 대체할 미래를 예고하기도 했다.

그러나 FOCUS 같은 초기 4GL, WYSIWYG 에디터나 RAD(빠른 애플리케이션 개발) 프레임워크, 로우코드/노코드 플랫폼 등 현대적 파생 기술까지 모두 근본적인 한계를 넘지 못했다. 이유는 간단하다. 이 모든 도구를 제대로 사용하려면 여전히 ‘개발자’가 필요하기 때문이다.

비전문가가 보기에는 4GL 기반 도구조차도 실제로는 프로그래밍처럼 느껴진다. 데이터 저장소와 스키마, 이를 UI와 연결하는 미들웨어, 인터페이스 구조, 서비스와 API 간 관계, 보안 인프라 구성 등 기초 개념에 대한 이해 없이는 진전이 불가능하다.

생성형 AI와 4GL의 평행 이론

대규모 언어 모델(LLM)로 코드를 생성해본 이들은 느낄 것이다. 너무 추상적인 자연어 설명은 효율적이지 않다. 가장 효과적인 방식은 다양한 수준의 세부 정보를 넘나드는 반복적인 대화 과정이라는 점도 같다.

추상화가 깊어질수록, 이를 제대로 활용하기 위해 인간이 세부 구조를 이해하는 능력이 더 중요해진다. 복잡한 컴포넌트를 다루는 상황에서, 4GL 도구나 생성형 AI를 사용하는 건 두꺼운 장갑을 끼고 정밀 작업을 하려는 것과 같다.

숙련된 개발자라면 이런 한계를 공감할 것이다.

AI가 잘하는 영역

물론 AI 도구에 간단한 설명을 입력하면 원하는 기능의 함수를 뱉어주는 것만으로도 엄청나게 편리하다. 특히 경험 많은 개발자는 AI의 강점을 훨씬 적극적으로 활용한다. 하지만 AI를 광범위한 복잡한 문제에 무작정 적용하면, 기술 부채 못지않게 ‘이해 부채(comprehension debt)’가 쌓이게 된다.

프로그래밍 코드와 설계 개념을 공통된 프레임으로 엮어내는 AI의 능력은 상당하지만, 이를 활용하려면 기본적인 개념 이해와 응용력이 전제돼야 한다.

완성으로 이끄는 인간의 의지

고차원 추상화 도구는 프로토타이핑에는 강하지만, 실제 제품 완성에는 적합하지 않다. 완성에 이르는 마지막 단계는 반드시 인간이 주도해야 한다. 단지 기술적 이해뿐 아니라, 끊임없이 목표를 향해 나아가고 조정하는 ‘완성 의지’가 필요하기 때문이다.

무엇보다 경험 많은 개발자에게는 ‘신경 쓰는 마음’이 있다. AI는 실수를 반복해도 개의치 않지만, 인간 개발자는 그렇지 않다. 숙련된 개발자는 “이건 아니다”는 직감을 바탕으로 AI가 만든 오류를 바로잡는다.

‘게으른 프로그래밍’의 역설

흥미로운 사실은, AI가 가장 필요할수록 그 유용성은 오히려 떨어진다는 점이다. 경험 있는 개발자는 AI가 틀렸을 때 이를 바로잡을 수 있지만, 초보자는 오류를 인지하지 못한 채 잘못된 결과물을 사용할 가능성이 크다.

필자의 사례를 하나 들자면, CSS에 대한 이해는 지금도 부족하다. 한때 AI 코딩 도우미가 이 문제를 해결해줄 거라 믿었다. 그러나 결과적으로 AI 덕분에 CSS가 더 쉬워진 건 아니고, 그저 AI가 만들어준 CSS를 붙잡고 여전히 고군분투하는 자신을 발견하게 됐다.

결국 진정한 해답은 CSS를 깊이 이해한 인간 동료와 협력하는 것이었다. 그들은 마치 파스타를 완벽히 요리해내는 사람처럼 신기한 존재였다.

결론

AI의 꿈은 어쩌면 4세대 언어가 그렸던 이상과 매우 닮아 있다. 물론, AI는 4GL보다 훨씬 실질적 영향력을 발휘하고 있는 기술이다. 하지만 그 한계와 취약점은 놀라울 정도로 유사하다.

결국 AI로 생성된 방대한 코드들은 더 많은 소프트웨어 전문 인력을 필요로 하게 될지도 모른다. 옛 개발자 래리처럼, 이 모든 것이 큰 변화를 일으키지 못할 것이라고 냉소적으로 바라보는 이가 다시 주목받는 시대가 올 수 있다.
dl-itworldkorea@foundryco.com

관련자료

댓글 0
등록된 댓글이 없습니다.
Member Rank