Re[6]: F# - A Functional Programming Language
От: VladD2 Российская Империя www.nemerle.org
Дата: 20.10.07 09:30
Оценка:
Здравствуйте, palm mute, Вы писали:

PM>Таких проблем нет в C#, Java (или даже Nemerle), но там и конструкции let .. in нет.


А нужна она? Она кроме всего прочего еще и не очень понятна простым смертным. Я не раз наблюдал как у людей заворачивались мозги когда они пытались разобраться в том, что значит этот let/in. Запись же в виде привычных переменных понятна всем и сразу.

То что фунции плохо отличимы от просто переменных тоже не здорово.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: F# - A Functional Programming Language
От: EvilChild Ниоткуда  
Дата: 20.10.07 15:45
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Может быть. Просто интеграция у него была очень давно. Фиговая, првда.

Что с ней не так? Или фиговей чем у чего?

VD>Значение слоава "productization" от меня ускальзает. Это значит, что интеграция войдет в поставку студии? Или речь идет о том, что им банально дадут больше бабок?

Станет таким же продуктом как VB, VC#, VC++ насколько я понял.
Официальную поддержку обещают точно.
Интеграция войдет в поставку студии, но уже после релиза 2008.

P.S. Какой статус интеграции Nemerle? Не хуже, чем у F#?
now playing: Submerged — Gutter (feat. Corrupt Souls)
Re[4]: F# - A Functional Programming Language
От: dotneter  
Дата: 22.10.07 06:26
Оценка: 3 (1) +2
Здравствуйте, VladD2, Вы писали:

VD>Им и раньше не один человек занимался. К тому же эти люди были очень близки с реальными разработчиками из МС, напиример, с разработчиками из команды Шарпа. Вот только из тройки языков: Scala, Nemerle и F# последний является самым не проходным.


Не проходным куда? На амазоне по нему можно например две книги найти в отличии от двух проходных.
Talk is cheap. Show me the code.
Re[5]: F# - A Functional Programming Language
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.10.07 10:16
Оценка:
Здравствуйте, dotneter, Вы писали:

VD>>Им и раньше не один человек занимался. К тому же эти люди были очень близки с реальными разработчиками из МС, напиример, с разработчиками из команды Шарпа. Вот только из тройки языков: Scala, Nemerle и F# последний является самым не проходным.


D>Не проходным куда? На амазоне по нему можно например две книги найти в отличии от двух проходных.


В мэйнстрим. Синтаксис и семантика ОКамла — это приговор для языка пытающегося стать популярным. Не будут (в массе своей) люди привыкшие к С/Паскале-подобному синтаксису ломать свое сознание и привыкать к МЛ-е подобному.

F# — это довольно прямолинейная адаптация ОКамла на дотнет, когда как Скала и Немерле — это новые языки взаимствовашие из МЛ-е подобных языков идеологию. В них все функциональные фичи адаптированны к ОО-миру дотнета/явы.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: F# - A Functional Programming Language
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.10.07 10:16
Оценка:
Здравствуйте, EvilChild, Вы писали:

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


VD>>Может быть. Просто интеграция у него была очень давно. Фиговая, првда.

EC>Что с ней не так?

Очень ограниченная по фунциональности (например, не было навигации по коду). И довольно глючная. Чуть-чуть код изменил... в нем появилась мелкая ошибка, и интеграция уже не работает.

EC>Или фиговей чем у чего?


В идеале, чем у C#/VB. Ну, а на худой конец чем у того же Немерле.

VD>>Значение слоава "productization" от меня ускальзает. Это значит, что интеграция войдет в поставку студии? Или речь идет о том, что им банально дадут больше бабок?

EC>Станет таким же продуктом как VB, VC#, VC++ насколько я понял.

А что в это понятие входит? Скажем интеграция для анменеджед C++ столь убогая, что ее пользователям не позавидуешь. Но с другой стороны VC++ входмт в коробку со студией и поддерживается (официально, за деньги) МС.

Судя по коментариям из этого блога в коробку F# точно не попадет. Официальной поддержки точже похоже не будет. Так что судьба его (похоже) будет срадни судьбе IronPithon-а, то есть МС к нему какое-то отношение имеет, но официально не поддерживает. По жизни это превращается в то, что IronPithon стал полегоном для груп разработки (например, менеджед обертки над VS SDK). Качество IronPithon низкое, интеграции для него еще ниже. Этого уровня F# уже достиг (его качество выше чем у IronPithon).

Так о чем тогда речь?

EC>Официальную поддержку обещают точно.


Где? Ни слова об этом не услышал.
Напмню, что официально поддерживать в МС означет, что ты можешь обратиться в сапорт МС и получить консультацию.

EC>Интеграция войдет в поставку студии, но уже после релиза 2008.


Не выдумавай. В коментах ниже четко и явно сказано, что этого не будет.

EC>P.S. Какой статус интеграции Nemerle? Не хуже, чем у F#?


Значительно лучше. Если бы у нас были деньги как у автора F#-а, и связи с группами разработчиков в МС, то мы достигли бы куда большего.

ЗЫ

У меня создалось устойчивое ощущение, что это удавшаяся пиар-акция. В жизни F# мало что изменяется, но благодаря громким расплывчатым фразам создается ощущение, что грядет масса изменений.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: F# - A Functional Programming Language
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.10.07 11:02
Оценка:
Здравствуйте, EvilChild, Вы писали:

EC>Станет таким же продуктом как VB, VC#, VC++ насколько я понял.

EC>Официальную поддержку обещают точно.

Вот, собственно, ответ на подобный вопрос:

# re: F# — A Functional Programming Language
Wednesday, October 17, 2007 5:03 PM by LukeH
Jordan —

No, F# won't be included in the box with Visual Studio 2008.

We have not finalized how or when we will ship the productized version of F#. We will, however, want to get community feedback during the development phase with CTPs and Beta releases that developers can try out along the way. You can watch Don Syme’s blog for updates as we have them.

Note that in the meantime, the Microsoft Research download of F# is available from http://research.microsoft.com/fsharp, and provides everything you need to learn more about F#.

Thanks,

Luke Hoban

... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: F# - A Functional Programming Language
От: G2 Ниоткуда  
Дата: 22.10.07 11:31
Оценка:
VD>No, F# won't be included in the box with Visual Studio 2008.

