Boo
Boo ([bo:], «бу») — об'єктно-орієнтована мова програмування зі строгою статичною типізацією для платформи .NET. З'явилася в 2003 році. Є компільованою підмножиною Python. Транслятор Boo розроблявся з відкритою ліцензією і є студентським проектом. Мова підтримує наступні можливості: вивід типів, генератори, мультиметоди, опційну качину типізацію, макроси, справжні замикання, каррінг, функції першого класу.
Boo | |
---|---|
Парадигма | об'єктно-орієнтована |
Дата появи | 2003 |
Творці | Родріго Барето де Олівейра |
Розробник | Родріго Барето де Олівейра |
Останній реліз | 0.9.7 (25 березня 2013) |
Система типізації | статична, строга, качина |
Під впливом від | Python, C# |
Ліцензія | MIT/BSD подібна ліцензія |
Репозиторій вихідного коду | github.com/boo-lang/boo |
Вебсайт |
github.com/boo-lang, boo-lang.org |
Boo, на відміну від CPython чи 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, проте була усунута 2014 року через невелику базу користувачів[1]. Попри припинення офіційної підтримки Boo, мова все ще використовувалася в Unity, поки компілятор Boo не був видалений з рушія 2017 року[2].
Примітки
- aleksandr (September 3, 2014). Documentation, Unity scripting languages and you. Unity Blogs.
- Richard Fine (11 серпня 2017). UnityScript’s long ride off into the sunset. Unity Blogs.
Посилання
Література
- Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер. 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. — 2010. — ISBN 1933988606. (англ.)
- Ник Вейч. Что такое Boo? // Linux Format : журнал. — 2006, март. — № 77 (3). — С. 38-39. — ISSN 1470-4234. (рос.)
- Вадим Станкевич. Что вы знаете о Boo? // Компьютерные вести. — 26.02.2009. (рос.)
- Boo — питонообразный .NET язык, огляд на Хабрахабр (рос.)