Verse는 Epic Games가 GDC 2023에서 공개하고 Unreal Engine 6에 통합될 예정인 새로운 프로그래밍 언어입니다. 🎮
이 강연은 비프로그래머의 관점에서 Verse의 구문이나 의미론보다는 언어의 탄생, 기본 원칙, 동기 및 잠재력에 초점을 맞춰 신선한 시각을 제공합니다. 👶
Epic Developer Assistant(AI) 덕분에 Verse 코드 작성은 쉬워지고 있으며, 개발자는 구문 오류 대신 아이디어 구현과 논리 오류 해결에 집중할 수 있습니다. 🤖
Verse는 현재 UFN 전용이지만 미래에는 아닐 것이며, Blueprints나 C++를 대체하지 않고 Unreal Engine 6에서 세 가지 모두 공존할 것입니다. 🤝
Verse에서는 option 타입을 반환하는 대신 failable 지정자를 사용하여 실패를 제어 흐름의 일부로 활용하는 것이 권장됩니다. 🧘
이벤트 디스패처나 구독에 과도하게 의존하기보다, Verse는 언어 수준에서 동시 작업을 자연스럽게 표현하고, 먼저 완료되는 작업이 다른 모든 작업을 자동으로 취소하는 기능을 제공합니다. 🌊
기존 타입의 소스 코드를 수정하지 않고 기능을 추가할 수 있는 확장 메서드(Extension Methods)를 사용하여 단일 매개변수 헬퍼 함수를 줄이고 코드 가독성을 높일 수 있습니다. 🛠️
비동기(Async) 프로그래밍은 Verse의 핵심적인 부분으로, suspense 지정자를 통해 비동기 함수를 명확히 표시하며, 다른 언어와 달리 비동기가 언어의 근본적인 요소로 깊이 통합되어 있습니다. ⏳
Verse는 Pixar의 USD처럼 메타버스 표준화를 목표로 하며, 3D 애니메이션의 장면 설명뿐만 아니라 게임 플레이 로직과 런타임 실행을 통합하는 독특한 접근 방식을 취합니다. 🌐
새로운 Synapse(씬 그래프) 시스템은 Actor/Child Actor 모델에서 벗어나 컴포넌트와 엔티티 중심으로 씬 계층 구조를 단순화하고, Verse 컴포넌트가 다른 컴포넌트를 쿼리하고 수정할 수 있도록 하여 복잡한 씬과 런타임 상호작용을 가능하게 합니다. 🌳
Verse는 표현식(expression)만 존재하는 함수형 프로그래밍 언어로, 모든 것이 값을 생성하므로 문장과 표현식의 구분에 대한 혼란을 없애고 복잡한 계산을 쉽게 구성할 수 있습니다. ✨
기본적으로 불변성(immutable by default)을 지향하고 트랜잭션적 특성을 가지며 고유한 동시성 접근 방식을 통해, Verse는 코드의 가변성(mutability)과 부작용을 자연스럽게 격리하여 동시성 환경에서 데이터 경합이나 교착 상태와 같은 문제를 줄여 코드를 더 안전하고 추적하기 쉽게 만듭니다. 🛡️
Verse는 최신 프로그래밍 언어로서 이전 언어들의 장점을 통합하고 게임 개발의 고유한 과제를 해결하기 위해 설계되었습니다. 🚀