VD>We have not finalized how or when we will ship the productized version of F#. We will, however, want to get community feedback during the development phase with CTPs and Beta releases that developers can try out along the way. You can watch Don Syme’s blog for updates as we have them.


Тогда непонятно о каких

CTPs and Beta releases

идет речь.
Улыбаемся и машем :-)
Re[7]: F# - A Functional Programming Language
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.10.07 12:28
Оценка: +1
Здравствуйте, G2, Вы писали:

G2> Тогда непонятно о каких

CTPs and Beta releases

идет речь.


Как раз все очевидно. Все как было так и осталось. Релиза нет. Все используют CTP (т.е. Comunity Test Previw) и бэты которые качаются с сайта проекта.

Еще раз говорю, что лично мне пока что кажется, что это просто грамотный пиар. Из сказанного я могу сделать вывод, что вроде как к этой команде подключили несолько фултайм-девелоперов (профиссиональных, возможно индусов) которые будут развивать проект за зарплату. Ранее над проектом работал только один фултайм полу-ученый и несколько форфанов.

В принцпе для развития проекта — это очень полезно. Для Немерла такой вариант был бы идеален, так как идеологически язык закончен. F# же как раз технологически хорошо, а вот идеологически он никакой. Это ОКамл чуть-чуть адаптированный к дотнету. И никакие армии фултайм-девелоперов это не в состоянии изменить.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: F# - A Functional Programming Language
От: dotneter  
Дата: 22.10.07 12:56
Оценка: +2
Здравствуйте, VladD2, Вы писали:

VD>В мэйнстрим.


Имхо если какой то NET язык станет мэйнстримом без поддержки MS это будет чудом. Поэтому шансы F# в разы выше чем у Nemerle.
Talk is cheap. Show me the code.
Re[8]: F# - A Functional Programming Language
От: nikov США http://www.linkedin.com/in/nikov
Дата: 22.10.07 13:09
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Еще раз говорю, что лично мне пока что кажется, что это просто грамотный пиар. Из сказанного я могу сделать вывод, что вроде как к этой команде подключили несолько фултайм-девелоперов (профиссиональных, возможно индусов) которые будут развивать проект за зарплату.


Мне кажется, что это не просто пиар. Нескольких моих знакомых (не индусов ) сейчас перебросили из C# compiler team на F#.
Re[8]: F# - A Functional Programming Language
От: Schade Россия  
Дата: 22.10.07 13:25
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>В принцпе для развития проекта — это очень полезно. Для Немерла такой вариант был бы идеален, так как идеологически язык закончен. F# же как раз технологически хорошо, а вот идеологически он никакой. Это ОКамл чуть-чуть адаптированный к дотнету. И никакие армии фултайм-девелоперов это не в состоянии изменить.


Да, в нынешнем своем состоянии F# представляет собой некоторую идеологическую кашу. Частично из-за того, что его модель не самым лучшим образом ложится на насквозь ООП-ную .NET VM. Частично — потому что пока что в порядке эксперимента в среде коммьюнити отрабатывается практичность и применимость многих новых фич. Если не передумают, то в процессе productisation эту кашу основательно побреют оккамовым бритвенным набором. Вполне возможно, что итоговый продукт будет разительно отличаться то того, что есть сейчас.

Что касается Nemerle, то тут наверное имеет смысл все-таки рассмотреть отдельно сам язык, отдельно его макросистему. Просто в силу того, что макросистема, при всех ее достоинствах, не прибита гвоздями к языку, и при желании ее можно как шапку натянуть хоть на Visual Basic (с соответствующей адаптацией, конечно). Ты же не сомневаешься, что MS, если сочтет целесообразным, не постесняется позаимствовать ее у Nemerle? Так вот, сам по себе Nemerle, без этой самой макросистемы, как мне кажется, представляет собой довольно осторожный шаг в сторону ФП. Возможно, соизмеримый с тем, чего планируется достигнуть в рамках эволюции C#, пусть даже и с заимствованием немерловых идей. F# все-таки более ориентирован на функциональный стиль программирования, пусть и ценой существенного отличия от мэйнстрима в синтаксисе, и, видимо, поэтому стал "более проходным" с точки зрения MS, поскольку в случае Nemerle получается некоторое дублирование.

И вообще, не так страшен OCaml, как он выглядит
Re[7]: F# - A Functional Programming Language
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.10.07 16:09
Оценка: -1
Здравствуйте, dotneter, Вы писали:

D>Имхо если какой то NET язык станет мэйнстримом без поддержки MS это будет чудом.


Это другой разговор.

D>Поэтому шансы F# в разы выше чем у Nemerle.


У F# шансов 0. Меньше уже быть не может.

Собственно о том и речь, что тратить деньги на заранее лузерский проект просто гулпо (как бы не было приятно квасить с его ватором по вечерам).
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: F# - A Functional Programming Language
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.10.07 16:09
Оценка:
Здравствуйте, nikov, Вы писали:

N>Мне кажется, что это не просто пиар. Нескольких моих знакомых (не индусов ) сейчас перебросили из C# compiler team на F#.


Вот так бы и написали. Зачем огород городить. Сказали бы, что команде дали бабки (и добро) на дополнительных фулайм-девелоперов. Это несомненно здорово для любого академического проекта. Вот только для F# — это как мертвому припарка. Язык приципиально академический. Ну, не будут писать на нем орды привыкших писать на С-подобных языках программистогв. Да и без реальной поддержки (пакладки в студию, подключения к МСДН) все эти потуги мало эффективны. А реакция на форуме как раз показывает, что народ ожидает именно этого.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: F# - A Functional Programming Language
От: VladD2 Российская Империя www.nemerle.org
Дата: 22.10.07 16:09
Оценка: -3
Здравствуйте, Schade, Вы писали:

S>Да, в нынешнем своем состоянии F# представляет собой некоторую идеологическую кашу. Частично из-за того, что его модель не самым лучшим образом ложится на насквозь ООП-ную .NET VM.


+1

S> Частично — потому что пока что в порядке эксперимента в среде коммьюнити отрабатывается практичность и применимость многих новых фич. Если не передумают, то в процессе productisation эту кашу основательно побреют оккамовым бритвенным набором.


+1

