Boo: static-typed Python для .Net
От: BulatZiganshin  
Дата: 03.09.07 13:30
Оценка:
видели такое чудо?

http://boo.codehaus.org/Language+Features

<Along with the normal types like object, int, string...boo has a special type called "duck">. а ведь всего несколько лет назад я присутствовал при зарождении duck typing
Люди, я люблю вас! Будьте бдительны!!!
Re: Boo: static-typed Python для .Net
От: geniepro http://geniepro.livejournal.com/
Дата: 03.09.07 20:05
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>видели такое чудо?


BZ>http://boo.codehaus.org/Language+Features


Да, я как-то скачал SharpDevelop — смотрю, а там предустановленный Boo. Побаловался чуть-чуть с этим питоном со статической типизацией и автовыводом типов по Хиндли-Милнеру...
Не очень удобен, и автовывод типов тоже какой-то слабоватый — часто приходится типы вручную указывать...

BZ><Along with the normal types like object, int, string...boo has a special type called "duck">. а ведь всего несколько лет назад я присутствовал при зарождении duck typing


Несколько лет назад? это когда? Питон 91 года выпуска...
Re[2]: Boo: static-typed Python для .Net
От: BulatZiganshin  
Дата: 03.09.07 21:01
Оценка:
G>Да, я как-то скачал SharpDevelop — смотрю, а там предустановленный Boo. Побаловался чуть-чуть с этим питоном со статической типизацией и автовыводом типов по Хиндли-Милнеру...

а причём тут HM? обычный ддля императивных языков односторонний вывод типов (только от аргументов к результату) с синтаксическим сахаром, аналогичным C++ 0x и c# 3.0

плюс там есть клозуры и генераторы. в общем, я бы сказал, это то, каким должен был бы быть C#

G>Не очень удобен, и автовывод типов тоже какой-то слабоватый — часто приходится типы вручную указывать...


в заголовках функций или где-то ещё?

BZ>><Along with the normal types like object, int, string...boo has a special type called "duck">. а ведь всего несколько лет назад я присутствовал при зарождении duck typing


G>Несколько лет назад? это когда? Питон 91 года выпуска...


и это выражение появилось в 91-м?
Люди, я люблю вас! Будьте бдительны!!!
Re[3]: Boo: static-typed Python для .Net
От: geniepro http://geniepro.livejournal.com/
Дата: 04.09.07 07:06
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>а причём тут HM? обычный ддля императивных языков односторонний вывод типов (только от аргументов к результату) с синтаксическим сахаром, аналогичным C++ 0x и c# 3.0


Мне где-то попадалось утверждение о HM... Правда, в самом мануале я увидел только:

Boo's type inference kicks in for newly declared variables and fields, properties, arrays, for statement variables, overriden methods, method return types and generators.

G>>Не очень удобен, и автовывод типов тоже какой-то слабоватый — часто приходится типы вручную указывать...

BZ>в заголовках функций или где-то ещё?


Я на нём толком не работал, так, чуть-чуть побаловался... Но помню, что мне не понравилось указывать типы входных параметров и результата в числовых функциях, а без них компилер упорно отказывался компилировать...
В-общем, неясно, какой там вывод типов...

BZ>>><Along with the normal types like object, int, string...boo has a special type called "duck">. а ведь всего несколько лет назад я присутствовал при зарождении duck typing


G>>Несколько лет назад? это когда? Питон 91 года выпуска...


BZ>и это выражение появилось в 91-м?


В Википедии нашёл:

Alex Martelli made an early (2000) use of the term in a message to the comp.lang.python newsgroup. He also highlighted misunderstanding of the literal duck test, which may indicate that the term was already in use.
In other words, don't check whether it IS-a duck: check whether it QUACKS-like-a duck, WALKS-like-a duck, etc, etc, depending on exactly what subset of duck-like behaviour you need to play your language-games with.

Выходит, этому названию семь лет? Что же раньше было в Питоне?
Re[4]: Boo: static-typed Python для .Net
От: BulatZiganshin  
Дата: 04.09.07 07:53
Оценка:
Здравствуйте, geniepro, Вы писали:

