Какой язык программирования был создан в 1973 году

Некоторые люди говорят , что научиться программировать трудно, утомительно и мучительно. Это похоже на изучение нового языка, просто чтобы поговорить с машиной, которой нужно сказать в очень конкретных командах, что делать и выполнять. По какой-то причине группа людей, похоже, считает, что программирование само по себе недостаточно сложно. И поэтому родился

Добро пожаловать в мир эзотерических языков программирования (он же esolang). Где программисты продвигают условности языкового дизайна. Эти языки не предназначены для простого использования. Как раз наоборот, они предназначены для того, чтобы бросать вызов, расстраивать и развлекать программистов своими трудностями.

Есть много эзолангов, которые вы можете попробовать, но вот 15 самых странных и безумных из них.

Рекомендуемое Чтение: 10 Неверных Заблуждений Об Обучении Программированию

1. Brainf*ck

Верный своему названию, этот язык программирования доставит любому программисту мгновенную головную боль. Он был создан Урбаном Мюллером в 1993 году, как язык, который может быть реализован очень маленьким компилятором, чтобы развлечь программиста. Язык использует только восемь команд и указателькоманд , каждый из которых состоит из одного символа, что делает этот язык невероятно минималистичным.

Ниже приведен пример вызывающего головную боль кода, который будет печатать

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

+++++ +++               Set Cell #0 to 8