S> Вполне возможно, что итоговый продукт будет разительно отличаться то того, что есть сейчас.


А с чего должно получиться что-то хорошее? Ведь ОКамловские уши не убрать. А то что эти "продуктизайдеры" могут отрезать еще больше убьет язык, так как кастрированность в купе с явной врождебностью мэйнстриму не лучшее сочетание для языка претендующего на попрулярность.

S>Что касается Nemerle, то тут наверное имеет смысл все-таки рассмотреть отдельно сам язык, отдельно его макросистему. Просто в силу того, что макросистема, при всех ее достоинствах, не прибита гвоздями к языку, и при желании ее можно как шапку натянуть хоть на Visual Basic (с соответствующей адаптацией, конечно).


Это довольно делетанские рассуждения. Уж извини за резкость. Нельзя прикрутить систему макросов Немерле ни к Васику, ни к Шарпу. Вот к F#-му можно. Но тоже пол языка прийдется переделать. Уж точно всю реализацию компилятора прийдется поменять.

1. Немерле изначально проектировлася как язык поддерживающий расширяемость. В нем были задействованы все самые сильные фичи из МЛ-подобных языко и Лиспа. Немерле == целостное/интегрированное проектное решение нацеленное на решение задач входящих в его ТЗ (гибридного языка безшевно поддерживающего OOP, FP, GP и MP). Все решения принимавшиеся при развитии языка проходили анализ на соответствие исходным условиям. Так что прикрутить систему макросов к другому языку просто невозможно. Или в итоге получится другой язык который будет намного ближе к Немерле нежели к исходному.
2. Немерле — это не одна макросистема. Сам язык является очень большим шагом вперед в области бесшевной интеграции ООП и ФП. Nemerle не ОКамл или Хаскель который попытались с помощью автогена пришпандорить к дотнету. Немерле — это язык спроектированный под дотнет с учетом ФП. C#-программисты воспринимают Nemerle в сто раз проще нежели F#. Последний просто враждебен для них, а первый является эдаким суперсетом.

S>Ты же не сомневаешься, что MS, если сочтет целесообразным, не постесняется позаимствовать ее у Nemerle?


Пока что я не сомневаюсь, что среди тех кто принимает хоть какие-то решения в МС прос нет ни одного человека который бы всерьез разобрался бы в вопросе "что такое Немерле". Денег им на начальном этапе дали (как ротор-проекту) и на этом все и закончилось. Хейльсберг "не нашел документации на их сайте". Остальные просто не смотрели.

Так что я не сомневаюсь, что в МС просто не понимают, что такое Nemerle.

S> Так вот, сам по себе Nemerle, без этой самой макросистемы, как мне кажется, представляет собой довольно осторожный шаг в сторону ФП. Возможно, соизмеримый с тем, чего планируется достигнуть в рамках эволюции C#, пусть даже и с заимствованием немерловых идей.


В C# уже явно мло что може будет достигнуть. Сделано столько ошибок и столько не сделано (видимо из-за боязни), что эвалюционный путь уже фактически закрыт. По крайней мере репзультат будет сильно хуже специально спроектированного языка.

S> F# все-таки более ориентирован на функциональный стиль программирования, пусть и ценой существенного отличия от мэйнстрима в синтаксисе,


Это уже чистейшая инсинуация. F# не имеет ни одного приемущества перед Nemerle в области ФП.

S>и, видимо, поэтому стал "более проходным" с точки зрения MS, поскольку в случае Nemerle получается некоторое дублирование.


Он попросту не стал более проходным. Он вообще не проходной. Он — это тупик. Его заслугой может стать только то, что на него могут польститься люди из академических кругов которые уже сейчас используют ОКамл и им захочется иметь более-менее человеческую поддержку со стороны IDE или просто по каким-то соображениям нужно испоьзовать дотнет.

S>И вообще, не так страшен OCaml, как он выглядит


Он вообще не страшен. Он просто не пригоден для мэйнстрим-языка. Его синтаксис и сематика выглядят для большинства из мэйнстрима как некое недоразумение.

Проблем в том, что именно его разработчик имеет доступ к тем орлам из МС, что принимают решения. Вот и смог выбить бабок. Дайте мне бабок на 4-5 фултайм-разработчиков и через год про F# будут говорить как про недоразумение.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: F# - A Functional Programming Language
От: Schade Россия  
Дата: 22.10.07 20:06
Оценка: 2 (1) +1 -1 :))
Здравствуйте, VladD2, Вы писали:

VD>А с чего должно получиться что-то хорошее? Ведь ОКамловские уши не убрать. А то что эти "продуктизайдеры" могут отрезать еще больше убьет язык, так как кастрированность в купе с явной врождебностью мэйнстриму не лучшее сочетание для языка претендующего на попрулярность.


[offtop]И за что такая враждебность к Камлу? Правда, мсье Леруа принципиально забил на полноценную поддержку многопоточности (форкайте и будет вам щастье, а вне юникса щастья не бывает — это краткое обобщение его ответов), и тем, кажется, совсем добил свое детище. Жаль.[/offtop]
А вообще да, не удивлюсь, если в итоге все урежут до минимального набора "чтоб достать данные из базы да на формочку положить".

VD>Это довольно делетанские рассуждения. Уж извини за резкость. Нельзя прикрутить систему макросов Немерле ни к Васику, ни к Шарпу. Вот к F#-му можно. Но тоже пол языка прийдется переделать. Уж точно всю реализацию компилятора прийдется поменять.


VD>1. Немерле изначально проектировлася как язык поддерживающий расширяемость. В нем были задействованы все самые сильные фичи из МЛ-подобных языко и Лиспа. Немерле == целостное/интегрированное проектное решение нацеленное на решение задач входящих в его ТЗ (гибридного языка безшевно поддерживающего OOP, FP, GP и MP). Все решения принимавшиеся при развитии языка проходили анализ на соответствие исходным условиям. Так что прикрутить систему макросов к другому языку просто невозможно. Или в итоге получится другой язык который будет намного ближе к Немерле нежели к исходному.


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

VD>2. Немерле — это не одна макросистема. Сам язык является очень большим шагом вперед в области бесшевной интеграции ООП и ФП. Nemerle не ОКамл или Хаскель который попытались с помощью автогена пришпандорить к дотнету. Немерле — это язык спроектированный под дотнет с учетом ФП. C#-программисты воспринимают Nemerle в сто раз проще нежели F#. Последний просто враждебен для них, а первый является эдаким суперсетом.


