필사 모드: 니치 & 신생 프로그래밍 언어 2026 — Crystal / Nim / V / Carbon / Mojo / Pony / Hare / Roc / Hylo / Vale / Koka / Tcl 9 / Fortran 2023 심층 가이드
한국어1. 2026년 니치 & 신생 언어 지도 — 시스템 / FP / 안전 / 도메인 4 분류
2026년 5월 현재, 주류(Python, JavaScript/TypeScript, Java, C#, Go, Rust, C/C++, Swift, Kotlin) 바깥에는 여전히 풍부한 언어 생태계가 살아 있다. 이 글에서 다루는 "니치 & 신생" 언어들은 GitHub 사용자 점유율로는 1% 미만, TIOBE 30위권 바깥, RedMonk 그래프의 한가운데(중간 지대)에 모여 있지만, 특정 워크로드/철학에서는 메이저 언어보다 더 좋은 답이 되는 경우가 있다.
네 가지 축으로 분류하면 한눈에 잡힌다.
| 분류 | 대표 언어 | 핵심 가치 |
| --- | --- | --- |
| 시스템/네이티브 | Crystal, Nim, V, Carbon, Hare | C/C++ 또는 Ruby/Python 친화 문법 + 네이티브 컴파일 |
| 안전성/소유권 | Pony, Hylo, Vale, Inko, Koka | borrow/region/capability/effect 등 새로운 안전 모델 |
| 함수형 | Roc, Racket, Common Lisp(SBCL) | 강한 타입 또는 강한 매크로/연구 지향 |
| 도메인/역사 | Mojo, Fortran 2023, Tcl 9, OpenSCAD, J, Forth, Modula-3 | AI 가속, 과학 계산, 임베디드, 3D, 어레이 |
이 네 분류는 서로 배타적이지 않다. Mojo는 시스템 + 도메인(AI), Roc은 함수형 + 안전성, Hylo는 시스템 + 안전성에 걸쳐 있다. 그래도 시작점으로는 충분하다.
먼저 흔히 헷갈리는 사실 몇 가지를 정리하고 본론으로 들어간다.
- "니치 = 죽은 언어"는 아니다. Common Lisp는 SBCL과 함께 1980년대부터 지금까지 살아 있고, Fortran은 2023 표준이 막 통과됐다.
- "신생 = 더 좋다"도 아니다. V(Vlang)처럼 2019년 발표 이후 7년째 베타에 머무는 사례가 있다.
- 메이저 언어가 가진 라이브러리, 채용 시장, AI 보조 도구의 두께를 이길 수 있는 니치 언어는 거의 없다. 그래도 "이 도메인에선 이게 정답"인 경우는 있다.
2. Crystal — Ruby-like compiled (1.14)
Crystal은 "Ruby의 문법, C의 속도"를 슬로건으로 2014년 처음 공개됐고, 2021년 1.0이 나왔으며, 2024년 11월 1.14가 릴리스됐다. 2026년 5월 현재 1.14 라인이 안정 버전이고, 1.15가 RC 단계에 있다.
핵심 특징:
- LLVM 기반 AOT 컴파일러, 정적 타입 + 강력한 타입 추론
- Ruby에 가까운 문법(블록, 심볼, 메서드 누락 시 NoMethodError 대신 컴파일 에러)
- 그린 스레드(fiber) + Channel — Go와 비슷한 동시성 모델
- Null 안전성: nil은 별도 타입으로, 컴파일러가 union type으로 추적
간단한 예시:
fibers + channels — Go에 매우 가깝다
ch = Channel(Int32).new
spawn do
ch.send 42
end
puts ch.receive # => 42
Crystal이 잘 맞는 곳:
- Ruby on Rails 백엔드를 정적 타입 + 컴파일 성능으로 리팩토링하고 싶을 때
- Sidekiq 워커, CLI 도구처럼 Ruby 코드를 그대로 다시 쓰기 어려운 워크로드
- 대표 사용처: Manas Tech, NeoVim 플러그인 일부, 일부 핀테크 백엔드
한계 — 솔직히 짚을 부분:
1. 멀티 스레드 실행은 아직 실험적(`-Dpreview_mt` 플래그). 2026년 1.14는 단일 스레드 fiber 모델이 기본이다.
2. 라이브러리 생태계가 Ruby/Go에 비해 얇다. ORM은 Granite, Jennifer, Avram 정도.
3. 윈도우 지원이 늦었고 여전히 1급 시민은 아니다.
3. Nim — Python-like compiled (2.x)
Nim은 "Python스러운 문법, C/C++ 백엔드로 컴파일"을 목표로 2008년 시작됐다. 2023년 8월 Nim 2.0이 나왔고, 2026년 5월 현재 안정 라인은 2.0.x, 개발 라인은 2.2.x이다.
특징:
- 들여쓰기 기반 문법(Python과 유사) + 정적 타입
- C, C++, ObjC, JavaScript 백엔드 모두 지원 — 같은 코드를 웹/네이티브에 양쪽으로 컴파일 가능
- 컴파일타임 매크로(`macro`, `template`) — Lisp 수준의 메타프로그래밍
- ARC/ORC 메모리 관리(2.0부터 기본) — GC 없이 cycle collector만
Nim 2.0의 핵심 변화:
- 기본 메모리 관리자가 ORC로 통일(이전 mark&sweep, refc는 레거시)
- View types(`openArray`, `lent`)로 borrow에 가까운 안전성 시작
- 명시적 정의되지 않은 변수에 대한 strict 모드
코드 한 토막:
proc fetch(url: string): Future[string] {.async.} =
let client = newAsyncHttpClient()
defer: client.close()
result = await client.getContent(url)
echo waitFor fetch("https://example.com")
Nim의 진짜 강점은 컴파일타임 매크로다. Status가 만든 Ethereum 2.0 컨센서스 클라이언트 Nimbus가 대표 예시로, Nim의 매크로로 SSZ 직렬화 코드를 컴파일타임에 생성한다.
약점:
1. 한국/일본의 채용 시장에선 거의 보이지 않는다 — 학습 후 다음 일자리에 어떻게 연결할지 고민이 필요.
2. 표준 라이브러리가 약간 두서 없다(역사적 이유).
3. 커뮤니티 규모가 Crystal보다 조금 더 작다.
4. V (Vlang) — 베타 상태의 controversial
V언어(Vlang)는 2019년 공개돼 "Go보다 빠르게 컴파일, Rust만큼 안전, 메모리 GC 없음, 인터랙티브 GUI까지"라는 매우 광범위한 약속을 내걸었다. 2026년 5월 현재 공식 버전은 0.4.x — 7년째 베타다.
논쟁의 이유:
- 초기 발표 때의 약속(예: 1MB hello world, 1초 컴파일, 자동 메모리 관리, C와 동일 성능) 중 상당수가 시간이 지나면서 수정되거나 미완성으로 남았다.
- 커뮤니티 일각에서는 "마케팅이 기술을 앞선다"라는 비판이 꾸준히 제기됐다(예: 2019~2021년의 Hacker News 토론 다수).
그럼에도 V는 살아 있다:
- 문법은 Go와 매우 비슷하다(C 풍, 짧은 키워드).
- C로 트랜스파일 → C 컴파일러로 빌드 — TCC를 쓰면 정말 빠르게 컴파일된다.
- 표준 라이브러리에 GUI(`vlang/ui`), 웹(`vweb`), ORM(`vorm`)이 다 들어 있다.
코드 예:
struct User {
name string
age int
}
fn main() {
users := [User{'Anna', 30}, User{'Bob', 25}]
for u in users {
println('${u.name} is ${u.age}')
}
}
언제 V를 쓸 만한가? 솔직한 답: 2026년 기준 실서비스에는 권하기 어렵다. 학습/실험/소규모 CLI 정도라면 빠른 컴파일과 짧은 문법은 즐거운 경험이다. 하지만 V만의 차별점(자동 free, ORM 내장)에 의존하는 시스템을 만들기 전에는 같은 영역의 Crystal, Nim, Go, Rust 중 하나가 더 안전한 선택일 가능성이 높다.
5. Carbon (Google) — C++ 후속, 느린 진행
Carbon은 2022년 Cppcon에서 구글의 Chandler Carruth가 발표한 "C++의 successor" 프로젝트다. 2026년 5월 현재 carbon-language/carbon-lang 리포지토리는 활발하지만, 공식 단계는 여전히 "experimental"이다 — 0.1 알파에도 아직 도달하지 못했다.
설계 의도:
- C++ 코드베이스와 양방향 상호 운용 — Carbon에서 C++ 라이브러리를 직접 import, C++에서 Carbon을 호출.
- C++의 ABI/문법 부담을 그대로 짊어지지 않고, 30년치 디자인 부채를 청산.
- Rust처럼 "옵트인 메모리 안전성" — 안전 모드와 빠른 모드를 모듈 단위로 선택.
문법 한 조각:
package Geometry api;
class Circle {
var r: f64;
fn Area[me: Self]() -> f64 { return 3.14159 * me.r * me.r; }
}
fn Main() -> i32 {
var c: Circle = {.r = 2.0};
Core.Print(c.Area());
return 0;
}
진행 상황(2026년 5월 기준):
- 자체 컴파일러(toolchain/) 알파 — 일부 예제는 빌드되지만 표준 라이브러리는 미완성.
- 명세는 GitHub의 design/ 디렉터리에 마크다운으로 누적 — 흥미로운 디자인 리뷰 자료.
- 구글이 사내에서 작은 규모로 시범 적용 중이라는 발표는 있었지만, 실제 사내 채택 규모는 공개되지 않았다.
현실적인 평가: Carbon은 "오늘 쓰는 언어"가 아니라 "C++ 진영이 어디로 가는지 보는 망원경"이다. Rust가 더 안전하고, Mojo가 더 빠르게 GA에 도달했지만, C++ ABI 호환이 필수인 거대 코드베이스(예: 크롬, 안드로이드, 일부 게임 엔진)에 한해선 Carbon이 의미를 가질 수 있다.
6. Mojo (Modular) — Python superset (2024.8 GA)
Mojo는 LLVM/Swift의 아버지 Chris Lattner가 세운 Modular에서 만든 언어다. 2023년 5월 첫 공개, 2024년 8월 stable GA(1.0)에 도달했다. 2026년 5월 현재 안정 버전 라인은 24.x — 분기별 릴리스.
Mojo의 약속은 크다:
- Python 슈퍼셋 — Python 코드를 그대로 import 가능.
- 시스템 프로그래밍 — MLIR 기반, C 수준의 성능, SIMD/GPU intrinsic.
- AI 가속 — NVIDIA, AMD, Apple Silicon GPU를 동일한 코드로 타깃.
코드 한 토막(simplified):
from sys.info import simdwidthof
from algorithm import vectorize
fn dot[type: DType, size: Int](a: SIMD[type, size], b: SIMD[type, size]) -> Scalar[type]:
return (a * b).reduce_add()
fn main():
var a = SIMD[DType.float32, 4](1.0, 2.0, 3.0, 4.0)
var b = SIMD[DType.float32, 4](5.0, 6.0, 7.0, 8.0)
print(dot(a, b)) # 70.0
Modular의 핵심 무기는 MAX(Modular Accelerated eXecution) 플랫폼 — Mojo + MLIR + 추론 엔진을 묶은 패키지다. 2026년 현재 OpenAI 호환 추론 서버를 Mojo로 직접 작성해 배포 가능하고, PyTorch 모델을 MAX로 그래프 컴파일해 동일 GPU에서 1.5~3배 throughput을 보이는 벤치마크가 공개돼 있다.
장점:
- Python 호환성 — 기존 NumPy/PyTorch 코드 일부를 그대로 import.
- GPU 1급 시민 — CUDA/ROCm/Metal을 추상화한 단일 코드.
- 회사가 백업한다 — Modular는 시리즈 B까지 받았고, AI 인프라에 집중.
위험 요인:
- 언어 사양/표준 라이브러리가 빠르게 변한다 — 24.1 → 24.3 사이에도 일부 API가 깨졌다.
- 컴파일러는 오픈소스가 아니다(2024년 단계적 오픈소스 약속이 있었으나 2026년 5월 현재 컴파일러 본체는 비공개).
- 라이선스는 사용은 자유, 재배포에 제한 — 학습은 자유롭지만 회사 정책 확인 필요.
7. Pony — capabilities-secure
Pony는 케임브리지 출신의 Sylvan Clebsch가 시작한, "데이터 레이스가 컴파일 시점에 불가능한" 액터 언어다. 2026년 5월 현재 ponylang/ponyc는 활발히 유지되고 있고, 0.58.x가 최신 안정 릴리스다.
핵심 아이디어 — Reference Capabilities:
- 모든 참조는 6가지 capability 중 하나를 가진다: iso, val, ref, box, tag, trn.
- iso = isolated(다른 액터로 안전하게 보낼 수 있음), val = immutable, ref = mutable but actor-local.
- 컴파일러는 이 capability를 추적해, 데이터 레이스가 일어날 수 있는 코드를 아예 컴파일하지 않는다.
actor Counter
var _n: U32 = 0
be inc() => _n = _n + 1
be get(promise: Promise[U32]) => promise(_n)
actor Main
new create(env: Env) =>
let c = Counter
c.inc()
c.inc()
Pony가 빛나는 곳:
- 고처리량 액터 시스템(메시지 패싱). WallarooLabs가 데이터 스트리밍 엔진을 Pony로 만든 사례가 가장 유명하다(2017~2020).
- 데이터 레이스 자체가 비즈니스 리스크인 분야 — 금융 거래, 일부 임베디드.
한계:
- WallarooLabs가 2021년 사업을 접으면서 가장 큰 산업적 후원자를 잃었다. 그 이후 Sylvan Clebsch와 마이크로소프트 일부 엔지니어가 커뮤니티 유지에 기여.
- 학습 곡선이 가파르다 — capability 6종을 머릿속에 넣어야 코드가 컴파일된다.
- 라이브러리 생태계가 좁다.
그래도 "데이터 레이스가 없는 액터 모델이 어떻게 가능한가"를 코드로 보고 싶다면 Pony는 여전히 일독 가치가 있다.
8. Hare (Drew DeVault) — suckless C 대안
Hare는 sr.ht 창업자 Drew DeVault가 시작한 "C99 호환의 미니멀 시스템 언어"다. 2022년 4월 첫 공개, 2026년 5월 현재 0.25.x가 최신 안정. 의도적으로 1.0은 멀리 두고 있다.
Hare의 철학(suckless 영향):
- 표준 라이브러리는 작게, 명시적으로.
- GC 없음, 예외 없음, 매크로 없음 — C와 같은 단순함.
- 자체 어셈블러 + 자체 링커(`harec` + `qbe`) — 외부 의존성 최소화.
use fmt;
export fn main() void = {
for (let i: int = 0; i < 5; i += 1) {
fmt::printfln("hello {}", i)!;
}
};
수많은 시스템 언어가 "C 대체"를 외쳤지만 Hare의 특이성은:
- 라이선스가 GPLv3 — Drew DeVault의 자유 소프트웨어 철학 반영.
- 자체 OS(Hare OS, Helios) 빌딩이 목표 — 언어와 OS가 함께 발전.
- 윈도우/macOS는 지원하지 않는다 — Linux/BSD/Plan-9만.
현실적인 자리:
- 시스템 프로그래밍 학습 자료로 좋다 — C++/Rust의 복잡함 없이 시스템 콜과 메모리를 본다.
- 자체 OS, 자체 init, 자체 컴파일러 같은 미니멀 시스템 빌딩 프로젝트에 적합.
- 회사 채용 시장은 없다고 봐도 된다.
9. Roc (Richard Feldman) — 함수형, no built-in errors
Roc은 Elm 커뮤니티에서 유명한 Richard Feldman이 만든 함수형 언어다. 2026년 5월 현재 0.x 단계(공식 1.0 미발표)이지만, 0.0.x 릴리스가 활발하고 일부 회사가 내부 도구에 도입.
Roc의 차별점:
- 순수 함수형 + 강한 타입 추론(Hindley-Milner) — Elm/Haskell 계열.
- "No built-in errors" — 빌드 에러는 컴파일러가 찾고, 런타임 에러는 platform이 책임진다(언어 자체엔 exception 개념이 없다).
- Platform / Application 분리 — 같은 Roc 코드를 CLI, 웹, AWS Lambda 등 서로 다른 platform에 올릴 수 있다.
app "hello"
packages { pf: "https://example.com/basic-cli/platform" }
imports [pf.Stdout]
provides [main] to pf
main =
Stdout.line "Hello, Roc!"
쓰임새:
- CLI 도구, 정적 사이트 생성기, 일부 Lambda 워크로드 — Elm스러운 안전성을 서버 쪽에 가져오고 싶을 때.
- Richard Feldman의 NoRedInk가 대표 사용처(Elm + 일부 Roc).
한계 — 솔직히:
- 1.0이 아직 멀다. 언어 사양이 안정적이지 않다.
- 표준 라이브러리는 자체적으로 minimal — platform이 채워야 한다.
- AI 보조 도구(코파일럿 류)가 Roc 코드를 잘 못 쓴다.
10. Hylo (구 Val) — Carbon-adjacent, value-oriented
Hylo는 원래 "Val"이라는 이름으로 2020년부터 개발됐고, Carbon과 비슷한 "C++ 후속" 자리를 노리는 언어다. 2023년 Val에서 Hylo로 개명(Vale와 이름 충돌 회피). 2026년 5월 현재 hylo-lang/hylo 0.x 단계.
핵심 디자인:
- Value semantics가 기본 — 모든 변수는 기본적으로 값이고, 명시적으로 빌려야(borrow) 참조가 된다.
- Generic programming 1급 시민 — C++ 템플릿/Rust 제네릭의 좋은 면을 합친다는 목표.
- Mutable value semantics — Rust보다 부드러운 borrow 모델.
// Hylo 문법은 시각적으로 Carbon과 비슷하다(둘 다 C++ 후속 진영).
fun main() {
var nums = [1, 2, 3]
inout last = nums[2]
&last = 42
print(nums) // [1, 2, 42]
}
(주: 위 코드는 흐름을 보여주는 의사 코드에 가깝다. 실제 Hylo 문법은 활발히 진화 중)
평가:
- 학술적 가치는 분명하다 — "value semantics가 기본인 안전한 시스템 언어"는 어떤 모양일까에 대한 답.
- Hylo와 Carbon은 같은 자리(C++ 후속)를 놓고 경쟁하지만, Hylo는 더 학술적이고 Carbon은 더 실용적이다.
- 산업 채택은 미미하다.
11. Vale (Evan Ovadia) — region-based borrow
Vale은 Evan Ovadia가 단독으로 이끄는 1인 프로젝트지만, 디자인 면에서 학계의 주목을 받는다. 2026년 5월 현재 0.x 단계.
차별점 — Region borrow checking:
- Rust의 borrow checker는 "한 시점에 하나의 mutable 참조" 같은 강한 규칙이다.
- Vale은 "region"이라는 개념을 도입 — 명시적으로 region을 열고, 그 region 안에서 일관된 borrow 규칙을 적용. region 바깥에선 다른 규칙.
- 결과: Rust보다 표현력이 넓고, 데이터 레이스/iterator invalidation을 region 경계에서 잡는다.
추가로 Vale은 "Higher RAII" 같은 흥미로운 아이디어도 시도한다 — 단순 RAII가 아니라, 컴파일러가 destructor 호출 순서까지 추적.
코드는 아직 빠르게 바뀌므로 여기 옮기지 않는다. 흥미가 있다면 vale.dev 블로그의 "Single Ownership and Memory Safety without Borrow Checking, RC, or GC" 글을 추천.
산업 채택: 거의 0. 그러나 borrow 모델을 공부하는 사람에겐 좋은 참고 자료.
12. Inko — concurrent + safe
Inko는 네덜란드의 Yorick Peterse가 만든 동시성 언어다. 2026년 5월 현재 0.x 단계, 활발히 개발 중.
특징:
- 액터 모델 + Rust스러운 ownership.
- 컴파일러는 직접 만든 IR + LLVM 백엔드.
- 비동기 I/O 1급 시민 — 자체 런타임이 epoll/kqueue를 추상화.
// Inko 문법은 Rust와 매우 비슷한 인상을 준다.
class async Main {
fn async main {
STDOUT.write("Hello, Inko!\n")
}
}
Inko의 자리:
- Pony와 직접 경쟁한다 — "safe + concurrent + native" 영역.
- Pony의 capability보다 가볍고, Rust보다 동시성에 집중.
- 1인 프로젝트라는 한계 — 회사 리스크는 거의 사람 한 명에 의존.
13. Koka (MS) — effect handlers
Koka는 마이크로소프트 리서치의 Daan Leijen이 이끄는 연구 언어다. 2026년 5월 현재 3.x 라인.
Koka의 진짜 혁신: Algebraic effects + effect handlers.
- 함수의 타입 시그니처에 "이 함수가 어떤 effect를 일으키는가"가 명시적으로 나온다.
- exception, async, generator, state, nondeterminism이 모두 같은 effect handler 메커니즘으로 표현된다.
// Koka 문법은 ML/Haskell 계열에 가깝다.
fun greet(name : string) : console ()
println("Hello, " ++ name)
(이 코드 펜스는 시각적 참고용이며, Koka 공식 문법은 활발히 변한다.)
쓰임새:
- 학술 — effect handler의 실용 가능성을 보여주는 가장 성숙한 언어.
- 영향력은 크다 — OCaml 5의 effect, Java의 Loom, Swift의 typed throws 모두 이 흐름의 변주.
- 산업 채택은 없지만, "effect 시스템을 가진 함수형 언어"가 어떤 모습인지 보고 싶다면 가장 좋은 입문.
14. Common Lisp (SBCL) / Racket — 학술 + 연구
니치라기엔 너무 오래 살아 있는 두 언어를 함께 본다.
Common Lisp + SBCL
- 1984년 표준화 이후 단 한 번도 메이저 표준 개정이 없었다. 그럼에도 죽지 않았다.
- SBCL(Steel Bank Common Lisp)는 가장 성숙한 오픈소스 구현 — 2026년 5월 기준 2.4.x 라인이 분기별로 릴리스된다.
- 매크로 시스템(macro, reader macro)이 여전히 최강. 자기 자신을 작성하는 코드를 가장 자연스럽게 표현하는 언어.
대표 사용처:
- Grammarly의 핵심 NLP 엔진 일부.
- ITA Software → Google Flights의 검색 코어(원래 Common Lisp으로 작성).
- 일본 NTT 일부 연구 그룹이 도메인 모델링용으로 사용 중이라는 자료가 공개돼 있다.
코드:
(defun factorial (n)
(if (<= n 1)
1
(* n (factorial (- n 1)))))
(print (factorial 10)) ; 3628800
Racket
- Lisp 계열, Scheme의 직계 후손.
- 2007년 PLT Scheme에서 Racket으로 개명 — 언어 그 자체보다 "언어를 만드는 언어"로 자리매김.
- 2026년 5월 기준 Racket 8.x, racket/cs(Chez Scheme 기반 백엔드)가 기본.
용도:
- 학부 PL 수업의 표준 도구(SICP의 후예).
- 도메인 특화 언어(DSL) 생성 — `#lang ...`로 새 언어를 정의한다.
- 학술 연구 + 일부 산업 도메인 모델링.
#lang racket
(define (factorial n)
(if (<= n 1) 1 (* n (factorial (- n 1)))))
(displayln (factorial 10))
15. Tcl 9 (2023.9) — 26년만의 메이저
Tcl(Tool Command Language)은 1988년 John Ousterhout가 만든 스크립트 언어로, Tcl 8.0이 1997년 나온 이후 26년만에 2023년 9월 Tcl 9.0이 정식 릴리스됐다. 2026년 5월 현재 9.0.1이 최신 stable.
Tcl 9의 핵심 변화:
- 64비트 정수 1급 시민.
- UTF-32 인코딩, 멀티바이트/멀티문자 문자열 처리 개선.
- 대형 데이터(2GB 이상) 처리 1급 — `string`, `list`, `dict`가 64비트 길이를 다룬다.
- Tk 9.0도 함께 — 새로운 위젯, HiDPI 지원.
puts "Hello, Tcl 9.0!"
set users {alice bob carol}
foreach u $users {
puts "User: $u"
}
Tcl이 살아 있는 곳:
- EDA(전자 설계 자동화) — Synopsys, Cadence, Mentor의 도구는 여전히 Tcl을 스크립트 언어로 채택.
- 네트워크 장비 자동화 — Cisco IOS, NX-OS의 일부 자동화 스크립트는 여전히 Tcl 기반.
- expect — TUI 자동화의 사실상 표준.
16. Fortran 2023 — 과학 컴퓨팅 in production
Fortran은 1957년 IBM의 John Backus가 발표한, 인류 최초의 고수준 컴파일 언어다. 그리고 2026년 5월 현재도 슈퍼컴퓨터의 핵심 언어 중 하나다.
Fortran 2023(ISO/IEC 1539:2023):
- 2023년 11월 표준화 완료.
- generic programming 강화(C++ 템플릿에 가까운 generic procedure).
- ASYNCHRONOUS 속성, do concurrent, coarray 개선.
- ISO_FORTRAN_ENV의 정수/실수 타입 확대.
program hello
implicit none
integer :: i
do concurrent (i = 1:5)
print *, "Hello, Fortran 2023, iteration =", i
end do
end program hello
실제 사용처:
- 기상 모델(WRF, CESM), 기후 모델, 유체 동역학(OpenFOAM은 C++이지만 주변 도구는 Fortran 다수).
- 해양 시뮬레이션, 핵 폭발 시뮬레이션(미국 NNSA).
- LAPACK/BLAS — 사실상 모든 과학 계산 라이브러리의 뿌리.
Fortran이 사라지지 않는 이유는 단순하다 — 수치 배열 처리에서 Fortran보다 빠르고 안정적인 컴파일러는 거의 없고, 60년치 검증된 코드를 다시 쓰는 비용이 그 어떤 마이그레이션 이익보다 크다.
17. Modula-3 / J language / OpenSCAD / Forth — 역사 + 호기심
세 묶음으로 나눠 짧게 본다.
Modula-3
- 1986~1993년 DEC가 만든 시스템 언어.
- Modula-2의 후계, Java보다 먼저 GC + thread + module을 한 묶음으로 갖춤.
- 산업적으로는 거의 사라졌지만, OS 강의(예: SPIN OS)와 시스템 디자인 자료에서 여전히 인용된다.
J language
- APL의 후예 — 어레이/벡터 1급 언어.
- 알고리즘 트레이더, 일부 통계학자가 여전히 사용.
- 코드가 거의 수학 표기에 가까워 보인다(`+/ % #`가 평균).
OpenSCAD
- 3D 프린팅용 declarative CAD 언어.
- 2026년에도 RepRap, Prusa 커뮤니티에서 대표 도구.
// OpenSCAD 한 줄 예시
// 가로 20, 세로 10, 높이 5의 박스
cube([20, 10, 5]);
Forth
- 1970년 Charles Moore — 스택 기반 + 메타프로그래밍 + 임베디드.
- 천문대 망원경 제어, 일부 BIOS, 우주 탐사선(NASA 일부 미션)에 여전히 살아 있다.
- 학습 가치 — "언어가 자기 자신을 정의하는" 가장 극단적 모습.
Factor, Joy는 Forth 계열의 스택 언어다. 학술적 의미가 크다.
Plan-9 from Bell Labs
- 언어는 아니고 OS지만, "everything is a file"의 Unix 철학을 끝까지 밀어붙인 자료.
- 9P 프로토콜, Acme 에디터, rc 셸 등은 지금도 영감의 원천.
18. 한국 / 일본 — niche 커뮤니티
한국
- Crystal/Nim 한국어 자료는 GitHub의 awesome-* 리스트와 개인 블로그에 흩어져 있다. KLDP, 모두의 연구소 일부에서 스터디 활동.
- Mojo는 NVIDIA AI 데이 한국 세션에서 다뤄진 적이 있고, 일부 스타트업이 추론 가속용으로 PoC.
- Common Lisp/Racket은 PL 학회/대학원에 살아 있다.
일본
- 일본은 historically Common Lisp 사용처가 깊다. NTT 일부 연구소, NEC, 일부 게임 회사(과거 Hyper-FX 등)에서 사용한 기록이 공개돼 있다.
- Mojo/Modular 일본 지사는 없지만, PFN(Preferred Networks), MN-3 슈퍼컴퓨터 운영팀이 새 AI 언어에 적극적이라는 발표가 있었다.
- Tcl/Tk는 일본에서도 EDA, 측정 장비 자동화에 여전히 쓰인다.
19. 어떤 언어가 살아남을까 — 2026 예측
솔직한 5년 전망:
| 언어 | 5년 후 살아남을 확률 | 이유 |
| --- | --- | --- |
| Mojo | 매우 높음 | AI 가속 워크로드 + Modular의 자본 + Lattner의 평판 |
| Crystal | 보통 | Ruby 커뮤니티의 안정적 부분집합, 그러나 폭발적 성장은 어렵다 |
| Nim | 보통 | Nimbus 같은 큰 사용처가 있다 |
| Carbon | 보통-낮음 | 구글 외 채택이 거의 없다. 5년 뒤에도 알파일 수 있다 |
| V | 낮음 | 7년째 베타, 신뢰 회복 필요 |
| Pony | 낮음 | 산업 후원자 부재 |
| Hare | 매우 낮음 | 의도적으로 작게 유지, 1인 프로젝트 |
| Roc | 보통 | Richard Feldman의 평판 + Elm 커뮤니티 |
| Hylo/Vale | 학술적으로는 살아남음 | 산업 채택은 어려움 |
| Inko | 낮음-보통 | 1인 프로젝트 리스크 |
| Koka | 학술적으로 살아남음 | 영향력은 큼, 직접 채택은 거의 없음 |
| Common Lisp | 살아남음 | 40년 살았으니 5년 더 산다 |
| Racket | 살아남음 | 학계 도구 |
| Tcl 9 | 살아남음 | EDA가 살아 있는 한 |
| Fortran 2023 | 살아남음 | HPC가 살아 있는 한 |
| Modula-3/J/Forth | 박물관에 살아남음 | 산업 채택 0 |
가장 좋은 학습 경로:
1. 메이저 언어(Python, TypeScript, Go, Rust 중 2~3개)를 먼저 잘한다.
2. 그 다음 "철학을 보러" 하나를 본다 — Mojo(시스템+AI), Roc(함수형), Common Lisp(매크로), Fortran(어레이).
3. "회사에서 쓸까"를 마지막에 고민한다. 대부분의 니치 언어는 채용 시장이 거의 없다.
20. 참고 / References
- Crystal — https://crystal-lang.org / https://github.com/crystal-lang/crystal
- Nim — https://nim-lang.org / https://github.com/nim-lang/Nim
- V (Vlang) — https://vlang.io / https://github.com/vlang/v
- Carbon — https://github.com/carbon-language/carbon-lang / Chandler Carruth CppCon 2022 keynote
- Mojo / Modular — https://www.modular.com/mojo / https://docs.modular.com/mojo/
- Pony — https://www.ponylang.io / https://github.com/ponylang/ponyc
- Hare — https://harelang.org / https://git.sr.ht/~sircmpwn/hare
- Roc — https://www.roc-lang.org / https://github.com/roc-lang/roc
- Hylo — https://www.hylo-lang.org / https://github.com/hylo-lang/hylo
- Vale — https://vale.dev / https://github.com/ValeLang/Vale
- Inko — https://inko-lang.org / https://github.com/inko-lang/inko
- Koka — https://koka-lang.github.io / https://github.com/koka-lang/koka
- SBCL — https://www.sbcl.org / Common Lisp ANSI X3.226-1994
- Racket — https://racket-lang.org / https://github.com/racket/racket
- Tcl 9 — https://www.tcl.tk / "Tcl 9 release notes, September 2023"
- Fortran 2023 — ISO/IEC 1539:2023 / https://wg5-fortran.org
- Modula-3 — https://www.modula3.org (역사 자료)
- J language — https://www.jsoftware.com
- OpenSCAD — https://openscad.org
- Forth — https://forth-standard.org
- Plan-9 from Bell Labs — https://9p.io/plan9/
- The State of the Octoverse (GitHub annual report) — https://octoverse.github.com
- RedMonk Programming Language Rankings — https://redmonk.com/sogrady/category/programming-languages/
현재 단락 (1/356)
2026년 5월 현재, 주류(Python, JavaScript/TypeScript, Java, C#, Go, Rust, C/C++, Swift, Kotlin) 바깥에는 여전히 풍부...