Здравствуйте, Klapaucius, Вы писали:
AC>>Господа, интересно, а что если обьявить байкот N? K>Железная Кнопка?
Опа, а этой шутки я не знаю. Полностью напиши, плиз.
Здравствуйте, Alexey Chen, Вы писали:
AC>И вот что ещё я тебе скажу. Я знаком с N вскользь и хоть обективных причин против у меня нет, но благодоря вашему "стрЁмлению победить" у меня уже вырабаталось стойкое ощущение что это очередное Г, да сладкое, но Г. Чисто субективно так, на уровне подсознания. И думаю не у меня одного упоминание N, не важно по теме или нет, вызывает внутренний и чисто рефлекторный протест. Ну противно читатать тебя Влад, чесно слово.
Так, для справки:
1. Аггрессивная реклама чего угодно вызывает отторжение почти у 100% аудитории.
2. Тем не менее, это не снижает ее эффективности.
3. Причин много, но вот, к примеру, типичный ход мысли "продвинутого обывателя":
— мне впаривают Блаб. Весь мой опыт показывает, что раз впаривают — значит г. Ибо не г. во впаривании не нуждается. Но таких умных, как я, мало, значит толпы идиотов купятся на это впаривание. Значит, скоро Блаб будет иметь долю на рынке, и моя готовность к Блаб сыграет мне на руку. Стало быть, начну-ка я его
Все совпадения с чужими мнениями следует считать случайными.
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Sinclair, Вы писали:
S>1. Аггрессивная реклама чего угодно вызывает отторжение почти у 100% аудитории. S>2. Тем не менее, это не снижает ее эффективности. S>3. Причин много, но вот, к примеру, типичный ход мысли "продвинутого обывателя": S>- мне впаривают Блаб. Весь мой опыт показывает, что раз впаривают — значит г. Ибо не г. во впаривании не нуждается. Но таких умных, как я, мало, значит толпы идиотов купятся на это впаривание. Значит, скоро Блаб будет иметь долю на рынке, и моя готовность к Блаб сыграет мне на руку. Стало быть, начну-ка я его
К сожаленю вынужден согласиться. Со всем, кроме последнего применительно ко мне. Благо меня уже не волнует доля рынка какого либо языка, а только выгодность _для_меня_ того или иного инструмента.
.
А чтобы сделать код простым надо выбирать хорошие абстракции.
Например, когда ты пишешь SQL запрос "SELECT * FROM Customers" тебе в общем-то не обязательно понимать какой код в базе при этом выполняется, как организовано хранение индексов и т.п..
Ты просто четко знаешь внешнюю семантику SQL, вот и все.
Здравствуйте, Mirrorer, Вы писали:
M>Ну насчет попробовать это меня уговаривать не надо. Правда могу сразу сказать один недостаток Немерле. Плохая документация. Она может быть лучше чем допустим у Ruby, но однозначно хуже чем MSDN К хорошему привыкаешь быстро. Допустим я не смог сходу найти как написать аналог C# кода M>
M>public T proofOfConcept<T,Q>(T a,Q b)
M> where T : Integral<T>,Eq<T>
M> where Q : Real<Q>
M>{
M> return a;
M>}
M>
Ну ты даешь, см. http://nemerle.org/Quick_Guide
VD>> Большинство людей просто пока не в курсе. M>Ой-вей, имхо уже весь РСДН в курсе. По крайней мере все люди, которые хоть изредка читают Философию и ДП, точно в курсе. 100%
Здравствуйте, PhantomIvan, Вы писали:
PI>вижу список, с виду неплохо PI>предположим, выделенное утверждение неверно
Не нужно предполагать. Это факт!
PI>но тогда возникает закономерный вопрос: а какова, собственно роль, динамики в этих проектах?
Не знаю. Например, видел в форумах писали, что при разработке "JPMorgans Kapital" использовались особенности связки ST+Gemstone/S "на полную катушку".
PI>быть может, чем больше проект, тем больше он походит на статику?
Хм. В конечном итоге, естественно, должна получится программа без ошибок типов. Что ты имееш в виду?
PI>в самом большом динамическом проекте, который я видел детально (скажем, 10 человеко-лет), я особо динамики то не видел — архитектура такая же, как была бы на статике
Много может зависить от языка. Например PHP и Lisp это две большие разницы.
PI>поэтому интересней будет адресовать лично твой опыт — поделись историей о проекте, с самыми большими метриками, который тебе приходилось програмить на Смолтолке
Использовал, и расширение классов своими методами, и перекрытие существующих методов моими версиями (последнее делал для багфиксов GLORP, которые то появлялись в основном коде, но позже, а работать нужно было сразу). Как пример: я там уже давно не работаю, но когда народ там начал переезжать на XPSP2 оказалось, что в базовой GUI-библиотеке вылез какой-то баг с реакцией на dbl-click под SP2. Нашел в инете, какой именно метод в базовой библиотеке нужно пропатчить, и отправил в контору парсел (парсел — единица распространения ST-кода в VisualWorks, может включать как классы, так и отдельные методы в любой их комбинации) с этим методом. Всё заработало. Прикол в том, что сырцов той проги у меня нет. А возможность фиксить некоторые баги — есть Возможность налету переделать метод и перезапустить выполнение проги с некоторой точки — это было очень приятно. Иногда выполнял код прямо в процессе написания кода. То есть пишеш-пишеш — бац, непонятно как точно работает метод. Тут же, в окне написания кода выполняеш то, что интересно и смотриш. Вот сейчас в жабке для этого приходится отдельные тесты писать, а на инициализацию окружения при запуске теста уходит около 30 сек. Мелочь, а раздражает.
Вот чего я не делелал, так это не вставлял в код явную проверку типов, не писал тесты для проверки типизации и прочей чепухи.
Здравствуйте, Андрей Хропов, Вы писали:
АХ>Ну ты даешь, см. http://nemerle.org/Quick_Guide
А. Вот теперь вижу
Я ж говорю до мсдн не дотягивает пока. Если бы они все в одну .chm-ку запихнули было бы приятнее. И поиск можно делать и вообще.
VD>>> Большинство людей просто пока не в курсе. M>>Ой-вей, имхо уже весь РСДН в курсе. По крайней мере все люди, которые хоть изредка читают Философию и ДП, точно в курсе. 100%
АХ>РСДН — это o(всех_программистов)
А. Я думал это про КЫВТ была фраза. Тогда конечно да.
... << RSDN@Home 1.2.0 Deep Purple — Sometimes I Feel Like Screamin >>
Здравствуйте, PhantomIvan, Вы писали:
WH>> У меня были случаи когда макросы были ну очень нужны... а их небыло И по этому вместо простого, понятного и краткого кода PI>появляются кодогенераторы/притягивается динамический язык (в зависимости от требований к перфомансу)
Динамика не подходила. Кодогенераторы (без знания структуры языка) были еще болие веселим занятием чем надолбить все руками.
Короче задачка была либо макросы которые поддерживаются языком и знают все про язык либо все руками
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Блин, как вы утомили, продавцы полосатых палок.
Где я говорил, что любой for будет читабельнее любого foreach-а? К чему ты привел сравнения foreach(e in myArray) с C++ным for для итераторов? Где я говорил подобные вещи? Демагогить изволите, судари. Да еще и меня же в ней обвиняете.
Я говорил о том, что могут быть задачи, которые решаются как foreach-ем, так и for, но читабельность решения на for-ах будет лучше даже не смотря на объем. Задачи!
Пример простой задачи: изъять из ассоциативного контейнера (вроде stl::multimap) все элементы, значение (не ключ) которого удовлетворяет некоторому предикату. И желательно, чтобы это была inplace операция.
АХ>А чтобы сделать код простым надо выбирать хорошие абстракции.
А чтобы сделать качественный пост нужно написать очевидную банальность.
АХ>Например, когда ты пишешь SQL запрос "SELECT * FROM Customers" тебе в общем-то не обязательно понимать какой код в базе при этом выполняется, как организовано хранение индексов и т.п.. АХ>Ты просто четко знаешь внешнюю семантику SQL, вот и все.
Это вообще не в тему.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
PI>>быть может, чем больше проект, тем больше он походит на статику?
ANS>Хм. В конечном итоге, естественно, должна получится программа без ошибок типов. Что ты имееш в виду?
имею в виду:
архитектура такая же, как была бы на статике
типа тим лидеры запрещают делать хитровыверты... типа генерации кода на лету
ANS>Использовал, и расширение классов своими методами,
nemerle/c# 3: extension methods ANS> и перекрытие существующих методов моими версиями
наследование ANS> (последнее делал для багфиксов GLORP, которые то появлялись в основном коде, но позже, а работать нужно было сразу). Как пример: я там уже давно не работаю, но когда народ там начал переезжать на XPSP2 оказалось, что в базовой GUI-библиотеке вылез какой-то баг с реакцией на dbl-click под SP2. Нашел в инете, какой именно метод в базовой библиотеке нужно пропатчить, и отправил в контору парсел (парсел — единица распространения ST-кода в VisualWorks, может включать как классы, так и отдельные методы в любой их комбинации) с этим методом. Всё заработало. Прикол в том, что сырцов той проги у меня нет. А возможность фиксить некоторые баги — есть
workaround-ы ANS> Возможность налету переделать метод и перезапустить выполнение проги с некоторой точки — это было очень приятно.
apply code changes, хотя аналогия не полная ANS> Иногда выполнял код прямо в процессе написания кода. То есть пишеш-пишеш — бац, непонятно как точно работает метод. Тут же, в окне написания кода выполняеш то, что интересно и смотриш.
object test bench в Visual Studio ANS> Вот сейчас в жабке для этого приходится отдельные тесты писать, а на инициализацию окружения при запуске теста уходит около 30 сек. Мелочь, а раздражает.
это я аналогии привёл, из статики (дотнета)
не флейма ради, просто пытаюсь понять, какие динамические фичи нельзя реализовать статикой
ещё можешь предложить чисто динамические механизмы для интереса?
ANS>Вот чего я не делелал, так это не вставлял в код явную проверку типов, не писал тесты для проверки типизации и прочей чепухи.
но ты ведь с лёгкостью можешь сказать, в каком месте какой тип будет?
или, бывает, через один и тот же code spot проходят разные test-case-ы с разными подставляемыми типами (параметрический полиморфизм)?
дело в том, что мы тута в Немерле тоже часто типы опускаем
изредка даже можно опустить вплоть до потери понимания что там за тип (восстанавливается подсказками среды)
Здравствуйте, PhantomIvan, Вы писали:
PI>хочу понять динамику...
Напиши на каком-нибудь нормальном динамическом языке (вроде Python, Ruby или Smalltalk) програмку строк эдак в 5k-10k и посопровождай годик-полтора. Понимание само придет.
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, eao197, Вы писали:
E>Здравствуйте, VladD2, Вы писали:
EC>>>Упоминать Nemerle к месту.
VD>>Не припомни ни одного раза упоминания не к месту. Привиди, плиз ссылки и объяснения к ним (почему ты считашь, что по ссылке находится упоминание не к месту).
E>Легко
FR>первый же ответ реклама немерле и тупой наезд на D.
Это тема реклама Ди. А первый ответ — это выражение мнения Вольфхаунда о предмете рекламы. Возможно мнение Вольфхаунда и нелизцеприятное, но на мой взгляд оно верное и очень локонично отражает ситуацию с Ди.
VD>>MIT переходи со схемы на...
Так значит "рекламы" Питона, Руби и Ди оказывается больше? О том и речь.
VD>>Но я считаю, что это совершенно нормально и хорошо. Людей интересуют эти языки и их обсуждают.
FR>Угу очень интерсно, особенно когда вот так:
FR>
FR>Здравствуйте, eao197, Вы писали:
FR>Преаращается в жалкое подобие Nemerle...
Я вообще-то говорил о твоей рекламе Руби и Ди.
По поводу высказывания Вольфхаундая уже говорил. Ди действительно марально устрел до рождения. И не мудренно, что ты получил такой ответ.
FR>"обсуждают" после чего конечно большая часть темы превращается в пустой флейм.
Обсуждение "новых" языков вроде Ди на этом форуме по любому во флэйм превратиться. А уж подобная реклама и подавно.
VD>>Так в чем же проблема? А проблема банально в том, что обсуждая все эти (и другие) языки люди невольно сравнивают их с Немерел. Почему с ним? Совершенно понятно. Это новый удачныий и преспективный язык который в данный момент занял умы этих людей.
FR>Можно сказать даже затмил эти самые умы
Можно. Язык же без костей.
FR>Злоба если и появляется только на фанатичность приверженцев немерле и их неуемную пропоганду. Да и то не злоба а раздражение.
Да фанатичность как раз у тебя и проявлятся. У меня вот никакой злобы нет в прицие. Я не понимаю зачем занматься менее современными языками, но уважаю чужой выбор и заниматься откровенной антирекламой не собираюсь. Это попросту глупо. Мне вообще важнее анализ, а не банальная перисометрия.
FR>Практически все ссылки которые ты привел, особенно иллюстративна первая про D.
Это твое мнение. А я считаю, что все упоминания в тему. И сделаны именно потому, что рекламируются возможности которые лучше реализованы в Немерле.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, EvilChild, Вы писали:
EC>Совсем универсальных инструментов не бывает. EC>Например как замена shell + awk + sed + grep + ... с трудом представляю себе Nemerle, а вот Python или Ruby легко.
Это проблемы твоего воображения. Не более того. Я с успехом применял для скрптовых задач C# 2.0. И не вижу проблем в применении Немерле.
EC>Как инструмент для написания драйверов (например под Solaris) тоже не могу его представить.
Треп о драйверх уже вообще достал. Ими занимается 0.0001% программистов.
EC>А вот для написания корпоративных приложений, если он получится, то это будет реально крутая штука.
Он подойдет и для корпоротивных приложений, и для написания системных утилит, и для написания компиляторв, и для чего угодно что может работать в менеджед виде.
EC>Я правильно понимаю, что если переписывать BLToolKit на Nemerle, то половина кода просто не понадобится и то, что сейчас делается динамичестки можно будет делать статически (я про кодогенерацию времени выполнения)?
Да. Но скорее всего можно будет сделать более навороченное решение.
EC>>>Не надо строить из себя программистскую элиту — таким способом невозможно привлечь людей способных реально помочь проекту.
VD>>А в чем заключается этот процесс?
EC>Для ответа на этот вопрос мне придётся перейти на личности, что я делать не собираюсь.
Этим замечанием ты уже это сделал. Да и твои улыбочки и плюсики на всех проявлениях хамства и быдлятся тоже являются переходом на личности. Так что не стесняйся.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, PhantomIvan, Вы писали:
PI>вот это самый большой, по-моему, наезд на полюзующихся динамикой PI>серьёзное утверждение, что на динамике реально больших проектов не написать PI>отпишитесь, уважаемые оппоненты
Я не гворил что на динамике нельзя создавать большие проекты. Вполне можно. Я говорил, что на динамике сложно создавать большие сильно связнные проекты.
Связанность вообще усложняет развитие проекта, но для статически типизировнных языков порог когда сложность становится неподемной выше.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, PhantomIvan, Вы писали:
PI>потому что я тоже не слышал ни об одном достаточно большом (больше 10 человеко-лет) проекте на динамике PI>"серьёзное утверждение" заключается во фразе "динамику нельзя использовать для больших проектов, потому что она имеет фундаментальные ограничения на масштабиремость" PI>это автоматически объясняет, почему динамика не применяется в "серьёзном" энтерпрайзе
Скромный вопрос, а кого ты цитирушь?
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, FR, Вы писали:
FR>Это не наезд а пустой пук. Опровергается просто существованием большого количества серъезных проектов на динамических языках.
Это пустой треп и извращение моих слов. Треп потому что никто не производил анализ связанности проектов создаваемых на динамических языках. К тому же судя по словам еао197 его большие проекты в распечатанном виде умещаются на столе.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, FR, Вы писали:
FR>Просто ты блаб программист не понимающий всей прелести вложенных макросов
Не суди о людях по себе, пожалуйста. Я просто ради интереса пытался выдумать задачу где бы были нужны рекурсивные макросы. Придумал трехуровневый вариант, но сам же и офигел от сложности восприятия трехмерной схемы.
... << RSDN@Home 1.2.0 alpha rev. 637>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.