Вчера открыл для себя чудесный язык — LOLCODE:
http://www.lolcode.com
Создан он любителями сайтов вроде katurday.com и icanhascheezburger.com.
Не сразу, но все же удалось найти нормально работающий интерпретатор:
http://bkail.public.iastate.edu/lolcode/
Написал прогу, вычисляющую корень из введенного числа. Кажется, методом Ньютона. Использована спецификация языка версии 1.2, работает.
Все, что после BTW — комментарии.
HAI
HOW DUZ I Abs YR X BTW this is function definition
SMALLR OF 0 AN X, O RLY?
YA RLY, X R DIFF OF 0 AN X
OIC
FOUND YR X
IF U SAY SO BTW end of function
I HAS A THING BTW this is variable declaration
VISIBLE "Enter a positive number"
GIMMEH THING BTW this is input
I HAS A GUESS ITZ 5.0 BTW it can be any nonzero value
IM IN YR LOOP
I HAS A V1 ITZ QUOSHUNT OF THING AN GUESS BTW this is division
I HAS A V2 ITZ SUM OF V1 AN GUESS
I HAS A NEXT ITZ QUOSHUNT OF V2 AN 2.0
I HAS A D ITZ DIFF OF NEXT AN GUESS
D R Abs D
I HAS A T ITZ SMALLR OF D AN 0.01
BOTH SAEM D AN T, O RLY?
YA RLY
VISIBLE NEXT, BTW this is output of result
GTFO
NO WAI
GUESS R NEXT
OIC
KTHX
KTHXBYE
Отдельно порадовала не задействованная тут конструкция языка, аналогичная switch/case.
Сами понимаете, язык очень перспективный. К сожалению, разные версии (1.0, 1.1, 1.2) плохо совместимы, стандарт языка не закреплен окончательно, а среди разных реализаций мало законченных. Реализаций более десятка, включая варианты для .NET, JVM, интерпретаторы на Питоне и Руби, трансляторы в С++ и Питон и т.д.