Ну, C# в самом начале тоже оказался враждебен для сиплюсплюсников (самый что ни на есть мэйнстрим для 2002 года), несмотря на близкий синтаксис. Многие вон до сих пор плюются и возмущаются. Зато дельфисты прыгали от радости. Те, для кого привычный синтаксис так уж важен, и писать будут как на C# (иногда с макросами).

VD>Пока что я не сомневаюсь, что среди тех кто принимает хоть какие-то решения в МС прос нет ни одного человека который бы всерьез разобрался бы в вопросе "что такое Немерле". Денег им на начальном этапе дали (как ротор-проекту) и на этом все и закончилось.


То-то я смотрю, с тех пор как братья-поляки съездили в MS Research, развитие языка продолжается силами RSDN-энтузиастов

VD>Хейльсберг "не нашел документации на их сайте". Остальные просто не смотрели.


Ну, этого старого дельфиста давно пора на пенсию. Чтобы не мешал. Чего стоят одни только анонимные делегаты в C# 2.0 — это больше похоже на диверсию, чем на прогресс. Дискредитация, так сказать, светлой идеи лямбды

VD>Так что я не сомневаюсь, что в МС просто не понимают, что такое Nemerle.


VD>В C# уже явно мло что може будет достигнуть. Сделано столько ошибок и столько не сделано (видимо из-за боязни), что эвалюционный путь уже фактически закрыт. По крайней мере репзультат будет сильно хуже специально спроектированного языка.


Да, Хейлсберга — однозначно на пенсию. Без права переписки. Кстати, могу ошибаться, но, по-моему, те же генерики в .NET 2.0 — это в немалой степени заслуга D.Syme, автора F#, а не этого редиски.

VD>Это уже чистейшая инсинуация. F# не имеет ни одного приемущества перед Nemerle в области ФП.


Ой, холиваров Nemerle vs. F# тут еще не было. И не хочется как-то. Ничего если я просто выскажу пару соображений? Шапками закидывать будут?
Лично мне как-то не совсем понравился подход Nemerle к выводу типов — все ограничивается локальными функциями, причем по первому использованию. И если функция вызвана с аргументом типа 'a, то к типу 'b ее уже не применить — будьте добры, выносите отдельно, да еще и с обязательными type constraints. F# пытается вывести типы для всего, причем идет по пути выведения most generic type.
Или вот, макросами можно расширить механизм pattern matching, чтобы получить что-то типа active patterns из F#?
Композицию функций ( ('a -> 'b) -> ('b -> 'c) -> ('a -> 'c) ) можно использовать (типа хаскелевой точки) ?
Ну и так далее по мелочам (специально не цепляюсь за ФП-шные традиции типа карринга)
Вот таких мелочей толи не нашел в Немерле, толи нет их там. А как-то без них грустно (прошу не считать блабописцем )

VD>Он попросту не стал более проходным. Он вообще не проходной. Он — это тупик. Его заслугой может стать только то, что на него могут польститься люди из академических кругов которые уже сейчас используют ОКамл и им захочется иметь более-менее человеческую поддержку со стороны IDE или просто по каким-то соображениям нужно испоьзовать дотнет.


Ой, блин. А я вот чего-то польстился, правда после первых провальных попыток подружиться с Хаскелем. Доктор, я буду жить?
Ээ, excusez moi, не удержался

VD>Он вообще не страшен. Он просто не пригоден для мэйнстрим-языка. Его синтаксис и сематика выглядят для большинства из мэйнстрима как некое недоразумение.


Нет, ну посмотри тут в соседних форумах, каким недоразумением до сих пор кажется .NET многим плюсовикам (собственно, почему посмотри — сам еще не устал их переубеждать?). А для большинства, судя по всему, так и остается уготована участь писать на C#/VB. Ну подумай сам, если взять в оборот Nemerle, это же, понимаешь, еще и Хейлсберга увольнять придется — кому тогда C# нужен будет? И Хейлсберг, наверное, это понимает (если таки сумел найти документацию на сайте Nemerle)

VD>Проблем в том, что именно его разработчик имеет доступ к тем орлам из МС, что принимают решения. Вот и смог выбить бабок. Дайте мне бабок на 4-5 фултайм-разработчиков и через год про F# будут говорить как про недоразумение.

Nemerle по своей сути претендует скорее на замещение C#, чем на дополнение линейки языков. Потому и не дают. Слишком хорошо — тоже плохо
Re[11]: F# - A Functional Programming Language
От: Klapaucius  
Дата: 23.10.07 07:55
Оценка: 1 (1)
Здравствуйте, Schade, Вы писали:

S>Композицию функций ( ('a -> 'b) -> ('b -> 'c) -> ('a -> 'c) ) можно использовать (типа хаскелевой точки) ?


Можно. Оператор >>.
... << RSDN@Home 1.2.0 alpha rev. 774>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Re[11]: F# - A Functional Programming Language
От: VladD2 Российская Империя www.nemerle.org
Дата: 23.10.07 10:09
Оценка: 1 (1) +1 -2
S>[offtop]И за что такая враждебность к Камлу? Правда, мсье Леруа принципиально забил на полноценную поддержку многопоточности (форкайте и будет вам щастье, а вне юникса щастья не бывает — это краткое обобщение его ответов), и тем, кажется, совсем добил свое детище. Жаль.[/offtop]

ОКамл не плохой язык... для тех кто учился писать на нем или хотя бы на Лиспе. А для тех кто 5-6 лет в институте С++ и Дельфи изучал, а потом на работе писал на C++/Java/C# его синтаксис, да и семантика просто не приемлема. Тут будет уже не недолюбливание отдельных фич. Тут будет полное неприятие на концептуальном уровне. До объяснения таких тонких вещей как алгеброические типы дело прсото не дойдет.

S>А вообще да, не удивлюсь, если в итоге все урежут до минимального набора "чтоб достать данные из базы да на формочку положить".


Его и так уже урезали по сравнению с оригинальным ОКамлом. В оригинале он просто не лег бы на дотнет.

