필사 모드: 모던 Pascal & Delphi 2026 완벽 가이드 - RAD Studio 12 · FreePascal 3.2 · Lazarus 3 · Castle Game Engine · Oxygene · pas2js 심층 분석
한국어프롤로그 — 2026년에 누가 Pascal을 쓰는가
"Pascal? 그거 학교에서 배우던 거 아닌가?"
2026년 5월에도 여전히 같은 질문을 받는다. 그러나 답은 30년 전과 정반대다. **Pascal은 살아있다. 그것도 아주 잘.**
- **은행 코어뱅킹** — 독일 Sparkasse, 폴란드 PKO BP, 러시아 Sberbank의 일부 코어가 Delphi로 짜였고 2026년에도 유지보수가 활발하다.
- **보험사 핵심계** — 한국 삼성생명·한화생명의 일부 시스템, 일본 노무라·미츠비시UFJ의 백오피스가 Delphi로 굴러간다.
- **제조 SCADA·MES** — 독일 Siemens·Festo·Bosch의 공장 모니터링 화면 상당수가 여전히 Delphi다.
- **정부 ERP** — 동유럽·러시아 정부 시스템, 한국 지방자치단체 일부 시스템.
- **게임 엔진** — Michalis Kamburelis의 **Castle Game Engine**은 Object Pascal로 짠 오픈소스 3D 엔진이다.
- **학교** — 폴란드·러시아·우크라이나·체코의 대학과 고등학교에서 여전히 Pascal로 알고리즘을 가르친다.
그리고 2025년 11월, Embarcadero는 **RAD Studio 12 Athens**를 출시했다. Delphi 12, C++Builder 12를 한 IDE로 묶고, AI Code Insight, Skia 통합, FireMonkey FMX 리프레시, macOS Tahoe·iOS 19 타겟팅을 더했다. 같은 11월에 FreePascal 팀은 **3.2.4** 패치 릴리즈와 **3.3.x trunk**를 안정화했고, Lazarus 3.10이 함께 나왔다.
이 글은 2026년의 Pascal 생태계를 한 호흡으로 정리한다. RAD Studio 12부터 FPC·Lazarus·Castle Game Engine·Oxygene·TMS WEB Core/pas2js까지, 그리고 "왜 사람들이 아직도 Pascal을 쓰는가"에 대한 솔직한 답까지.
1장 · Pascal의 짧은 역사 — 1970에서 2026까지
먼저 한 가지를 정리하자. 2026년의 Pascal은 1985년의 Turbo Pascal과 같은 언어가 아니다.
- **1970** — Niklaus Wirth, 스위스 ETH Zurich에서 Pascal 설계. 교육용 언어.
- **1983** — Borland Turbo Pascal 1.0. IBM PC에서 컴파일러가 49달러. 폭발적 인기.
- **1995** — Borland Delphi 1. Object Pascal + RAD GUI. Windows 개발의 표준이 됨.
- **1999** — Free Pascal Compiler(FPC) 1.0. 오픈소스 Pascal 컴파일러.
- **2008** — Embarcadero, Borland로부터 Delphi 인수.
- **2011** — Delphi XE2, FireMonkey FMX 발표. 크로스플랫폼(Mac·iOS) 지원.
- **2017** — Castle Game Engine 6.0. 본격적 3D 엔진.
- **2023** — RAD Studio 11 Alexandria.
- **2024** — RAD Studio 12 Athens 초기 릴리즈.
- **2025 11월** — RAD Studio 12.3 업데이트, FPC 3.2.4, Lazarus 3.10.
- **2026 4월** — FPC 3.3.x trunk가 ARM64 macOS Tahoe·iOS 19 풀 지원, Linux RISC-V 베타.
요점은 이렇다. **Pascal은 1995년의 Delphi에서 멈추지 않았다.** 제네릭(2009년 Delphi 2009), 익명 메소드(2009), 어트리뷰트(2010), 인라인 변수 선언(Delphi 10.3), 매니지드 레코드(Delphi 10.4) — 현대 언어가 가진 거의 모든 것을 Object Pascal도 가지고 있다.
2장 · Embarcadero RAD Studio 12 Athens — 본가의 현재
RAD Studio는 Delphi와 C++Builder를 묶은 통합 IDE다. 2025년 11월의 **12.3 업데이트** 기준 핵심 기능:
- **언어** — Delphi(Object Pascal) 12, C++Builder 12(Clang 17 기반)
- **UI 프레임워크** — VCL(Windows 네이티브), FireMonkey FMX(크로스플랫폼)
- **타겟 플랫폼** — Windows 11 24H2, macOS Tahoe(arm64/x86_64), iOS 19, Android 16, Linux(x86_64/arm64)
- **AI Code Insight** — 2026년 1월 12.3 업데이트에서 OpenAI·Azure OpenAI·로컬 Ollama 연동, 코드 자동 완성과 리팩토링 제안
- **Skia 통합** — Skia4Delphi가 FMX와 VCL의 기본 그래픽 백엔드로 채택. 텍스트 렌더링·SVG·애니메이션이 한 단계 올라감
- **새 컴포넌트** — `TSkLabel`, `TSkAnimatedImage`, `TSkSVG`, `TMultiView` 리프레시
- **DocInsight** — 함수 도큐멘트 자동 추출과 인라인 표시
**가격**(2026년 5월 기준):
| 에디션 | 영구 라이선스 | 연간 구독 |
|---|---|---|
| Community(개인·매출 5000달러 미만) | 무료 | 무료 |
| Professional | 약 1899달러 | 약 829달러/년 |
| Enterprise | 약 3499달러 | 약 1599달러/년 |
| Architect | 약 5499달러 | 약 2499달러/년 |
**솔직한 평가**:
장점 — VCL은 여전히 Windows GUI에서 가장 성숙한 프레임워크다. 컴파일은 초고속(중대형 프로젝트도 수십 초). 단일 실행 파일(EXE) 배포. 메모리·리소스 결정적 관리.
단점 — 라이선스 가격이 개인 취미 개발자에겐 부담. Mac/Linux/iOS 지원은 가능하지만 Windows만큼 매끄럽지 않다. 모바일 UI는 Flutter·React Native에 비해 다소 투박.
3장 · FreePascal 3.2 / 3.3 — 무료 오픈소스 컴파일러
Free Pascal Compiler(FPC)는 1993년 시작된 오픈소스 Pascal 컴파일러다. 2026년 5월 기준 안정 버전은 **3.2.4**, trunk는 **3.3.x**.
**지원 플랫폼**(2026년 시점):
- **OS** — Windows(x86/x86_64/arm64), Linux(x86/x86_64/arm32/arm64/RISC-V64), macOS(x86_64/arm64), FreeBSD, OpenBSD, NetBSD, Solaris, Haiku, AIX, OS/2, DOS
- **아키텍처** — x86, x86_64, ARM(32/64), MIPS, PowerPC, SPARC, RISC-V32/64, AVR, WebAssembly, JVM
- **모바일** — iOS, Android, Tizen, Sailfish OS
이 호환성 매트릭스는 GCC·LLVM에 거의 필적한다. 그리고 컴파일 속도는 모든 컴파일러 중 단연 최상위권 — 100만 라인 프로젝트가 분이 아닌 초 단위로 컴파일된다.
**Delphi 호환성** — FPC는 `{$mode Delphi}` 디렉티브로 Delphi 7~XE 수준 코드를 거의 그대로 컴파일한다. Delphi 12의 신규 기능(매니지드 레코드 일부 등)은 아직 미지원이지만, 90% 이상의 Delphi 코드는 FPC에서도 컴파일된다.
**Object Pascal 모드** — `{$mode ObjFPC}`는 FPC 고유 모드로, 일부 문법이 더 엄격하지만 더 모던하다. 메소드 호출 시 `Self` 명시, 메소드 포인터에 `@` 필요 등.
4장 · Lazarus 3.x — Free Pascal의 RAD IDE
FPC가 컴파일러라면, Lazarus는 그 위의 IDE + RAD 라이브러리다. 2025년 11월의 **Lazarus 3.10** 기준:
- **LCL(Lazarus Component Library)** — VCL과 매우 유사한 컴포넌트 API. `TForm`, `TButton`, `TEdit`, `TStringGrid`, `TPageControl` 등이 거의 같다.
- **위젯셋** — 한 코드로 Win32, GTK2/3, Qt5/6, Cocoa, Carbon, CustomDrawn으로 배포
- **폼 디자이너** — Delphi와 거의 같은 드래그앤드롭 UI 설계
- **디버거** — GDB·LLDB·FpDebug(순수 Pascal 디버거) 선택
- **리팩토링** — 메소드 추출, 변수 이름 변경, 클래스 완성
**Lazarus가 매력적인 이유**:
1. **완전 무료** — GPL/LGPL 라이선스, 상업적 사용 가능
2. **단일 코드베이스로 Win/Mac/Linux/BSD** — VCL과 거의 같은 API
3. **레거시 Delphi 코드 마이그레이션** — 보통 80~95%가 그대로 컴파일됨
4. **빠른 컴파일과 작은 실행 파일** — 외부 런타임 의존성 없음
**약점**:
- 모바일 지원은 부족(가능하지만 매끄럽지 않음)
- UI 디자인이 1990년대식 — 모던 머터리얼/플랫 디자인은 직접 그려야 함
- 마이크로소프트 SQL Server·Oracle 등 일부 DB 드라이버는 별도 컴포넌트 필요
5장 · Object Pascal 언어 — 2026년의 실체
"Pascal은 옛날 언어"라는 오해는 1990년대에 멈춘 사람의 인상이다. 2026년 Object Pascal에는 다음이 모두 있다:
- **클래스·인터페이스** — `class`, `interface`, 다중 인터페이스 구현
- **제네릭** — `TList<T>`, `TDictionary<K, V>`, 제약 조건(`class`, `constructor`)
- **익명 메소드** — `procedure of object` + `reference to procedure`(클로저)
- **어트리뷰트** — `[Inject]`, `[Route('/api/v1/users')]`
- **인라인 변수** — `for var i := 0 to 9 do`
- **매니지드 레코드** — `Initialize`, `Finalize`, `AssignOperator` 자동 호출
- **연산자 오버로딩** — 레코드와 클래스 모두
- **RTTI** — 런타임에 타입 정보 조회·변경
- **async/await** — Delphi 12 Athens에서 정식 지원
다음은 모던 Object Pascal 한 조각이다. 인라인 변수, 매니지드 레코드, 제네릭 메소드가 모두 들어 있다.
program ModernPascalDemo;
{$mode Delphi}{$H+}
uses
System.SysUtils, System.Generics.Collections;
type
TUser = record
Id: Integer;
Name: string;
class operator Initialize(out U: TUser);
class operator Finalize(var U: TUser);
end;
class operator TUser.Initialize(out U: TUser);
begin
U.Id := 0;
U.Name := '';
end;
class operator TUser.Finalize(var U: TUser);
begin
WriteLn('User ', U.Name, ' is gone');
end;
function FindByName<T>(const Items: TArray<T>; const Pred: TFunc<T, Boolean>): T;
begin
for var Item in Items do
if Pred(Item) then Exit(Item);
Result := Default(T);
end;
var
Users: TArray<TUser>;
begin
SetLength(Users, 2);
Users[0].Id := 1; Users[0].Name := 'Alice';
Users[1].Id := 2; Users[1].Name := 'Bob';
var Found := FindByName<TUser>(Users,
function(U: TUser): Boolean begin Result := U.Name = 'Bob'; end);
WriteLn('Found: ', Found.Name);
end.
이게 "옛날 언어"라고? 한 번 읽고 다시 판단해 보라.
6장 · Modern Object Pascal Introduction — Michalis Kamburelis의 공개 책
Michalis Kamburelis는 **Castle Game Engine**의 메인테이너이자 Object Pascal 커뮤니티의 핵심 인물이다. 그가 쓴 **"Modern Object Pascal Introduction for Programmers"**(약 80페이지)는 다른 언어 경험자가 Pascal로 넘어올 때의 최단 경로다.
내용 구성:
1. **타입 시스템** — `Integer`, `string`, `array`, `record`, `class`, `interface`
2. **메모리 관리** — `New`/`Dispose`, ARC, 매니지드 타입
3. **객체지향** — `class`, 가시성, 상속, 인터페이스, 가상/오버라이드
4. **제네릭** — `TList<T>`와 직접 만들기
5. **제어 흐름** — 익명 메소드, for-in 루프, `with` 문(권장하지 않음)
6. **모듈** — `unit`·`uses`·`interface`/`implementation` 절
7. **빌드 시스템** — fpmake, lazbuild, Delphi MSBuild
이 책은 무료고, Castle Game Engine 사이트에서 한 파일로 받을 수 있다. Pascal을 처음 보는 사람에게도, Delphi 7에서 멈춘 사람에게도 똑같이 유익하다.
7장 · Castle Game Engine — Object Pascal로 짠 3D 엔진
Castle Game Engine은 2001년 시작된 오픈소스 3D 엔진이다. 2025년 12월 기준 안정 버전 **7.0-alpha.3**. 2026년 5월 시점에서 **7.0 정식**이 임박했다.
**핵심 특징**:
- **언어** — Object Pascal(FPC + Lazarus, Delphi 11/12도 지원)
- **렌더링** — OpenGL ES 3, Vulkan(2026 베타), WebGL(via pas2js, 실험)
- **씬 포맷** — glTF 2.0, X3D, Spine 2D, MD3, OBJ, Collada, STL
- **물리** — Kraft(순수 Pascal 3D 물리) + Box2D 통합
- **사운드** — OpenAL Soft
- **VR** — OpenXR 지원 — Meta Quest 3/3S에서 동작
- **빌드 타겟** — Windows, Linux, macOS, FreeBSD, Android, iOS, Nintendo Switch(상용 라이선스)
**왜 Castle Game Engine을 고르는가**:
1. **컴파일이 폭발적으로 빠르다** — Unity는 분 단위, Unreal은 더 길다. Castle은 초 단위.
2. **단일 실행 파일** — 외부 런타임 없음
3. **메모리 결정성** — GC 일시정지 없음
4. **무료·오픈소스** — Apache 2.0
5. **2D·3D 모두** — Spine·Tiled·Cocos2d 자산 직접 import
**약점** — 사용자 커뮤니티가 작다(Unity/Unreal에 비해), 비주얼 에디터가 발전 중, Unreal Blueprint 같은 시각적 스크립트 부재.
8장 · TMS Software — Delphi 컴포넌트 전문 벤더
TMS Software는 벨기에 기반의 Delphi/C++Builder 컴포넌트 벤더다. 2026년 5월 시점 핵심 제품:
- **TMS FNC UI Pack** — VCL/FMX/LCL/Web 단일 코드 UI(Framework Neutral Components)
- **TMS WEB Core** — Pascal을 JavaScript로 컴파일하는 웹 프레임워크(다음 장)
- **TMS XData** — REST API 서버 프레임워크
- **TMS Aurelius** — ORM(Hibernate 스타일)
- **TMS Sparkle** — HTTP/WebSocket 클라이언트
- **TMS Echo** — DB 동기화·복제
**TMS All-Access 구독** — 모든 TMS 제품을 묶어서 연간 약 1500유로(2026년 5월 기준). 중견 Delphi 샵에서 가장 흔하게 사는 패키지다.
9장 · DevExpress VCL — Windows 엔터프라이즈 UI의 표준
DevExpress는 미국 기반(원래 우크라이나 출신) UI 컴포넌트 벤더로, .NET·JS·Delphi 시장에서 모두 강자다. Delphi 쪽 핵심:
- **ExpressQuantumGrid** — VCL 그리드의 사실상 표준
- **ExpressBars** — 리본 UI, 도크 패널
- **ExpressEditors** — 입력 컴포넌트 묶음
- **ExpressPivotGrid** — 피벗 테이블
- **ExpressScheduler** — 캘린더·스케줄러
가격은 영구 라이선스 약 1500달러부터. 한국 금융·정부 Delphi 프로젝트의 절반 이상이 DevExpress VCL을 쓴다.
10장 · Skia for Delphi — 모던 그래픽 스택
Skia는 Google이 Chrome·Flutter·Android에 쓰는 2D 그래픽 라이브러리다. **Skia4Delphi**는 Skia를 Delphi/Lazarus에서 쓰게 하는 오픈소스 바인딩이고, 2025년부터 RAD Studio 12의 FMX·VCL 기본 그래픽 백엔드로 채택되었다.
**얻는 것**:
- 안티에일리어싱·텍스트 렌더링이 한 단계 올라감(특히 한글·일본어·중국어)
- SVG 직접 렌더링
- Lottie 애니메이션 재생
- GPU 가속 2D
- 셰이더(SkSL) 지원
Delphi 12 표준 컴포넌트 `TSkLabel`, `TSkAnimatedImage`, `TSkSVG`는 이 위에 얹혀 있다. 2010년대의 GDI+ 베이스 Canvas보다 모든 면에서 우월하다.
11장 · Spring4D — 모던 Delphi의 DI와 컬렉션
**Spring4D**는 .NET의 Spring과 Java의 Spring에서 영감을 받은 Delphi 라이브러리다. 2026년 5월 기준 **2.0** 안정 버전.
**구성**:
- `Spring.Container` — IoC 컨테이너(생성자 주입, 어트리뷰트 기반)
- `Spring.Collections` — 모던 컬렉션(`IList<T>`, `IDictionary<K, V>`, LINQ 스타일 쿼리)
- `Spring.Persistence` — Marshmallow ORM
- `Spring.Reactive` — Rx.NET 포팅
DI 컨테이너 사용 예:
uses Spring.Container, Spring.Container.Common;
type
[Inject]
IUserService = interface
function FindByEmail(const Email: string): IUser;
end;
TUserController = class
private
[Inject]
FUserService: IUserService;
public
procedure HandleRequest;
end;
var
Container: TContainer;
begin
Container := TContainer.Create;
Container.RegisterType<TUserService>.Implements<IUserService>;
Container.RegisterType<TUserController>;
Container.Build;
var Controller := Container.Resolve<TUserController>;
Controller.HandleRequest;
end.
엔터프라이즈 Delphi 프로젝트에서 사실상 표준이다.
12장 · PascalABC.NET — 러시아 학술용 .NET Pascal
**PascalABC.NET**은 러시아 사라토프 대학(Saratov State University)에서 만든 .NET 기반 Pascal이다. 교육용 + 알고리즘 학습용. 러시아·우크라이나·벨라루스의 학교 알고리즘 수업에서 표준이다.
**특징**:
- .NET 6/7/8 위에서 실행 — C# 라이브러리 직접 import
- LINQ를 Pascal 문법으로 — `Range(1, 10).Where(x -> x mod 2 = 0).Sum`
- 객체지향 + 함수형 + 절차형
- 학생용 GUI IDE(매우 가볍다)
- Windows·Linux·macOS
학교 외에서 쓰는 사람은 적지만, 러시아권 학생들은 Pascal을 PascalABC.NET으로 처음 만난다.
13장 · Oxygene — RemObjects의 멀티타겟 Pascal
**Oxygene**은 RemObjects Software가 만든 모던 Pascal 변형이다. **Elements** 컴파일러 위에서 동작하고, 같은 Pascal 코드를 .NET, Java/Android, iOS/macOS(Cocoa), WebAssembly로 컴파일한다.
**플랫폼별 타겟**:
- **.NET** — C#·F#와 같은 IL, 같은 GC
- **Cocoa** — Objective-C/Swift 런타임, ARC
- **Java/Android** — JVM 바이트코드, Android NDK 가능
- **Island(네이티브)** — 자체 런타임, 컴파일 결과는 네이티브 바이너리
- **WebAssembly** — Wasm + WASI
같은 Elements 도구체인에서 **Hydra**, **Mercury**(Visual Basic 모던), **Iodine**(Java 호환), **Silver**(Swift 호환), **Go**(Go 호환)를 함께 지원한다.
Oxygene는 RemObjects 구독 — 연간 약 999달러부터(2026년 5월). 실무에서 매우 작은 시장이지만, "한 코드로 .NET·iOS·Android·웹"이 매력적인 팀이 쓴다.
14장 · Hydra — 멀티언어 호스팅
같은 RemObjects의 **Hydra**는 한 프로세스에서 Delphi·.NET·Java 객체를 함께 호스팅하는 라이브러리다. Delphi VCL 폼 안에 .NET WPF 컨트롤을 넣고, 그 안에 Java Swing 패널을 넣을 수 있다.
쓰임:
- 레거시 Delphi 앱에 .NET 모듈 점진 추가
- C#으로 짠 비즈니스 로직을 Delphi UI에서 호출
- Java로 짠 분석 모듈을 Delphi 폼에서 임베드
**솔직한 평가**: 좋아 보이지만 실무에선 불편하다. 메모리 모델·이벤트 루프·예외 처리가 언어마다 다르다. 진짜 마이그레이션이 필요하면 한쪽으로 일관되게 가는 게 낫다.
15장 · mORMot — Delphi의 REST·ORM 프레임워크
**mORMot**(Synopse mORMot)는 프랑스 개발자 Arnaud Bouchez가 만든 오픈소스 프레임워크다. 2026년 5월 기준 **mORMot 2** 안정.
**구성**:
- **mORMot Core** — JSON, RTTI, 압축, 암호화, 로그 — 거의 .NET BCL 수준의 토대 라이브러리
- **mORMot ORM** — 코드 우선 ORM, SQLite 내장
- **mORMot SOA** — 인터페이스 기반 RPC + REST
- **mORMot DB** — Oracle, PostgreSQL, MySQL, MSSQL 드라이버
- **mORMot Reports** — PDF·Excel 생성
- **mORMot AI** — 2026년 추가, LLM 클라이언트(OpenAI·Anthropic·Ollama)
**왜 모르모트(mORMot)인가**:
1. **초고속** — SQLite 백엔드는 초당 100,000+ 트랜잭션
2. **단일 실행 파일** — 의존성이 거의 없음
3. **인터페이스 기반 SOA** — Pascal 인터페이스를 그대로 REST로 노출
4. **무료·오픈소스** — MPL/GPL/LGPL 트리플 라이선스
엔터프라이즈 Delphi 프로젝트의 서버 사이드에서 mORMot은 사실상 표준이다.
16장 · DataSnap — Embarcadero 공식 RAD 클라이언트·서버
**DataSnap**은 Embarcadero가 제공하는 공식 RAD 클라이언트/서버 프레임워크다. RAD Studio Enterprise 이상에 포함.
**기능**:
- REST 서버 자동 생성(인터페이스 → REST 엔드포인트)
- WebSocket 지원
- 다중 클라이언트 — Delphi, JavaScript, Java, PHP
- JSON·XML·바이너리 직렬화
- 세션 관리·인증
**솔직한 평가**: DataSnap은 기능적으로 작동하지만, 성능과 유연성에서 mORMot에 밀린다. 2026년 새 프로젝트라면 mORMot을 고르는 팀이 훨씬 많다.
17장 · Indy + ICS — Delphi의 두 네트워킹 진영
Delphi에서 TCP/UDP/HTTP/FTP/SMTP를 짤 때 두 가지 선택지가 있다.
**Indy(Internet Direct)**:
- RAD Studio에 기본 포함
- 블로킹 I/O 위주(스레드 풀로 확장)
- 컴포넌트 60개 이상 — IdHTTP, IdSMTP, IdFTP, IdTCPServer 등
- 사용이 간단, 안정성 입증
**ICS(Internet Component Suite)**:
- François Piette의 무료 라이브러리
- 논블로킹 I/O 우선(이벤트 기반)
- IPv6, TLS 1.3, HTTP/2 일찍 지원
- 고성능 서버에 적합
**언제 무엇을**:
| 용도 | 추천 |
|---|---|
| 간단한 HTTP 클라이언트 | Indy(IdHTTP) |
| 고성능 TCP 서버 | ICS |
| SMTP·POP3·IMAP 클라이언트 | Indy |
| HTTPS WebSocket 서버 | ICS 또는 mORMot |
18장 · REST.Json·System.Net — Delphi 표준 라이브러리
Delphi XE6부터 표준 라이브러리에 모던 REST/JSON 스택이 들어왔다.
- **`REST.Client.TRESTClient`** — REST 클라이언트
- **`REST.Json.TJson`** — 객체 ↔ JSON 자동 직렬화
- **`System.Net.HttpClient.THTTPClient`** — Indy 없이 HTTP/2까지 지원
- **`System.JSON`** — DOM 스타일 JSON 파서
이 표준 라이브러리는 RAD Studio 12에서 HTTP/3(QUIC)도 실험 지원한다(2026년 1월 업데이트).
19장 · TMS WEB Core / pas2js — Pascal을 JavaScript로
**pas2js**는 Free Pascal 팀이 만든 Pascal → JavaScript 컴파일러다. **TMS WEB Core**는 그 위에 RAD 도구를 얹은 상용 제품.
**무엇이 되는가**:
- Pascal 코드가 JavaScript로 변환되어 브라우저에서 실행
- 같은 폼 디자이너로 웹 UI 설계 — Pascal의 `TWebButton`이 HTML `<button>`이 됨
- Pascal 인터페이스가 TypeScript처럼 타입 안정성 제공
- PWA·서비스 워커·WebAssembly 출력
**TMS WEB Core 2.6**(2026년 1월) 기능:
- React·Vue·Svelte 컴포넌트 임베드
- Capacitor 통합 — 같은 코드로 iOS/Android 네이티브 앱
- Electron 통합 — 데스크톱 앱
- Bootstrap 5, Tailwind CSS, Bulma 테마
**용도** — 레거시 Delphi 팀이 같은 언어로 웹 프론트엔드를 만들 때. 새 팀이 처음 웹 프로젝트를 한다면 React/Vue가 더 현실적이다.
20장 · Smart Pascal / Elements — 다른 Pascal 변형
위에서 다룬 RAD Studio 외에 몇 가지 Pascal 변형이 더 있다.
- **Smart Pascal**(Smart Mobile Studio) — Pascal → JavaScript, 단종 직전이지만 일부 팀이 여전히 사용
- **Elements**(RemObjects) — Oxygene Pascal + Mercury VB + Iodine Java + Silver Swift + Go를 한 컴파일러에
- **MorphOS Pascal** — Amiga MorphOS용
- **JEDI Pascal** — Pascal 표준 라이브러리 + JCL/JVCL 컴포넌트 묶음
- **Virtual Pascal** — OS/2·Win 16용, 사실상 박물관 행
2026년 새 프로젝트라면 RAD Studio 12, Lazarus 3, 또는 Castle Game Engine 셋 중 하나로 시작하라.
21장 · 2026년 Pascal의 실제 쓰임 — 5개 시나리오
"누가 아직 Pascal을 쓰는가"의 구체적 답.
시나리오 A — 은행 코어뱅킹 유지보수
폴란드 PKO BP, 독일 Sparkasse, 동유럽·러시아 일부 은행이 1990~2000년대에 Delphi로 코어 시스템을 짰고 2026년에도 유지보수가 활발하다. 새 기능은 mORMot·Spring4D로 추가하고, 클라이언트는 VCL 그대로.
시나리오 B — 제조업 SCADA/MES
독일 Siemens, Bosch, Festo의 공장 모니터링 HMI 상당수가 Delphi로 짜였다. 실시간 데이터·시리얼/Modbus·OPC UA가 Delphi에서 잘 도는 영역이다. 2026년 새 SCADA는 .NET·C++로 가는 추세지만, 기존 자산은 그대로.
시나리오 C — 게임 엔진 개발
Castle Game Engine으로 인디 3D 게임을 만든다. Pascal의 컴파일 속도와 결정적 메모리 관리가 게임 루프와 맞는다. VR·Switch 타겟까지 가능.
시나리오 D — 윈도우 데스크톱 LOB 앱
중견기업의 ERP·CRM·재고관리·POS — Tauri/Electron보다 메모리 사용량이 1/10, 실행 파일 크기가 1/5. VCL/LCL의 그리드·차트가 여전히 강하다.
시나리오 E — 교육·알고리즘
폴란드 IOI, 러시아 IOI 대표팀이 Pascal을 쓴다(C++와 함께). PascalABC.NET·FPC가 학교 IDE.
22장 · 마이그레이션 경로 — 만약 떠난다면
"우리 Delphi 코드를 다른 언어로 옮긴다면 어디로?"
**선택지 1 — Delphi에서 머무르되 모더나이즈**
- Spring4D + mORMot + Skia4Delphi 도입
- VCL/FMX → FMX 단일
- DataSnap → mORMot REST
- 가장 보수적, 가장 안전
**선택지 2 — Delphi → Lazarus**
- 라이선스 비용 0
- LCL은 VCL과 80~95% API 호환
- 단점: 모바일 지원 약함, 일부 상용 컴포넌트 부재
**선택지 3 — Delphi → C# (.NET)**
- 가장 자연스러운 마이그레이션 — 객체 모델·예외·이벤트가 유사
- WPF/WinUI 3·MAUI로 UI 재작성
- 1~3년 프로젝트, 큰 비용
**선택지 4 — Delphi → Rust + Tauri**
- 메모리 안전·고성능
- UI는 웹(React)으로 — 디자이너 인력 필요
- 도전적, 2~5년
**선택지 5 — Delphi → Go**
- 단순 서버는 가능, GUI는 약함
- 마이크로서비스 분해 후 점진적
대부분의 팀은 선택지 1 또는 2를 고른다. 큰 프로젝트일수록 그렇다.
23장 · Delphi로 짜인 유명 소프트웨어
"Delphi가 정말 실무에 쓰였나"의 증거.
- **Skype**(2003년 초기 버전, 이후 C++로 재작성)
- **Total Commander** — 파일 매니저(Delphi)
- **FL Studio**(Image-Line)** — DAW. 2026년에도 메인 코드가 Delphi.
- **WinRAR**(부분)
- **The Bat!** — 이메일 클라이언트
- **JPSoft 4NT/TCC** — Windows 셸
- **MediaMonkey** — 음악 라이브러리
- **InnoSetup**(Jordan Russell) — Delphi 7로 짜인 인스톨러
- **PowerBASIC** — 일부 컴포넌트
- **Embarcadero RAD Studio 자체** — IDE의 핵심이 Delphi다(빙글빙글 도는 자기 자신 컴파일).
지금도 다운로드 수가 천만 단위인 소프트웨어들이다.
24장 · 한국·일본·동유럽의 Delphi 커뮤니티
**한국** — 델파이 사용자 모임(DelphiKorea)은 1996년 결성되어 2026년에도 활동 중. 정기 세미나, KFD(Korea Free Delphi) 그룹, 네이버 카페 회원 약 8000명. 금융권·정부 SI에서 Delphi 인력이 여전히 채용된다.
**일본** — Delphiユーザー会, Embarcadero Tech Days Japan(연 1회). 도쿄·오사카에서 정기 모임. 일본 대형 게임사 일부도 Delphi 클라이언트 툴을 쓴다.
**폴란드·러시아·우크라이나** — 가장 큰 Delphi 커뮤니티. 학교 알고리즘 교육의 표준 언어 중 하나. SpaceCRM·Roxen·Kaspersky 일부 도구가 Delphi.
**독일** — 가장 성숙한 엔터프라이즈 Delphi 시장. EKON 컨퍼런스가 매년 열림.
**브라질** — 라틴아메리카에서 가장 큰 Delphi 시장. EmbarcaderoBR 활발.
25장 · 왜 사람들이 아직 Pascal을 쓰는가 — 솔직한 답
이 글의 핵심 질문. 답은 다섯 가지다.
1. **컴파일 속도** — 100만 라인 프로젝트가 분이 아닌 초. CI도 빨라지고, 개발 루프가 짧아진다.
2. **네이티브 단일 EXE** — JVM·런타임·인터프리터 없음. 배포가 단순.
3. **결정적 자원 관리** — GC 일시정지 없음. 임베디드·산업 제어에 적합.
4. **VCL/FMX/LCL 컴포넌트 자산** — 25년간 쌓인 컴포넌트가 그대로 작동.
5. **감정·관성** — 1995년 Delphi 1을 손에 잡은 개발자가 지금 50대다. 그 사람들이 회사를 만들고, 그 회사 코드가 Delphi다.
가장 솔직한 다섯 번째 답은 가장 강력한 동기다. 사람은 자기가 잘 아는 도구로 일한다.
26장 · 현대 대안과의 비교
같은 일을 다른 언어로 한다면?
| 비교 | Delphi/Pascal | C#/.NET | Rust | Go | Kotlin |
|---|---|---|---|---|---|
| 컴파일 속도 | 매우 빠름 | 빠름 | 느림 | 빠름 | 보통 |
| GUI 프레임워크 성숙도 | VCL 강함 | WPF·MAUI | 약함 | 약함 | Compose Multiplatform |
| 메모리 안전 | 수동·일부 | GC | 컴파일타임 | GC | GC |
| 크로스플랫폼 | FMX·LCL | MAUI·Avalonia | egui·iced | gioui | KMP |
| 에코시스템 크기 | 작음 | 매우 큼 | 중간(성장) | 큼 | 큼 |
| 학습 곡선 | 쉬움 | 보통 | 가파름 | 매우 쉬움 | 보통 |
| 라이선스 비용 | RAD Studio 비쌈, Lazarus 무료 | 무료 | 무료 | 무료 | 무료 |
| 커뮤니티 활기 | 안정·축소 | 매우 활발 | 매우 활발 | 활발 | 활발 |
**요약** — Pascal/Delphi의 강점은 "Windows 네이티브 GUI + 빠른 컴파일 + 결정적 메모리". 이 셋이 핵심 요구가 아니라면 2026년의 새 프로젝트는 다른 언어가 합리적이다.
27장 · 추천 학습 경로 — 0에서 1까지
Pascal을 처음 배우거나 다시 잡는다면:
1. **언어 기초** — Michalis Kamburelis의 "Modern Object Pascal Introduction"(무료 PDF, 80페이지)
2. **IDE 손에 익히기** — Lazarus 3 설치 + 폼 디자이너로 간단한 계산기 앱
3. **컴포넌트와 이벤트** — `TButton.OnClick`, `TEdit.OnChange`, `TStringGrid`
4. **첫 미니 프로젝트** — TODO 앱(SQLite 백엔드) — Spring4D 컬렉션 사용
5. **REST 클라이언트** — `System.Net.HttpClient`로 공공 API 호출
6. **첫 게임** — Castle Game Engine 튜토리얼 따라 3D 큐브 굴리기
7. **책** — Marco Cantù의 "Object Pascal Handbook" 또는 "Mastering Delphi"
8. **커뮤니티** — 델파이 사용자 모임, /r/delphi, /r/fpc, Lazarus 포럼
3개월이면 익숙해진다. Pascal 문법은 BEGIN/END가 살짝 길지만 그게 끝이다.
28장 · 흔한 함정과 그 답
**"Pascal은 죽은 언어 아닌가?"**
1990년대에 멈춘 인상이다. 2026년 RAD Studio 12, FPC 3.3, Lazarus 3.10이 활발히 릴리즈된다. mORMot·Castle·Spring4D 같은 모던 라이브러리도 활발.
**"BEGIN/END가 너무 길다."**
처음엔 그렇다. 한 달이면 익숙해진다. 그리고 BEGIN/END는 `}` 한 글자보다 진단 메시지가 명확하다.
**"VCL 컴포넌트가 옛날 디자인이다."**
Skia4Delphi와 머터리얼 라이브러리를 쓰면 모던 디자인 가능. 기본 컴포넌트만 쓰면 1990년대 보이지만 그건 선택의 문제.
**"라이브러리가 적다."**
NPM·PyPI에 비하면 적다. 하지만 GetIt(RAD Studio 패키지 매니저), DelphiNES, JEDI Code Library, mORMot 생태계로 대부분의 일이 커버된다.
**"채용 시장이 좁다."**
좁지만 임금은 평균보다 높다. 폴란드·독일·일본의 Delphi 시니어 연봉은 같은 경력 자바·C# 시니어와 동등하거나 약간 높다. 공급이 적어서.
**"Lazarus는 무료지만 상용 지원이 없다."**
Lazarus 자체는 GPL/LGPL. 상용 지원은 Embarcadero RAD Studio로 가거나, TMS·DevExpress·SDL Components 같은 벤더에서 산다. Lazarus만으로도 상업 프로젝트는 충분히 가능.
29장 · 책과 자료
읽을 만한 책(2026년 시점):
- **Marco Cantù — "Object Pascal Handbook"**(2014, 가장 권위 있는 언어 레퍼런스)
- **Marco Cantù — "Mastering Delphi"** 시리즈(클래식, Delphi 1~7)
- **Michalis Kamburelis — "Modern Object Pascal Introduction for Programmers"**(무료, 2024 개정)
- **Nick Hodges — "Coding in Delphi"** + "More Coding in Delphi"
- **Primož Gabrijelčič — "Delphi High Performance"**(2018)
- **William Meyer — "Delphi GUI Programming with FireMonkey"**(2020)
- **Marko Tasic — "FreePascal from Square One"**(2023)
- **Khaled Aljundi — "Delphi GUI Programming with FireMonkey"**(2021)
영어 자료가 압도적으로 많지만, 한국어로는 토비님의 블로그·델파이 사용자 모임 게시판, 일본어로는 "ハチオブジマ"·"プログラミング・デルファイ" 등이 있다.
30장 · 결론 — 거인 위에 선 안정적 거인
Pascal은 1970년 Niklaus Wirth가 교육용으로 설계한 언어다. 56년이 지난 2026년에도 Pascal은 살아있고, 그것도 아주 잘 돌아간다.
이 글에서 다룬 30개 챕터를 한 문장으로 요약하면 이렇다.
**Pascal은 "필요한 곳에" 살아남았다. 새 트렌드는 아니지만, 오래된 코드를 잘 돌리는 데 이만한 도구가 없다.**
- **새로 시작한다면** — Lazarus 3 + FPC 3.3로 무료로 시작. 익숙해지면 Castle Game Engine으로 게임도.
- **회사가 Delphi를 쓴다면** — RAD Studio 12 Athens. Spring4D + mORMot + Skia4Delphi를 도입해 코드를 모더나이즈.
- **떠나려고 한다면** — C#/.NET이 가장 자연스러운 마이그레이션. Rust는 야심적이지만 비싸다.
- **순수 호기심이라면** — Marco Cantù의 책 한 권으로 한 달 안에 익힌다.
Pascal을 쓰는 사람은 트렌드를 좇지 않는다. 그들은 **돌아가는 코드를 잘 돌리는 것**을 좇는다. 2026년에도 그 가치는 변하지 않았다.
참고 자료
1. Embarcadero — RAD Studio 12 Athens: https://www.embarcadero.com/products/rad-studio
2. Embarcadero — Delphi 12 What's New: https://docwiki.embarcadero.com/RADStudio/Athens/en/What%27s_New
3. Free Pascal Compiler: https://www.freepascal.org/
4. FPC 3.2.4 Release Notes: https://wiki.freepascal.org/FPC_New_Features_3.2.4
5. Lazarus IDE: https://www.lazarus-ide.org/
6. Castle Game Engine: https://castle-engine.io/
7. Modern Object Pascal Introduction(Michalis Kamburelis): https://castle-engine.io/modern_pascal
8. Marco Cantù blog: https://blog.marcocantu.com/
9. Object Pascal Handbook(Marco Cantù): https://www.marcocantu.com/objectpascalhandbook/
10. TMS Software: https://www.tmssoftware.com/
11. TMS WEB Core: https://www.tmssoftware.com/site/tmswebcore.asp
12. DevExpress VCL: https://www.devexpress.com/products/vcl/
13. Skia4Delphi: https://skia4delphi.org/
14. Spring4D: https://www.spring4d.org/
15. mORMot: https://github.com/synopse/mORMot2
16. PascalABC.NET: https://pascalabc.net/
17. RemObjects Oxygene: https://www.elementscompiler.com/elements/oxygene/
18. RemObjects Hydra: https://www.remobjects.com/hydra/
19. Indy Project: https://www.indyproject.org/
20. ICS (Internet Component Suite): https://www.overbyte.eu/
21. pas2js: https://wiki.freepascal.org/pas2js
22. JEDI Code Library: https://www.delphi-jedi.org/
23. DelphiKorea(델파이 사용자 모임): https://cafe.naver.com/delmadang
24. Lazarus Forum: https://forum.lazarus.freepascal.org/
25. Embarcadero Community: https://community.idera.com/developer-tools/
26. Delphi Reddit: https://www.reddit.com/r/delphi/
27. Free Pascal Reddit: https://www.reddit.com/r/fpc/
28. EKON Conference: https://entwickler-konferenz.de/ekon/
29. Embarcadero Tech Days Japan: https://www.embarcadero.com/jp/
30. Nick Hodges blog: https://www.nickhodges.com/
현재 단락 (1/414)
"Pascal? 그거 학교에서 배우던 거 아닌가?"