Здравствуйте, AndreiF, Вы писали:
AF>Небольшая поправочка. Немерле включает в себя практически все полезные идеи языков, который были до него. Точно так же, как теория относительности включает в себя физику Ньютона как частный случай.
В сообщении говорится, что Влад отрицает, а не Nemerle
now playing: Eraldo Bernocchi & Harold Budd — Fragment Seven
PI>>так, вношу три замечания: PI>>0. я так понимаю, имеется в виду Влад, ну то понятно
FR>не только
а кто ещё? WolfHound? я?
FR>Для икс это плохо, посмотри ту же тему про D, если бы там не было горлопанов от немерле было бы гораздо лучше для всех, вместо этого получилась очередная тема-помойка.
PI>>я предлагал создать отдельный форум для Немерле... 2 раза... но этот нехороший Влад...
он меня ещё в других темах обижал
PI>>(только что-то "тяганий" не видно, видно только флейм статика-против-динамики — причем здесь нет ни одного(!) человека, который постиг истинную сущность одного и другого одновременно)
FR>А ты постиг?
ну что ты, ни одного означает ни одного
я — типичный статик-мен, и не понимаю динамики
честно говоря, я с одной работы ушёл (было дело), только чтоб на php не программить
хотя там и среду нашел, и дебаг прикрутил, и даже прикол помню: я думал, полиморфизма в пхп нету, и грязно ругался, а потом меня осенило: какое название класса в переменную подставим, того класса методы интерпретатор и будет дёргать...
но всё равно не пошло, и обстоятельства другие были...
короче, сейчас я начал одну систему на немерле, которая прямо скажем, укладывается лучше в динамику, и вроде как, только в неё.
посмотрим, что из этого получится... если совсем плохо будет, попробую лисп (схему? template haskell? другую динамику?) :
в любом случае, самой сущности (essence) динамики я не понимаю
PI>>3. но я разочарован тем, что дальше разговоров дело пока не пошло (на рсдне людей много, но никто не пользует немерле, никто не включается в дискуссию с его авторами, никто не репортит новые баги, никто не выкладывает свой крутой макро-код — практически никто) появляется ощущение водителя, едущего по встречной полосе, и считающего, что это они — все остальные — неправы
FR>Так может стратегия "все в дерьме, одни мы в белом" ущербна и стоит ее пересмотреть?
по моим наблюдениям, императивщики более приземленные, сидят максимум на .net-разделе в форуме, и не дергаются зря
функциональщики, как более умные в среднем (ага, объективно), ходят пофилософствовать ещё куда (декл. прогр-е, философия)
приверженцы динамики немерле, дотнета и вообще компиляторов не понимают и не принимают, так что разговор о немерле с ними — впустую
среднему кодеру нужен серьезный пинок под зад (бутсой хотя бы билли гейтса, не меньше), чтобы он хотя бы туториал с сайта немерле прочел, я уж не говорю прохавал фишку ФП
хотя я гоню (слишком пессимистичен) — например, я знаю софт-контору (хорошая репутация в моем городе), их отдел по исследованию и внедрению нового в программировании давно знает о немерле... я подозреваю, что они там сидят ждут, когда мы тут интеграцию долабаем... (а компиляторщики заявят "проверено, багов нет")
если посмотреть на вещи более оптимистично, может быть
— функциональщики (более приверженные к динамике — традиционно так сложилось) увидят, что на статическом типизировании теряется не так уж много гибкости (естественно, нужно менять стиль)
— статические чуваки, такие как я, может быть, поймут что в цепочке ...-> nemerle -> ... следующий шаг — чистая динамика (кто знает, такой вариант тоже есть, хотя пока что я очень сомневаюсь)
— какая-нибудь контора размером больше 100 человек наконец прохавает, что nemerle — это оно, и поможет зацепить язык за инструментарий (вплоть до asp.net-рельс) и стабилизировать эти средства, а мы вместо этого займемся собственно использованием языка, и исследованием пределов его возможностей (пока особо не видно)
— ну, само оптимистично, это конечно, что рсдн-комьюнити наконец прохавает фишку "монолитности" в чем бы то ни было, будь то создание систем на одном и том же языке/среде, а не на россыпи технологий (прикручивая php к си, к примеру); или контрибьюшен к немерле, выносящее язык в положение "русского" языка (когда можно было бы говорить, что Немерле родом из Польши-России)
да и вообще здешний рсдн мягко говоря, агрессивный — вместо того, чтоб рассказывать, кто где как что успешно использовал, бесконечный спор про то, как хрен редьки не слаще
за другие сайты говорить не буду, но в конференции немерле тон спокойно-деловитый, например
язык длиннее рук?
PI>>ну, думаю, он вас использует для грязного пиара этого языка
FR>Толку то.
внатуре,... единственное что, не пойму где ошибка... расчет на немерле вроде разумен, но неприятие комьюнити (хотя и без внятных аргументов) настораживает как то...
FR>Ты меня неправильно понял, у меня нет такого желания, наоборот пусть живет и процветает.
Здравствуйте, EvilChild, Вы писали:
EC>Здравствуйте, PhantomIvan, Вы писали:
EC>>>Т.е. тебе нет разницы какой код сопровождать: просто плохой или изощрённо плохой?
PI>>лучше заново переписать, а еще лучше — новую систему (интеграцию "эн" например ) PI>>реальность конечно, сложнее, и код, как правило просто изощрённо плохой
EC>Такой легкомысленный подход прокатывает в некритичных задачах, а если от твоего косяка может пострадать бизнес, то твои эстетические страдания идёт лесом в пользу банальной прагматичности — работает и хрен с ним.
че это легкомысленный? (представим, гипотетическая фирма, позвала меня девелопить)
они говорят, работает и хрен с ним? ну дык сидите на коболе, чего меня крутого чувака звать?
посадите на сопровождение менее опытных товарищей
нужна новая функциональность? прикручиваем немерле-библиотекой
нужно новое ядро? интерфейс тот же, прикручиваем немерле-библиотекой
если вообще новая система (о них, в основном, речь) — пишем целиком на немерле
не подходят варианты, и не хотите переходить на новую технологию? — я вряд ли пойду работать в эту контору
(гипотетическая ситуация, когда я могу выбирать, или нахожусь в позиции, когда сам решаю, кто здесь и как будет работать)
PI>>с тех пор дебаггер у меня в голове... но не пользоваться IDE, когда она есть... гм, это изврат все-таки...
EC>Процитируй часть сообщения, где тебе это предлагали. EC>По секрету: я пишу в Visual Studio 2005.
цитирую:
Ты совершенно напрасно ёрничаешь, есть масса ситуаций когда нет под рукой IDE с подсветкой синтаксиса, но код понять надо.
Ты как блаб программист — ты не можешь себе их представить и думаешь, что их нет.
и что это за ситуация такая, если я сижу на дотнете, и студию не закрываю?
E>>Однако, для оценки способностей отдельных индивидов они вполне хороши. WH>На олимпиадах рулят не самые умные, а те кто перед олимпиадой сидел и учил фокусы. WH>Те из этого можно оценить только то что человек может заучить кучу фокусов. Не болие того. WH>И что интересно многие олимпиадники сталкиваясь с задачками где заученные фокусы не работают пасуют.
типично китайский подход... намного полезней вместо заучивания фокусов, брать олимпиадные задачи и пробовать их решить
вроде это более русский подход — и результат в конце не хуже по крайней мере
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, eao197, Вы писали:
E>>Если оттакиваться от пропагандируемого здесь мнения, что C++ отстой и глюкодром, то уже удивительно, что кто-то на C++ смог составить конкуренцию C# и Java. А уж результат на C вообще выглядит выдающимся. WH>Позволь задать вопрос: В скольки подобных соревнованиях ты приниимал участие? WH>Например я в свое время очень не мало покатался по всяким олимпиадам. WH>Так вот скажу тебе как краевед: Программирование на олимпиадах не имеет ничего общего с написание реальных программ. Те вобще ничего.
Если олимпиады классического советского образца — да. Там на программировании ценились в первую очередь математические умения.
Совершенно классический пример — задача где на вход поступало N, в которое надо было что-то возвести (уже не помню) а дальше делать преобразования следующего вида: 10*a+b -> a+2*b, 100*a+10*b+c -> a+2*b+4*c... (идея понятна) до тех пор пока число не перестанет изменяться.
Соответственно, полные баллы получал тот кто написал что-то в духе
int main() { printf("19\n"); }
потому что можно было доказать, что итоговый результат _всегда_ был 19.:( А если ты ошибся где-то в синтаксисе — например в printf забыл кавычки — это никого не интересовало, потому что идейно всё правильно, а синтаксис будет исправлен в реальном прогоне.
А вот потом мы попали на ACM'овские соревнования (см. http://icpc.baylor.edu/icpc/) и вот тут поняли, какая разница в стилях. Формальная правильность никого не волнует (если не сказать мягче). Стиль написания никого не волнует. Язык можно выбирать из нескольких (в 95-м — это были C/C++ и Паскаль). Программа должна получить данные на вход, отработать за положенное время (перебрал — срубило нахрен и результата нет) и выдать результаты. Вся сверка автоматическая, никто поблажек не даст. Кто больше задач решил — того результат выше. При одинаковом количестве решённых — играет роль сумма затраченных времён (времена считаются — от выдачи условий до отдачи работающего кода, плюс константа умножить на количество попыток сдачи).
Стоит ли разъяснять, что 1) требования отличались принципиально, 2) мы в итоге со своим расслабленно-математическим подходом пролетели как фанера над Парижем... (хотя уровень региона прошли каким-то чудом...)
Ну и задачи — в том виде как они давались на ACM'овских соревнованиях, пока я их смотрел — достаточно реальны, хоть и загнаны в поле условий _внешнего_ оформления в традиционном олимпиадном стиле. То есть, хоть задача и выглядит как олимпиадная — по сути это серьёзное законченное решение.
А почему ты говоришь что "на олимпиадах побеждают те кто заучил фокусы" я совсем не понимаю. На советских — надо было больше знать математику. На типичных западных — уметь быстро соображать и аккуратно кодить, а фокусы тут не помогали никак — составители задач народ грамотный в том числе и в фокусах:)) Ну откуда фокусы? Можешь привести хоть один пример?
WH>По сему абсолютно не корректно делать какие либо выводы о возможностях языков в реальных проектах на основе подобных соревнований
Можно. В том числе о том, где язык помогает писать, а где — мешает. На каком языке думаешь в первую очередь о задаче, а на каком (как на Си) надо тащить с собой готовую библиотеку только чтоб пользоваться нормальным API, а не теми огрызками, которые даёт стандартная библиотека.
P.S. Чуть оффтопик — на оном сборище в городе-герое Бухаресте перед нами выступал некто Линус Торвальдс и грузил рассказом какая хорошая штука линукс:) Впрочем, так как это был конец 94-го, никто его тут серьёзно не воспринимал... зачем нужен линукс я узнал на два года позже:)
PhantomIvan wrote: > типично китайский подход... намного полезней вместо заучивания фокусов, > брать олимпиадные задачи и пробовать их решить > вроде это более русский подход — и результат в конце не хуже по крайней мере
Половину олимпиадных задач нельзя решить, если не знать некий хитрый
трюк — динамическое программирование, метод ветвей и границ и т.п. Это
относится компьютерным олимпиадам (для химических олимпиад еще нужно
помнить кучу экзотических реакций, а для математических — кучу разных
фактов и т.п.). Если интересно, то я лично участвовал на региональных и
российских олимпиадах.
Поэтому мне олимпиады никогда не нравились — гораздо интереснее было
писать программы
Здравствуйте, Cyberax, Вы писали:
C>Половину олимпиадных задач нельзя решить, если не знать некий хитрый C>трюк — динамическое программирование, метод ветвей и границ и т.п. Это
А, вот чем у вас занимаются вместо программирования... ну тогда понятно. Так оно от математики и не освободилось пока...
/me ничего не имеет против исследования операций — это крайне важное направление — но путать его с программированием как таковым это чисто СССР'овская и далеко не лучшая традиция. Интересно, кто её породил?
(про олимпиады не знаю, маленький был)
N>P.S. Чуть оффтопик — на оном сборище в городе-герое Бухаресте перед нами выступал некто Линус Торвальдс и грузил рассказом какая хорошая штука линукс Впрочем, так как это был конец 94-го, никто его тут серьёзно не воспринимал... зачем нужен линукс я узнал на два года позже
вот! это никакой не оффтоп: можете называть VladD2 просто — Влад Торвальдс
я засёк 2 года на часах
Здравствуйте, PhantomIvan, Вы писали:
PI>>>с тех пор дебаггер у меня в голове... но не пользоваться IDE, когда она есть... гм, это изврат все-таки...
EC>>Процитируй часть сообщения, где тебе это предлагали. EC>>По секрету: я пишу в Visual Studio 2005.
PI>цитирую: PI>
PI>Ты совершенно напрасно ёрничаешь, есть масса ситуаций когда нет под рукой IDE с подсветкой синтаксиса, но код понять надо.
PI>Ты как блаб программист — ты не можешь себе их представить и думаешь, что их нет.
Ты говорил, что тебе предлагали программировать без IDE, в процитированном тексте этого нет.
PI>и что это за ситуация такая, если я сижу на дотнете, и студию не закрываю?
Ситуация очень простая — читаешь чужой код с компа, где нет студии. Неужели это настолько неочевидная ситуация?
прикольно...
PA> Я это не к тому, что Пролог — это архикруто.
наверно круто, я просто не въезжаю пока, как это работает
знаю только, что пролог основан на логике предикатов, но
нужно больше времени на изучение потратить, чтоб врубиться
правильно ли я понимаю, что этот недетерминизм означает, что функция возвращает или элемент, или список элементов?
PA> А к тому, PA>что один язык, в котором реализованы все полезные идеи, - PA>это перочинный нож со встроенным холодильником.
не вижу ничего плохого в перочинном ноже со встроенным холодильником
это как бы швейцарский нож 10 поколения... взял в поход, вернулся через год (нож готовит, стирает, согревает)
вот, к примеру, немерле:
что лучше, изучать стандарт на сишарпе, ФП на хаскеле, макропрогр-е на лиспе,
или все вместе — в одном флаконе?
N>/me ничего не имеет против исследования операций — это крайне важное направление — но путать его с программированием как таковым это чисто СССР'овская и далеко не лучшая традиция. Интересно, кто её породил?
породила "лысенковщина" в науке — подход к кибернетике как к "продажной девке империализма"
даже такие люди, как академик Ершов не смогли помочь отделить котлеты от мух
EC>Ты говорил, что тебе предлагали программировать без IDE, в процитированном тексте этого нет.
"программировать" это не только кнопку давить, это ж ещё и код чужой читать
PI>>и что это за ситуация такая, если я сижу на дотнете, и студию не закрываю?
EC>Ситуация очень простая — читаешь чужой код с компа, где нет студии. Неужели это настолько неочевидная ситуация?
неа, сижу целый день за своим компом, если что-то присылают (или скачиваю), или разбираю так, открываю это в студии
исключения — снипеты, которые кидают через аську, а также иногда что-то глянуть фаром быренько (типа какое-нибудь место в компиляторе немерле, например)
ну, из книжки тоже естественно, код не кидаю в иде как правило
но это все не "код" а "снипеты", а когда берешь систему, в которой килотонны кода навалены, и к которой нет (как обычно) документации, то тут без навигации например хреново себя чуствуешь (перейти к декларации/найти вхождения)
в этом смысле я вообще не могу понять скриптовиков, как они мегатонны кода без статического анализа читают
Здравствуйте, PhantomIvan, Вы писали:
E>>Он становится лучше воспринимаемым. Стоит только самому начать скобки при вызове местодов использовать и подчиненных заставить это делать.
PI>это в руби можно скобки опускать?
Да и в Ruby, и в Scala.
Как раз строгий подход к синтаксису в D мне больше нравится.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, WolfHound, Вы писали:
E>>Однако, для оценки способностей отдельных индивидов они вполне хороши. WH>На олимпиадах рулят не самые умные, а те кто перед олимпиадой сидел и учил фокусы. WH>Те из этого можно оценить только то что человек может заучить кучу фокусов. Не болие того. WH>И что интересно многие олимпиадники сталкиваясь с задачками где заученные фокусы не работают пасуют.
Да, в последнее время наблюдал такой эффект. Но и обратный то же был. Успешные олимпиадники, имхо, делятся на две категории -- выдающиеся программисты и те, кто фокусы заучил. Последних, к сожалению, в последние годы встречал чаще.
E>>Точно так же, как утвержать, что какой-то язык абстрактно мощнее другого (без учета предметной области, к примеру, или наличия готовых унаследованных разработок). WH>Если ты про немерле то для него готовых библиотек как родных .НЕТных так и пришедших с кучи других языков которые можно интеропнуть с .НЕТом...
В данном случае не только.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, FR, Вы писали:
FR>Подкручивание в питоне реализованно так что тормозов не будет, метаклассы работают аналогично compile time для языков со статической типизацией.
Оно делается во время компиляции в байткод? Что-то не верится. Да и откровенно говоря не верится, что при подобном подкручивании не будет проблем в других местах. У той же IDE обязательно крышу снесет.
FR>В случае питона метаклассы и подобные вещи не имеют ничего общего с текстуальными макросами,
Из твоих примеров я сделал обратный вывод. Возможно что я конечно ошибаюсь.
FR> и информация о типах и даже полная интроспекция в них вполне доступны.
В лучшем случае ты прийдешь к рантайм-интерпретации. А это по скорости равносиельно использованию рефлексии в дотнете.
FR>Проблема в том что реально измерить мощность языков очень тяжело, оценка во многом получается субъективной.
Тяжело. Не спорю. Нр я стараюсь быть объективным.
FR>Мне кажется ты чуть выше очень правильно описал свое понимание динамики:
FR>
FR>И от того тебе кажется, что что-то не важно, а что-то является всего лишь непонятным извращением.
Тебе кажется. Со всем о чем я веду речь я работал. Я конечно могу ошибаться в частностях (какой язык на каком уровне реализует ту или инуб возможность). Но я пточно понимаю о чем идет речь. В цитате же говорится о непонимании обсуждаемых вещей.
FR>Если оставить в стороне очень спорные разговоры о мощности, то динамика просто не пошла у тебя, ты ее не понимаешь и не хочешь понимать поэтому плюсы тебе кажутся очень мелкими а минусы очень большими.
Я уже повторял. Я отчетливо вижу ущербность динамики. Потому и говорю, что при прочих равных (а это уже пожалуй и не обсуждается уже) статика дает больше возможностей.
Я не хочу возвращаться к "Статика вс. Динамика". В данном случае я указавал на совокупность возможностей (которую Грэхем назвал континумом). И на то что она у Немерла на сегодня объективно больше. От того я им и занимаюсь. Причем как бы не хотелось злым языкам вроде еао197 это представлять в виде пропаганды, в отличии от них я пытаюсь быть объектвным и реально работаю над увеличеним возможностей языка и их качества. Наша Интеграция со Студией — это реальный вклад. И делаю я его потому, что отчетливо понимаю перспективность языка и то, что без нашго вклада он так и может остаться "перспективным чудом" вроде ОКамла или Лиспа.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, FR, Вы писали:
FR>Питон тоже позволяет и даже добавлен и даже до того как на свет появились Скала и Немерле
Раз так, то было бы интересно и полезно если кто-нибудь (не будем показывать пальцем) описал бы его возможности. Провел бы тесты. И привел бы примеры исползования. Если бы это было оформлено в виде статьи, то было бы вообще круто.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, eao197, Вы писали:
E>>>тем более, что я еще статью о Ruby RSDN-у должен
VD>>Ну, так занялся бы делом.
E>Не тебе мне указывать, чем заниматься.
Тебя за язык никто не тянул. А на этом форуме я имею право указывать кому угодно что угодно. Как в прочем все имею право слушать меня или продолжать дальше бессмысленное переливание из пустого в порожнее.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, PhantomIvan, Вы писали:
VD>>1. Более общая реализация алгеброических типов. PI> что значет более общая? и за счет чего (во что они преобразовываются)?
VD>>2. Не явные замыкания. PI> а в немерле разве явные? (в явных я так понимаю, нужно указывать, что захватывается? или как?)
Прочти статью о языке на нашем сайте. Да и на этом сайте есть люди знающие Скалу лучше меня. Пусть они и рассказывают.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, eao197, Вы писали:
VD>>Скала здесь была пропущена по случайности. Думаю, всем не предвязтым читателям это было очевидно хотя бы из заключительного слова.
E>Значит один из пунктов уже не корректен.
Небольшая неточность (коих думаю у меня не одна) ни в коей мере не делает рассуждений и выводов некорректными. Это так хочешь все представить.
E>>>b) до чего именно ООП в Ruby не дотягивает?
VD>>Тем что он ниже плинтуса. Нет даже примитивной защиты.
E>Аргументация не выше того же плинтуса.
Абсурдно сравнивать реальные аргументы (факты) с банальным злословием и обсуждением чужой личности (без единого факта).
энгу.
E>А разве Nemerle.Concurrency не является такой же библиотекой (макросов в данном случае)?
А разве я где-то говорил о ней? Конечно является библиотекой. Но не того уровня что поддержка в Эрланге.
E>Видишь ли, мне фиолетово, внесены ли Late и Lazy в язык макросами или как-то еще.
Видиш ли, всеф фиолетово, что тебе фиолетово.
E>Но позиция понятна -- ты считаешь, что каждый пользователь имеет право расширять язык так, как ему нужно.
Я сказал, что имеется возможнсть наращивания мощьности языка. Причем это не обязательно должен делать конечный пользователь. В большинстве случаев это будут делать разработчики мета-библиотек. Возможно для Руби и Питона это не является новшеством. Но Руби и Питон не являются основным средством разработки у большинства людей так как они имеют явные провалы в других частях континума мощьности. Ну, а то что Немере позволяет более качественно расширять язык опять же является толко плюсом.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.