Boo
Boo ([bu:], 'бу') — объектно-ориентированный, статически(строго)-типизированный язык программирования для платформы .NET. Появился в 2003 году. Имеет синтаксис, схожий с Python. Транслятор Boo разрабатывается с открытой лицензией и является студенческим проектом.
Boo, в отличии от языка программирования Python, чей синтаксис он имитирует — не является динамически-типизированным. Это легко проверить, сравнив 2-е переменные различных типов. К примеру, если данная инструкция выполнится в Python:
<source lang="python"> a = 2 b = "3"
if (a == b) print "ok" </source>
То, подобная инструкция в Boo — невозможна! Boo — статически-типизированный язык, а сравнение переменных различного типа в статически-типизированных языках приводит к ошибке.
Так же, многих новичков смущает факт, что у Boo нет собственного компилятора, который транслировал бы Boo инструкции в инструкции MSIL. Среда исполнения Boo переводит инструкции, написанные на Boo в инструкции C#, а затем передаются csc.exe (компилятору С#). Некоторые даже задаются вопросом «а можнo ли вообще назвать Boo языком программирования?».[1]
Однако, по подобной схеме, только используя в качестве промежуточного представления язык Си, построено немало достаточно популярных компиляторов. В качестве примера можно назвать трансляторы языка Eiffel. Так-же были реализованы и первые компиляторы C++ (что вызывало схожие недоразумения[2])
Вообще говоря, Boo — это язык программирования уже в силу того, что язык определяется его синтаксисом и семантикой, вне зависимости от того, выполняется он в собственной среде, базируется уже на готовой и вообще, от особенностей его реализации.
Примеры
Для начала «Привет мир!!!» <source lang="boo">
print("Hello ")
print "world"
System.Console.WriteLine("!!!")
</source>
Пример функции. Первое отличие от Python: отсутствие динамической типизации.
<source lang="boo">
def factorial(n as ulong) as ulong:
if n == 1:
return 1
else:
return n * factorial(n - 1)
</source>
Примечания
- ↑ Обсуждение темы на msdn
- ↑ Бьерн Страуструп. «Дизайн и эволюция С++»
Ссылки
- Официальный сайт Boo
- Статья о языке Boo в энциклопедии progopedia.ru
- Обзор языка Boo (рус.)
- BooLangStudio — VSIP для Visual Studio 2008
Литература
- Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер C# 2005 и платформа .NET 3.0 для профессионалов = Professional C# 2005 with .NET 3.0. — М.: «Диалектика», 2007. — ISBN 978-5-8459-1317-3
| В Википедии есть портал «Свободное программное обеспечение» |
| SQL | Это незавершённая статья о компьютерных языках. Вы можете помочь проекту, исправив и дополнив её. |
Основные языки программирования (список • сравнение • IDE • история • хронология) |
|
|---|---|
| Используемые в разработке |
Ада • АПЛ • Ассемблер • ActionScript • ABAP/4 • AutoIt • AWK • BASIC • C • Кобол • C++ • C# • ColdFusion • Common Lisp • D • dBase • Delphi • Eiffel • Erlang • F# • Forth • Фортран • Gambas • Groovy • Haskell • Icon • Java • JavaScript • Limbo • Lua • MATLAB • Object Pascal • Objective-C • OCaml • Oz • Оберон • Parser • Паскаль • Perl • PHP • PowerBASIC • PureBasic • Python • ПЛ/1 • Пролог • Ruby • Scala • Scheme • Smalltalk • SQL • PL/SQL • Tcl • Vala • Visual Basic • VB.NET |
| Академические | |
| IEC61131-3 |
Instruction List • ST • FBD • Ladder Diagram • SFC |
| Прочие | |
| Эзотерические | |
Если вам нравится SbUP.com Сайт, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....