S>Ну, я же не говорю про перенос модели макросов один-в-один. Хотя, надо бы посмотреть, что там поменялось в Немерле за последний год. Освежить, так сказать, вкус устриц, чтобы спорить о нем.


За год в языке ничего существенно не изменилось. Просто ты его никогда не занал по серьезному. А его макрос систему вообще даже не понимашь.

До того как заняться Nemerle я работал над проектом R#. Так вот это как раз был проект цель которого привнести мощьную мета-подсистему в C#. Когда я увидил Nemerle, я задумался над тем, что же я делал не так. Позже когда я разабрался в Nemerle, я понял, что результат моих усилий никогда не достигне того, что уже есть в Nemerle, так как этот язык банально спроектирован под эту мета-систему. Он является ее частью. Внем все на это заточено. Даже грамматика языка имеет огромное значение. Язык LL(1), вто повзяоляет относительно легко реализовать ситаксические расширения. C# же копирует ошибки С/С++. Решение бросить "любимую игрушку", которая ндо сказать была уже очень близка к завершению, и заняться чужим языком было для меня не простым. Но сейчас я ни сколички не жалею.

S>Ну, C# в самом начале тоже оказался враждебен для сиплюсплюсников (самый что ни на есть мэйнстрим для 2002 года), несмотря на близкий синтаксис.


Ты понимашь о чем говоришь? Ты говоришь о том, что C++-ники плохо принимаю язык которы основывается на тех же принципах и имеет крайне похожий синтаксис, и утверждашь, что мол на этом основании эти же люди примут совсем другой (идеологически, синтаксически, мемантически) язык! Как же должна работать голова, чтобы прийти к таким парадоксальным выводам? Не понимаю.

S> Многие вон до сих пор плюются и возмущаются. Зато дельфисты прыгали от радости. Те, для кого привычный синтаксис так уж важен, и писать будут как на C# (иногда с макросами).


Да дельфисты тоже проплевались, но идеологически язык был для них родным.

Что касается неприятия, то оно обычно сводится к двум тезисам:
1. Мне не нарвистя вон та финтифлюшка. Что в переводе с ханжеского означает я не хочу чуть изменить привычки.
2. Мне не хватает некоторой фунциональности.

Первое — это конечно полный лам, но от этого не легче. И чем ближе будет язык к тем которые уже изучены, тем проще он будет восприниматься. Так же не маловажно объяснение того, почему подход из любимого языка был заменен на другой. Например, некоторые кто столкнулся с Nemerle спрашивают почему в Nemerle описание типов переменных "имеет синтаксис Паскаля"... "мне не нравится...". Объяснять, что это синтаксис МЛ-я довольно бесполезно. Но зато когда объясняешь зачем это было сделано, то люди таки воспринимают (большинство), так как объяснение логично.

Второе — это уже серьезное неприятие. Многие С++-ники которые не приняли C# как раз говорили о нехватке тех или иных возможностей. Объективно С++ имеет ряд фич (порой не официальных, вроде метапрограммирования на шаблонах) которые ценятся программистами очень высого. Конечно C# дает свои приемущества, но чтобы их понять нужно серьезно попрограммировать на этом языке, а по началу человек пытается программировать в старых идеомах и испльзовать старые концепции (в общем не пытается переучиться). Отсуствие привычных возможнсотей вызвает нешуточную ломку. В результате многие просто бросают это занятие так и не поняв как программирвать на новом языке и какие у него приемущества.