G>Здравствуйте, BulatZiganshin, Вы писали:


BZ>>а причём тут HM? обычный для императивных языков односторонний вывод типов (только от аргументов к результату) с синтаксическим сахаром, аналогичным C++ 0x и c# 3.0


G>Мне где-то попадалось утверждение о HM... Правда, в самом мануале я увидел только:

G>

Boo's type inference kicks in for newly declared variables and fields, properties, arrays, for statement variables, overriden methods, method return types and generators.


сказать можно что угодно, факт — вывод идёт от типа выражения к типу его результата плюс при переопределдении наследованного метода

G>>>Не очень удобен, и автовывод типов тоже какой-то слабоватый — часто приходится типы вручную указывать...


BZ>>в заголовках функций или где-то ещё?


G>Я на нём толком не работал, так, чуть-чуть побаловался... Но помню, что мне не понравилось указывать типы входных параметров и результата в числовых функциях, а без них компилер упорно отказывался компилировать...


типы параметров указывать нужно, результата — он выводит из return. в этом и есть отличие от HM который выводит наиболее общий тип из применяемых операций/функций. конечно, в ООП языке где у операций нет обобщённого типа, это нереально. т.е. в хаскеле:

(+) :: Num a => a -> a -> a

а в c++

(+) :: int -> int -> int
(+) :: char -> char -> string

и ещё сотня совершенно независимых инстанций


BZ>>>><Along with the normal types like object, int, string...boo has a special type called "duck">. а ведь всего несколько лет назад я присутствовал при зарождении duck typing


G>>>Несколько лет назад? это когда? Питон 91 года выпуска...


BZ>>и это выражение появилось в 91-м?


G>В Википедии нашёл:

G>

Alex Martelli made an early (2000) use of the term in a message to the comp.lang.python newsgroup. He also highlighted misunderstanding of the literal duck test, which may indicate that the term was already in use.
G>In other words, don't check whether it IS-a duck: check whether it QUACKS-like-a duck, WALKS-like-a duck, etc, etc, depending on exactly what subset of duck-like behaviour you need to play your language-games with.

G>Выходит, этому названию семь лет? Что же раньше было в Питоне?

просто выражение впервые появилось в 2000-м. а я его в 2002-м слышал впервые от Матца, теперь ясно откуда оно пришло
Люди, я люблю вас! Будьте бдительны!!!
Re[5]: Boo: static-typed Python для .Net
От: geniepro http://geniepro.livejournal.com/
Дата: 04.09.07 18:05
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ> типы параметров указывать нужно, результата — он выводит из return.


ИМХО, это сомнительная идея. Если уж я указываю типы параметров, то почему бы так же не указать и тип результата? Понятность кода будет выше, чуток лишней работы окупится многократно...

С другой стороны, именно так и сделал Люка Карделли в своей статье "О понимании типов..." — в его языке Fun именно так и было — типы параметров указываются (хотя их тоже можно опустить), тип результата выводится...
Так что чёрт его знает...
Re: Boo: static-typed Python для .Net
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.09.07 10:30
Оценка: -1
Здравствуйте, BulatZiganshin, Вы писали:

BZ>видели такое чудо?


BZ>http://boo.codehaus.org/Language+Features


BZ><Along with the normal types like object, int, string...boo has a special type called "duck">. а ведь всего несколько лет назад я присутствовал при зарождении duck typing


Язык по сути сдох (правда я на него уже год как не глядел).

Как я понимаю после того как авторы поглядели на Nemerle, то попытались воспроизвести его фичи, но на пол пути сдались. Языки похожи идеологически, но вот качество проектирования и реализации просто несравнимы.

Главная разница в том, что Nemerle выводит типы во что бы это не стало. Если они не выводятся, то сообщает об ошибке, предполагая, что программист внесет недостающую информацию. Бу же если не может вывести тип, тупо переходит на динамику и свойственную ей интерпретацию. Так что это даже не ПиПи который создает перегруженные копии методов для разных типов параметров.

