나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2026-09-28 22:33:17

Haxe


[[프로그래밍 언어|'''프로그래밍 언어
{{{#!wiki style="font-family: Times New Roman, serif; display: inline;"
]]
{{{#!wiki style="min-height: calc(1.5em + 5px); margin: 0 -10px -5px"
{{{#!wiki style="display: inline-table; min-width: 40%; min-height: calc(1.5em + 5px)"
{{{#!folding [ 목록 ]
{{{#!wiki style="margin: -5px -1px"
<colbgcolor=royalblue><colcolor=#fff> ※ 나무위키에 등재된 프로그래밍 언어 목록
AActionScript · AdaT · AgdaTP · ALGOLT · ApexT · APL · awk · AssemblyT
BBASIC
C파일:C언어 로고.svg CT · 파일:C C#T · 파일:C++ 로고.svg C++T · CarbonT · 파일:Clojure 로고.svg ClojureS · COBOLT · CoffeeScript · Common LispS · CrystalT
D파일:D(프로그래밍 언어) 로고.svg DT · 파일:Dart 심볼.svg DartT
EElixir · 파일:Elm 로고.svg elmT · 파일:Erlang 로고.svg Erlang
F파일:F F#T · Factor · 파일:fennel-logo.svg FennelS · 파일:forth.png Forth · FortranT
GGNU Octave · 파일:Go 로고.svg GoT · 파일:Groovy 로고.svg GroovyT
H파일:Haskell 로고 심볼.svg HaskellT · HolyCT · HaxeT
J파일:Java 로고.svg JavaT · 파일:JavaScript 로고.svg JavaScript · 파일:julia-dots.svg Julia
K파일:Kotlin 심볼.svg KotlinT
LLeanTP · 파일:LISP_logo.svg LISPS · 파일:Lua 로고.svg Lua
MMATLAB · MaxV · MojoT · Moonlight
N파일:Nim 왕관 로고.svg NimT · 파일:Nix 로고.svg Nix
OOberonT · Objective-CT · 파일:ocaml.svg OCamlT
PPascalT · 파일:Perl 로고.svg Perl · 파일:PHP 로고.svg PHP · Processing · Prolog · PureScriptT · 파일:Python 심볼.svg Python
QQ#T · QML
R파일:R 로고.svg R · 파일:racket-logo.svg RacketS · Raku · ReasonMLT · 파일:Rocq 로고.svg RocqTP · 파일:Ruby 로고.svg Ruby · 파일:Rust 로고.svg파일:Rust 로고 화이트.svg RustT
SSAS · 파일:Scala 심볼.svg ScalaT · SchemeS · 파일:스크래치(교육 플랫폼) 로고.svg ScratchV · sed · Shell Script · Smalltalk · 파일:Swift 심볼 배경.svg SwiftT
T파일:Typescript_logo_2020.svg TypeScriptT
UUdonV · 파일:uiua-logo.png Uiua
VVisual Basic · Visual Basic .NET · Visual Basic for Applications · vvvvV
XXSharp
ZZenScript · 파일:Zig 로고마크.svg ZigT
ㄴ누리
ㅅ/ㅆ숨V · 씨앗
ㅇ약속 · 파일:엔트리 아이콘.svg 엔트리V
ㅊ창조
T: 정적 타입 프로그래밍 언어 · P: 증명 보조 언어 · S: LISP 방언 및 S-표현식 기반 언어 · V: 시각적 프로그래밍 언어 }}}}}}}}}{{{#!wiki style="display: inline-table; min-width: 40%; min-height: calc(1.5em + 5px)"
{{{#!folding [ 순위 ]
{{{#!wiki style="margin: -5px -1px -10px"
{{{#!wiki style="min-height: calc(1.5em + 5px); margin: 0 -10px -5px"
{{{#!wiki style="display: inline-table; min-width: 25%; min-height: calc(1.5em + 5px)"
{{{#!folding [ IEEE Spectrum 2025 ]
{{{#!wiki style="margin: -5px -1px"
<tablewidth=100%><tablebgcolor=transparent><colbgcolor=#11a500><colcolor=#fff> 스펙트럼 부문 상위 10개 프로그래밍 언어 <colbgcolor=#ff1100><colcolor=#fff> 직업 부문 상위 10개 프로그래밍 언어
1 Python 1 Python
2 Java 2 SQL
3 C++ 3 Java
4 SQL 4 JavaScript
5 C# 5 TypeScript
6 JavaScript 6 C#
7 TypeScript 7 C++
8 C 8 HTML
9 Shell 9 Go
10 Go 10 Shell }}}}}}}}}{{{#!wiki style="display: inline-table; min-width: 25%; min-height: calc(1.5em + 5px)"
{{{#!folding [ Stack Overflow 2025 ]
{{{#!wiki style="margin: -5px -1px"
<colbgcolor=#ffa500><colcolor=#fff> 2025년 Stackoverflow 설문조사 상위 25개 프로그래밍 언어
1 JavaScript <colbgcolor=#ffa500><colcolor=#fff> 14 Rust
2 HTML & CSS 15 Kotlin
3 SQL 16 Lua
4 Python 17 어셈블리어
5 Bash/Shell 18 Ruby
6 TypeScript 19 Dart
7 Java 20 Swift
8 C# 21 R
9 C++ 22 Groovy
10 PowerShell 23 Visual Basic
11 C 24 VBA
12 PHP 25 MATLAB
13 Go }}}}}}}}}{{{#!wiki style="display: inline-table; min-width: 25%; min-height: calc(1.5em + 5px)"
{{{#!folding [ TIOBE 2025 ]
{{{#!wiki style="margin: -5px -1px"
<colbgcolor=#2777c2><colcolor=#fff> 2025년 10월 TIOBE 검색어 점유율 상위 20개 프로그래밍 언어
1 Python <colbgcolor=#2777c2><colcolor=#fff> 11 Fortran
2 C 12 Perl
3 C++ 13 R
4 Java 14 PHP
5 C# 15 Assembly language
6 JavaScript 16 Rust
7 Visual Basic 17 MATLAB
8 Go 18 Scratch
9 Delphi / Object Pascal 19 Ada
10 SQL 20 Kotlin }}}}}}}}}{{{#!wiki style="display: inline-table; min-width: 25%; min-height: calc(1.5em + 5px)"
{{{#!folding [ PYPL 2025 ]
{{{#!wiki style="margin: -5px -1px -10px"
<colbgcolor=green><colcolor=#fff> 2025년 11월 PYPL 검색어 점유율 상위 20개 프로그래밍 언어
1 Python <colbgcolor=green><colcolor=#fff> 11 Ada
2 Java 12 TypeScript
3 C++ 13 MATLAB
4 Objective-C 14 Kotlin
5 R 15 PowerShell
6 JavaScript 16 Go
7 C# 17 Dart
8 Swift 18 Ruby
9 PHP 19 Lua
10 Rust 20 VBA }}}}}}}}}}}} }}}}}}}}}}}}
실행 방식 · 분류 · 언어 목록(분류:프로그래밍 언어 문법) · 언어별 예제 · 틀:프로그래밍 언어 문법 · 틀:난해한 프로그래밍 언어
핵스
Haxe
파일:1000081369.svg
최초 공개 2005년 10월 30일
개발 Nicolas Cannasse
개발 언어 OCaml
최신 버전 4.3.7 - 2025년 5월 9일
확장자 .hx
파일:홈페이지 아이콘.svg | 파일:GitHub 아이콘.svg파일:GitHub 아이콘 화이트.svg
1. 개요2. 특징3. 개발환경4. 문법5. 생태계6. 여담7. 관련 언어

1. 개요


#!syntax javascript
class Main {
    static function main() {
        trace("Hello, World!");
    }
}

Haxe는 여러 플랫폼으로 컴파일할 수 있는 오픈 소스 고급 프로그래밍 언어이다. 하나의 코드로 다양한 언어로 변환할 수 있도록 설계되었다. 지원되는 타겟은 JavaScript, PHP, Lua, Python, Java, JVM, Hashlink, cppia, Neko, SWF, C#이 있다. 또한 인터프리팅도 지원한다.

Hashlink와 Neko는 Haxe 개발팀이 개발한 VM이다. 다만, neko는 개발을 중단하고 유지보수만 하는 모양이다. https://github.com/HaxeFoundation/neko/issues/287 에서 언급되었다시피, Hashlink가 대체제가 된 것으로 보인다.

cppia는 정보가 정말 적지만, 공식 문서에서는 스크립팅 가능한 cpp 서브타겟이라고 설명하고 있다.사실 사용처도 없어보이는데 왜있는지 모르겠다
위 예제를 cppia로 컴파일 후[1] 생성된 파일의 내용은 아래와 같다.
CPPIB
6
0 
4 main
5 trace
12 Hello world!
4 Test
7 Test.hx
4
0 
4 Test
4 void
8 haxe.Log
1
D	;0KM

2. 특징

3. 개발환경

자체 패키지 매니저인 haxelib이 존재한다. python의 pip처럼 패키지를 설치할 수 있다. 저장소

Hashlink에는 HL/JIT과 HL/C 두 종류가 있다.
HL/C
haxelib으로 hashlink 패키지[2]를 설치하고, haxe --hl (이름).c -m (클래스명)을 실행하면 C파일이 생성된다. HL[3]의 바이트코드를 C 소스코드로 변환하여 네이티브 컴파일한다. 이점은 C 컴파일러로 한번 더 최적화할 수 있기 때문에 성능이 향상된다. 다만 컴파일과 실행 시 둘 다 hl 라이브러리가 필요하다.
--hl 옵션의 파일명 확장자가 .c가 아니면 Hashlink 바이트코드로 출력된다[4]. 이 점 유의.

hashlink 포맷 바이너리 실행은 cli서 hl명령어를 쓰면 된다.

4. 문법

클래스 선언시 이름의 첫 글자가 대문자가 되도록 강제하고, 파일명과 클래스명이 같아야 한다.

5. 생태계

주로 게임개발에서 틈새시장으로 간신히 숨쉬고 있지만, 그마저도 사용자가 적고, 최신 안정 버전이 2026년 8월 기준 1년 넘게 나오지 않고 있다. 미래가 밝지 않은 듯하다. [5]

공식 툴체인이 빈약하다. lix라는 서드파티 매니저가 있긴 한데 결국 서드파티이다.

6. 여담

GNU File 명령어가 Neko 바이너리는 인식하지만 Hashlink는 인식하지 못한다. 신생 포맷이라 매직이 등록되지 않은 것으로 보인다.

Papers, Please가 이 언어로 개발되었다.

이 언어로 만들어진 HaxeFlixel이라는 게임 엔진이 있다.

7. 관련 언어


[1] 물론 테스트한 소스파일명은 Main.hx가 아니라 Test.hx이다.[2] hashlink VM이 아니라, 별개의 패키지이다.[3] Hashlink 바이트코드[4] hl명령어로 바로 실행 가능한 포맷[5] 물론 방치는 아니고, 깃허브를 보면 여러 이슈를 해결한 브랜치가 많이 있지만 아직 메인 브랜치에 병합되지 않은 채 따로 놀고 있다. 할 일이 엄청 많단 의미다.