[

    >++++               Add 4 to Cell #1; this will always set Cell #1 to 4

    [                   as the cell will be cleared by the loop

        >++             Add 2 to Cell #2

        >+++            Add 3 to Cell #3

        >+++            Add 3 to Cell #4

        >+              Add 1 to Cell #5

        +                  Add 1 to Cell #2

    >+                  Add 1 to Cell #3

    >-                  Subtract 1 from Cell #4

    >>+                 Add 1 to Cell #6

    [>.                     Cell #2 has value 72 which is 'H'

>---.                   Subtract 3 from Cell #3 to get 101 which is 'e'

+++++ ++..+++.          Likewise for 'llo' from Cell #3

>>.                     Cell #5 is 32 for the space

>+.                    Add 1 to Cell #5 gives us an exclamation point

>++.                    And finally a newline from Cell #6

2. ЛОЛКОД

LOLCODE состоит из lolspeak, Этот язык был разработан Адамом Линдсеем в 2007 году, научным сотрудником компьютерного факультета Ланкастерского университета.

Этот язык не так полон, как традиционные, с четко не определенными синтаксическими и операторными приоритетами, но для этого существуют функционирующие комплайнеры.

Однако веселость и остроумие языка в большей степени компенсируют это. Просто взгляните на код

1

2

3

4

HAI

CAN HAS STDIO?

VISIBLE "Hello World!"

KTHXBYE

3. Befunge

Подобно Brainf*ck, Befunge был разработан Крисом Пресси в 1993 году с целью создания языка, который было бы как можно труднее компилировать. Он делает это, реализуя самоизменяющийся код и имея одну и ту же инструкцию, выполняемую четырьмя различными способами, не говоря уже о самом наборе команд.

Однако в конце концов был создан целый ряд компиляторов. Ниже приведен исходный код песни

1

2

3

>              v

v  ,,,,,"Hello"48*,          v

v,,,,,,"World!"25*,@

4. Арнольд

Вот язык программирования, полностью состоящий из однострочных фильмов с участием Арнольда Шварценегга, таких классиков, как Терминатор, Хищник и Total Recall. ArnoldC был создан Лаури Хартиккой, который заменил стандартные команды их эквивалентом Arnold one-liner. Пример включает в себя Ложь и Истину, которые становятся Вот как будет выглядеть код

1

2

3

IT'S SHOWTIME

TALK TO THE HAND "Hello World!"

YOU HAVE BEEN TERMINATED

5. Шекспир

Если бодибилдинг австрийских актеров не ваша вещь, вы можете предпочесть

язык программирования Шекспира. Созданная Джоном Аслундом и Карлом Хессельстормом, цель состояла в том, чтобы сделать язык программирования, который не выглядел как таковой. В этом случае исходный код выглядит в точности как пьеса Шекспира. Переменные должны быть названы в честь шекспировских персонажей, а константы определяются положительными или отрицательными существительными.

Пример здесь):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

The Infamous Hello World Program.

Romeo, a young man with a remarkable patience.

Juliet, a likewise young woman of remarkable grace.

Ophelia, a remarkable woman much in dispute with Hamlet.

Hamlet, the flatterer of Andersen Insulting A/S.

                    Act I: Hamlet's insults and flattery.

                    Scene I: The insulting of Romeo.

[Enter Hamlet and Romeo]

Hamlet:

 You lying stupid fatherless big smelly half-witted coward!

 You are as stupid as the difference between a handsome rich brave

 hero and thyself! Speak your mind!

 You are as brave as the sum of your fat little stuffed misused dusty

 old rotten codpiece and a beautiful fair warm peaceful sunny summer's

 day. You are as healthy as the difference between the sum of the

 sweetest reddest rose and my father and yourself! Speak your mind!

 You are as cowardly as the sum of yourself and the difference

 between a big mighty proud kingdom and a horse. Speak your mind.

 Speak your mind!

[Exit Romeo]

6. Шеф-повар

Подобно Шекспиру, Chef, созданный Дэвидом Морган-Маром, — это язык программирования, который не похож на него, а выглядит как кулинарный рецепт.

Принципы проектирования языка таковы

  • код должен не только генерировать допустимые выходные данные, но и быть простым в приготовлении и вкусным

  • рецепты понравятся поварам с разным бюджетом
  • рецепты должны быть метрическими

Другими словами, рецепты должны работать как код, и их можно готовить и есть. Исходный код программы

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

Hello World Souffle.

This recipe prints the immortal words "Hello world!",

in a basically brute force way.

It also makes a lot of food for one person.

Ingredients.

72 g haricot beans

101 eggs

108 g lard

111 cups oil

32 zucchinis

119 ml water

114 g red salmon

100 g dijon mustard

33 potatoes

Method.

Put potatoes into the mixing bowl.

Put dijon mustard into the mixing bowl.

Put lard into the mixing bowl.

Put red salmon into the mixing bowl.

Put oil into the mixing bowl. Put water into the mixing bowl.

Put zucchinis into the mixing bowl. Put oil into the mixing bowl.

Put lard into the mixing bowl. Put lard into the mixing bowl.

Put eggs into the mixing bowl. Put haricot beans into the mixing bowl.

Liquefy contents of the mixing bowl.

Pour contents of the mixing bowl into the baking dish.

Serves 1.

7. Пробелы

Whitespace был создан Эдвином Брэди и Крисом Моррисом как первоапрельская шутка.

Там, где большинство языков программирования игнорируют пробелы, пробелы используют их в качестве команд, игнорируя вместо этого небелковые символы.

Из-за этого код пробелов может быть написан внутри языков программирования, которые игнорируют пробелы. Ниже приведен исходный код

Пробелы (Источник изображения: Википедия)

8. Пит

Названный в честь Пита Мондриана, Piet-это еще один эзотерический язык программирования, созданный Дэвидом Морганом-Маром. Программа компилируется указателем, который будет перемещаться по изображению, от одной секции к другой.

Код находится в цвете; цвета считываются компилятором, чтобы превратиться в программу. Ниже приведен пример

Пит (Источник изображения: Википедия)

9. Курица

Курица. Это язык программирования, состоящий только из одного слова: курица. Он был создан шведским программистом Торбьерном Седерстедтом, который вдохновился его созданием, услышав пародию Дуга Зонгкера на научные речи (которые никто не понимает). Вместо того, чтобы показывать код вот статья и презентация, которые вдохновили язык:

10. Ук!

Ук! является производным от Brainf*ck и создан серийным разработчиком эзотерического языка Дэвидом Морганом-Маром.

Структура та же самая, за исключением того, что восемь команд заменены комбинациями Цель состояла в том, чтобы создать, и мы вас не обманываем, язык программирования, Ниже приведен исходный код

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

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

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

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

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

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

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.

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

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

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

Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

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

Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.

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

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

Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.

Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!

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

11. Раскаяние

Разработанный Райаном Куснери,

ReMorse-это язык программирования, который был сделан похожим на азбуку Морзе.

Есть только четыре инструкции: dot (.), dotty (. с последующим пробелом), dash (-) и dasher (- с последующим пробелом).

Технические характеристики ReMorse были неясны, и ReMorse2 был создан как попытка немного очистить код. Ниже приведен неполный образец для

1

2

3

4

5

6

7

8

9

- - - ..- ...-.---.;newline

   - - - .-. - ..-.- ...-. ---.;!

   - - - ...- . . -.---.;d

   ----. . . -.---.;l

   ----. . -...---.;r

   ----. -...---.;o

   ----...-.- ..-. ---.;W

   omitted code for "Hello " is similar to the above for "World!"

   -..............;output all characters

12. l33t

Любой, кто когда — либо проводил хоть немного времени в Интернете, знает, что такое l33t sp34k (leet speak) — пользователи подменяют слова и буквы цифрами и намеренно плохо пишут.

Два программиста, Стивен МаКгрил и Алекс Моул, решили, что было бы неплохо создать из него язык программирования, и таким образом родился l33t. Как и многие другие эзотерические языки, он был разработан, чтобы быть настолько Ниже приведен исходный код песни

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

Gr34t l33tN3$$?

M3h...

iT 41n't s0 7rIckY.

l33t sP33k is U8er keWl 4nD eA5y wehn u 7hink 1t tHr0uGh.

1f u w4nn4be UB3R-l33t u d3f1n1t3lY w4nt in 0n a b4d4sS h4xX0r1ng s1tE!!! ;p

w4r3Z c0ll3cT10n2 r 7eh l3Et3r!

Qu4k3 cL4nS r 7eh bE5t tH1ng 1n teh 3nTIr3 w0rlD!!!

g4m3s wh3r3 u g3t to 5h00t ppl r 70tAl1_y w1cK1d!!

I'M teh fr4GM4stEr aN I'lL t0t41_1Ly wIpE teh phr34k1ng fL00r ***j3d1 5tYlE***

wItH y0uR h1dE!!!! L0L0L0L!

t3lEphR4gG1nG l4m3rs wit mY m8tes r34lLy k1kK$ A$$

l33t hAxX0r$ CrE4t3 u8er- k3wL 5tUff lIkE n34t pR0gR4mm1nG lAnguidGe$...

s0m3tIm3$ teh l4nGu4gES l00k jUst l1k3 rE41_ 0neS 7o mAkE ppl Th1nk th3y'r3 ju$t

n0rMal lEE7 5pEEk but th3y're 5ecRetLy c0dE!!!!

n080DY unDer5tAnD$ l33t SpEaK 4p4rT fr0m j3d1!!!!!

50mE kId 0n A me$$4gEb04rD m1ghT 8E a r0xX0r1nG hAxX0r wH0 w4nT2 t0 bR34k 5tuFf,

0r mAyb3 ju5t sh0w 7eh wAy5 l33t ppl cAn 8E m0re lIkE y0d4!!! hE i5 teh u8ER!!!!

1t m1ght 8E 5omE v1rus 0r a Pl4ySt4tI0n ch34t c0dE.

1t 3v3n MiTe jUs7 s4y "H3LL0 W0RLD!!!" u ju5t cAn'T gu3s5.

tH3r3's n3v3r anY p0iNt l00KiNg sC3pT1c4l c0s th4t, be1_1Ev3 iT 0r n0t,

1s whAt th1s 1s!!!!!

5uxX0r5!!!L0L0L0L0L!!!!!!!

13. Омгрофл

Omgrofl (что означает интернет-аббревиатур, таких как lol, wtf, brb, stfu и т. Д.

Все переменные, объявленные с помощью языка, должны быть в форме lol, например lol, lool, loool и т. Д.

Вот как выглядит исходный код

1

2

3

4

5

6

7

8

9

loool iz lol

looooool iz lool

rtfm

 wtf looooool iz liek 0

  tldr

 brb

 lmao loool

 roflmao looooool

brb

14. Velato

Velato-это язык, созданный Даниэлем Темкиным, который использует MIDI-файлы в качестве исходного кода. Команды определяются шагом и порядком нот, а исходные коды, созданные с помощью Velato, как правило, имеют джазовый звук. Пример

Velato (Источник изображения: Даниил Темкин)

15. Мальбольг

Если язык программирования назван в честь восьмого круга Ада, вы знаете, чего ожидать. Созданный Беном Олмстедом в 1998 году, Malbolge был разработан так, чтобы его почти невозможно было запрограммировать. На самом деле он не был создан человеком — он создан с помощью алгоритма. Неудивительно, что потребовалось 2 года, чтобы программа материализовалась. Это исходный код