πŸ±πŸŽ¨πŸ™πŸ€– 10 самых странных языков программирования, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ

ЭзотСричСскиС языки Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Π² ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ…, ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Ρ€Π°Π·Π²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… цСлях. Π˜Ρ… общая Ρ‡Π΅Ρ€Ρ‚Π° – максимально Π·Π°ΠΏΡƒΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΈ странный синтаксис, понятный Ρ‚ΠΎΠ»ΡŒΠΊΠΎ посвящСнным. Π’ этой ΠΏΠΎΠ΄Π±ΠΎΡ€ΠΊΠ΅ – языки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Π±Ρ‹ Π₯ΠΎΠ΄ΠΎΡ€, Π΄ΠΎΠΊΡ‚ΠΎΡ€ Π›Π΅ΠΊΡ‚Π΅Ρ€, ΠœΠ°Π»Π΅Π²ΠΈΡ‡, ДТСймс Π‘ΠΎΠ½Π΄, Π’Π΅Ρ€ΠΌΠΈΠ½Π°Ρ‚ΠΎΡ€ ΠΈ Π›ΡƒΠΈ Армстронг, Ссли Π±Ρ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π²ΠΎΠΉΡ‚ΠΈ Π² Π°ΠΉΡ‚ΠΈ.

Brainfuck, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, самый извСстный язык ΠΈΠ· эзотСричСских: ΠΎ Π½Π΅ΠΌ ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ Π΄Π°ΠΆΠ΅ нСпосвящСнныС. Однако Brainfuck – Π½Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡˆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ЯП, ΠΈ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ СдинствСнный: энциклопСдия Esolang ΡƒΠΆΠ΅ насчитываСт 4611 эзотСричСских языков, Π° самым ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΡ€ΠΈΠΊΠΎΠ»ΡŒΠ½Ρ‹ΠΌ языком Π±Ρ‹Π» INTERCAL, созданный Π² Π΄Π°Π»Π΅ΠΊΠΎΠΌ 1972 Π³ΠΎΠ΄Ρƒ.

INTERCAL – язык Π²Π΅ΠΆΠ»ΠΈΠ²Ρ‹Ρ… программистов

Π―Π·Ρ‹ΠΊ программирования INTERCAL

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° INTERCAL состоит ΠΈΠ· списка инструкций. ΠŸΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ инструкциСй ΠΌΠΎΠΆΠ½ΠΎ (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ) ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΊΡƒ строки Π² скобках, Π° Π·Π° ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ слСдуСт ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово DO (Π’Π«ΠŸΠžΠ›ΠΠ―Π™), PLEASE (ΠŸΠžΠ–ΠΠ›Π£Π™Π‘Π’Π) ΠΈΠ»ΠΈ PLEASE DO (ΠŸΠžΠ–ΠΠ›Π£Π™Π‘Π’Π, Π’Π«ΠŸΠžΠ›ΠΠ―Π™). Π­Ρ‚ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ инструкции.

Π’ INTERCAL Π΅ΡΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ вСТливости – ΠΎΡ‚ 1/3 Π΄ΠΎ 1/5 всСх инструкций Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π²Π΅ΠΆΠ»ΠΈΠ²Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ PLEASE, PLEASE DO, ΠΈΠ»ΠΈ особо элСгантный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ – PLEASEN'T. Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя инструкции DON'T (НЕ Π’Π«ΠŸΠžΠ›ΠΠ―Π™) ΠΈΠ»ΠΈ PLEASE DON'T (ΠŸΠžΠ–ΠΠ›Π£Π™Π‘Π’Π, НЕ Π’Π«ΠŸΠžΠ›ΠΠ―Π™) Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ восстановлСны ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ REINSTATE. МоТно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ шанс выполнСния инструкции Π² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°Ρ… – DO %50.

Если Ρƒ инструкции Π½Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΊΠΈ, ΠΈ ΠΎΠ½Π° Π½Π΅ ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° исполняСмыС инструкции INTERCAL, ΠΎΠ½Π° Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚. Π’Π°ΠΊ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ – PLEASE NOTE.

INTERCAL ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π’ΡŒΡŽΡ€ΠΈΠ½Π³-ΠΏΠΎΠ»Π½ΠΎΡ‚ΠΎΠΉ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π½Π° Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²ΠΏΠΎΠ»Π½Π΅ сСбС ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Π΅ прилоТСния. Π•ΡΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π½Π° основС INTERCAL, с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° ick (ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄) ΠΈ gross (запускаСт сСрвСр). Π—Π° Π΄ΠΎΠ»Π³ΠΈΠ΅ Π³ΠΎΠ΄Ρ‹ своСго сущСствования INTERCAL обзавСлся ΠΏΡ€Π΅Π΄Π°Π½Π½Ρ‹ΠΌ сообщСством ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠΎΠ², мноТСством ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ²/компиляторов ΠΈ Π½ΠΎΠ²Ρ‹ΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ COME FROM ΠΈ DO COME FROM.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ вычислСния чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ Π½Π° INTERCAL:

    DO .9 <- #16
    DO .10 <- #0
    DO .11 <- #1

(1) PLEASE READ OUT .11
    DO .1 <- .10
    DO .2 <- .11
    PLEASE (1009) NEXT
    DO .10 <- .11
    DO .11 <- .3

    DO (3) NEXT
    DO (1) NEXT

(3) DO (4) NEXT
    PLEASE GIVE UP

(4) DO .1 <- .9
    DO .2 <- #1
    PLEASE (1010) NEXT
    DO .9 <- .3
    DO .1 <- '.9~.9'~#1
    PLEASE (1020) NEXT
    DO RESUME .1

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выводится Π² римских Ρ†ΠΈΡ„Ρ€Π°Ρ… (вСдь INTERCAL Π½Π΅ ΠΈΡ‰Π΅Ρ‚ Π»Π΅Π³ΠΊΠΈΡ… ΠΏΡƒΡ‚Π΅ΠΉ!):

I

I

II

III
V
VIII
XIII
XXI
XXXIV

LV
LXXXIX
CXLIV
CCXXXIII
CCCLXXVII
DCX
CMLXXXVII
Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста»

Malbolge – самый слоТный язык программирования Π² ΠΌΠΈΡ€Π΅

Π―Π·Ρ‹ΠΊ программирования Malbolge

Malbolge – язык для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ Π² Ρ‚Ρ€ΠΎΠΈΡ‡Π½ΠΎΠΉ систСмС счислСния. Он Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ стандартной синтаксичСской структуры, ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Π½Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎ, ΠΊΠΎΠ΄ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½, Π° вся свободная ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° заполняСтся пустыми Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Названный Π² Ρ‡Π΅ΡΡ‚ΡŒ восьмого ΠΊΡ€ΡƒΠ³Π° Ада, Malbolge ΠΎΠΏΡ€Π°Π²Π΄Ρ‹Π²Π°Π΅Ρ‚ своС имя Π½Π° 100%: ΠΎΠ½ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ слоТСн, Ρ‡Ρ‚ΠΎ Π΄Π°ΠΆΠ΅ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ смог Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Π½Π΅ΠΌ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ΅Ρ€Π²ΠΎΠΉ Hello, World Π½Π° Malbolge заняла 2 Π³ΠΎΠ΄Π° ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»Π° использования Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (Π½Π° Lisp), Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ²ΡˆΠ΅ΠΉ поиск ΠΏΠΎ мноТСству Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΊΠΎΠ΄Π°:

