Этот код даже не компилировался. Но если тебе очень хочется, то, например, такий. Сути дела это не меняет.
>> Когда я пишу на С++ мне приходится больше времени уделять паттенам безопасного программирования и поиску замены отсуствующих конструкций языка.
ПК>Это не означает, что у всех так. Другим приходится больше времени уделять тому же при использовании C# и библиотеки .Net. Особенно при переходе с JavaScript и Python: вопреки твоим заявлениям, в функциональном стиле на C# получается не очень. И что?
То что ты мягко гворя извращаешь факты. Ну, и переводишь стрелки. Речь в теме, кажется, шла о С++. Ну, и нефига переходить к обсуждению черти чего. Темболее недостатков у Питона более чем достаточно, а JavaScript не ясно зачем приплетен. Его только как идеал убогости можно приводить.
ПК>Все это только говорит о том, что разным людям лучше подходят разные языки.
Все это говорит, что ты лично не хчешь принимать очевидных вещей. Ты погряз в плюсах.
ПК> Однако некоторые почему-то продолжают настаивать на безусловных преимуществах одного языка. Ну-ну...
Некоторые, говорят о некотором прогрессе и движении вперд, а другие некоторые настолько срослись со своими догмами, что готовы верить в любые мифы вместо того, что бы взять и попробовать то с чем они так упорно борются.
ЗЫ
Ладно, надо заканчивать эти бесплодные сражения. С новым годом!
... << RSDN@Home 1.1.4 beta 3 rev. 267>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>Я в своем ответе их не разделял. Пожалуйста, могу перефразировать. Паттерны не относятся к принципам ОО-дизайна. Принципы ОО-дизайна — open-closed, dependency inversion, Liskov substitution и т.п.
Вот в таком виде грех с тобй согласиться.
ПК>От всей этой риторики суть никуда не девается. Проблемы такого подхода видны невооруженным глазом, тот же Янус уже давно в них уперся. Проблемы заключаются в том, что без должного проектирования на ранних стадиях, внесение изменений в программу в дальнейшем очень сильно осложняется.
А... ну, ну. Снова Янус за уши притягиваем. Вот только две не большие проблемы:
1. Изменения в Янус вносятся влет и в том числе довольно мало квалифицированными кадрами. А если бы твои слова были правдой, то изменения немогли бы вносить даже я с АВК.
2. Есть такой проект — Янус 2. У АВК была замечательная мысль перепроектировать и переписать Янус с нуля. Эта мысль вообще свойственна многим русским программистам. Так вот кончилась она так и не дойдя до зримых стадий. А вот после проведенного (сначала мной, а потом АВК и другими) рефакторинга проект потихоничку избавился от основных проблем. Сегодняшние проблемы в основном сосредоточены вокруг джета, IE и времени которое нужно затратить на избавление от джета и обход проблем связанных с интерграцией с анменеджед-кодом.
В обещем, твой подход конечно замечателен, но вот плодов его заметить очень тяжело. А наш очень плохой, но он позволяет с минимальными затратами времени (остающегося от работы и дуракаваляния) получать работоспособный и удобный продукт. Так что когда начинашь приводить Янус в качестве отрицательного примера вспоминай, что аменеджед конкурентов у него нет. И что он есть только благодаря дотнету и тому что он позволяет работать над проктом куче разноскильных прораммистов.
Кстати, NNTP тоже работает на дотнете, а анменеджед-прокт десктопа сдох не родившись. По больше бы таких "недостатков".
... << RSDN@Home 1.1.4 beta 3 rev. 267>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Кстати, NNTP тоже работает на дотнете, а анменеджед-прокт десктопа сдох не родившись. По больше бы таких "недостатков".
Думаю это больш связано с тем, что Janus И прочи альтрнативы мтоды доступа, включая NNTP могут использовать код сайта.
Здравствуйте, adontz, Вы писали:
A>Думаю это больш связано с тем, что Janus И прочи альтрнативы мтоды доступа, включая NNTP могут использовать код сайта.
Неугадал. NNTP наботает через те же веб-сервисы. А они как ты понимашь неплохо обстрагируют от языка и т.п.
Дело тут в другом. Просто на дотнете хватает времяни и на реализацию создание кода, и на сон. Ну, и он оказывается работоспособным не смотря на то, что пишется не всегда со свежими силами.
А если бы С++ давал больше приемуществ чем дотнет, то мы бы имели сайт написанный на С++. Поверь уж С-шников у нас то хватет. 4 года назад 90% писало на плюсах.
... << RSDN@Home 1.1.4 beta 3 rev. 267>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
VladD2,
> ПК> От всей этой риторики суть никуда не девается. Проблемы такого подхода видны невооруженным глазом, тот же Янус уже давно в них уперся. Проблемы заключаются в том, что без должного проектирования на ранних стадиях, внесение изменений в программу в дальнейшем очень сильно осложняется.
> 1. Изменения в Янус вносятся влет <...>
> 2. <...> Сегодняшние проблемы в основном сосредоточены вокруг джета, IE и времени которое нужно затратить на избавление от джета
Именно о таких противоречиях в твоих лозунгах я и говорю: с одной стороны, на словах, вообще изменения вносятся влет; с другой, на деле, конкретные нужные изменения внести долго и тяжело. Еще раз: не невозможно, но и не "влет". По своим наблюдениям могу сказать, что в нормальных проектах на C++ больше всего ресурсов отнимают похожие вещи, а вовсе не мифические "грабли".
> <...> когда начинашь приводить Янус в качестве отрицательного примера вспоминай, что аменеджед конкурентов у него нет. И что он есть только благодаря дотнету и тому что он позволяет работать над проктом куче разноскильных прораммистов.
Ага. А огромное количество других открытых проектов, написанных на C, C++ и даже Python — только благодяря последним? Ерунда. Все эти проекты, включая Янус, написаны благодаря программистам, их писавшим. Программисты, естественно, выбирали то, что им лично удобнее. Обобщать их личный опыт на всех немного неверно.
> Кстати, NNTP тоже работает на дотнете, а анменеджед-прокт десктопа сдох не родившись. По больше бы таких "недостатков".
Здравствуйте, adontz, Вы писали:
A>Думаю это больш связано с тем, что Janus И прочи альтрнативы мтоды доступа, включая NNTP могут использовать код сайта.
Единственный код сайта, используемый янусом это форматтер. Написать аналог не так уж и сложно. Сравни размеры исходников — янус 2.2М, форматтер 50К. Все еще считаешь что главное препятствие создания анменеджед версии форматтер? Тогда спешу сообщить что форматтер можно использовать и из анменеджед кода через СОМ.
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>Именно о таких противоречиях в твоих лозунгах я и говорю: с одной стороны, на словах, вообще изменения вносятся влет; с другой, на деле, конкретные нужные изменения внести долго и тяжело.
Изменения бывают разные. Замена джета на другой сервер — это глобальный рефакторинг. Мне на такую задачу нужно где-то дня три чистого времени. И их у меня попросту нет. Других дел по горло. А проблем лично у меня с джетом нет. У меня тачка шустрая и блокировки если и случаются, то раз в два месяца.
ПК> Еще раз: не невозможно, но и не "влет".
Влет влет. Погляди Хоумный форум... убедись сам.
ПК> По своим наблюдениям могу сказать, что в нормальных проектах на C++ больше всего ресурсов отнимают похожие вещи, а вовсе не мифические "грабли".
Сказки будешь рассказывать в милиции (полиции ). Я как бы сам не над одним С++-ным проектом работал. Причем не в качестве рядового программиста. Так что я очень хорошо знаю на что уходит время в С++-проектах. И очень хорошо себе представляю как бы выглядил Янус на С++, если бы это вообще было бы возможно.
ПК>Ага. А огромное количество других открытых проектов, написанных на C, C++
Плодами скльких из них ты пользуешся? Я вот ни одним.
ПК> и даже Python
Питон по некоторым парамерам можно сравнивать с дотнетом. В некотором роде тоже контролируемая среда. Если бы динамическая типизация и некоторые другие блохи тоже было бы ничего.
ПК> — только благодяря последним?
Я бы сказал вопреки последним. Все больше и больше открытых проектов делается на Яве и дотене. Многие мегрируют с плюсов. Да и занимаются ими в основном ученые которые погут тратить уйму времени, так как им его оплачивает государство или большие контры в виде грантов.
ПК> Все эти проекты, включая Янус, написаны благодаря программистам, их писавшим. Программисты, естественно, выбирали то, что им лично удобнее. Обобщать их личный опыт на всех немного неверно.
Я как бы вибирал средство разработки для Януса. Так что могу говорить не гепотетически, а конкретно. Выбирали мы не то что больше нарвится, а то что позволит максимально сократить время и трудозатраты на разработку и позволит максимально избежать крахов и потерь данных. При этом, естественно производительность должна была быть на уровне плюсовых продцктов. Как ты понимаш выбор был не велик. Плюсы пошли в лес по причине ненадежности и сложности. Питоны по причине тормознутости и плохой интеграции с Виндовс. Дельфи было как минимум не лучше Шарпа + дотнет. Ну, а наличие огромных библиотек просто неоставило выбора. Вот между Явой и дотнетом выбор действительно был сделан на основании того, что Шарп был откровенно интересенее, ну, и WinForms тоже повлиял.
>> Кстати, NNTP тоже работает на дотнете, а анменеджед-прокт десктопа сдох не родившись. По больше бы таких "недостатков".
ПК>http://sourceforge.net/softwaremap/trove_list.php?form_cat=160 — можешь сам посмотреть количество открытых проектов на других языках.
Кстати, забавно произвести анализ зависимости объема проектов от срока жизни языка, то результаты получаются призабавнейшие. Я к сожалению не знаю точно сроки жизни всех языков, но приблизительная картина такова:
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>с другой, на деле, конкретные нужные изменения внести долго и тяжело.
Ты считаешь что лучше меня знаешь состояние дел в проекте? Думаю нет, так что придется поверить на слово. Так вот — Jet был выбран сознательно, и ты не хуже меня знаешь почему. И работает он вобщем то не так уж и смертельно плохо. С его глюками можно мирится. А насчет долго и тяжело — это не так, просто у нас нет ресурсов делать даже несложную работу регулярно. Есть целый ряд задач более первостепенной важности, нежели замена джета, но и на них времени не хватает.
И вобще, Паша, покажи класс, перепроектируй какую нибудь подсистему януса по правильному. А?
Здравствуйте, adontz, Вы писали:
A>Знаешь, я думаю что самое главное, это удобство.
Не самое главное, но достаточно важный момент.
A> И то что всё ПО сайта на одном языке это ОЧЕНЬ удобно.
Янус это не ПО сайта. К таковому можно отнести разве что его сервис, но это не OpenSource и он действительно жестко ограничен по платформе (и ты это прекрасно знаешь). А вот сам янус по платформе не ограничен никак, его можно писать на любом что поддерживает сервисы, а их поддерживает на данный момент очень много кто. Из того что я знаю — С++, Дельфи, Java, PHP.
Здравствуйте, VladD2, Вы писали:
VD>Не, ну, это уже верх экстравогантности... сделать анменеджед-клиента и чтобы заюзать в нем форматер ставить рядом с ним дотнет для интеропа.
Его вобщем то переписать не сложно. Регексы и xslt для плюсов есть, а кроме них кода там немного. И вопрос по открытию исходников форматтера вобщем то тоже можно решить.
Вроде бы должно быть очевидно, что "99.999% всех ошибок еще на стадии компиляции" отловить ни один компилятор не может. Всегда останется огромное количество потенциальных ошибок, которые обнаружить/предотвратить можно только традиционными способами: повышенное внимание при кодировании, тестирование и т.п.
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Здравствуйте, AndrewVK, Вы писали:
A>>Знаешь, я думаю что самое главное, это удобство. AVK>Не самое главное, но достаточно важный момент.
Не вообще, а для Януса, учитывая нехватку времени.
AVK>Янус это не ПО сайта.
Сайт в широком смысле.
AVK>К таковому можно отнести разве что его сервис, но это не OpenSource и он действительно жестко ограничен по платформе (и ты это прекрасно знаешь).
Представь себе не знаю Я сам писал загрузчил perl'а для сайта, так что про платформу... ну под Windows это да и не более того.
AVK>А вот сам янус по платформе не ограничен никак, его можно писать на любом что поддерживает сервисы, а их поддерживает на данный момент очень много кто. Из того что я знаю — С++, Дельфи, Java, PHP.
Ну Java, PHP это ты замахнулся GTK ИМХО не для слабонервных, а JVM не у всех стоит. Хотя собственно какая разница что требовать JVM или .Net Framework? Остатся Delphi и С++ как более выгодные с точки зрения минимализации системных требований.
Здравствуйте, AndrewVK, Вы писали:
AVK>Да нет, я на полном серьезе. Пусть перепроектирует, мы реализуем.
Беда в том, что хороший проект должен подразумевать модульность. А это значит, что с наскоку такое не написать и вообще нужна будет некоторая организованность. Я уже сейчас, просто зная что делает Янус вижу разбиение на 5-6 зависимых модулей.
Такое независимо на коленке не написать. И дело не в деньгах или времени, а в высокой степени организованности.