Syntactic Macros (http://boo.codehaus.org/Syntactic+Macros) — чистая попытка содрать макросы сами знаете котого, но результат фиговенький. Особенно печалит отсутствие квази-цитирования. Ну, а то, что в языке отсутствует паттерн-матчинг и алгебраические типы еще больше усугубляет проблему (без них и квази-цитирование не актуально).

В общем, вывод типов фиговый. Язык слабый. Макросы недоделанные и сложные в реализации. Поддержка дженериков (как я понимаю) до сих пор не сделана и неизвестно будет ли вообще сделана хоть когда-нибудь.

Так что, на мой взгляд, язык может быть интересен только тем, кто очень привержен синтаксису Питна и хочет программировать с его испоьзованием под дотнет.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Boo: static-typed Python для .Net
От: Andir Россия
Дата: 06.09.07 11:37
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Язык по сути сдох (правда я на него уже год как не глядел).


Его активно используют. И активно развивают.

VD>Как я понимаю после того как авторы поглядели на Nemerle, то попытались воспроизвести его фичи, но на пол пути сдались. Языки похожи идеологически, но вот качество проектирования и реализации просто несравнимы.


VD>Syntactic Macros (http://boo.codehaus.org/Syntactic+Macros) — чистая попытка содрать макросы сами знаете котого, но результат фиговенький.


Это очень маловероятно. Языки развивались практически параллельно, да и Nemerle был тогда в зачаточном состоянии. А эти макросы были заявлены в Boo практически сразу при создании проекта.
Хотя теперь уже и квази-квотинг появился, потому как идея безусловно хорошая.

VD>Поддержка дженериков (как я понимаю) до сих пор не сделана и неизвестно будет ли вообще сделана хоть когда-нибудь.


Неверно.

С Уважением, Andir!
using( RSDN@Home 1.2.0 alpha rev. 743 ) { /* Работаем */ }
Re[3]: Boo: static-typed Python для .Net
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.09.07 11:21
Оценка:
Здравствуйте, Andir, Вы писали:

A>Его активно используют.


Ну, что же... Если это так, то могу только порадоваться. Год назад это было нетак.


A>И активно развивают.


Поглядел ченж-лог... Что-то делают. Но то, что вверху присутствуют записи о правках багов в работе с дженериками говорит о том, что производительность у этой активности не очень высокая.

Вообще-то языку уже довольно много лет. Он ведь чуть ли не в 2000-ом году был начат. А реализовано откровенно говря далеко не все что было бы нужно.

VD>>Syntactic Macros (http://boo.codehaus.org/Syntactic+Macros) — чистая попытка содрать макросы сами знаете котого, но результат фиговенький.


A>Это очень маловероятно.


Что маловероятно? Я сам читал переписку орла реализовывашего эту фичу с немерлистами. Проблема Бу в том, что компилятор изначально не был спроектирован под расширение. Он был создан с использованием генератора парсеров и ООП. Это сильно усложняет реализацию удобной макро-подсистемы.

A> Языки развивались практически параллельно,


Язык появлися сильно раньше Немреле, а данная фича сильно поже макросов Немреле. И я уже говорил, что читал в свое время перепску между немерлистами и каким-то там орлом из Бу.

A> да и Nemerle был тогда в зачаточном состоянии.


Когда, тогда? Напомню, что маросы были в одной из первых версий и язык проектировался под них. В Бу же они были добавлены уже после того как сам язык был сформирован. Да и качество их просто ниже плинтуса.

A> А эти макросы были заявлены в Boo практически сразу при создании проекта.


Ссылки, плиз. К тому же заявить и реализовать — это, как говорят в Одессе, "две большие разницы".

A>Хотя теперь уже и квази-квотинг появился, потому как идея безусловно хорошая.


Идее лет 30 . Вопрос в том, что люди явно не изучили чужой опыт перед тем как начать проектирование языка. Точнее изучили, но только опыт Питоностроителей. А он явно не полон. Да и динамическая специфика прет из всех щелей. А Бу язык статически типизированный и ему нужны были другие подходы (макросы, а не динамическая модификация интерпретируемых структур, как в оригинальном Питоне).

Вот только без паттерн-матчинга толку от квази-фитирования не много. Ведь при этом им можно только конструировать код. Но еще более важно производить декомпозицию кода. Без паттерн-матчинга это сделать тяжело (я даже не заню как, если только специализрованное средство придумать).

В Бу маросы (когда они появились) были чистыми плагинами к компилятору и требовали реализации Посетителя для обхода кода. Что явно топорный сопособ. Это изменилось?

VD>>Поддержка дженериков (как я понимаю) до сих пор не сделана и неизвестно будет ли вообще сделана хоть когда-нибудь.


A>Неверно.


Может быть. Я же сказал — год не смотрел (а то и больше). Год назад их не было. Судя по ченьж-логу СВН-а они и сейчас не полностью поддерживаются. Значит только что сделаны. А то и в процессе. В Немрле они были еще когда он сидел на фрэймворке 1.1 (эмулировались как в Яве, причем очень эффективно). А при появлении бэты перешли на нэйтив дженерики.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Boo: static-typed Python для .Net
От: Vermicious Knid  
Дата: 08.09.07 15:06
Оценка: +1
Здравствуйте, VladD2, Вы писали:

A>>Его активно используют.

VD>Ну, что же... Если это так, то могу только порадоваться. Год назад это было нетак.
Есть определенная тусовка. Действительно Boo используют больше чем Nemerle, community у него активнее. Скажем так, "маркетинг" у него лучше. Авторы никогда толком не продвигали Nemerle, а сейчас вообще утратили к этому всякий интерес. Плюс позиционирование лучше — статически-типизированный Питон для .NET импонирует к сожалению значительно большему числу людей, чем C# 4.0 + ML. Что очень жаль, так как Питон сам по себе, как язык программирования, после Nemerle кажется полным дерьмом (это я говорю как человек, последний год по работе имеющий дело в основном с Питоном). И Boo значительную часть этого дерьма унаследовал. Конечно в Питоне, как и в большинстве других языков, есть свои удачные моменты и решения, но, как мне кажется, в Boo многих из них как раз нет.

A>>И активно развивают.

VD>Поглядел ченж-лог... Что-то делают. Но то, что вверху присутствуют записи о правках багов в работе с дженериками говорит о том, что производительность у этой активности не очень высокая.
+1. С дженериками они возятся уже чуть ли не два года. И то, что-то получилось у них благодаря опыту Nemerle, так как S.R.Emit, который Boo тоже использует дико глючный в этой области. И судя по трекеру поддержка дженериков далека от того, что есть в Nemerle.

VD>Вообще-то языку уже довольно много лет. Он ведь чуть ли не в 2000-ом году был начат. А реализовано откровенно говря далеко не все что было бы нужно.

Если верить Boo Manifesto, они с Nemerle примерно одного возраста(+- пара месяцев). Там написано, что разработка началась в 2003-м. "Макросы" в первом публичном релизе, Boo 0.1, были, но он датируется июнем 2004-го, а у Nemerle релиза три-четыре публичных уже к тому времени вышло и нельзя сказать, что он был совсем в зачаточном состоянии(почти все основные возможности там были, синтаксис был немного другой).

Писались они, как и сам компилятор Boo по сей день, на C#(все публичные релизы Nemerle были написаны на Nemerle), были неотъемлемой частью исходного текста компилятора(то есть да, никаких плагинов), очень отдаленно напоминали то, во что компилятор Nemerle компилирует макрос; и возможности их были очень куцые. А вот у Nemerle уже тогда была полноценная, мощная макро-система, которая претерпела не очень много изменений с того времени, и до уровня которой Boo даже на расстояние пушечного выстрела еще не приблизился.

Следующая часть сообщения обращена в основном к Andir:
VD>>>Syntactic Macros (http://boo.codehaus.org/Syntactic+Macros) — чистая попытка содрать макросы сами знаете котого, но результат фиговенький.
A>>Это очень маловероятно.
Это не то что маловероятно, это именно так и есть. Как раз как когда пара релизов Nemerle засветилась на специализированных сайтах, автор Boo на скорую руку прикрутил подобие "макросов" и сделал первый релиз Boo.

A>> Языки развивались практически параллельно,

Nemerle опережал Boo с самого начала и при этом продолжал развиваться. Единственное, что было у Boo первым — продвинутая интеграция с IDE, что понятно, так как язык гораздо проще. Правда IDE в данном случае — monodevelop/#develop, которые никому кроме линуксоидов и отдельных фанатов open-source даром не нужны. Но на данный момент Boo и в этом слабее, у него нет интеграции такого качества вообще и с VS2005 в частности.

A>> да и Nemerle был тогда в зачаточном состоянии.

Скорее это Boo был в зачаточном состоянии. Nemerle и тогда, и сейчас — light-years ahead.
Re[5]: Boo: static-typed Python для .Net
От: EvilChild Ниоткуда  
Дата: 08.09.07 15:28
Оценка:
Здравствуйте, Vermicious Knid, Вы писали:

VK>Что очень жаль, так как Питон сам по себе, как язык программирования, после Nemerle кажется полным дерьмом (это я говорю как человек, последний год по работе имеющий дело в основном с Питоном).

Можешь перечислить то, что не нравится?
now playing: Dubfire — Roadkill (Breakfast Remix)
Re[5]: Boo: static-typed Python для .Net
От: geniepro http://geniepro.livejournal.com/
Дата: 08.09.07 19:16
Оценка:
Здравствуйте, Vermicious Knid, Вы писали:

VK> ...Питон сам по себе, как язык программирования, после Nemerle кажется полным дерьмом (это я говорю как человек, последний год по работе имеющий дело в основном с Питоном).


Можно ли поподробнее о недостатках Питона и насколько они серьёзны?
Re[6]: Boo: static-typed Python для .Net
От: Vermicious Knid  
Дата: 08.09.07 19:43
Оценка: +1
Здравствуйте, geniepro, Вы писали:

VK>> ...Питон сам по себе, как язык программирования, после Nemerle кажется полным дерьмом (это я говорю как человек, последний год по работе имеющий дело в основном с Питоном).

G>Можно ли поподробнее о недостатках Питона и насколько они серьёзны?
Это флэш-моб? Никаких серьезных недостатков у Питона нет, просто нет никаких серьезных достоинств, как язык программирования он посредственен. Я не зря выделил после Nemerle. Если бы я писал на нем после C# или Java, то впечатления возможно были бы немного другие.

Особого желания развивать эту тему у меня нет. Просто я считаю, что Питон не лучший образец для подражания при дизайне языков программирования. Так что речь не столько о Питоне, сколько о Boo. А как рабочий инструмент он пока меня полностью устраивает, это меньшее из зол в той отрасли программирования, которой я сейчас занимаюсь.
Re[6]: Boo: static-typed Python для .Net
От: Vermicious Knid  
Дата: 08.09.07 20:09
Оценка:
Здравствуйте, EvilChild, Вы писали:

VK>>Что очень жаль, так как Питон сам по себе, как язык программирования, после Nemerle кажется полным дерьмом (это я говорю как человек, последний год по работе имеющий дело в основном с Питоном).

EC>Можешь перечислить то, что не нравится?
Проще перечислить то, что нравится. Простая и удобная интроспекция, сахар вроде вариадических именованных параметров, встроенного синтаксиса для словарей и слайсинга, некоторые библиотеки и фреймворки, более облегченный подход к их разработке по сравнению с .NET. Плюс естественно те возможности, которые есть и в Nemerle, за исключением того, что в питоне они часто более убоги. Не нравится практически все остальное.

Мне не нравится концепция языка в целом, не нравится видение Гвидо ван Россума, мне и сам ван Россум не нравится. Питон это всего-лишь замаскированный под современный язык бэйсик, не более того. Нововведения были сделаны в правильном направлении, но бэйсик остался бэйсиком. Пока не пришло осознание того, что это бэйсик писать на Питоне было невыносимо неприятно. Потом вспомнил спектрумовский бэйсик из детства, осознал насколько это похоже на Питон (там кстати были и локальные функции, и слайсинг строк и массивов, и директива print, да и вообще директивы, и не было типа char, и много еще похожих моментов ) и занял более снисходительную позицию. Язык, в котором нет лексического скопинга можно только жалеть, ненавидеть его бесcмысленно. Не повезло ему с дизайнером.
Re[5]: Boo: static-typed Python для .Net
От: Andir Россия
Дата: 09.09.07 09:41
Оценка:
Здравствуйте, Vermicious Knid, Вы писали:

VK>Следующая часть сообщения обращена в основном к Andir:

VD>>>>Syntactic Macros (http://boo.codehaus.org/Syntactic+Macros) — чистая попытка содрать макросы сами знаете котого, но результат фиговенький.
A>>>Это очень маловероятно.
VK>Это не то что маловероятно, это именно так и есть. Как раз как когда пара релизов Nemerle засветилась на специализированных сайтах, автор Boo на скорую руку прикрутил подобие "макросов" и сделал первый релиз Boo.

A>>> Языки развивались практически параллельно,

VK>Nemerle опережал Boo с самого начала и при этом продолжал развиваться. Единственное, что было у Boo первым — продвинутая интеграция с IDE, что понятно, так как язык гораздо проще. Правда IDE в данном случае — monodevelop/#develop, которые никому кроме линуксоидов и отдельных фанатов open-source даром не нужны. Но на данный момент Boo и в этом слабее, у него нет интеграции такого качества вообще и с VS2005 в частности.

A>>> да и Nemerle был тогда в зачаточном состоянии.

VK>Скорее это Boo был в зачаточном состоянии. Nemerle и тогда, и сейчас — light-years ahead.

Ну хорошо, раз уж я не привожу никаких ссылок, так как не следил в то время за проектами, то и такое мнение имеет право на существование. Пусть будет так: впечатления против впечатлений .

Личное же моё впечатление, когда я первый раз смотрел на Boo, было в том, что всё вполне логично и органично выглядит, и наклёпкой кучи концепций собранных по интернету на специализированных сайтах — это не выглядело. Поэтому я считаю маловероятной идею приклеивания макросов наспех.
На Nemerle я смотрел гораздо раньше Boo, и в то время он производил впечатление только как невероятно сырая вещь, которая была похожа на способ, используя синтаксис C# и ML'я c помощью базовых "комбинаторов" реализовать нормальную поддержку .Net. Вот с тех пор язык вырос, поэтому я и говорю что был в зачаточном состоянии.
А уж о поддержке IDE я вообще не говорю, меня интересует только языковая сторона, к которой IDE никак не соотносится, даже если и её поддержка зашита в компиляторе.

P.S. Сам лично я не использую ни того, ни другого.

С Уважением, Andir!
using( RSDN@Home 1.2.0 alpha rev. 743 ) { /* Работаем */ }
Re: Boo: static-typed Python для .Net
От: Кодт Россия  
Дата: 10.09.07 13:14
Оценка:
Здравствуйте, BulatZiganshin, Вы писали:

BZ>видели такое чудо?

BZ>http://boo.codehaus.org/Language+Features

А чего это они вместо кортежей практикуют массивы?
Соответственно, (42,"foo") имеет тип "массив объектов", вместо (int * string)
И мы на ровном месте приезжаем на птичий двор, к уткам.
... << RSDN@Home 1.2.0 alpha rev. 655>>
Перекуём баги на фичи!
Re[6]: Boo: static-typed Python для .Net
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.09.07 11:17
Оценка:
Здравствуйте, Andir, Вы писали:

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


Да, так оно и есть. Просто смотря с чем сравнивать. Ведь скажем какой-нить Хундай очень неплохой автомобильчик по сравнению с копейкой. Но вот по срвнению с каким-нить Лексусом или там Мерсом он уже выглядит бледненько. Просто никому в голову не приходит сравнивать машины разных классов. Но вот Бу и Немерле позиционируют себя как раз как продуктны близкого класса и на фоне последнего Бу выглядит очень бледненько. Причем так было всегда.

A> Поэтому я считаю маловероятной идею приклеивания макросов наспех.


Ну, это как бы факт. Просто я не додумался собрать ссылок по этому поводу. Но споры орлов из Бу и немерлистов я помню отчетливо. Вообще прикольно, что с немерлистами умудрились поспорить многие новаторы проходившие в Философии в последние годы. Только создатели Скалы умудрились его незаметить по началу. В прочем, возможно, что это специально сделанный вид . На сегодня они о нем знают и похоже, что подумывают над похожей макросистемой. По крайней мере первые шаги вроде как уже сделаны.

A>На Nemerle я смотрел гораздо раньше Boo,


Это странно, так как Немерле появился на публике в феврале 2004-ого. А слышно о нем стало не раньше 2005-го. А вот про Бу было известно раньше (если не ошибаюсь о нем было заявлено еще в 2000-ом, по крайней мере в 2003-ем он уже был зарелизен или здесь).

A> и в то время он производил впечатление только как невероятно сырая вещь, которая была похожа на способ, используя синтаксис C# и ML'я c помощью базовых "комбинаторов" реализовать нормальную поддержку .Net. Вот с тех пор язык вырос, поэтому я и говорю что был в зачаточном состоянии.


Я что-то не помню таких релизов. Возможно я просто узнал о проекте слишком поздно. Но это мало вероятно.

A>А уж о поддержке IDE я вообще не говорю, меня интересует только языковая сторона, к которой IDE никак не соотносится, даже если и её поддержка зашита в компиляторе.


А зря. Язык в голом виде нужен только фанатикам. Кроме самого языка нужно удобное окружение.
Кстати языках немало гворит то, что на чем они написаны и на чем пишется их окружение. Вот Немерле и его окружение в основном пишется на Немерле. А Бу пишется на C#. Выбор C# говорит об одно из трех. Или Бу не имеет не сильно более высокий уровень и проблемы вызванные бутстрайпингом превышают выгоды от его применения, или Бу не обеспечивает необходимой производительности, или Бу порождает ряд других проблем которые надо решать (что опять таки превышает выгоды от его использования). Немерле же явно получает огромноую выгоду от использования себя самого для собственной разработки. Это координально сократило размер компилятора (причем это на фоне рукописных лексара и парсера, ведь генераторы оных не использовались) и упрощает дальнейшее развитие языка. Наследство МЛ и Лиспа оказалось настолько мощьным, что о создании Немреле не на Немреле даже не идет и речи. Другие языки просто непригодны для этого. Ну, разве что Лисп или какой-нибудь МетаМЛ, но оные вряд ли пригодны для разработки под дотнет (F# тогда был в зародыше).

A>P.S. Сам лично я не использую ни того, ни другого.


Тогда не ясно о чем разговор. Я пытался использовать Бу и во всю использую Немерле.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: Boo: static-typed Python для .Net
От: VladD2 Российская Империя www.nemerle.org
Дата: 11.09.07 11:17
Оценка:
Здравствуйте, Кодт, Вы писали:

BZ>>видели такое чудо?

BZ>>http://boo.codehaus.org/Language+Features

К>А чего это они вместо кортежей практикуют массивы?

К>Соответственно, (42,"foo") имеет тип "массив объектов", вместо (int * string)
К>И мы на ровном месте приезжаем на птичий двор, к уткам.

Видимо совместимость с Питоном.

ЗЫ

Все же не разумно основывать статически типизированные языки на динамических. Или по крайней мере нужно было все тщательнро продумывать.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.