FiM++

Материал из RuBronyWiki
Перейти к навигацииПерейти к поиску

FiM++ - эзотерический язык программирования. Любая программа представляет собой письмо Селестии от лица любой пони.

История

Язык был создан и представлен на Equestria Daily 4 Октября 2012 года пользователем Cereal Velocity.
Языком немедленно заинтересовались несколько людей. В течении недели была создана первая рабочая программа, Написан интерпретатор и доработана спецификация. После этого разработка переместилась на Wikia где и пребывает сейчас.
До всего этого, еще в феврале 2011 на Google.code наблюдались первые попытки создания MLP:FiM языка, но они были заброшены не выйдя из стадии идеи.

Описание

FiM++ является полным по Тьюрингу, высокоуровневым, обьектно ориентированным языком с динамической типизацией. Это значит, что теоретически на нем возможно написание программ любой сложности.
Программа на языке может состоять из нескольких писем, каждое письмо является классом. Письмо (класс) это минимальная интерпретируемая единица.
Окончательная версия языка получила кодовое название «Sparkle». Кроме нее существует только несколько безымянных сырых версий.
Язык по структуре напоминает Java, знающим его будет очень просто разобраться в FiM++.

Hello World

Пример письма от лица Рэйнбой Дэш.

| Dear Princess Celestia:Hello World!
| Today I learned how to say hello world!
| I said “Hello, World!”!
| That's all about how to say hello world.
| Your faithful student, Rainbow Dash.

Пример сложной программы

   
Remember when I wrote about Applejack? (I don't!)
Dear Princess Cadence and Shining Armor: Cider Jugs.
Today I learned Applejack's Drinking Song. Did you know that Applejack likes the number 99? (Applejack likes a lot of things...) I remembered how to sing the drinking song using Applejack. That's all about Applejack's Drinking Song!
I learned how to sing the drinking song using the number ciders. As long as ciders were more than 1, I sang cider" jugs of cider on the wall, "cider" jugs of cider,". There was one less cider. When cider had more than 1, I sang "Take one down and pass it around, "cider" jugs of cider on the wall."! Otherwise, I sang "Take one down and pass it around, 1 jug of cider on the wall."! That's what I would do, That's what I did.
I sang "1 jug of cider on the wall, 1 jug of cider. Take it down and pass it around, no more jugs of cider on the wall. No more jugs of cider on the wall, no more jugs of cider. Go to the celler, get some more, 99 jugs of cider on the wall.". That's what I did! That's all about how to sing the Drinking Song!
Your faithful student,
Twilight Sparkle.

P.S. Twilight's drunken state truely frightened me, so I couldn't disregard her order to send you this letter. Who would have thought her first reaction to hard cider would be this... explosive? I need your advice, your help, everything, on how to deal with her drunk... self. -Spike

Ссылки

Дебют языка
Перевод на русский
Доработанная версия
Wiki по языку с окончательной версией спецификации и интерпретаторами.


Брони сообщество одобряет эту статью
Брони (Дарк брониКлоперыПаладиныОлдфагиПозеры) • Эквестрийский синдром
EveryponyDarkponyНа бордахПоняч
SayonaraУликс
Брони сходкаРуБроникон


Этот мем порожден брони тусовкой
Новая Лунная РеспубликаРазделенная Эквестрия
Скипетр Твайлайт
Понификация мемовЭквестрийский синдромFiM++