(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<

БСйчас для написания ΠΊΠΎΠ΄Π° Π½Π° Malbolge энтузиасты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ – подробная инструкция ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π° здСсь, Π΅ΡΡ‚ΡŒ ΠΈ слСгка Π±ΠΎΠ»Π΅Π΅ понятная вСрсия языка (wimpmode) – Dis. Появился Π΄Π°ΠΆΠ΅ Π’ΡŒΡŽΡ€ΠΈΠ½Π³-ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ языка, Malbolge Unshackled, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… смыслах ΡΡ‚Ρ€Π°ΡˆΠ½Π΅Π΅ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»Π° – Π²ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Hello, World, которая Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΌ Malbolge ΠΈ Π½Π° Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Π΅ Malbolge Unshackled:

bCBA@?>=<;:9876543210/.-,I*)(E~%$#"RQ}|{zyxwvutsrD0|nQl,+*)(f%dF"a3_^]
\[ZYXWVUTSRQJmNMLKJIHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#dc~}|_^yrwZu
tsrqpinPlOjihgf_dcEaD_^]\UZYX:V9TSRQPONGLK.IHGF?DCB$@#>=<;4987w/v3210/
.-,+$k('&%|#"!~w`{zyxwputslUponmlkjiKgf_Hcba`_^]\[ZYXWP9TSRQPONMFKJCHA
*EDCBA@?>=<|:98y6543210).-,%*#j'&%$#"!~}|^ty\wvutslkTonmlkjcLafedc\aD_
X]\[TY<WVOTSLQ4ONMFKDC,GFEDC<A$9>=<;49z765.3,+r/.-,l*)(!h%$#"!~}|{zyxw
vunWrqponmlkjihgfed]Fa`_^]\[ZYXW9UTSRK4ONMLKJIHGFEDCBA@?8!<;:987654321
0/.-,%l)('&%$#"!~}|^t]xqvYnsrqpinQlejihafIdc\a`Y^A\[ZSXQ:8NSRQJ3NMLKJI
HGFEDC%;$?8=<}49876543210qp',+*)('&%$#"!b}`{zyrwpuXmrqpohmlOdihgfedcba
`_^]\?=S<WPU8SRQJOHM0EJIHG@ED'<A@?>=<;:987654us+r/(-,m*#('&%$#"!~a`{ty
xwvutsrqpoRmPkjibg`eHcb[`_X]@UZYXWPUT7RKPONMLKJIHGFED'%;$?8=~;:387054u
2+0/.-,+*)('&%$ecyb}v{z]xwputsrqponQPkjchgfedcba`_B]@[ZSXWPU8SLQPOHML/
JIBGFEDCBA@?>=<}{3z705v321*/(om%*)j'&}$#"!~}|{zyxwZXnWrkpoRmlkdihgfedc
FE`_^W\[ZYXWVUT7R5PONGLEJ-HG@ED=B%@9>=<5:9z765.3210/.-,+*)jh~g${"c~}v{
zsxwZutslqponmlkjihgJH^Gb[`_B]\[ZSXWVUTS65PONMFKJIHGFED'B%@?>7<5:9z765
4-210/.-,+*)jh~g${dbx}|_zyxwputsrqponmlOMcLg`edGba`_^W\[ZYX;:UTSRQJONM
LKJI,G*EDC<A:?"=<5:927x5.321*/p',+*)"'&g$#"!~w|{zyxwvutWUkTohmlOjihgf_
dcba`_^]\?=S<WPUT7RQPONMLEJIH+*EDCBA@?8=<;:9z7x543,1*/.o,+*)('&}$#"!~}
|_]s\wputWrqponmlejihgfedGE[D_X]\?ZYXWVUTSLQP32MLKJIHGF?DCBA$?"=<;4927
x54-21*/p-&+*)"'h}$#"!x}|_zyxwvutslqponmlOMcLg`edGba`_^]\[TYXWVUT75K4O
HML/JIHGFEDCBA@9"=~;:987654321*/p-n+*)"'~%f#"y~}v{^sxwvunsrUponmlkjihg
f_dcbECYB]V[>YXQVUNSR5PONMLKJIHGF?DCB%#9"=6;:{876543210/.-&m*)j'&%$#"!
~}|{zs\wZutslqjoRmfkjibgfIdcba`_^]\[ZYRWV97M6QJ31GLK.IHGFEDCBA@?>7<;|z
2y6/43t10/.-,+*)('&%|e"!~a|{zyxwvutsrqpiRmlOjibgf_dGb[`_^W\[>YXWVUTSRQ
PONMFK.,B+F?DC&A@?>=<;:98765.3tr*q.',+l)('&%$#"!~}|{zs\wvutWrqponmlkji
hgfe^Gba`C^]\UZSX;VUNSRKP3HMLKJCHG*EDCBA@?>=<;:981xv.u2+0/p-,+*)('&%$#
"!~w`^t]xqvuXsrqponmlkjihgfe^Gba`_^A\[ZYXWVUTSRQPONG0KJIH+FED=B;@?"=<;
:9876543210/(o,l$k(!hf|#"c~}|{zyxwvutsrqpiRmOeNibgfIdcba`_^]\[ZYXWVUN7
RQPONM0KJIHGFEDCBA@?>=<5|98765v3,10/(-n%*)('~%$e"!~}|{zyxwvutsrqjSnmOe
NibgJe^cbaZ_^A\[ZYXWVUTSRQPONMF/JI+A*E>CB%@?>=<;:9876543210)p-,+*)('h%
$#"!~}|{zyxwvutslUponmlkNihg`e^cbE`_^]\[ZYXWVUTSRQPI2MLK-C,G@E(CB;@?8=
~;498705v-210/(om%*)j'&%$#"!~}|{zyxwvunWrqpRhQlejiLgfedcba`_^]\[ZYXWVO
87RQ4ONMLKJIHGFEDCBA@?>7~}:{876/4-2s0/(-,%*k"'&%${"!b}|{zyxwvutsrqponm
leNihgfH^Gb[`C^]V[ZSXW:UTSRQPONMLKJIHGFED=&A@?>~6}:387x543210/.-,+*)('
&%$#zc~a|{^yxwvutsrqponmlkjihg`IdGbE`_X]\UZ=XQVUTMRQ4ONMLKJIHGFEDCBA@?
>=6}:9876v.u2+0q.-,%*#jh~%$e"!~}|{zyxwvutsrqpongPkjihgI_Hc\a`C^]\?TY<W
VUTSR5PO2MLK.CH+FEDCBA$?"=<;4927x54-21*/p-&+*)"'h}$#"!x}|_zyx[puXsrqpo
nmlkjLbKf_dGba`Y^W\?ZSXWVOTS6QPO2GL/JIHGFEDCBA#9"=6;:{876w4321*/.o,+*)
('&%$#"c~}`{zy\wvutmrqTonmlkjihgfeHcFa`_X]V[>YRWVUNS6KPONMFKJ-HGF)DCBA
:?>!<;:9876543210/.n&m*#('h%$#d!~}|uzy\wvutsrqponmlkjiKaJe^cbED_XA\[ZY
XWVUTSR5PO21LE.IHGFEDCBA@?"=~;:92705v32+0/(-n%*)('~%$ed!xa|{zyxwvutsrq
ponPfOjchgJId]Fa`_^]\[ZYXWVUTS5K4OHML/.IHA*EDCBA@?>=<;:{87xw43,s0/.-,+
*)('&%f#"cb}|u^yxwvutsrqponmlkjLbKf_dcFE`_XA\[ZYXWVUTSRQPONM/E.IBGF)(C
BA:#>=<;:98765432s0/po,+*#j'&%$#"!~}|{zy\wZunsrqjoRglkjibgfIHcbaZC^]\[
ZYXWVUTSRQPON0F/JCH+F?DCB;@?"!<;:3z76543210/.-,+*)('g}f#z!~a`{zyxqvuts
rqponmlkjihKfeHGba`_X]\[ZYXWVUTSRQPO2M0KJCHG@E(=BA@?8=<}|9876/43210/.-
,+*)('&%$#"bxa|uzy\[vutslqponmlkjihgfedcba`_AW@[TYX;:UTSRQJONMLKJIHGFE
DCB%@?"!<;:9816543210/.-,+*)j'h%$#z!x}`uzyxwputWVqponmfkjihgfedcba`_^]
\[Z<R;VOT7RQPINGL/DIHGF?DC&%@?>=<5:9876543210/.-,+*)i!h%|#"cb}|{zyxqvu
tsrqponmlkjMhgJIdcba`_X]\[ZYXWVUTSRQ4O2MLKDIBG*ED=BA:?"7<;:9276wv3210/
.',+*)('&%$#"!~}|{z\r[votWrqjonglkNMhgfedc\a`_^]\[ZYXWVUTSRQ3I2MFKJ-,G
FEDCBA:?>=<;:987654u21rq.-,+*)(!&%$#"!~}|{zy\wZutmrqjoRmfkjibgfIHcba`_
^]V[ZYXWVUTSRQPONML.D-HAF)DCB;@9"~6;:{z7654321*/.-,+*)('&%$#"!~`v_zsxw
vutmVqponmlkjihgJedcbaZC^]\[ZYXWVUT7R5PONGLEJ-HG@ED=B%@9>=<5:{27654-21
0/.'n+*)('&%$#"!~}|{]s\wpuXsrqjohmPkdihg`edcbaZC^]\[ZYXWVUTSRQP2H1LEJI
HGFEDCBA:#>=<;:98765432+r/.-,+*)('&%$#zc~`v_zs\ZputsrqponmleNiKaJe^cba
`_^]\[ZYRWVUTSRQPONMLKJIHGFEDCBA@?>=<;:98y65432s0/.-,+*)('&}$#"!~}|{zy
xwvutsrqponmlkjihgfedcFa`_^]@[>YXWPUNSRQPONMLKJIBGFEDCBA@?>=<;:9876543
210/.-,+*)(i&%$#"!~}|^t]xqvutsrqponmlejihgfedcba`_^]\[ZYXWVUTSRQPONMLK
.IHGFEDCBA#9"=6;:9876543210/(-,+*)('&%$#"!~}|{zyxwvutsrqponQlkjihKfedc
ba`_^]\[ZSXWVUTSRQPONMLKJIHGFEDCBA@?>=<;|98765v3t10).-&+l)"'&%|#dy~}|{
tyxwvutsrqponmfkjihgfedcba`_^]\[ZYXWVUTSRQPON1LKJIHGFED&<%@9>!<;49816w
4-210).-,+*)('&%$#"y~}|{zyxwvutsrqponmlkjihgfedcbaD_^]\[ZYXW9O8SLQPONM
LKJIHGFED=BA@?>=<;:9876543210/.-,+*)('&g$#"!~a|{zyxwvutsrqpohmlkjihgfe
dcba`_^]\[ZYXWVUTSRQ4ONMLK.I,GFE>C<A$?8=<;49z16543,10/.-,+*)('&%${"!~}
|{zyxwvutsrqponmlkjihgfedGba`_^]\[Z<R;VOT7RQPINGL/JCHGF?DCBA@?>=<;:987
0543210/.-,+*)('&%$#"!~}|{zyxwZutsrqponmOeNibgfedcba`_^]\[ZYRWVUTSRQPO
NMLKJIHGFEDCBA@?>=<}:9876w43210/.-,+*)('&}$#"!~}|{zyxwvutsrqponmlkjihg
JedcbaD_^]\[ZYXWVUTSRQJONMLKJIHGFEDCBA@?>=<;:987654u210/.-,+*j"i&}$e"y
~}|uz]rwvutmVTjonmlkjihgfedcbaZ_^]\[ZYXWVUTSRQPONMLKJIHGFED'BA@?>=<;:z
2y6/43210q(-,+*)('&%$#"!~}|{zyxwvutsrqTonmlkNihgfeH]ba`_^]\[ZYXWVUTSRQ
PONMLKJIH+FEDCB%@#>=6;:387654u,10/.-,+*)('&%$#"!~}|{zyxwvuXsrqponmlkMc
Lg`eHc\a`_X]@UZYXWP97MRQPON1FKJIHGFEDCBA@?>=<;:987654321r/.-,+*)('g}f#
z!~}|{^yrwvutsrqponmlkjihgfedcba`_^A\[ZYX;VUTSR5PINMLKJIHGFEDCBA@?>=<;
:98765v3210/p-,+*)j'~%$#"!~}|{zyxwvutsrqponmlkjMhgfedcba`BXA\UZ=XWPUTM
R5JONMLE.,BGFEDC&A:?>=<;:9876543210/.-,+*)('&g$#"!~}|{z\r[votsrqpSnmfk
jihgfedcba`_^]\[ZYXWVUTS6QPONM0KJIHG*ED=BA@?>=<;:9876543210/.-,+*k('&%
$e"c~}v{zsx[votsrkponmlOjibgfedcba`_^]\[ZYXWVUTSRQPO2MLKJIHGFE'=&A:?"=
6;:9276543t10).-,+*)('&%$#"!~}|{zyxwvutWrqponmlkjLbKf_dcba`C^]\UZYXWVU
TSRQPONMLKJIHGFEDC&A@?>=~;:987x543,10/.-,+*)('&%$#"!~}|{zyx[vutsrUponm
lOjihafedcba`_^]\[ZYXWVUTSRQPO2MLKJIHGFE'=&A:?"=<;4927x5.321*/p',+*)"i
g}$#"!~a|{zsxwvutsrqponmlkjihgfedcbaD_^]\[ZYXW9O8SLQPONM0KJIHGFEDCB;@?
>=<;:9876543210q.-,+*k('&%$e"!~}|{zyxwputsrqponmlkjihgfeHcba`_B]@[ZYRW
PU8SRKPOHM0KDIHG@E(=BA@?8=<;:9z76543210/.',+*)('&%$#"!~}|{z]xwvutsrqpR
hQlejMhg`ed]bE`Y^]\UZ=RWVUTMRQPON1LKJIHGFEDC<A@?>=<;:987654321r/.-,+*)
('g}f#z!~}|{^yxwvutsrUjonmlkjihgfedcbE`_^]\?ZYXWV9TSRQPONM0EJIHGFEDCBA
@?>=~;:987x5v321*/(-n+$)('~%f{"!~}v{zyxwZutsrqponQfkjihgfedcba`_^A\[ZY
XWVUT6L5PIN1LKJCHAF)D=BA@9>=<;:{87654321r).-,+*)('&%$#"!b}|{zyxwvuWmVq
jonmPeNihgfedcba`_^]\[ZY<WVUTS6QPO2G0KJIHGFEDCBA@?>=<;|98765v3t10/(-&+
l)"'&%|#dy~}|{tyxwZoXsrqponmlkjihgfedcFa`_^]\[ZY;Q:UNSRQ4I2MLKJIHGFEDC
BA@?>=~;:9876543s+r/(-,+l)"'h%$#"!~}|{zyxwvutsVqponmPkjiLg`eHcba`_^]\[
ZYXWVUTS6QPONM0K.IHG@E>C&A:?>=6;|38765.321r/(-n+*)('&%$#"!~}|{zy\wvuts
rqpoQgPkdihgJe^cFa`_^]\[ZYXWVUTSRQ4ONMLKJIHG)?(C<A@?"=<5|9876543210/.-
,+*)j'&%$#d!~}`{zs\wvutsrqponmlkjihgJedcbaD_B]\UZYRW:OTSRQJONM0KJC,GFE
DCBA@?>=<;:987x543210/.-m%l)"'h}$#"!x}|{^yxqZutsrqponmlkjihgfeHcba`_^]
\[=S<WPUTS6QPOHM0KJIHGFEDCBA@?>=<;|98765v321r/.-&+l)('&%$#"!~}|{zyxwZu
tsrqToRmlkdibgJed]baZ_BW\[ZYRWVU8SRQJO2MLKJIHGFEDCBA@?>=~;:9876543s+r/
(-,+l)('~%f#"!~}|{zyxwvutsrqTonmlkjihgI_Hc\a`_B]\[ZYRW:UTSRQPONMLKJIHG
FE(CBA@?"=<;|98765.3t10/.-,+*)('&%$#"!b}|{zy\wZunsrqjoRglkjibgfeHcba`_
X]@[ZYXWVUTSRQPONMLK.IHGFEDCBA#9"=6;|92765.321r/.-,+$)j'&%$#"!~}|{zyxw
vuXsrqponmlkMcLg`edcFa`_^]\U>YXWVUTSRQPONMLKJI,GFEDC&A@?"=<;:981x54321
0/.-,+*)('&%f#"!~}`{^yxwpunsVqpinmfkNchgfe^cbaD_^]\[ZS<WVUTSRQPONMLKJI
HG*EDCBA@?>=}5|92765v3210/.'n+*)('&%$#"!~}|{zy\wvutsrqpoQgPkdihgJedcba
`_^W@[ZYXWVUTSRQPONMLK.IHGFE(CBA$?>=<;:981x543210/.-,+*)('&%f#"!~}`{^y
rwvunsVkponmfkjiLgfedcba`YB]\[ZYXWVUTSRQPONM0KJIHGFEDC%;$?8=~;49870543
t10/.-,+*#j'&%$#"!~}|{zyxwvuXsrqponmlkMcLg`edcFa`_^]\[ZYRW:UTSRQPONMLK
JIHGFE(CBA@?"=<;|987654321*/p-,+*)('&%$#"!~}|{^yxwvuXsVqpohmfkNihafe^c
F[`_^]V[ZY<WVUTSRQPOHM0KJIHGFEDCBA@?>=<;|987654321q)p-&+*)j'&%$#"!~}v{
^yxwvutsrqponmlkjiLgfedcba`_AW@[TYXW:UTSRQPONMLKDI,GFEDCBA@?>=<;:987x5
4321r/.-n+*)('&%$#"!x}`{zyxwvutsrqponmlkNihgfeHcFaZ_^]V[>SXWVUNSRQ4ONM
LKJIHGFE>C&A@?>=<;:987654321r/.-,+*)('g}f#z!b}v{zyrwvuXsrqponmlkjibgJe
dcba`_^]\[ZYXWVU8SRQPONMLK-C,G@EDC&A@?>=<;:9876/v3210/.-,+*)('&%$#d!~}
|{^yxwZutsrqponmlkjcLgfedcba`_^]\[ZYXW:UTSRQ4O2MLKDIBG*ED=BA:?"7<;:927
65v3210/.-,+*)(!h%$#"!~}|{zyxwvutsVqponmlkjiKaJe^cbaD_^]\[ZYXWVUTM6QPO
NMLKJIHGFEDCBA$?>=<;:987w/v3,10/p-,+*)('&%$#"!x}`{zyxwvutsrqponmlkNihg
feHcbaD_^]\[ZYXWVUTSLQ4ONMLKJIHGFEDCBA@?"=<;:9z765v3210/.-,+*)('~%f#"!
~}|{zyxwvutsrqTonmlkjihgI_Hc\ECY^]\?ZYXWVUTSRQPONGL/JIHGFEDCBA@?>=<;:{
876543210p(o,%*)(i&%$#"!~}|{zyxwpYtsrqponmlkjihgfedGba`_^A\[Z=XWVUTSRQ
PONMLKD-HGFEDCBA@?>=<;:98y65432s0q.',+*#(i~%$#"y~}|_zyxwvutsrqponmfOji
hgfedcba`_^]\[Z=XWVUTSRQP2H1LEJ-HAFED=BA@#>=<;:987654321*q.-,+*)('&%$#
"!~}|_zyxwvutsrTjSnglkjMhgfedcba`_^]\[ZSX;VUTSRQPONMLKJIHGF)DCBA@#>=<}
:9876543210/.-,%*k('&%$#"!~}|{zyxwvYtsrqpSnQlkdihafI^cba`Y^]\?ZYXWVUTS
RQPONMLEJ-HGFEDCBA@?>=<;:98y6543210/.n&m*#('&g$#"!~}|{zyxwvutmrUponmlk
jihgfedcba`C^]\[ZYXWV8N7RKPON1LKJIHGFEDCBA@?>=6}:9876543210/.-,+*k('&%
$e"!~a|{zyxwvutsrqponmfOjihgfedcba`_^]\[Z=XWVUT7R5PONGLEJ-HG@ED=B%:?>=
<5:98y6543210/.-,+*)('~g$#"!~}|{zyxwvutsrUponmlkjihJ`Id]bE`_X]\UZYX;VU
TSRQPONMLKJIHG@)DCBA@?>=<;:987654u210/.-,+*j"i&}$#"c~}|{zyxwvutsrqpong
lOjihgfedcba`_^]\[Z=XWVUT7RQP3NMLKJIHGFEDCBA@?>7<}:9876543210/.-,+*k('
&%$e"c~}|uzsx[votsrkponQlkjihgfedcba`_^]\UZ=XWVUTSRQPONMLKJIH+FEDCBA@?
>~6}:3zx0543t10/.-,+*)('&%$#"!x}`{zyxwvutsrqponmlkNihgfedcbaCYB]V[ZY<W
VUTSRQPONMLKJIHGFEDCBA@?>=<;:98765432+r/.-,+*)('&%$#"!~}`{zyxwZutsVqpo
nmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLE.IHGFEDCBA@?>=<;:9z76543t1r/.-&+$)
j'~%$#z!bw|{zyrwvuXsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONG0KJIHGFEDCBA
@?>=<;|987654321q)p-&+l)('~%|#d!x}|{ty\qvutslqpoRmlkjihgfedcba`_^]\[ZY
XWVUTSRQPONMLKJIHA*EDCBA@?>=<;:98765v3210/.-,+k#j'~%$#d!~}|{zyxwvutsrq
ponmlkjihgfedcba`_^]\[ZYRW:UTSRQPONMLKJIHGFE(CBA@?"=<;|9876543210/.-,+
*)('&%$#"!~}|{zyxwvutsrqjoRmlkjihgfedcba`_^]@[ZYXW:U8SRQJOHM0KDIHG@E(=
BA@?8=<;|9876543210/.-,+*)('&%$#"!~}|{zyxwvutsrqjoRmlkjihgfedcba`_^]@[
ZYXWVUTS5K4OHMLK.IHGFEDCBA@?>=<;:9876543210/.-,+*)('&%$#z!b}|{zyxwvuts
rqponmPkjihgfedcE[D_X]\[>YXWVUTSRQPONM0E.IHGFEDCBA@?>=<;:9z76543t10/p-
,+*)('&%$#"!bw`{zyxwvutsrqponmlkNihgfeHcFa`_X]V[>YRWVUNS6KPONMFKJI,GFE
DCBA@?>=<;|3z76543210/.-,+*)('h%$#"!~}|{]s\wputsVqponmlkjihgfeH]Fa`_^]
\[ZYXWVUTSRQ4ONMLKJIHG)?(C<A@?"=<;:987654321r/(-n+*)('&%$#"!~}|{zy\wvu
tsVqpoRmlkjihgfedcbaD_X]@[ZYXWVUTSRQPONMLK.IHGFE(C&A@?8=6;|92765.3t+0/
.-&+*)j'&%$#"!~}|{zy\wpuXsrqponmlkjihgfedcFa`_^]\[ZY;Q:UNSRQ4ONMLKJIHG
FEDC&A:?"=<;:9876543210/.-n+*)('&%$#cyb}v{zy\wvutsrqponmlkNihaJedcba`_
^]\[ZYXWVU8SRQPO2MLK.IHGFEDCBA@?>=~;:3z76543210/.-,+*)('h%$#"!b}`{zyrw
puXslqpohmPejihg`edcFa`_^]\[ZYXWVU8SRK4ONMLKJIHGFEDCBA@?"=<;:98765u-t1
*/p-,+$)"'h%|#"!x}`uzyxwputsVqponmlkjihgfeHcb[D_^]\[ZYXWVUTSRQPO2MLKJI
HGFE'=&A:?>=~;:9876543210/p-,+$)j'&%$#"!~}|{zyxwvuXsrqpoRmlkNihgfedcba
`_^]@[ZYRW:UTSRQPONMLKJIHGFE(CBA@?"=~;:92705v3,10/(-n%*)('~%$#d!~}|{zy
xwvutsVqpohmPkjihgfedcba`_^]\[>YXWVUTSRQ3I2MFKJI,GFEDCBA@?>=<;|98705v3
210/.-,+*)('&%$#d!~}|{zyxwYoXslqpoRmlkjihgfedcbaD_^]\U>YXWVUTSRQPONMLK
JI,GFEDC&A@?"=<;:987654321r/.-,%l)('&%$#"!~}|{zyxwZutsrqToRmlkdibgJe^c
baZ_BW\[ZYRWVU8SRQPONMLKJIHG*EDCB;$?>=<;:9876543210/p-,+*)('&%e{d!x}|{
^yxwvutsrqponmPkjihaJedcba`_^]\[ZYXWVU8SRQPONMLK-C,G@EDC&A@?>=<;:98765
v3210/(-n+*)('&%$#"!~}|{zy\wvutsVqpoRmlkjihgfedcbaD_^]\[TY<WVUTSRQPONM
LKJIHG*EDCBA$?"=<;4927x5.321*/p',+*)"'&%f#"!~}|{zyxwvuXsrqpohmPkjihgfe
dcba`_^]\[>YXWVUTSRQ3I2MFKJI,GFEDCBA@?>=<;|98765.3t10/.-,+*)('&%$#"!b}
|{zyxwvuWmVqjonmPkjihgfedcba`_B]\[ZYXQ:UTSRQPONMLKJIHGFE(CBA@?"=<;|987
6543210/.-n+*)('&}f#"!~}|{zyxwvutsrqTonmlkNiLgfe^c\aD_X]\[TY<QVUTSLQPO
2MLKJIHGFEDCBA$?>=<;:3z76543210/.-,+*)('h%$#"!~}|{]s\wputsVqponmlkjihg
feHcba`_^W@[ZYXWVUTSRQPONMLK.IHGFEDCBA#9"=6;:9z76543210/.-,+l)('&%$#z!
b}|{zyxwvutsrqponmPkjihgJedcFa`_^]\[ZYXWVU8SRQPONMFK.IHGFEDCBA@?>=<;:9
z76543t1r/.-&+$)j'~%$#z!bw|{zyrwvuXsrqponmlkjihgJedcba`_X]@[ZYXWVUTSRQ
PONMLK.IHGFEDCBA#9"=6;:9z76543210/.-,+l)('&%$#z!b}|{zyxwvutsrqponmPkji
hgfedcE[D_X]\[>YXWVUTSRQPONM0KJIHGFED=&A@?>=<;:987654321r/.-,+l)('h%$#
"!~}|{zyxwZutsrqpongPkjihgfedcba`_^]\[>YXWVU8S6QPOHMFK.IBGFE>C&;@?>=6;
:9z76543210/.-,+l)('&%$#"yb}|{zyxwvutsrqponmPkjihgfedcE[D_X]\[>YXWVUTS
RQPONM0KJIHGFED=&A@?>=<;:987654321r/.-,+*)('g}f#z!~}`{zyxwvutsrqpoRmlk
jihgfe^cFa`_^]\[ZYXWVUTSRQ4ONMLK.IHG*EDCBA@?>=<;:9z76543210/(-n+*)('&%
$#"!~}|{zy\wvutsVqTonmfkdiLgf_dc\aD_X]\[TY<QVUTSLQPO2MLKJIHGFEDCBA$?>=
<;:98705v3210/.-,+*)('&%$#d!~}|{zyxwYoXslqpoRmlkjihgfedcbaD_^]\[ZYXWPU
8SRQPONMLKJIHGFEDC&A@?>=<;:9y1x5.321r/.-,+*)('&%$#d!~}|{zyxwvoXsrqponm
lkjihgfedcFa`_^]@[ZY<WVUTSRQPONMLK.IHGFEDCBA@9"=<;:9876543210/.-n+*)('
h%f#"y~}v{^sxwvunsrqTonmlkjihgfedcFa`_^]\[ZYXQ:UTSRQPONMLKJIHGFE(CBA@?
>=<;{3z70543t10/.-,+*)('&%f#"!~}|{zyxqZutsrqponmlkjihgfeHcba`_^]\[=S<W
PUTS6QPONMLKJIHGFE(CBA@?>=<;:927x543210/.-,+*)('&%f#"!~}`{zy\wvutsrqpo
nmlkNihgfedcba`_X]@[ZYXWVUTSRQPONMLK.IHGFE(C&A@?8=6;|98165.3t1*/.-&+l#
('&%|#"!b}|{zyxwvutsrqTonmlkjihgfe^cFa`_^]\[ZYXWVUTSRQ4ONMLKJIHG)?(C<A
@?"=<;:987654321r/.-,+*)('&%|#d!~}|{zyxwvutsrqpoRmlkjihgfeG]FaZ_^]@[ZY
XWVUTSRQPO2MLKJIHGFEDCBA@9"=<;:9876543210/.-n+*)('h%$#d!~}|{zyxwvutsVq
ponmlkjihgfed]Fa`_^]\[ZYXWVUTSRQ4ONMLK.I,GFE>C<A$?>7<;49z70543,1r).-,+
$)('h%$#"!~}|{zyxwZutsrqponmlkjihaJedcba`_^]\[ZYXWVU8SRQPONMLK-C,G@EDC
&A@?>=<;:98765v3210/.-,+*)('&}f#"!~}|{zyxwvutsrqTonmlkjihgI_Hc\a`_B]\[
ZYXWVUTSRQ4ONMLKJIHGFEDCBA@?8=~;:9876543210/.-,+l)('&%f#"!b}|{zyxwvuts
rqTonmlkjihgfedcba`_X]@[ZYXWVUTSRQPONMLK.IHGFE(CBA$?>=<;:9876543t10/.-
,+*)('&%$#"!x}`{zyxwvutsrqponmlkNihgfedcbaCYB]V[>YXQVUNS6QJONMFK.CHGFE
>'%;@?>!<;:9876543210q.-,+*)('&%$#"!~}|uz]xwvutsrqponmlkjihKfedcba`_^@
V?ZSXWV9TSRQPONMLKJIH+FEDCBA@?>=<;:98765.u210/.-,+*)('&%$#"c~}|{z]xwvY
tsrqponmlkjihKfedcba`_^]\[ZYXWVUN7RQPONMLKJIHGFEDCB%@?>=<}:{876/4-2s*/
.-,%*)(i&%$#"!~}|{zyx[vutsrqponmlkjihgfe^Gba`_^]\[ZYXWVUTSR5PONMLKJIH*
@)D=B%:?>=<5:98y6543210/.-,+*k('&%$#"!~}|{zyxwvunWrqponmlkjihgfedcbE`_
^]\[ZYX:P9TMRQP3NMLKJIHGFEDCB%@?>=<;:9876543210/.',m*)('&%$#"!~}|{zyx[
vutsrUponQlkjihgfedcba`C^]\[ZYXWVUTSRQPONMLEJ-HGFEDCBA@?>=<;:98y65432s
0q(-,+*#('&g$#"!~}|{zyxwvYtsrqponmlkjihgfedcb[`C^]\[ZYXWVUTSRQPON1LKJI
HGFED&<%@9>!6;:981654u210/.-,+*)('&g$#"!~}|{zyxwvutsrqpinQlkjihgfedcba
`_^]\?ZYXWVUTSR4J3NGLKJ-HGFEDCBA@?>=<}:9876543210/.-,+*)('~g$#"!~}|{zy
xwvutsrUponmlOjihKfedcba`_^]\[Z=XWVUTSRQPONMLKJIHGFE>'BA@?>=<;:9876543
2s0/.-,m*k('&}${"c~}v{zsxwvYtsrqponmlkjihKfedcba`_^]\[ZYXWVUTSL5PONMLK
JIHGFEDCBA@#>=<;:9876v.u2+rp(-,+l)('&%$#"!~}|{^yxwvutsrqponmlkjihgf_Hc
ba`_^]\[ZYXWVUTS6QPONMLKJI+A*E>CBA$?>=<;:9876543t10/.-,+*)('&%$#"!~}|{
ty\wvutsrqponmlkjihgJedcbaD_^]@[ZYXWVUTSRQPO2MLKJIHGFEDCBA@?>=<;:927x5
43210/.-,+*)('&%f#"!~}`{^yxwpunsVqjonmfkjiLgfedcba`_^]\[>YXWVUTSRQPONM
LKJIHGFE>C&A@?>=<;:987654321r/.-,+*)('g}f#z!b}|uzyr[YotsrUponmlkjihgfe
dGba`_^]\[ZYXWVUTSRQPONGL/JIHGFEDCBA@?>=<;:{876543210p(o,%*)(i&%$#"!~}
|{zyx[vutsrqponmlkjihgfedcbaZC^]\[ZYXWVUTSRQPON1LKJIH+FED'BA@?>=<;:987
6w43210/.-,+*)('&%$#"!~}v_zyxwvutsrqponmlkjMhgfedGbE`_^W\UZYX;VUTSRQPO
NMLKJ-HGFEDCBA@?>=<;:9876543,s0/.-,+*)('&%$#"!~a|{zyxwvutVlUpiRPfkjiLg
fedcba`_^]\[>YXWVUTSRQPONMLKJIHGFED=&A@?>=<;:987654321r/.-,+*)('g}f#z!
~}`{zyxwvutsrqpoRmlkjihgfedcba`_^]\[ZYXWPU8SRQPONMLKJIHGFEDC&A@?>=~;:9
z76543210/.-,+l)('&%$#"!~}|{zyxwvutsrqjoRmlkjihgfedcba`_^]@[ZYXW:UTS6Q
PONMLKJIHGFE(CBA@?>=<;:9876543210/.-&+l)('&%$#"!~}|{zyxwZutsrqponmOeNi
bgJedc\aZCAW\[Z=XWVUTSRQPONML/JIHGFEDCBA@?>=<;:987654-2s0/.-,+*)('&%$#
"!~a|{zyxwvutVlUpinmlOjihgfedcba`_^A\[ZYXWVUTSRQPONMLKJIHGFE>'BA@?>=<;
:98765432s0/.-,m*)(i&%$#"!~}|{zyx[vutsrqponmlkjihgfedcba`_XA\[ZYXWVUTS
RQPONML/JIHGF)DCB%@?>=<;:987654u210/.-,+*)('&%$#"!~}|{zyr[vutsrqponmlk
jihgfIdcba`_^]\>T=XQV9TSLQPIN1LEJIHAF)>CBA@9"~6;:9z76543210/.-,+l)('&%
$#"!~}|{zyxwvutsrqpiRmlkjihgfedcba`_^]@[ZYXWVUTS5K4OHMLK.IHGFEDCBA@?>=
~;:9876543210/.-,+*)('&%$#z!b}|{zyxwvutsrqponmPkjihgJedcFa`_^]\[ZYXWVU
8SRQPONMLKJIHGFEDCBA@?>=<;49z76543210/.-,+*)('h%$#"!b}|{^yxwvutsrqponm
Pkjihgfedcba`_^]\[ZYXWVUTSLQ4ONMLKJIHGFEDCBA@?"=<;:98765u-t1*/.-n+*)('
&%$#"!~}`{zyxwvutsrqponmlkjihgfedc\aD_^]\[ZYXWVUTSRQPO2MLKJIHGFE'=&A:?
>=~;:9876543210/p-,+*)('&%$#"!~}|{zyxwvutsrkTonmlkjihgfedcba`_B]\[ZY<W
VU8SRQPONMLKJIHG*EDCBA@?>=<;:9876543210/.-,%l)('&%$#"!~}|{zyxwZutsrqTo
RmlkdibgfeHcba`_^]\[ZYXW:UTSRQPONMLKJIHGFEDCBA@?>=<5|9876543210/.-,+*)
j'&%$#"!~}_u^yrwZutmrqjoRmfkjibgJ_dcbaZCAW\[Z=XWVUTSRQPONML/JIHGFEDCBA
@?>=<;:987654321*q.-,+*)('&%$#"!~}|_zyxwvutsrTjSnglkjMhgfedcba`_^]\?ZY
XWVUTSRQPONMLKJIHGFEDCBA@9>!<;:9876543210/.-,m*)('&g$#"c~}|{zyxwvutsrU
ponmlkjihgfedcba`_^]\[ZYXWVOT7RQPONMLKJIHGFEDCB%@?>=<}:{876/4-2s*/.-,%
*)(i&%$#"!~}|{zyx[vutsrqponmlkjihgfedcba`_^]\UZ=XWVUTSRQPONMLKJIH+FEDC
BA@?>~6}:38y654-2+0q(-,+*#('&g$#"!~}|{zyxwvYtsrqponmlkjihgfedcba`_^]\[
ZSX;VUTSRQPONMLKJIHGF)DCBA@?>=<|4{81654u210/.-,+*)('&g$#"!~}|{zyxwvuts
rqponmlkjihg`Idcba`_^]\[ZYXWVUT7RQPON1LKJ-HGFEDCBA@?>=<}:9876543210/.-
,+*)('&%$#"!~}v_zyxwvutsrqponmlkjMhgfedGbE`_X]\UZ=RWVUTMRQP3NMLKJIHGFE
DCB%@?>=<;:9876543210/.-,+*)('&%|e"!~}|{zyxwvutsrqpSnmlkjihgfH^Gb[`_^A
\[ZYXWVUTSRQP3NMLKJIHGFEDCBA@?>=<;:9876543,s0/.-,+*)('&%$#"!~a|{zyxwvu
tVlUpinmlOjihgfedcba`_^A\[ZYXWVUTSRQPONMLKJIHGFEDCBA@9>!<;:9876543210/
.-,m*)('&g$#"c~}|{zyxwvutsrUponmlkjihgfedcba`_^]\[ZYXWVUTMR5PONMLKJIHG
FEDCBA@#>=<;:{8y654-2+0q.-&+*#(i~%$#"y~}|_zyxwvutsrqponQlkjihgfedcba`_
^]\[ZYXWVUTSRQPIN1LKJIHGFEDCBA@?>=<}:98765432r*q.',m*)"'&}$#"c~}|{zyxw
vutsrUponmlkjihgfedcba`_^]\[ZYXWVUTMR5PONMLKJIHGFEDCBA@#>=<;:9876v.u2+
0/.o,+*)('&%$#"!~a|{zyxwvutsrqponmlkjihgfedcba`_XA\[ZYXWVUTSRQPONML/JI
HGF)DCB%@?>=<;:987654u210/.-,+*)('&%$#"!~}|{zyxwvutslUponmlkjihgfedcba
`C^]\[Z=X;VUTMRKP3NMFKJCH+F?DCB;@?>!<;:9876543210q.-,+*)('&%$#"!~}|{zy
xwvutsrqpohQlkjihgfedcba`_^]\?ZYXWVUTSR4J3NG0.DIHG*EDCBA@?>=<;:9z76543
210/.-,+*)('&%$#"!~}|{zyxqZutsrqponmlkjihgfeHcba`_^]\[=S<WPUTS6QPONMLK
JIHGFE(CBA@?>=<;:9876543210/.-,+*)('&%|#d!~}|{zyxwvutsrqpoRmlkjiLgfeHc
ba`_^]\[ZYXW:UTSRQPONMLKJIHGFEDCBA@?>=<;:98705v3210/.-,+*)('&%$#d!~}|{
^y\wvotslqTinmlkdihgJedcba`_^]\[ZY<WVUTSRQPONMLKJIHGFEDCBA@?>=<;:927x5
43210/.-,+*)('&%f#"!~}|{zy[qZunsrqTonmlkjihgfedcFa`_^]\[ZYXWVUTSRQPONM
LKJIHGFEDC<A$?>=<;:9876543210/p-,+*)('&%e{d!x}|{^yxwvutsrqponmPkjihgfe
dcba`_^]\[ZYXWVUTSRQPONMLE.IHGFEDCBA@?>=<;:9z76543t10/p-,+*)('&%$#"!b}
|{zyxwvutsrqponmlkjihgfedcba`_^W@[ZYXWVUTSRQPONMLK.IHGFE(C&A@?8=6;|981
65.3t+0/.-&+*)j'&%$#"!~}|{zy\wvutsrqponmlkjihgfedcba`_^]\[ZYXQ:UTSRQPO
NMLKJIHGFE(CBA@?>=<;{3z705v32+0/(-,+l)('&%$#"!~}|{^yxwvutsrqponmlkjihg
fedcba`_^]\[ZS<WVUTSRQPONMLKJIHG*EDCBA@?>=}5|92765v3210/.-,+*)('h%$#"!
~}|{zyxwvutsrqponmlkjihgfedc\aD_^]\[ZYXWVUTSRQPO2MLKJI,GFE(CBA@?>=<;:9
87x543210/.-,+*)('&%$#"!~}|{zyxwvutslqTonmlkjihgfedcba`_B]\[ZY<WVU8SRQ
PONMLKJIHG*EDCBA@?>=<;:9876543210/.-,+*)('&%|#d!~}|{zyxwvutsrqpoRmlkji
hgfeG]FaZ_B]\UZYRW:OTSRQJ31GLKJ-HGFEDCBA@?>=<}:9876543210/.-,+*)('&%$#
"!~}|{zyxqvYtsrqponmlkjihgfedGba`_^]\[Z<R;VOTSR5PONMLKJIHGFED'BA@?>=<;
:9876543210/.-,+*)('&%$#"!xa|{zyxwvutsrqponmlOjihgfIdcbE`_^]\[ZYXWVUT7
RQPONMLKJIHGFEDCBA@?>=<;:987654321*q.-,+*)('&%$#"!~}|_zyxwvYtWrqjonglO
dihgf_dcbE`_^]\[ZYXWVUT7RQPONMLKJIHGFEDCBA@?>=<;:987654321*q.-,+*)('&%
$#"!~}|_zyxwvutsrTjSnglkjMhgfedcba`_^]\?ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=
<;:92y6543210/.-,+*)('&g$#"!~}|{z\r[votsrUponmlkjihgfedGba`_^]\[ZYXWVU
TSRQPONMLKJIHGFEDCBA@9>!<;:9876543210/.-,m*)('&g$#"c~}|{zyxwvutsrUponm
lkjihgfedcba`_^]\[ZYXWVUTSRQPONGL/JIHGFEDCBA@?>=<;:{87654u2s0/.',%*k('
~%${"cx}|{zsxwvYtsrqponmlkjihKfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFED=B%@?
>=<;:9876543210q.-,+*)('&f|e"y~a|{tyxqvutWrqponmlkjihgfIdcba`_^]\[ZYXW
VUTSRQPONMLKJIHGFEDCB;@#>=<;:9876543210/.o,+*)('&%$dzc~w|{z]xwvutsrqpo
nmlOjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHG@)DCBA@?>=<;:987654u210/.o,+*k
('&%$#"!~}|{z]xwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUN7RQPONMLKJIHGFEDCB%
@?>=<}:98y6543210/.-,+*k('&%$#"!~}|{zyxwvutsrqponmlkjihgfedc\E`_^]\[ZY
XWVUTSRQP3NMLKJIHGF(>'B;@#>=<5:38y6/432+0q(-,+*#jh~%$#d!~}|{zyxwvutsVq
ponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONG0KJIHGFEDCBA@?>=<;|98765v3210/.-,+
*)('&%$#"caa|{zyxwvutWUUponmlkjihKIIdcba`_^]\?==XWVUTSRQP311LKJIHGFED'
%%@?>=<;:98yww43210/.-,mkk('&%$#"!~a__zyxwvutsrUSSnPlkjiLaJedcba`CXA\>
ZS<QV97ML53O20FE.,,**((&&$$">=~5|9y70w.32s*q.n,+*)('h}f#"!~}|{z]r[vXtm
VkpSQgfOMiLJ`_HFbECYXA??==;;99775Q42HG0.JIHG*?(C%A:#8=~|43zx6wu-,sqqoo
mmkkiig%fdzyb`|{zy\qZutsrqponmlO*ihgfedcba`_^]\[ZYXWVUTS6QPONML/--gGFE
DCBA@#!!<;:987654uss0/.-,+*)(igg$#"!~}|{z][[vutsrqponQOOjihgfedcbECC^]
\[ZYXWV977RQPONMLKJ-++FEDCBA@?>!}}:98765432sqq.n,+*)j!h%$#"!~av_z\xqZo
tWUkjSQQOkNLbaJHHFbECYXA??==;;997SR5J3N0LE.CH+)?>'%%##!!}}{98y0w4t210/
.-n%l)('&%$#"cxa|^zs\qvYWmlUSoRPfeNLLJJHdGE[ZCA]@>TS<::88664P31GF/-IHG
F)>'B$@9"7<}{32ywwuussqqo-nl$#jhhffddb~a_ut][wvutWlUponmlkjihgJ%dcba`_
^]\[ZY<WVUTSR533mMLKJIHGF)''BA@?>=<;:{yy6543210/.omm*)('&%$#"caa|{zyxw
vutWUUponmlkjihKIIdcba`_^]\?==XWVUTSRQP311LKJIHGFED'%%@?>=<;:98yww4t21
0/p'n+*)('&g|e"b~w`uz][qpYWsVTjiRPPNNLLJJHdcF[D_A]V?TY<:PO86R53IH1//--
++))'CB%:#>~<;:987x/v3210/.-,m$k(h&}f{"cawv_]y\ZpoXVrUSihQOkNLbaJHHFFD
`CAWV?==;;9U86LK42NMLK.C,G)E>'<A$"87~||zzx6wu-,sqqoom+lj"!hf$#"!bw`{zy
xwvutsrU0onmlkjihgfedcba`_B]\[ZYX;99srRQP3NMLKJIHG*((CBA@?>=<;|zz76543
210/pnn+*)('&%$#dbb}|{zyxwvuXVVqponmlkjiLJJedcba`_^]@>>YXWVUTSRQ422MLK
JIHGFE(&&A@?>=<;:9zxx5u3210q(o,+*)('h}f#c!xav{^\rqZXXVrUSihQOkNLbaJHHF
FDDBB@\[>S<W9UN7LQ42HG0..,H+)?>'%A$"87~||zzxxvvt21r)p-m+*)('&g|e"!~}|{
zy\qZuWslUjoRPfeNLhKI_^GEaDBXW@>Z=;QP97S64JI20L/-CB+))''%A$"87~|:987x/
v3s1*q(-nl$#jhhf$ecyxa_{^\rqZXXVVTpSQgfOMihgfI^Gba`_^]\[ZY<uVUTSRQPONM
LKJIHGFED'BA@?>=~||X87654321rpp-,+*)('&%fdd!~}|{zyxwZXXsrqponmlkNLLgfe
dcba`_B@@[ZYXWVUTS644ONMLKJIHG*((CBA@?>=<;|zz76543210/pnn+*)('&%$#dbb}
_{zyx[pYtsrqpoRgPkMibK`eHF\[DB^A?UT=;W:8NM64P31GF/--++))''%%#?>!6}:z81
x/4us+*qo-nl$#jhhffddbb``^zy\qZuWsrqponQfOjihgfedcF[D_A]V?TY<:PO8664P3
1GF/-I,*@?(&&$@#!76}{{yyw5vt,+rp.-,+l#j'g%|ez!b`vu^\\ZvYWmlUSoRPfeNLLJ
JHHFFD`CAWV?=YXWV9N7RQPONMLKJI,eFEDCBA@?>=<}:98765vttP0/.-,+*)jhh%$#"!
~}|{^\\wvutsrqpoRPPkjihgfedcFDD_^]\[ZYXW:88SRQPONMLK.,,GFEDCBA@?"~~;:9
876543trr/.-,+*)('hff#"!~}|{zy\ZZuWsrqpShQlkjihgJ_HcEaZCX]@>TS<:V97ML5
331M0.DC,**((&&$$""~<;|3z7w5.u,1rp('nllj(ig}|eccaa__]][[YutWlUpRnmlkji
LaJedcba`_^AV?Z<XQ:OT75KJ311//--+G*(>=&$@#!76}{{yyw5vt,+rp.-,+l#j'g%|e
z!b`vu^\xwvuXmVqponmlkjihK&edcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;
:987x543210qooK+*)('&%$ecc~}|{zyxwvYWWrqponmlkjMKKfedcba`_^A??ZYXWVUTS
R533NMLKJIHGF)''BA@?>=<;:{yy6543210/.omm*)('&%$#"caa|{zyxwvutWUUpRnmlk
NcLgfedcbEZC^@\U>SX;9ON7553O20FE.,H+)?>'%A$"87~||zzxxvvt21r)p-m+$k"'hf
|{db~a_ut][wZXnmVTTRRPPNNLhgJ_HcEa`_^]\?T=XWVUTSRQ4I2M/KD-BG*(>=&$@#!7
6}{9zx0/vt2sq)(om+lj"!hffddb~a_ut][[YuXVlkTRnmlkNcLgIe^G\aDBXW@>><X;9O
N755331M0.DC,**(D'%;:#!=<;:{2y6543210/.-nI*k('&%$#dbb>|{zyxwvuXVVqponm
lkjiLJJedcba`_^]@>>YXWVUTSRQ422MLKJIHGFE(&&A@?>=<;:9zxx543210/.-nll)('
&%$#"!b``{zyxwvutsVTTonmlkjihgJHHcEa`_^AV?ZYXWVU8M6Q3OH1FK.,BA*((&B%#9
8!};|z21xvvttrrppn,+l#j'g%|ez!b`vu^\\ZvYWmlUSoRPfeNLLJJHHFFD`_BW@[=YXW
VUT7L5PONMLKJI,A*E'C<%:?"~65|zzx6wu-,sqqo-nl$#jhhf$ecyxa_{zyx[pYtVrkTi
nQOedMKKIeHF\[DB^]\[>S<WVUTSRQPON1jKJIHGFEDCBA@?>=<;:9876543210/.-,+*)
('&%$#"!~}|_zyxwvuXVV2ponmlkjiLJJedcba`_^]@>>YXWVUTSRQ422MLKJIHGFE(&&A
@?>=<;:9zxx543210/.-nll)('&%$#"!b``{zyxwvutsVTTonmlkjihgJHHcba`_^]\[><
<W9UTSR5J3NMLKJI,A*E'C<%:?"~65|zzx6wu-,sq/pn&%ljjhhffddb~}`u^y[wpYnsVT
jiRPlOMcbKIIGGEECCA]\?T=X:VUTSRQ4I2MLKJIHGF)>'B$@9"7<}{32yw5vt,+rppn,m
k#"igge#dbxw`^z][qpYWWUqTRhgPNjihgJ_HcEaZCX]@>TS<:V97ML5331M0.DC,*FEDC
&;$?>=<;:9876wR3210/.-,+*)('&%$#"!~}`{zyxwvYWW3qponmlkjMKKfedcba`_^A??
ZYXWVUTSR533NMLKJIHGF)''BA@?>=<;:{yy6543210/.omm*)('&%$#"caa|{zyxwvutW
UUponmlkjihKIIdcba`_^]\?==X:VUTS6K4ONMLKJ-B+F(D=&;@#!76}{9zx0/vttrrppn
nl*)j!h%e#zcx}`^ts\ZvYWmlUSSQQOOMMKgfI^GbD`_^]\[>S<WVUTSRQP3H1L.JC,AF)
'=<%#?"~65|z8yw/.us1rp('nllj(ig}|ec!b`vu^\x[YonWUUSoRPfeNLhgfeH]FaC_XA
V[><RQ:8866442N1/ED-+G*(>=&$$">!}54{y7654u,s0/.-,+*)('hC$e"!~}|{^\\8vu
tsrqpoRPPkjihgfedcFDD_^]\[ZYXW:88SRQPONMLK.,,GFEDCBA@?"~~;:9876543trr/
.-,+*)('hff#"!~}|{zy\ZZutsrqponmPNNihgfedcbaDBB]?[ZYX;P9TSRQPO2G0K-IB+
@E(&<;$""~<}{32ywwu3tr*)pnnlljjhhf$#dyb}_{t]rwZXnmVTTRRPPNjMKa`IGGEECC
AA?[Z=R;V8TSRQPO2G0KJIHGFED'<%@">7~5:{y10wu3tr*)pn,mk#"igge#dbxw`^z][q
pYWWUqTRhgPNjihgJ_HcEaZCX]@>TS<::8866442N1/ED-++)E(&<;$">=<;|3z7654321
0/.oJ+*)('&%$#"!~}|{zyxwvutsrqponmPkjihgfIGG#a`_^]\[Z=;;VUTSRQPON1//JI
HGFEDCB%##>=<;:9876wuu210/.-,+*kii&%$#"!~}|_]]xwvutsrqpSQQlkjihgfedGEE
`_^]\[ZYX;99TSRQPONML/--H*FEDC&;$?>=<;:{2y6v4-t+0qo'&mkki'hf|{dbb``^^\
\ZZXtsVkToQmfOdiLJ`_HFFDDBB@@>><XW:O8S5QPONML/D-HGFEDCBA$9"=};4{27xv.-
trrp.om%$ki'hf|{db~a_ut][wZXnmVTpSQgfOMMKgJH^]FD`_^]@U>Y;WP9NS64JI200.
J-+A@)'C&$:9"~~||z8yw/.ussq/pn&%lj('&%f{d!~}|{zyxwvY4srqTonmlkjMKK'edc
ba`_^A??ZYXWVUTSR533NMLKJIHGF)''BA@?>=<;:{yy6543210/.omm*)('&%$#"caa|{
zyxwvutWUUponmlkjihKIIdcba`_^]\?==XWVUTSRQP311L.JIHG*?(CBA@?>!6}:z81x/
4us+*qoom+lj"!hffddbb``^^\\ZvuXmVqSohQfkNLbaJHHFbECYXA??==;;9977553ON1
F/J,HGFEDC&;$?>=<;:98y0w4t2+r).om%$kiiggeec!b`vu^\\ZvYWmlUSSQmPNdcLJfe
dcF[D_A]V?TY<:PO86644220L/-CB+))''%%#?"~65|z8765v-t10/.-,+*)(iD%$#"!~}
|{zyxwvutsrqpoRmlkjihKII%pba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA@?>=<;:987
654RQ

WhiteSpace – язык для спСцагСнтов

Π―Π·Ρ‹ΠΊ программирования WhiteSpace

WhiteSpace Π±Ρ‹Π» ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π΅Π½ для Π°Π³Π΅Π½Ρ‚ΠΎΠ² спСцслуТб: ΠΊΠΎΠ΄, написанный Π½Π° этом языкС, ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ состоит ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ², табуляции ΠΈ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠ² строк. Β«Π£Π²ΠΈΠ΄Π΅Ρ‚ΡŒΒ» Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС выдСлСния ΠΌΡ‹ΡˆΡŒΡŽ. ΠŸΡ€ΠΈ этом любой Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ тСкст ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ считаСт коммСнтариями. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Hello, World Π½Π° WhiteSpace:

Hello,[Space]world![Space][Space][Tab][Space][Space][Tab][Space][Space][Space][LF]
[Tab][LF][Space][Space]
[Space][Space][Space][Tab][Tab][Space][Space][Tab][Space][Tab][LF]
[Tab][LF][Space][Space]
[Space][Space][Space][Tab][Tab][Space][Tab][Tab][Space][Space][LF]
[Tab][LF][Space][Space]
[Space][Space][Space][Tab][Tab][Space][Tab][Tab][Space][Space][LF]
[Tab][LF][Space][Space]
[Space][Space][Space][Tab][Tab][Space][Tab][Tab][Tab][Tab][LF]
[Tab][LF][Space][Space]
[Space][Space][Space][Tab][Space][Tab][Tab][Space][Space][LF]
[Tab][LF][Space][Space]
[Space][Space][Space][Tab][Space][Space][Space][Space][Space][LF]
[Tab][LF][Space][Space]
[Space][Space][Space][Tab][Tab][Tab][Space][Tab][Tab][Tab][LF]
[Tab][LF][Space][Space]
[Space][Space][Space][Tab][Tab][Space][Tab][Tab][Tab][Tab][LF]
[Tab][LF][Space][Space]
[Space][Space][Space][Tab][Tab][Tab][Space][Space][Tab][Space][LF]
[Tab][LF][Space][Space]
[Space][Space][Space][Tab][Tab][Space][Tab][Tab][Space][Space][LF]
[Tab][LF][Space][Space]
[Space][Space][Space][Tab][Tab][Space][Space][Tab][Space][Space][LF]
[Tab][LF][Space][Space]
[LF][LF][LF]

А Ρ‚Π°ΠΊ выглядит ΠΊΠΎΠ΄ с «подсвСткой синтаксиса»:

WhiteSpace – Π²Ρ‹Π±ΠΎΡ€ ДТСймса Π‘ΠΎΠ½Π΄Π° ΠΈ Π§Π΅Π»ΠΎΠ²Π΅ΠΊΠ°-Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΊΠΈ

Ook! – язык для ΠΎΡ€Π°Π½Π³ΡƒΡ‚Π°Π½Π³ΠΎΠ²

Π―Π·Ρ‹ΠΊ программирования Ook!

Ook! – Brainfuck'ΠΎΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΉ язык, практичСски ΠΊΠ»ΠΎΠ½; СдинствСнноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² ЯП для ΠΎΡ€Π°Π½Π³ΡƒΡ‚Π°Π½Π³ΠΎΠ² Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«Π΄Π°ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŽ памяти Π±Π°Π½Π°Π½Β»:

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ синтаксиса Brainfuck ΠΈ Ook!

Hello, World Π½Π° Ook! выглядит Ρ‚Π°ΠΊ:

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.

И Ссли этот ΠΊΠΎΠ΄ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΠ» Π²Π°ΠΌ ΠΎ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ ΠΈΠ· Β«Π˜Π³Ρ€Ρ‹ прСстолов», Ρ‚ΠΎ спСшим Π·Π°Π²Π΅Ρ€ΠΈΡ‚ΡŒ: Π² Ρ‡Π΅ΡΡ‚ΡŒ Π₯ΠΎΠ΄ΠΎΡ€Π° создали нСсколько ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Ρ… языков, Π²ΠΎΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ…. Π’Π°ΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° языкС Hodor выглядит запуск сСрвСра:

$HODOR: hodor? Hodor?!? HODOR. rhodor? Hodor Hodor  = rhodor? Hodor!?! hodor!? Hodor? rhodor? ('hodor? Hodor?!? HODOR. rhodor? Hodor Hodor ');
$HODOR: HODOR HODOR. HODOR.  = hodor? Hodor?!? HODOR. rhodor? Hodor Hodor ();

HODOR HODOR. HODOR. .hodor! hodor? hodor. ('/', HoDoRHoDoR (rhodor? Hodor!?! , rhodor? Hodor ) {
  rhodor? Hodor .Hodor hodor? HODOR? d('Hhodor? Hodor!? Hodor!? o Hooodorrhodor orHodor!? d!');
});

$HODOR: Hodor hodor? rHodor?! hodor? r = HODOR HODOR. HODOR. .Hodor!? Hodor? Hodor hodor. hodor? HODOR? (3000, HoDoRHoDoR () {

  $HODOR: hoHodor hodor.  = Hodor hodor? rHodor?! hodor? r.HODOR ddrhodor? Hodor Hodor ().HODOR ddrhodor? Hodor Hodor ;
  $HODOR: HODOR. orhodor.  = Hodor hodor? rHodor?! hodor? r.HODOR ddrhodor? Hodor Hodor ().HODOR. orhodor. ;

  hodor.hod('HooodorrHodor Hodor?!? HODOR Hodor. HODOR. Hodor!? hodor?  HODOR HODOR. HODOR.  Hodor!? Hodor? Hodor hodor. hodor? HODOR? Hodor? HODOR? hodor!  HODOR hodor.  hhodor. hodor. HODOR. ://%Hodor :%Hodor ', hoHodor hodor. , HODOR. orhodor. );

});

Chef – язык программирования для настоящих Π³ΡƒΡ€ΠΌΠ°Π½ΠΎΠ²

Π―Π·Ρ‹ΠΊ программирования Chef

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Chef выглядят ΠΊΠ°ΠΊ ΠΊΡƒΠ»ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Ρ€Π΅Ρ†Π΅ΠΏΡ‚Ρ‹. Код ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ состоит ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² с ΠΏΠ΅Ρ€Π΅Ρ‡Π½Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ инструкций ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²ΠΎ всСх случаях ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΎΠ². Π―Π·Ρ‹ΠΊ достаточно Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для написания слоТных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. Chef – ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для всСх, ΡƒΠ²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Ρ… Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΡƒΠ»ΠΈΠ½Π°Ρ€ΠΈΠ΅ΠΉ – этот ΠΊΠΎΠ΄ для Hello, World! ΠΏΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠ΅Ρ‡ΡŒ, ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ вкусным:

Hello World Cake with Chocolate sauce.

This prints hello world, while being tastier than Hello World Souffle. The main
chef makes a " world!" cake, which he puts in the baking dish. When he gets the
sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish
and then the whole thing is printed when he refrigerates the sauce. When
actually cooking, I'm interpreting the chocolate sauce baking dish to be
separate from the cake one and Liquify to mean either melt or blend depending on
context.

Ingredients.
33 g chocolate chips
100 g butter
54 ml double cream
2 pinches baking powder
114 g sugar
111 ml beaten eggs
119 g flour
32 g cocoa powder
0 g cake mixture

Cooking time: 25 minutes.

Pre-heat oven to 180 degrees Celsius.

Method.
Put chocolate chips into the mixing bowl.
Put butter into the mixing bowl.
Put sugar into the mixing bowl.
Put beaten eggs into the mixing bowl.
Put flour into the mixing bowl.
Put baking powder into the mixing bowl.
Put cocoa  powder into the mixing bowl.
Stir the mixing bowl for 1 minute.
Combine double cream into the mixing bowl.
Stir the mixing bowl for 4 minutes.
Liquify the contents of the mixing bowl.
Pour contents of the mixing bowl into the baking dish.
bake the cake mixture.
Wait until baked.
Serve with chocolate sauce.

chocolate sauce.

Ingredients.
111 g sugar
108 ml hot water
108 ml heated double cream
101 g dark chocolate
72 g milk chocolate

Method.
Clean the mixing bowl.
Put sugar into the mixing bowl.
Put hot water into the mixing bowl.
Put heated double cream into the mixing bowl.
dissolve the sugar.
agitate the sugar until dissolved.
Liquify the dark chocolate.
Put dark chocolate into the mixing bowl.
Liquify the milk chocolate.
Put milk chocolate into the mixing bowl.
Liquify contents of the mixing bowl.
Pour contents of the mixing bowl into the baking dish.
Refrigerate for 1 hour.

Piet – язык программирования для абстракционистов

Π―Π·Ρ‹ΠΊ программирования Piet

Piet – Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ язык для Ρ†Π΅Π½ΠΈΡ‚Π΅Π»Π΅ΠΉ абстрактного искусства. Π‘ΠΎΠ·Π΄Π°Π½ ΠΈ Π½Π°Π·Π²Π°Π½ Π² Ρ‡Π΅ΡΡ‚ΡŒ Ρ…ΡƒΠ΄ΠΎΠΆΠ½ΠΈΠΊΠ°-абстракциониста ΠŸΠΈΡ‚Π° ΠœΠΎΠ½Π΄Ρ€ΠΈΠ°Π½Π°. Код ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†Π²Π΅Ρ‚Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· 20 ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠΎΠ², ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ обрабатываСтся ΠΏΠΎ-своСму.

Π¦Π²Π΅Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Piet

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ сосСдними Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠΈ Ρ†Π²Π΅Ρ‚Π° ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. Π‘Π»ΠΎΠΊΠΈ ΠΎΡ‚Π΄Π΅Π»Π΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° Ρ‡Π΅Ρ€Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π±Π΅Π»Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠ΅ количСство пиксСлСй.

Π›ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ Hello, World! Π½Π° Piet выглядит скорСС ΠΊΠ°ΠΊ Goodbye, World:

УвСличСнная вСрсия Hello, World! Π½Π° Piet

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Π΅ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Ρ‹ языка – Piet++ ΠΈ πŸ…ΏπŸ…ΈπŸ…΄πŸ†ƒ.

LOLCODE – язык для Ρ‚Π΅Ρ…, Ρƒ ΠΊΠΎΠ³ΠΎ Π»Π°ΠΏΠΊΠΈ

Π―Π·Ρ‹ΠΊ программирования LOLCODE

Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΠ΅ΠΌΠ½Ρ‹Π΅ ΠΊΠΎΡ‚ΠΈΠΊΠΈ обзавСлись ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹ΠΌ языком (здСсь ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ лингвистичСскоС исслСдованиС LOLspeak Π² pdf) ΠΈ «свящСнным писаниСм», Π° Π·Π°Ρ‚Π΅ΠΌ, СстСствСнно, ΠΈΠΌ понадобился собствСнный язык программирования. Бинтаксис LOLCODE основан Π½Π° ΠΊΠΎΡˆΠ°Ρ‡ΡŒΠ΅ΠΌ слСнгС, ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠ°Ρ€ΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ Cobol. Π•ΡΡ‚ΡŒ нСсколько ΠΎΠ½Π»Π°ΠΉΠ½ IDE, ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… LOLCODE, ΠΈ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»ΠΎΠ² ΠΏΠΎ Β«Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅Β» Π½Π° ΠΌΠ΅ΠΌΠ½ΠΎΠΌ языкС Ρ‚ΠΎΠΆΠ΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚.

ArnoldC – язык для ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠΎΠ² Π’Π΅Ρ€ΠΌΠΈΠ½Π°Ρ‚ΠΎΡ€Π°

Π―Π·Ρ‹ΠΊ программирования ArnoldC

ArnoldC написан Π½Π° Scala, ΠΈ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Π½Π΅ΠΌ основаны Π½Π° Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹Ρ… Ρ†ΠΈΡ‚Π°Ρ‚Π°Ρ… ΠΈΠ· Ρ„ΠΈΠ»ΡŒΠΌΠΎΠ² Π»Π΅Π³Π΅Π½Π΄Π°Ρ€Π½ΠΎΠ³ΠΎ Π³ΡƒΠ±Π΅Ρ€Π½Π°Ρ‚ΠΎΡ€Π°. Hello, World Π½Π° ArnoldC выглядит Ρ‚Π°ΠΊ:

Бинтаксис языка впСчатляСт:

Бинтаксис языка ArnoldC

Java2k – для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ считаСт Java слоТным языком

Π―Π·Ρ‹ΠΊ программирования Java2k

Java2k – язык вСроятностный: Π΄Π°ΠΆΠ΅ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Π½Π΅ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ, Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΈ Π½Π΅Ρ‚. По ΠΎΡ†Π΅Π½ΠΊΠ΅ Π°Π²Ρ‚ΠΎΡ€Π° языка, Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° встроСнными функциями Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 90%. IDE для запуска ΠΊΠΎΠ΄Π° Π½Π° Java2k называСтся, Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, DIE. НаписанныС Π½Π° Java2k ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹Π΄Π°ΡŽΡ‚ нСпрСдсказуСмый Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запускС, ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒΡΡ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ – Ρ‚Π°ΠΊ Π°Π²Ρ‚ΠΎΡ€ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π» сборку мусора. Hello, World Π½Π° Java2k выглядит ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Π°ΠΊ ΠΆΠ΅ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎ, ΠΊΠ°ΠΊ ΠΈ Π½Π° Malbolge:

Hello, World Π½Π° Java2k

Velato – язык программирования для ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠΎΠ² Π΄ΠΆΠ°Π·Π°

Π―Π·Ρ‹ΠΊ программирования Velato

Velato прСдоставляСт ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ: ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΡƒΠ·Ρ‹ΠΊΡƒ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π’ качСствС исходного ΠΊΠΎΠ΄Π° Velato ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ MIDI-Ρ„Π°ΠΉΠ»Ρ‹, ΠΈ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ язык отличаСтся большой Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒΡŽ, этот ΠΊΠΎΠ΄ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π²ΡƒΡ‡Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π²ΠΏΠΎΠ»Π½Π΅ гармоничная ΠΌΡƒΠ·Ρ‹ΠΊΠ° с ΠΎΡ‚Ρ‚Π΅Π½ΠΊΠΎΠΌ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π΄ΠΆΠ°Π·Π°. Π’Π°ΠΊ выглядит Hello, World Π½Π° Velato:

Hello, World Π½Π° Velato

А Ρ‚Π°ΠΊ ΠΎΠ½ Π·Π²ΡƒΡ‡ΠΈΡ‚:

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Velato ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΎΡ‚Π°ΠΌΠΈ: Ρ‚Π°ΠΊΡ‚ΠΎΠ²Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€, Ρ‚ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½ΠΎΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ аспСкты MIDI-Ρ„Π°ΠΉΠ»Π° ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ компилятором. Если Π΄Π²Π΅ Π½ΠΎΡ‚Ρ‹ ΠΈΠ³Ρ€Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π°ΠΊΠΊΠΎΡ€Π΄ Π±Π΅Π· ΠΏΠ°ΡƒΠ·Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ, Ρ‚ΠΎ сначала интСрпрСтируСтся Ρ‚Π°, Ρ‡Ρ‚ΠΎ ΠΈΠ΄eΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π² MIDI-Ρ„Π°ΠΉΠ»Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ΄ Π½Π° Velato Π·Π²ΡƒΡ‡Π°Π» Π±ΠΎΠ»Π΅Π΅ СстСствСнно ΠΈ Π³Π°Ρ€ΠΌΠΎΠ½ΠΈΡ‡Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ Π»ΡŽΠ±Ρ‹ΠΌΠΈ двумя ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова: это позволяСт программисту Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΡƒΡŽ высоту Ρ‚ΠΎΠ½Π°, которая Π»ΡƒΡ‡ΡˆΠ΅ Π²ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π² мСлодию.

Π•ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π½ΠΎΡ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Fugue ΠΈ Musical notes, Π½ΠΎ Velato ΠΏΠΎΠΊΠ° остаСтся самым ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΌ.

А Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π½Π° эзотСричСском языкС? Или, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ собствСнный? РасскаТитС Π² коммСнтариях!

Π›Π£Π§Π¨Π˜Π• БВАВЬИ ПО Π’Π•ΠœΠ•

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
16 ноября 2019

DeepFake-Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»: создаСм собствСнный Π΄ΠΈΠΏΡ„Π΅ΠΉΠΊ Π² DeepFaceLab

РассказываСм ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ DeepFake ΠΈ шаг Π·Π° шагом учимся Π΄Π΅Π»Π°Ρ‚ΡŒ Π΄ΠΈΠΏΡ„Π΅ΠΉΠΊΠΈ Π² ...
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
24 января 2017

ИдСи для ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² для ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π½Π°Π²Ρ‹ΠΊΠΎΠ² программирования

Π—Π°Π΄Π°Ρ‡ΠΈ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΈ ΠΈΡ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½Ρ‹ Π½Π° Π»ΡŽΠ±Ρ‹Ρ… я...
Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° программиста
22 дСкабря 2016

6 open-source ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² для ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°

ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° Π² open-source ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈ составлСнии ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ для Ρ‚Ρ€ΡƒΠ΄ΠΎ...