Здравствуйте, dotneter, Вы писали: D>Тоесть нет у динамики плюсов?
Простота — главный плюс. Без динамики либо начинаются пляски с интерфейсами/классами типов/шаблонами/генериками/etc, либо язык и библиотеки получаются крайне унылыми (см. .net 1.0).
Здравствуйте, dotneter, Вы писали:
D>Здравствуйте, cadet354, Вы писали:
C>>dynamic вроде в 4 только. я про DuckTyping в BLT, и еще в какой-то библиотеке я это встречал. D>Это костыли.
согласен, но вот зачем в C# DuckTyping? Лучше внесли бы туда патерн матчинг, которого кстати и в питоне нет.
Здравствуйте, novitk, Вы писали:
N>Очень на меня похоже. Пытаюсь переползти на Хаскель — раздражает отсутствие библиотек.
ИМХО лучше попробовать на Лисп, т.к. там типизация сильнее (строже), чем в Питоне. За то, с библиотеками ситуация получше, но все равно хуже, чем в Питоне. Именно из-за библиотек, в последнее время больше пишу на Питоне, чем на чём-либо другом.
Lisp is not dead. It’s just the URL that has changed: http://clojure.org
C>>>dynamic вроде в 4 только. я про DuckTyping в BLT, и еще в какой-то библиотеке я это встречал. D>>Это костыли. C>согласен, но вот зачем в C# DuckTyping? Лучше внесли бы туда патерн матчинг, которого кстати и в питоне нет.
Они совсем там офигели, наверное, кто-то из тимлидов в нетрезвом состоянии услышал как кому-то нравится duck typing в питоне и подумал о! а почему у нас в шарпе есть всё из жабы, структуры из си, лямбды из хаскеля, а дак тайпинга из питона до сих пор нет?! А ну добавьте ещё одну "фичу"!
Здравствуйте, Temoto, Вы писали: T>Они совсем там офигели, наверное, кто-то из тимлидов в нетрезвом состоянии услышал как кому-то нравится duck typing в питоне и подумал о! а почему у нас в шарпе есть всё из жабы, структуры из си, лямбды из хаскеля, а дак тайпинга из питона до сих пор нет?! А ну добавьте ещё одну "фичу"!
Я так понял, в .net фичи добавляются тогда, когда они помогают решить некую конкретную задачу. Про dynamic слышал, что он помогает при работе с компонентами Office.
T>>Они совсем там офигели, наверное, кто-то из тимлидов в нетрезвом состоянии услышал как кому-то нравится duck typing в питоне и подумал о! а почему у нас в шарпе есть всё из жабы, структуры из си, лямбды из хаскеля, а дак тайпинга из питона до сих пор нет?! А ну добавьте ещё одну "фичу"! MC>Я так понял, в .net фичи добавляются тогда, когда они помогают решить некую конкретную задачу. Про dynamic слышал, что он помогает при работе с компонентами Office.
А компоненты в новых офисах не в виде .NET ассемблей? ..и, соответственно, прозрачное использование их типов и функций в любом .NET коде?
Здравствуйте, Temoto, Вы писали: T>А компоненты в новых офисах не в виде .NET ассемблей? ..и, соответственно, прозрачное использование их типов и функций в любом .NET коде?
А вот это хз. Ассембли-то есть, но мало ли, что внутри. Я просто слышал, что dynamic должен помочь при работе с офисом.
Но с учетом того, что в .net 4 перекочевала, я так понял, большая часть dlr — вполне возможно, ms имеет планы по поддержке динамических языков в дотнете — а для свази статика-динамика dynamic очень кстати.
Здравствуйте, Temoto, Вы писали:
T>А компоненты в новых офисах не в виде .NET ассемблей? ..и, соответственно, прозрачное использование их типов и функций в любом .NET коде?
Там большинство компонентов, это старый добрый COM. И dynamic реально помогает интеропу с COM'ом.
Lisp is not dead. It’s just the URL that has changed: http://clojure.org
Здравствуйте, yumi, Вы писали:
Y>ИМХО лучше попробовать на Лисп, т.к. там типизация сильнее (строже), чем в Питоне. За то, с библиотеками ситуация получше, но все равно хуже, чем в Питоне. Именно из-за библиотек, в последнее время больше пишу на Питоне, чем на чём-либо другом.
Это какой Лисп может похвастаться лучшими библиотеками чем ghc?
P.S. ИМХО пока не будет реализации на которой сидит 90% пользователей у Лиспа в мейнстриме шансов нет. Такая же ситуация как в Unix-e, пока Линух всех не поубивал.
Здравствуйте, novitk, Вы писали:
N>Это какой Лисп может похвастаться лучшими библиотеками чем ghc?
Кхе, я бы наоборот спросил, какими библиотеками может похвастаться ghc?
N>P.S. ИМХО пока не будет реализации на которой сидит 90% пользователей у Лиспа в мейнстриме шансов нет. Такая же ситуация как в Unix-e, пока Линух всех не поубивал.
И что все помешаны на мейнстриме, понять не могу. А то, что реализаций много, это зависит от того, с какой стороны поглядеть, для меня наоборот плюс, наличие выбора. Захотел Лисп, очень тесно интегрированный с Java, выбирай не хочу, ABCL, Clojure, ... А если у меня только один ghc, как мне быть?
Lisp is not dead. It’s just the URL that has changed: http://clojure.org
Здравствуйте, yumi, Вы писали: Y>Кхе, я бы наоборот спросил, какими библиотеками может похвастаться ghc?
Вероятно, имеется в виду свалка кода hackage — о которой, похоже, каждый в этой ветке составил свое мнение, в зависимости от того, в какой части оной свалки он побывал. Я вот там нашел либу по рулению mpd, а она команду idle не поддерживает. Было обидно.
Здравствуйте, yumi, Вы писали:
N>>Это какой Лисп может похвастаться лучшими библиотеками чем ghc? Y>Кхе, я бы наоборот спросил, какими библиотеками может похвастаться ghc?
Пока кроме параллелизма, парсеров и quickcheck-a ничем, но шума много, возможно ситуация исправится.
Кстати, возвращаясь к началу ветки, я не совсем понимаю ситуацию со статической типизацией в Lisp-e. Я так понимаю она есть только в CL и опциональна. Какой процент реального CL-кода еe использует?
Здравствуйте, novitk, Вы писали:
N>Кстати, возвращаясь к началу ветки, я не совсем понимаю ситуацию со статической типизацией в Lisp-e. Я так понимаю она есть только в CL и опциональна. Какой процент реального CL-кода еe использует?
Могу лишь предположить, что мало. Я лично в CL не использую статическую типизацию, помню, только один случай, когда нужно было в compile-time проверять типы, да и то для небольшого eDSL.
Lisp is not dead. It’s just the URL that has changed: http://clojure.org
Здравствуйте, yumi, Вы писали:
Y>Могу лишь предположить, что мало. Я лично в CL не использую статическую типизацию, помню, только один случай, когда нужно было в compile-time проверять типы, да и то для небольшого eDSL.
Тогда что именно ты имел в виду вот тут?
ИМХО лучше попробовать на Лисп, т.к. там типизация сильнее (строже), чем в Питоне.
Я полностью согласен, что у Лиспа есть серьезные преимущества перед Питоном в макропрограмирование или поддержке ФП, но мне (и как я понимаю Temoto) нужны статические проверки.
Здравствуйте, dotneter, Вы писали:
T>>... которое, кроме лиспа только в статических языках и используется. D>Есть тру метапрограммирование, а есть метапрограммирование для бедных (аля eval), которого нет в том же С#.
"Родной" eval есть в C# 4.0. Впрочем, C# 3.0 и любых предыдущих версиях можно также добиться такой функциональности, просто, к примеру собирая в рантайме код в сборку, которая держится только в памяти. Можно, конечно, сказать, что это не eval, но с т.з. пользователя различий в общем-то нет.
Здравствуйте, Temoto, Вы писали:
C>>>>dynamic вроде в 4 только. я про DuckTyping в BLT, и еще в какой-то библиотеке я это встречал. D>>>Это костыли. C>>согласен, но вот зачем в C# DuckTyping? Лучше внесли бы туда патерн матчинг, которого кстати и в питоне нет. T>Они совсем там офигели, наверное, кто-то из тимлидов в нетрезвом состоянии услышал как кому-то нравится duck typing в питоне и подумал о! а почему у нас в шарпе есть всё из жабы, структуры из си, лямбды из хаскеля, а дак тайпинга из питона до сих пор нет?! А ну добавьте ещё одну "фичу"!
А в чем проблема-то в утиной типизации? Костыли, не костыли, но через Emit эта задача решается довольно таки легко и просто. Причем без всяких рефлекшинов. Эффект будет тот же, что и при "честной" утиной типизации. А если эффект тот же...
Здравствуйте, novitk, Вы писали:
N>>Одна из вкусностей, это видимо duck typing? Я так приблизительно себе представляю, что это означает, но как этим пользоваться? N>Главная вкусность для меня — REPL! Сравнимый REPL есть и в статике (Хаскель, F# и Скала), но там свои тараканы (нехватка знающих людей, переносимости, стабильности, библиотек).
C>>>согласен, но вот зачем в C# DuckTyping? Лучше внесли бы туда патерн матчинг, которого кстати и в питоне нет. T>>Они совсем там офигели, наверное, кто-то из тимлидов в нетрезвом состоянии услышал как кому-то нравится duck typing в питоне и подумал о! а почему у нас в шарпе есть всё из жабы, структуры из си, лямбды из хаскеля, а дак тайпинга из питона до сих пор нет?! А ну добавьте ещё одну "фичу"!
ВВ>А в чем проблема-то в утиной типизации? Костыли, не костыли, но через Emit эта задача решается довольно таки легко и просто. Причем без всяких рефлекшинов. Эффект будет тот же, что и при "честной" утиной типизации. А если эффект тот же...
Проблемы утиной типизации это отдельный вопрос. В основном, проблема в том, что она не отлавливает ошибок столько, сколько хотелось бы.
А тут дело в том, что в иметь в языке две взаимоисключащие типизации, это очень странно. Но вот, товарищи выше пишут, что для COM компонентов удобно. Хорошо тогда, раз удобно.
ВВ>Вот, я энное время назад примерчик набросал: ВВ>http://rsdn.ru/forum/src/3165397.1.aspx