Boo

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

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

Boo, в отличии от языка программирования Python, чей синтаксис он имитирует — не является динамически-типизированным. Это легко проверить, сравнив 2-е переменные различных типов. К примеру, если данная инструкция выполнится в Python:

a = 2
b = "3"
 
if (a == b) print "ok"

То, подобная инструкция в Boo — невозможна! Boo — статически-типизированный язык, а сравнение переменных различного типа в статически-типизированных языках приводит к ошибке.

Так же, многих новичков смущает факт, что у Boo нет собственного компилятора, который транслировал бы Boo инструкции в инструкции MSIL. Среда исполнения Boo переводит инструкции, написанные на Boo в инструкции C#, а затем передаются csc.exe (компилятору С#). Некоторые даже задаются вопросом «а можнo ли вообще назвать Boo языком программирования?».[1]

Однако, по подобной схеме, только используя в качестве промежуточного представления язык Си, построено немало достаточно популярных компиляторов. В качестве примера можно назвать трансляторы языка Eiffel. Так-же были реализованы и первые компиляторы C++ (что вызывало схожие недоразумения[2])

Вообще говоря, Boo — это язык программирования уже в силу того, что язык определяется его синтаксисом и семантикой, вне зависимости от того, выполняется он в собственной среде, базируется уже на готовой и вообще, от особенностей его реализации.

Содержание

Примеры

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

 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)

Примечания

  1. Обсуждение темы на msdn
  2. Бьерн Страуструп. «Дизайн и эволюция С++»

Ссылки

Литература

  • Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер C# 2005 и платформа .NET 3.0 для профессионалов = Professional C# 2005 with .NET 3.0. — М.: «Диалектика», 2007. — ISBN 978-5-8459-1317-3
Источник — «http://www.sbup.com/wiki/Boo»
Личные инструменты

Served in 0.337 secs.