Дельфисты потому и принимают язык проще, так как нонцептуально языки очень близки (особенно с C# 1.х). Синтаксис у языков конечно не очень похожий, но терпимый. За то отсуствующих конструкций почти нет. Разве что метаклассы и виртуальные конструкторы.

С++-ник же сталкивается с отсуствием метапрограммирования на шаблонах. Ограниченности дженериков по сравнению с шаблонами. Шаблоны работают во время компиляции и тем самым позволяют некоторые вольности. Конечно у дженериков есть свои приемущества, но они лежа за гранью привычек программиста и попросту не вопсринимаются по началу как приемещества.

С ОКамлом будет все еще хуже. Новых (и откровенно не очень нужных) концепций масса. Синтаксис языка не просто не похо, а фатально другой. Семантика языка крайне не привычна (хотя тут F# кое что исправил). С++-ник будет испытывать всю ту же ломку в следствии отсуствия возможностей к которым он привык в плюсах, но при этом он еже к тому же будет испытывать ступор своязанный с совершенно другой средой.

Напротив, программист по программировавший на C# начинает писать код на Немерле совершенно свободно. По началу ему нужно запомнить совершенно простые правила (в овсновном связанные с указанием типов). Да, немного будет коробить вывод типов по началу, но он появится и в C# 3.0, к тому же типы можно все же указывать, так что ломки практически не будет. Далее человек может осваивать расширенные возможности по одной. Скачала осваивает вывод типов. Потом локальны функции. Потом паттерн-матчинг. Потом еще что-то. Все это воремя он может писать на языке. Причем писать почти с той же скоростью, что и на C#, так как он практически пользуется суперсетом (если забыть о отсуствии ансэйфа, который в общем-то и так не часто используется). В итоге через пару месяцев человек втягивается и уже может оценить приемущества языка. Но пока он еще не осознает, что в его жизни что-то изменилось. А осознает он это когода после некоторого периода программирования на Nemerle вдруг вынужден плотно программировать на C# (писать новый код, поддержка старого не всчет). И тут, о чудо! Начинается ломка. Да какая?! По круче чем у С++-ника перешедшего с С++ на C#. Причем сильно по круче. Создается ощущение, что у тебя ампутировали руки.

Если на Nemerle начинает программировать С++-никт, то картина несколько другая. Непривычность еще больше чем при переходе на Шарпм, но когда у плюсовика возникает ощущение, что в языке нехватает, скажем, шаблонного метапрограммирования, то он понимает (точнее ему объясняют), что есть куда более удобное и мощьное средство — макросы. Макросы подкупают очень многих С++-ников (даже тех, кто по тем или иным причинам не может выбрать Nemerle в качестве своего интсрумента). На, а дальше все точно так же как в случае шапрщиков. При обратоном переходе начинается ломка. Пара доз Nemerle после этого и ты на долго подсел на этот язык .

В общем, у Nemerle есть четки план перетягивания программистов под свои знамена. А ОКамло-подобному языку этого попросту не сделать. Пропость между С-подобными языками и МЛ-подобными слишком велика.

S>То-то я смотрю, с тех пор как братья-поляки съездили в MS Research, развитие языка продолжается силами RSDN-энтузиастов


В какой еще Research кто-то там ездил? Москаль периодически ездиет просто в МС. Вот давича сказал, что общался с командой CLR-а и довел до них сведения о багах в CLR (видимо свой баг-трекер они не читают).

Что до разработки, то баги фиксятся. Сам язык уже стал довольно зрелым и менять каждый день его нет смысла. Сейчас работа в основном идет над Интеграцией со студией. А ею мы как раз и занимаемся. Москаль работает над автоматизированной проверкой доказательства теорем.

VD>>Хейльсберг "не нашел документации на их сайте". Остальные просто не смотрели.


S>Ну, этого старого дельфиста давно пора на пенсию. Чтобы не мешал.


Другого нет и не предвидится.

S> Чего стоят одни только анонимные делегаты в C# 2.0 — это больше похоже на диверсию, чем на прогресс. Дискредитация, так сказать, светлой идеи лямбды


Не анонимные делегаты, а анонимные методы. Согласен, что синтаксис поганый. Но сама возможность очень и очень полезная. Ошибкой как раз было введение делегатов еще в первой версии шарпа. Нужно было вводить концепцию фунционального типа. Это как раз и есть эволюционные изменения которые кривы из-за плохой исходной наследственности языка. А синтаксис и не мог быть другим если не менять концепции. В третьем шарпе концепции притерпели изменения. Разработчики Шарпа решились на введение вывода типов (примитивного, правда) и отказе от некоторых концепций С. В итоге синтаксис лямбд действительно оказался очень удачным. Более удачным, на мой взгляд, чем МЛ-ный. Но это тоже работа Хейльсберга. Так что не все так трагично. Тграгично другое... язык не проектировался в расчете на ФП. А уж макросы вообще считаются автором языка "слишком большой пушкой".

S>Да, Хейлсберга — однозначно на пенсию. Без права переписки. Кстати, могу ошибаться, но, по-моему, те же генерики в .NET 2.0 — это в немалой степени заслуга D.Syme, автора F#, а не этого редиски.


Да тут ты прав. Ты ошибся. Над дженериками работала отдельная команда в одном из универов Шататов. Вся работа была сделана на базе Ротора (на котором F# никогда не работал). В МС только малость подрихтовали готовый код и пустили в производство.

VD>>Это уже чистейшая инсинуация. F# не имеет ни одного приемущества перед Nemerle в области ФП.


S>Ой, холиваров Nemerle vs. F# тут еще не было.


Да, дейсвительно. Какой смысл сравнивать языки которые никто не использует.

S> И не хочется как-то. Ничего если я просто выскажу пару соображений? Шапками закидывать будут?


Чего, чего. Для высказывания своего мнения нужно еще иметь базовые знания по предмету. У тебя его явно нет. Но уж раз открыл рот, то не обижайся на то что твои высказывания будут не лестно оценены. ОК?

S>Лично мне как-то не совсем понравился подход Nemerle к выводу типов — все ограничивается локальными функциями, причем по первому использованию.


Замечатльно. То есть ты не разобрался не только в Nemerle, но и в F#? Как иначе оценить, то что ты не знаешь, что в F# вывод итпов для членов тпов оченьс ильно ограничен и своидтся к выводу типов из инициализации? Вывод типов из использования не поддерживается. Это приводит к тому что в типы параметров методов и полей описываются почти всегда. Другими словами вывод типов там тоже весьма ограниченый. Это не ОКамл в чистом виде.

Ну, и насколько я понял как раз обобщенные фунции не выводятся. Выводятся конкретные типы.

К тому же большой вопрос является ли добром вывод типов для конструкций верхнего уровня (типов и их членов).

Реально ввывод типов F# значительно слабее его аналога в немерле.

S> И если функция вызвана с аргументом типа 'a, то к типу 'b ее уже не применить — будьте добры, выносите отдельно, да еще и с обязательными type constraints. F# пытается вывести типы для всего, причем идет по пути выведения most generic type.


Примеры, плиз в студию, где F# дает что-то больше чем Nemerle. Тогда обсудим. Пока что это похоже на домыслы.

S>Или вот, макросами можно расширить механизм pattern matching, чтобы получить что-то типа active patterns из F#?


Можно. Но прямые решения (использованные в F# и Scala) приводят к серьзным потяерям производительности и мало чем отличаются от тупого перемапливания на алгеброические типы. Меж тем пока что не ясно даст ли это повышение удобства использования языка. Пусть F# и Scala побалуются. Если будут сообщения о том, что это очень удобно, то и мы добавим. Темболее, что технология будет уже отработана и можно будет сделать тесты.

S>Композицию функций ( ('a -> 'b) -> ('b -> 'c) -> ('a -> 'c) ) можно использовать (типа хаскелевой точки)?


Это вообще сахар. Давно маньяки вроде тебя добавили оператор >> полностью аналогичный этой самой точке. Только синтаксис получился чище чем в Хаскеле.
Кстати, для этого даже макросы не понадобились. Это делается банальными средствами ООП:
http://nemerle.org/svn/nemerle/trunk/lib/internal-numbered.n
...
public abstract class Function ['p1, 'r]
{
  public static @>>[B] (fab : 'p1 -> B, fbc : B -> 'r) : 'p1 -> 'r
  {
    a => fbc(fab(a))
  }

  public static @>>[B] (fab : void -> B, fbc : B -> 'r) : void -> 'r
  {
    () => fbc(fab())
  }
...


Жаль, что это фича из разняда "как у других". На практике я ее так в коде компилятора и не увидил.

S>Ну и так далее по мелочам (специально не цепляюсь за ФП-шные традиции типа карринга)


Ага. Так и далее. Языком как помелом. Давай уж свое так далее.

Хотя конму оно нужно? Ему про Фому, а он про Ерему. Ему о том, что язык настолько враждебен тем кто привык к С-подобному синтаксису, что его попросту не примут. А он про какие-то там мелочевки о которых сам-то по наслишке знает.

Это назвается спор ради спора, или отсуствие конструктива.

S>Вот таких мелочей толи не нашел в Немерле, толи нет их там. А как-то без них грустно (прошу не считать блабописцем )


Можно пару слов о проектах написанных тобой на F#-е?

VD>>Он попросту не стал более проходным. Он вообще не проходной. Он — это тупик. Его заслугой может стать только то, что на него могут польститься люди из академических кругов которые уже сейчас используют ОКамл и им захочется иметь более-менее человеческую поддержку со стороны IDE или просто по каким-то соображениям нужно испоьзовать дотнет.


S>Ой, блин. А я вот чего-то польстился, правда после первых провальных попыток подружиться с Хаскелем. Доктор, я буду жить?


Вряд ли.

VD>>Он вообще не страшен. Он просто не пригоден для мэйнстрим-языка. Его синтаксис и сематика выглядят для большинства из мэйнстрима как некое недоразумение.


S>Нет, ну посмотри тут в соседних форумах, каким недоразумением до сих пор кажется .NET многим плюсовикам (собственно, почему посмотри — сам еще не устал их переубеждать?).


Посмотрел форум .NET. Трафик больше чем у плюсового. Значит таки больше половины приняли. У других может задачи на совместимые. И что? Мы ведем речь о языке для конкретной платформы. Принимать его будут имено те кто сейчас программирует на C#. И у меня нет сомнения, что процент тех кто сможет перебороть свой мозг и принять ОКамло-подобный язык будет еденицы.

S> А для большинства, судя по всему, так и остается уготована участь писать на C#/VB. Ну подумай сам, если взять в оборот Nemerle, это же, понимаешь, еще и Хейлсберга увольнять придется — кому тогда C# нужен будет? И Хейлсберг, наверное, это понимает (если таки сумел найти документацию на сайте Nemerle)


Мне и думать нечего. Я пробовал и видел как пробуют другие. Nemerle прекрасным образом занял бы свое место в .NET-сообществе. Это та замена С++ которой многие так ждали. Это язык более мощьный и одновременно более простой и понятный. Шарпщики на него переходят на ура. Было бы желание и месяц другой времени. Далее их уже обратно пушкой не загонишь.

Так что вопрос только в бабле. А МС вкладывает деньги в принципиально непроходное решение.

S>Nemerle по своей сути претендует скорее на замещение C#, чем на дополнение линейки языков. Потому и не дают. Слишком хорошо — тоже плохо


С чего бы это? C# же не заменил Васик хотя технически языки почти клоны? А Немерле отличается от Шарпа довольно сильно. Он сложнее и мащьнее. Индусам может не подойти.

Да и какая разница, на замену или рядом? Главное чтобы он был. А чтобы он был нужны вливания денег и поддержка. В прочем, велика вероятность, что он таки будет во преки всему.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: F# - A Functional Programming Language
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 23.10.07 16:29
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>No, F# won't be included in the box with Visual Studio 2008.


Ключевой момент — 2008. В нее он, разумеется, не будет включен, потому что она уже сейчас на стадии подготовки RTM билда. А вот что будет в следующей студии —

VD>Luke Hoban


Хм. А он какое отношение к F# имеет? Потому как это не последний человек в C# compiler team.
... << RSDN@Home 1.2.0 alpha rev. 716>>
AVK Blog
Re[7]: F# - A Functional Programming Language
От: Schade Россия  
Дата: 23.10.07 18:35
Оценка:
Здравствуйте, AndrewVK, Вы писали:

VD>>Luke Hoban

AVK>Хм. А он какое отношение к F# имеет? Потому как это не последний человек в C# compiler team.

Теперь, похоже, он не последний человек в F# compiler team: здесь
Re[12]: F# - A Functional Programming Language
От: Schade Россия  
Дата: 23.10.07 22:20
Оценка: 9 (1) +1
Здравствуйте, VladD2, Вы писали:

Мда, придется начать с дисклеймера.
1. Я вообще не имею ничего против Nemerle. Замечательный язык, а система метапрограммирования достойна отдельного решпекта.
2. Мне собственно все равно, на какую букву будет начинаться название языка — F, N, Z или X, если он удобен и продуктивен. Если выбор больше — это всяко кошернее, чем одна генеральная линия.
3. C Nemerle, похоже, все и так получится, "вопреки всему". Если за счет MS-овских бабок линейка дополнится еще и вылизанным F# — см. п.2 про богатство выбора. Бешеной популярности, судя по всему, не снискать не тому, ни другому — среднечеловеческая консервативность не знает границ, а вот получить в свои руки еще один инструмент — почему бы и нет?

[... спорить с поскипанным не вижу причин ...]

VD>В общем, у Nemerle есть четки план перетягивания программистов под свои знамена. А ОКамло-подобному языку этого попросту не сделать. Пропость между С-подобными языками и МЛ-подобными слишком велика.


>>>


VD>Да тут ты прав. Ты ошибся. Над дженериками работала отдельная команда в одном из универов Шататов. Вся работа была сделана на базе Ротора (на котором F# никогда не работал). В МС только малость подрихтовали готовый код и пустили в производство.


Таки врет товарисч Syme?

From 1999 to 2004 I worked extensively with the .NET Common Language Runtime Team, both on the design and implementation of generics and on other issues related to the .NET Common IL's type system. During 2002 and 2003 Andrew Kennedy and I were working essentially full-time as as an adjunct members of the CLR team in a mix of architectural, development, testing and program management roles (thankfully our workload has eased off...) Some of those who I had the pleasure of working with were Dario Russi, Vance Morrison, Sean Trowbridge, Simon Hall, Shri Borde, Ian Bearman, Chris Brumme and Patrick Dussud.
From 1999 to 2003 I was involved with the design of C#, authoring the first draft of the C# language design for generics. I also prototyped the initial support for generics in the Microsoft C# compiler. During this time I had the pleasure of working with Anders Hejlsberg, Peter Golde, Peter Hallam and others.

отсель

VD>>>Это уже чистейшая инсинуация. F# не имеет ни одного приемущества перед Nemerle в области ФП.

VD>Замечатльно. То есть ты не разобрался не только в Nemerle, но и в F#? Как иначе оценить, то что ты не знаешь, что в F# вывод итпов для членов тпов оченьс ильно ограничен и своидтся к выводу типов из инициализации? Вывод типов из использования не поддерживается. Это приводит к тому что в типы параметров методов и полей описываются почти всегда. Другими словами вывод типов там тоже весьма ограниченый. Это не ОКамл в чистом виде.

Действительно, странно было бы выводить тип топ-левел конструкций исходя из первого использования, как это сделано в Немерле для локальных функций. Но если тело функции/метода содержит достаточно информации для вывода типа — зачем тогда type annotations? Вот например:
let FileContents fname =
    try
        use stream = new IO.FileStream(fname, IO.FileMode.Open)
        (* конструкция use аналогична let, но обеспечивает реализацию Dispose-паттерна *)
        use reader = new IO.StreamReader(stream)
        Some (reader.ReadToEnd())
    with _ -> None

Тут компилятор сам в состоянии разобраться, что функция имеет тип string -> string option, и подсказки ему не нужны. Нет, конечно, совсем без указания типов не обойтись, но механизм вывода здорово снижает их количество.

VD>Ну, и насколько я понял как раз обобщенные фунции не выводятся. Выводятся конкретные типы.

Мы об одном и том же говорим? Вот, извиняюсь за банальный и надуманный пример, но для иллюстрации механизма сойдет: выразим фильтр списка через свертку:
def my_filter (f, l)  { List.Rev (List.FoldLeft(l, [], (elem, acc) => if (f (elem)) elem::acc else acc)) }
def x = my_filter( (x) => x>0, [1,2,3,-5,-9,7] )

// оффтоп - во прикол: подсветка для ML на RSDN есть, а для Nemerle нету.

---
let my_filter f = List.fold_left (fun acc elem -> if f elem then elem::acc else acc) [] >> List.rev
let x = my_filter (fun x -> x > 0 ) [1; 2; -9; 14; -5; 7]


F# определяет тип функции my_filter как ('a -> bool) -> 'a list -> 'a list, а Nemerle — по факту первого использования, как int -> bool, list[int], list[int]

И если дальше продолжим:
def my_filter (f, l)  { List.Rev (List.FoldLeft(l, [], (elem, acc) => if (f (elem)) elem::acc else acc)) }
def x = my_filter( (x) => x>0, [1,2,3,-5,-9,7] )

def longEnough(str:string) {str.Length > 5}
def x2 = my_filter ( longEnough , ["String1", "Str2"] )

let my_filter f = List.fold_left (fun acc elem -> if f elem then elem::acc else acc) [] >> List.rev
let x = my_filter (fun x -> x > 0 ) [1; 2; -9; 14; -5; 7]

let longEnough (s:string) = s.Length > 5
let x2 = my_filter longEnough ["String1"; "Str2"; "String4"]

То F# нормально скомпилирует, а Nemerle пошлет. Нет, понятно, что многократно используемые функции надо выносить за локальные пределы, но там type inference не работает. Как окажется в списке параметров пара-тройка функций — задолбишься выписывать типы.

VD>К тому же большой вопрос является ли добром вывод типов для конструкций верхнего уровня (типов и их членов).


А чего в этом злого?

VD>Реально ввывод типов F# значительно слабее его аналога в немерле.


Ну, скажем так, реализация местами еще халтурненькая. Есть, например, в зачатке вывод типов лямбд из использования:
(* вот так работает *)
let x = "SomeString" |> (fun s -> s.Length) 
(* вот так, увы, нет *)
let x = (fun s -> s.Length) "SomeString"

Но все-таки это скорее проблема текущей сырой реализации.

VD>Примеры, плиз в студию, где F# дает что-то больше чем Nemerle. Тогда обсудим. Пока что это похоже на домыслы.


VD>Можно. Но прямые решения (использованные в F# и Scala) приводят к серьзным потяерям производительности и мало чем отличаются от тупого перемапливания на алгеброические типы. Меж тем пока что не ясно даст ли это повышение удобства использования языка. Пусть F# и Scala побалуются. Если будут сообщения о том, что это очень удобно, то и мы добавим. Темболее, что технология будет уже отработана и можно будет сделать тесты.


Так это же замечательно, что балуются, а не объявляют себя законченным решением. А то так можно и до уровня Оберона закостенеть.

VD>Это вообще сахар. Давно маньяки вроде тебя добавили оператор >> полностью аналогичный этой самой точке. Только синтаксис получился чище чем в Хаскеле.


Да, сахар. Мелочь, а приятно.

VD>Ага. Так и далее. Языком как помелом. Давай уж свое так далее.

VD>Хотя конму оно нужно? Ему про Фому, а он про Ерему. Ему о том, что язык настолько враждебен тем кто привык к С-подобному синтаксису, что его попросту не примут. А он про какие-то там мелочевки о которых сам-то по наслишке знает.
Ууууу. Про мелочевки-то и распинаться не охота.

VD>Это назвается спор ради спора, или отсуствие конструктива.

Да это собственно даже не спор. Просто попытка донести мысль, что и в F# есть на что посмотреть.

VD>Можно пару слов о проектах написанных тобой на F#-е?

Ай, поймал. Нет, публичного предъявить нечего. Из действующего — только скромненький анализатор статистики работы одной специфической промышленной железяки с PC внутри. Специфика работы, понимаешь, не программистской, и даже не админской.

VD>>>Он попросту не стал более проходным. Он вообще не проходной. Он — это тупик. Его заслугой может стать только то, что на него могут польститься люди из академических кругов которые уже сейчас используют ОКамл и им захочется иметь более-менее человеческую поддержку со стороны IDE или просто по каким-то соображениям нужно испоьзовать дотнет.


Да я и не надеялся, что он пойдет прям таки в массы.

VD>С чего бы это? C# же не заменил Васик хотя технически языки почти клоны? А Немерле отличается от Шарпа довольно сильно. Он сложнее и мащьнее. Индусам может не подойти.


Васик-шмасик. Васик — это блин традиция, а то местами и диагноз (помнишь, как некоторые ВБ-шники взывыли, когда увидели, что им подсунули под видом VB7?). Надо же было как-то ВБ-шников пересаживать на .NET, не пугая страшной буквой C?

VD>Да и какая разница, на замену или рядом? Главное чтобы он был. А чтобы он был нужны вливания денег и поддержка. В прочем, велика вероятность, что он таки будет во преки всему.

Дык я ж разве против? Опять-же см. п.2 дисклеймера про богатство выбора. Вот.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.