[[프로그래밍 언어|'''프로그래밍 언어 {{{#!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> ※ 나무위키에 등재된 프로그래밍 언어 목록 | |||||||
A | ActionScript · Ada · Agda · ALGOL · APL · awk | |||||||
B | BASIC · Befunge · Brainfuck | |||||||
C | C · C# · C++ · Carbon · Chef · Clojure · COBOL · CoffeeScript · Coq · Crystal | |||||||
D | D · Dart | |||||||
E | Elixir · Elm · emojicode · Erlang · ETA | |||||||
F | F# · Forth · Fortran | |||||||
G | GNU Octave · Go · Groovy | |||||||
H | Haskell · HolyC · HQ9+ · HRON | |||||||
I | ||||||||
J | Java · JavaScript · Julia | |||||||
K | Kotlin · Krait | |||||||
L | Lean · LISP · Lua | |||||||
M | Malbolge · MATLAB · Max · Mojo · Moonlight | |||||||
N | Nim · Nix | |||||||
O | Oberon · Objective-C · OCaml · Ook! | |||||||
P | Pascal · Perl · PHP · Processing · Prolog · Python | |||||||
Q | Q# | |||||||
R | R · Racket · Raku · ReasonML · Ruby · Rust | |||||||
S | Scala · Scheme · Scratch · sed · Shakespeare · Shell Script · Smalltalk · Swift | |||||||
T | TypeScript | |||||||
U | Udon | |||||||
V | Visual Basic · Visual Basic .NET · Visual Basic for Applications · vvvv | |||||||
W | Wave · Whitespace | |||||||
X | ||||||||
Y | ||||||||
Z | ZenScript · Zig | |||||||
한글 | 누리 · 씨앗 · 아희 · 약속 · 엄랭 · 엔트리 · 창조 | }}}}}}}}}{{{#!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 2024 ] {{{#!wiki style="margin: -5px -1px" | <tablewidth=100%><tablebgcolor=transparent><colbgcolor=#11a500><colcolor=#fff> 스펙트럼 부문 상위 10개 프로그래밍 언어 | <colbgcolor=#ff1100><colcolor=#fff> 직업 부문 상위 10개 프로그래밍 언어 | |||
1 | Python | 1 | SQL | |||||
2 | Java | 2 | Python | |||||
3 | JavaScript | 3 | Java | |||||
4 | C++ | 4 | TypeScript | |||||
5 | TypeScript | 5 | SAS | |||||
6 | SQL | 6 | JavaScript | |||||
7 | C# | 7 | C# | |||||
8 | Go | 8 | HTML | |||||
9 | C | 9 | Shell | |||||
10 | HTML | 10 | C++ | }}}}}}}}}{{{#!wiki style="display: inline-table; min-width: 25%; min-height: calc(1.5em + 5px)" {{{#!folding [ Stack Overflow 2024 ] {{{#!wiki style="margin: -5px -1px" | <colbgcolor=#ffa500><colcolor=#fff> 2024년 Stackoverflow 설문조사 상위 25개 프로그래밍 언어 | |||
1 | JavaScript | <colbgcolor=#ffa500><colcolor=#fff> 14 | Rust | |||||
2 | HTML & CSS | 15 | Kotlin | |||||
3 | Python | 16 | Lua | |||||
4 | SQL | 17 | Dart | |||||
5 | TypeScript | 18 | 어셈블리어 | |||||
6 | Bash | 19 | Ruby | |||||
7 | Java | 20 | Swift | |||||
8 | C# | 21 | R | |||||
9 | C++ | 22 | Visual Basic | |||||
10 | C | 23 | MATLAB | |||||
11 | PHP | 24 | VBA | |||||
12 | PowerShell | 25 | Groovy | |||||
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년 2월 TIOBE 검색어 점유율 상위 20개 프로그래밍 언어 | |||||
1 | Python | <colbgcolor=#2777c2><colcolor=#fff> 11 | Fortran | |||||
2 | C++ | 12 | Scratch | |||||
3 | Java | 13 | Rust | |||||
4 | C | 14 | PHP | |||||
5 | C# | 15 | R | |||||
6 | JavaScript | 16 | MATLAB | |||||
7 | SQL | 17 | Assembly language | |||||
8 | Go | 18 | COBOL | |||||
9 | Delphi / Object Pascal | 19 | Ruby | |||||
10 | Visual Basic | 20 | Prolog | }}}}}}}}}{{{#!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년 3월 PYPL 검색어 점유율 상위 20개 프로그래밍 언어 | |||
1 | Python | <colbgcolor=green><colcolor=#fff> 11 | Swift | |||||
2 | Java | 12 | Go | |||||
3 | JavaScript | 13 | Kotlin | |||||
4 | C/C++ | 14 | MATLAB | |||||
5 | C# | 15 | Ada | |||||
6 | R | 16 | Dart | |||||
7 | PHP | 17 | Ruby | |||||
8 | Rust | 18 | Lua | |||||
9 | TypeScript | 19 | PowerShell | |||||
10 | Objective-C | 20 | VBA | }}}}}}}}}}}} | }}}}}}}}}}}} | |||
분류:프로그래밍 언어 · 프로그래밍 언어 목록 · 언어별 예제 · 틀:프로그래밍 언어 문법 |
1. 개요
Befunge스택 기반의 난해한 프로그래밍 언어.
1993년 크리스 프레시가 개발한 난해한 프로그래밍 언어. 이쪽 계열 가운데에서 인지도로는 동년배인 브레인퍽과 함께 손꼽히는 언어이다.[1] 제작자가 할 수 있는 한 컴파일이 어려운 프로그래밍 언어를 고안하려는 시도로 만든 본격 사용자 엿먹이는 언어.
2. 특징
프로그램이 2차원 공간 상에 배열되어 있는 것이 특징으로,vv < <
2
^ v<
v1<?>3v4
^ ^
> >?> ?>5^
v v
v9<?>7v6
v v<
8
. > > ^
^<
대략
기본적으로 "화살표" 명령을 사용해서 명령의 흐름을 이리저리 조종하는데, 이에 따라 명령 포인터가 이리갔다 저리갔다 함으로써 프로그램이 동작하게 된다. 자기 수정 프로그램을 만들 수 있도록 설계되고 g와 p 명령을 제공하였다. 그랬음에도 몇몇 능력자들은 결국 컴파일러를 만들기에 성공하는 쾌거(?)를 이룩해냈다. 구현체 가운데 하나로 Befunge-93가 있다.
3. 문법
출처문법 | 설명 |
0 ~ 9 | 해당 수를 넣는다. |
+ | a, b를 꺼내 a + b의 값을 넣는다. |
- | a, b를 꺼내 b - a의 값을 넣는다. |
* | a, b를 꺼내 a * b의 값을 넣는다. |
/ | a, b를 꺼내 b ÷ a의 몫을 넣는다. 만약 먼저 나온 수가 0이면 연산 결과를 사용자가 직접 입력하여 넣는다. |
% | a, b를 꺼내 뒤에 b ÷ a 의 나머지를 넣는다. 만약 먼저 나온 수가 0이면 연산 결과를 사용자가 직접 입력하여 넣는다. |
! | 꺼낸 수가 0이면 1, 아니면 0을 넣는다. |
` | a, b를 꺼내 b > a면 1, 아니면 0을 넣는다. |
> | 명령 포인터를 오른쪽으로 이동하게 한다. |
< | 명령 포인터를 왼쪽으로 이동하게 한다. |
^ | 명령 포인터를 위로 이동하게 한다. |
v | 명령 포인터를 아래로 이동하게 한다. |
? | 명령 포인터를 랜덤한 방향으로 이동하게 한다. |
_ | 꺼낸 숫자가 0이면 명령 포인터를 오른쪽, 아니면 왼쪽으로 이동하게 한다. |
| | 꺼낸 숫자가 0이면 명령 포인터를 아래, 아니면 위로 이동하게 한다. |
" | 다음 ' " '가 등장할 때까지 문자를 넣는다. |
: | 스택의 가장 위의 값을 복사해 넣는다. |
\ | 스택의 가장 위의 두 값의 위치를 서로 바꾼다. |
$ | 스택에서 숫자를 꺼낸다. |
. | 숫자를 꺼내 출력한다. |
, | 숫자를 꺼내 ASCII 문자를 출력한다. |
# | 다음 명령을 건너 뛴다. |
g | y, x를 꺼내 명령의 (x, y)위치에 있는 문자의 ASCII값을 넣는다. |
p | y, x, v를 꺼내 명령의 (x, y)위치에 있는 문자를 v에 해당하는 ASCII 문자로 바꾼다. |
& | 숫자를 입력받아 넣는다. |
~ | 문자를 입력받아 넣는다. |
@ | 프로그램을 종료한다. |