FiM++ Language Specification - Теперь на Русском Языке!

+210
MrSlammerв блоге IT Pony!7 ноября 2012, 01:19
Вы умеете заниматься объектно-ориентированным программированием?
Вы хотите изучить эзотерический язык программирования поддерживающий объектно-ориентированное программирование?
А если этот язык создан на основе вашего любимого сериала?
Но при этом плохо дружите с английским языком?
Тогда вперёд, пришло время заходить под кат!

Итак, я вас хочу познакомить с языком FiM++ — эзотерическим языком программирования, созданном на основе отчётов об Магии Дружбы. Больше об нём вы сможете узнать из этого поста.

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

Загрузить документ можно по следующим ссылкам:
Документ на Google Docs

Яндекс.Диск:
FiM1.0LanguageSpecificationRUSWIP.docx
FiM1.0LanguageSpecificationRUSWIP.rtf

Оригинал документа:FiM++ 1.0 Language Specification

Автор оригинального документа — Kyli Rouge.
Учтите, что оригинал обновляется и дополняется, поэтому перевод может быть неактуален.

21 комментарий

Спасибо!
Neon
+6
Перепрыгнуло в IT Pony? Неожиданно.
MrSlammer
0
Шекспироподобные языки неудобны. Слишком много телодвижений надо делать для простейших операций
nna0noname
0
s f g x = f x (g x)
k x y = x
b f g x = f (g x)
c f g x = f x g
y f = f (y f)
cond p f g x = if p x then f x else g x
fac = y (b (cond ((==) 0) (k 1)) (b (s (*)) (c b pred)))

^_^
Liksys
+4
Буду ждать, пока кто-нибудь напишет компилятор FiM++ на FiM++
SmseR
+2
Должен заметить, что в документе могут присутствовать терминологические и подобные синтаксические ошибки, так что я не откажусь от критики.

Комментарии в документе включил бы тогда что ли :)
veon
0
Пойду тоже на пупу свой никому не нужный гвоноязык напишу
клопклопа назову
Hibonicus
-5
Dear Princess Celestia: Recursion is magic!

Today I learned some code magic.

I learned recursion spell using my recursion spell. Here’s what I did to cast recursion spell: i cast recursion spell. That’s all about recursion spell!

Spell recursion.

Your faithful sister, uh_whatever_you_never_reach_this_text
Wanderer
+1
Не скомпилируется :)
veon
0
из-за «sister»? ну это я ради лулзов, с намеком так сказать.
Wanderer
0
Да нет, тут много всего:
1) Метод «recursion spell» объявлен внутри главного метода. В спецификации про это чётко ничего не сказано, конечно, но я не уверен, что так можно делать.
2) «Here’s what I did» используется в while и do while, но тут оно использовано некорректно.
3) I cast не упоминается в спецификации среди синонимов вызова метода, хотя, конечно, может появиться.
4) В заголовке «recursion spell» объявлен один аргумент, но при вызове никаких аргументов не задано.
5) «Spell recursion» — опять же, такой конструкции в спецификации вообще нет, и если это вызов метода, то там должно быть «Spell recursion spell».
6) Главный метод не закрыт: «That's all about some code magic.»
7) sister
veon
+2
Брал как пример вот этоDear Princess Celestia: Bubble sorting is magic!

Today I learned some code magic.

Did you know that My Spells is a numbers? On the 1 page of the book “My Spells” I wrote 4. On the 1 page of the book “My Spells” I wrote 6. On the 1 page of the book “My Spells” I wrote 3. Did you know that bookpages is a number 3?

I learned swapping two pages using Spell book using first page number using second page number. Did you know that temporary note likes number? On the first page of the book “Spell” I read about temporary note. On the first page of the book “Spell” I wrote I knew about on the second page of the book “Spell” I read about. On the second page of the book “Spell” I wrote I knew about temporary note. That’s all about swapping two pages!

I learned spell sorting using Spell book using bookpages. Did you know that counter is a number 1? Here’s what I did while bookpages greater than 1: as long as counter no more than bookpages subtract 1, when on the counter page of the book “Spell” I read about more than on the counter and 1 page of the book “Spell” I read about, swapping two pages using Spell using bookpages – that’s what I would do; counter likes number the 1 added to counter. That’s what I did, bookpages is the bookpages subtract 1, that’s what I did. Then you get the Spell! That’s all about spell sorting!

Spell sorting using My Spells using bookpages.

Your faithful student, Orhideous.

1) в примере в принципе также, просто «spell» я счел синонимом слову «функция».
2)
«Here’s what I did» используется в while и do while
где такое сказано? Вроде бы циклы ещё не описаны в вики
3)
I cast не упоминается

может появиться.

вот именно, и я же как то должен вызывать ф-и, вот и приходится выкручиваться.
4) ну да, тут багнул.
5) в примере
Spell sorting using...
сделано по аналогии
6) в примере не закрывается, можно считать, что это директива препроцессора
7) лулзы, лулзы то нужны!

в итоге что мы получаем:
а) язык описан чуть больше чем никак;
б) я один раз конкретно багнул;
в) у вас нет чувства юмора, иначе бы не стали так докапываться до каждой лексемы.
Wanderer
0
Орхид чего-то напутал.

2) В Вики много чего нет. Смотри спецификацию.
3) там пока есть только «I remembered» и «I would».
5) Орхид чего-то напутал.

а) смотри спецификацию. в конце концов, я по ней проверял.
в) чувство юмора есть, просто писать на эзотерическом языке, начисто игнорируя его синтаксис — плохая шутка; шутка вся как раз в том, чтобы писать на нём что-то забавное, но абсолютно рабочее :)
veon
0
Wanderer
0
Блин, а о чём вообще этот пост, чёрт возьми?

На «русском»: docs.google.com/document/d/1IsUimfehW4pFR-_tgMQ3aymiMb09Xe5Nyo3CfEJAlWU/edit
На английском: docs.google.com/document/d/1gU-ZROmZu0Xitw_pfC1ktCDvJH5rM85TxxQf5pg_xmg/edit
veon
+1
я вижу тут два абзаца и картинку сверху. Где остальное то?
Wanderer
0
Может ниже надо прокрутить? jackiechan.jpg
veon
0
черт *отправился на луну*
Wanderer
+1
очень корявый перевод… я думал намного будет… намного лучше будет это всё… очень корявый перевод :(
veon
0
Кстати название не очень, надо было сделать JavaFiMMolestiaFuckScript++
Hibonicus
0
Вы умеете заниматься объектно-ориентированным программированием?
Но при этом плохо дружите с английским языком?

Ха, как правило взаимоисключающие вещи. Волей-неволей, а если хочешь программировать — учи английский. Базовую документацию-то переводят, а вот если нужно копнуть глубже, всегда приходится лезть в оригинал.
Cypher
+1
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.