Boo

Boo ([bo:], 'бу' ) — объектно-ориентированный язык программирования с сильной статической типизацией для платформы .NET. Появился в 2003 году. Является компилируемым подмножеством Python. Транслятор Boo разрабатывается с открытой лицензией и является студенческим проектом. Язык поддерживает следующие возможности: вывод типов, генераторы, мультиметоды, опциональную утиную типизацию, макросы, настоящие замыкания, карринг, функции первого класса.

Boo
Изображение логотипа
Семантика объектно-ориентированная
Класс языка процедурный язык программирования, объектно-ориентированный, язык, использующий отступы[вд] и язык программирования
Появился в 2003
Автор Родриго Баррето де Оливейра
Выпуск 0.9.7 (25 марта 2013)
Система типов статическая, строгая, утиная
Испытал влияние Python, C#
Лицензия MIT/BSD подобная лицения
Сайт github.com/boo-lang

Boo, в отличие от СPython и IronPython, чьим гибридом является его синтаксис — не является динамически-типизированным по умолчанию. Это может быть изменено заданием определенных опций компилятора.

Примеры

править

Для начала «Привет мир»

 print("Hello ")
 print "world"
 System.Console.WriteLine("!!!")

Пример функции. Первое отличие от интерпретируемых реализаций Python: отсутствие динамической типизации.

 def factorial(n as ulong) as ulong:
     if n == 1:
         return 1
     else:    
         return n * factorial(n - 1)

Применение

править

Язык программирования Boo использовался в проекте Unity до версии 5 для создания трёхмерных приложений для платформ Windows, Mac OS X, Wii, IOS, Android.[1]

Примечания

править
  1. Unity scripting. Дата обращения: 1 ноября 2013. Архивировано из оригинала 28 февраля 2015 года.

Ссылки

править

Литература

править
  • Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер. C# 2005 и платформа .NET 3.0 для профессионалов = Professional C# 2005 with .NET 3.0. — М.: «Диалектика», 2007. — ISBN 978-5-8459-1317-3.
  • Ayende Rahien. DSLs in Boo: Domain-Specific Languages in .NET. — Manning, 2010. — ISBN 1-933988-60-6.
  • Ник Вейч. Что такое Boo? // Linux Format : журнал. — 2006, март. — № 77 (3). — С. 38-39. — ISSN 1470-4234.
  • Вадим Станкевич. Что вы знаете о Boo? // Компьютерные вести. — 26.02.2009.
  • Boo — питонообразный .NET язык, обзор на Хабрахабр