핵심 요약
- 한 개발자가 현대 프로그래밍 언어에 도입되길 바라는 실험적인 언어 기능 세 가지를 제안했습니다.
- 안전한 쿼리 작성을 돕는 준-리터럴 문법, 순수 비즈니스 로직을 위한 논리 프로그래밍 서브 언어, 환경 변화에 적응하는 목적지향 반응형 프로그램 등이 포함되었습니다.
- 자바스크립트의 태그드 템플릿 등 일부 유사 기능이 이미 존재하지만, 더 대담한 실험적 설계가 필요하다는 점이 개발자들의 관심을 끌었습니다.
요약 한 소프트웨어 개발자가 현대 프로그래밍 언어에 도입되었으면 하는 흥미롭고 실험적인 기능 세 가지를 제안해 개발자 커뮤니티에서 주목을 받았습니다. 작성자는 프로그래밍 언어 설계에 타입 시스템뿐만 아니라 더 많은 실험적 시도가 필요하다고 강조하며 자신의 아이디어를 공유했습니다.
첫 번째로 언급된 것은 과거 'E' 언어에서 사용되었던 준-리터럴(Quasi-literal) 문법입니다. 이는 SQL 쿼리나 HTML, XML 등을 작성할 때 단순 문자열 결합 대신 템플릿 조각과 평가된 표현식 값을 분리된 템플릿 객체로 생성하는 방식입니다. 이를 통해 개발자는 문자열을 이어 붙이는 것처럼 편리하게 코드를 작성하면서도, 백엔드에서는 자동으로 SQL 인젝션을 방어하는 프리페어드 스테이트먼트(Prepared statement)를 구성해 안전성과 편의성을 동시에 챙길 수 있습니다. (이 기능은 자바스크립트의 태그드 템플릿 리터럴이나 자바 JEP-430의 제안과 유사하다는 피드백도 덧붙여졌습니다.)
두 번째 기능은 프롤로그(Prolog)나 데이터로그(Datalog) 같은 논리 프로그래밍을 서브 언어로 도입하는 것입니다. 로버트 코왈스키의 '알고리즘 = 논리 + 제어'라는 유명한 공식을 확장해 '프로그램 = 논리 + 제어 + 상호작용'이어야 한다고 제안합니다. 순수한 비즈니스 로직은 선언적 논리 언어로 짜고, UI나 I/O 같은 번잡한 상호작용은 명령형 셸에서 처리하며, 실행 방식(제어) 역시 분리하자는 구상입니다.
마지막으로는 로봇 공학 및 인공지능 연구에서 다뤄졌던 닐슨의 '목적지향 반응형 프로그램(Teleo-Reactive Programs)'입니다. 일반적인 프로시저와 달리, 환경 변화에 유연하게 대응하면서 목표를 달성할 때까지 지속적으로 상태를 점검하고 반응하는 조건-행동 목록 방식을 제안하여 눈길을 끌었습니다.
Sponsored · 광고