Здравствуйте, Shady, Вы писали:
S>А вот повторять мифа о С++ ты не устал...
Блин, я фигею. У меня за плечами 10 лет опыта траха с С/С++. Так что я не про мифы рассказываю, а про реальную практику из реальных проектов.
S>Лучше бы ты это не упоминал, это пример как раз показывает, как убога Java...
Что-то не верится, что Борланд полную лажу прогнал. Ладно, доведется глянуть выскажу свое мнение.
... << RSDN@Home 1.1.4 beta 3 rev. 273>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, AndrewVK, Вы писали:
ПК>>Тем не менее, почему-то, вопреки заявлениям, "влет" изменения (смена движка БД, смена рендера HTML) в него не вносятся.
AVK>Паша, умоляю тебя, ну не стоит рассуждать о том о чем ты не имеешь никакого представления. В данном случае ты кругом неправ.
Видимо проще объяснить, чем слушать все это снова и снова.
Смена рендера HTML успешно произведена как-только нашлось хоношее решение, и как только нашлось на это время.
Что касается с движком БД, то проблема уперается далеко не в сменую. Проблема в том, что из хороших решений есть только переходн а MSSQL, но он требует закачки довольно нехилого рантайма (около 70 метров для MSSQL 2000) и переписывания реструктуризатора БД (это такая хрень которая по описанию структуры БД автоматически конвертирует ее в нужный формат). В итоге выходит, что нужно реализовать два разных реструктуризатора (для Jet-а и для MSSQL) и поддерживать их в актуальном состоянии.
Это просто большой объем работы на которую нужно потратить много времени. Корень проблемы в том, что АПИ для модификации БД в Джете и MSSQL сильно несовпадают.
Думаю, невооруженным взглядом ясно, что ни дотнет, ни Шарп, ни проектирование тут непичем. Это впрос нехватики времени и большого объема работы.
Так вот, возвращаясь к плюсам, проблема не в том, что при программировании на них появляются сходные проблемы. Проблема в том, что при этом появляются моря других более мелких проблем которые просто не дают дойти до решения более глобальных задач. Мы как бы боремся за качеством на уровене клеток вместо того чтобы работать на более высоком уровне.
... << RSDN@Home 1.1.4 beta 3 rev. 273>>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>Значит, я был не прав в идентификации причин проблем. Тем не менее, почему-то, вопреки заявлениям, "влет" изменения (смена движка БД, смена рендера HTML) в него не вносятся.
Влет вносятся мелкие изменения. Те что было бы невзможно вносить если бы продукт был плохо спроектирован или реализовывался бы на плюсах силами тех же программистов. Например, когда мне надоело вручную контролировать нужные мне форумы, я сел и за пару часов написал Фича: Приоритеты при сортировке форумов в дереве
Здравствуйте, VladD2, Вы писали:
VD>Блин, я фигею. У меня за плечами 10 лет опыта траха с С/С++. Так что я не про мифы рассказываю, а про реальную практику из реальных проектов.
Вот поработай с C# столько же, потом узнаем, знаешь, эйфория проходит однако...
VD>Что-то не верится, что Борланд полную лажу прогнал. Ладно, доведется глянуть выскажу свое мнение.
Скачай триал...
"Man feed machine
Machine feed man"
Peter Gabriel — OVO — The Tower That Ate People
поэме о кривых руках и бравых безпроблемных плюсовиках ты оценил по достоинству.
1) 1 == "Интересно"
2) Моя трактовка данного сообщения сильно отличается от твоей. Не вижу там никакой "поэмы о кривых руках бравых безпроблемных плюсовиках". Там, на мой взгляд, вполне разумные замечания относительно твоих лозунгов о "гарантированных барьер хотя бы против самых болезненных ошибок".
3) Какое отношение данное сообщение имеет к защите монолитного дизайна?! Или любое возражение тебе == защита монолитного дизайна?
> А уж фразы вроде языки рассчитанные на халтуру, так повсеместно сыплются.
Извини, но ты сам их произносишь, характеризуя этот язык. Я же отвечаю, что то, как ты его преподносишь ("спроектированный в расчете на халтуру"), для меня его интересным не делает.
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Здравствуйте, Павел Кузнецов, Вы писали:
>> Извини, но данный аргумент у меня вызывает только смех. Какое то совершенно мифическое преимущество. Опять же — а что мешает сделать такой набор на С++ если библиотеки есть?
ПК>Нет, просто отсутствие кого-нибудь, кто бы эту работу профинансировал, и снабдил все распространяемые компиляторы готовыми реализациями.
Как же так — язык такой популярный, а профинансировать некому. Я так и знал что все скатится в итоге к всемирному заговору производителей средств разработки.
>> Ну ладно, в дотнете есть МС. А как же быть с Java?
ПК>"В Java" есть Sun и IBM.
А для С++ ни одна крупная контора средств разработки не делает? Или опять всемирный заговор?
>> Что мешает сделать аналог JCP для С++? Всемирный заговор?
ПК>Некоторое количество ready-to-use библиотек, вполне подъемное без внешнего финансирования, потихоньку образуется в виде boost.
Что то уж больно потихоньку. В джаве например в каждый релиз включается довольно много новых библиотек, причем их создатели отнюдь не только Sun и IBM. А учитывая что релизы джавы куда как почаще новых версий стандарта С++ выходят boost плюсам в плане библиотек сильно не поможет.
>> И что это за усилия?
ПК>Зависит от конкретной библиотеки.
ПК> Наличие в C#/Java объемных библиотек, поставляемых вместе со средством разработки, и уже настроенных на использование в нем, сильно меняет ситуацию для многих проектов.
Здорово. Осталось понять что значит настроенных. Вот например в янусе используется ряд сторонних библиотек. Никто их для использования в янусе не настраивал. Я наверное чего то не знаю?
>> Ну так приведи пример, когда скажем библиотека компрессии рушит ядро сервера приложений.
ПК>Это не единственный из сценариев,
Не единственный, но это один из случаев из практики. Итак — в случае дотнета я уверен что ядро будет целым, даже если библиотека с багом. А в случае С++?
ПК>Например, если библиотека заблокирует цепочку вызова finalizers сборщика мусора или отожрет всю доступную память, или просто тривиально заполнит все пространство на диске мусором.
>> AVK> А где там проблема? >> А Паша любит так дать многозначительную ссылочку. Вроде как фигня, но со стороны выглядит, как нечто серьезное. ПК>Смотри, кому отвечал Андрей.
Я ля гер ком а ля гер Пуля дура — штык молодец
Влад пуляет, Паша колет!
VladD2,
> Пашь, на дотнете плюсы выглядят как слон в посудной лавке.
По мне C++/CLI внешне, вроде, ничего. Правда, C# поначалу мне тоже таковым показался, так что не будем загадывать...
> Выключи свой снобизм и увидишь, что никаких приемуществ у плюсов в общем-то нет. Одни недостатки.
Сила аргументации потрясает.
> ПК> Я ничего толкового так и не нашел.
> И какие выводы сделал?
Что мне оно не надо.
> Кактусы начинают нравится после 30.
На этот счет в данном случае можешь быть спокойным.
> Интересно, а для чего ты на работе можешь применять дотнет? Ты же в Маковской конторе вроде теперь работаешь.
Ребята под Web пишут для Windows-серверов.
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
VladD2,
> ПК> Проблемы не в "нестабильности" или отсутствии библиотек хорошего качества. Этого вполне много.
> Да? Можно ссылки на хорошие библиотеки сравнимые с FCL или Явовскими? Да фиг бы с ними.
По-моему, я уже говорил, что таких больших библиотек, доступных для общего пользования, не встречал. Но набрать из отдельных компонент, полагаю, будет реально.
> А то вот мы пока на плюсах писали, так все время вот такого
мнения придерживались. Я вот мужика за пару секунд вычислил, по этому признаку.
По-моему, наличие разницы в наших с тобой подходах к программированию на плюсах мы уже установили ранее.
> ПК> Для их использования в своем проекте нужно приложить некоторые усилия.
> Некоторые? Да, блин, некоторые нужно приложить чтобы какой-нить Map из STL заюзать (я в первый раз часа два трахался)
Вероятно, потому что STL содержит некоторые концепции, с которыми ты ранее не был знаком (итераторы, изоляция алгоритмов от контейнеров и т.п.). Ничего другого в голову не приходит
> К тому же речь еще о недоверии к С++-ному коду. Его же обязательно писали "криворукие ламеры".
Не все страдают такими предрассудками.
> ПК> Правильную работу приложения нельзя гарантировать и при использовании полностью "безопасных" библиотек. Примеры возможных пакостей с их стороны тривиальны.
> Класс! Логика потрясающая! Так как в программе могут быть глюки, то глюки привносимые библиотеками уже нас не интересуют. Изумительно (с).
Неверное понимание логики. В библиотеке, в т.ч. и managed, могут быть глюки, отражающиеся на общей работоспособности программы.
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
VladD2,
> ПК> Я просто обращаю внимание на то, что описанный подход не свободен от своих недостатков,
> Ты говоришь совсем не это. Ты с надменностью тыкаешь ссылочками и даешь понять, что вокрут тут ламеры собрались (не чита тебе).
Нет.
> А ссылочка на мое сообщение и высказывание, что мол вот где нет проектирования — это ты в хорошем смысле. Да?
Твое сообщение, на которое я давал ссылку, для меня — яркий образец "бардака и отсутсвия дизайна", как ты это изволил назвать; по крайней мере, так как я понял процесс разработки, в нем описанный.
> ПК> О том, что некоторые из регулярно звучащих тезисов о скорости разработки на разных языках далеко не так бесспорны, как может показаться на первый взгляд.
> Ну, ты опровргни если сможшь.
В основном, там опровергать нечего. Почти одна риторика. Там, где были технические аргументы, технические же возражения последовали.
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Здравствуйте, adontz, Вы писали:
AVK>>И все же — что там за подход такой загадочный? То что бардака и каши меньше чем в классическом VC++ном?
A>Типа я бы ты строки из ресурсов грузил
Здравствуйте, Павел Кузнецов, Вы писали:
>> Т.е. речь в этом топике идет о твоих задачах?
ПК>Это пример. Между "никуда не годный" и "не подходит для некоторых задач",
Паша, это демагогия. Еще раз напомню что в этом топике не идет речь о твоих задачах, а то что дотнет круче в любых задачах никто не говорил.
ПК>Серебряных пуль может и не пророчат, но отрицать наличие значительного количества спорных утверждений, выдаваемых за истинные, не приходится (к другой стороне это тоже порой применимо). Плюс объявление ряда подходов, не вписывающихся в C#/Java, халтурой, "уличение" людей, делающих выбор в пользу C++, в догматизме, заявления о революции в процессе разразботки благодаря C# и т.п. Против некоторых конкретных подобных заявлений я и возражаю.
[Изречения Влада поскипаны]
Не надо их приводить. Я ведь не Влада защищаю, я не согласен с тобой.
>> Паша, все таки ты забавный чувак. Тебе не смешно что ты мне рассказываешь какие проблемы в янусе? Проблема смены БД в отсутствии того кто напишет реструктуризатор <...>
ПК>То же самое явлется типичными проблемами и в продуктах, написанных на C++ Я пока не вижу никакой особой разницы в этом отношении: изменениям мешают "завязки" на окружение. Что там, что там...
Классный вывод ты делаешь. Еще раз, в который раз уже — основные проблемы янусе не в дизайне и завязке на окружение, а в недостатке времени на то чтобы делать хоть что то. И не надо сочинять того чего нет.
>>>> Вобщем аргумент о превосходстве дотнета в рамках написания софта для этого сайта остается в силе
>> ПК>Дык, я (хотел написать "никто", но за всех не поручусь) и не утверждал обратного.
>>
в реальных относительно крупных проектах ресурсы отнимают более-менее одинаковые вещи, вне зависимости от языка
ПК>Ну и?
А то что теперь объясни мне — почему весь софт для этого сайта пишется на дотнете. Разницы ведь в трудозатратах никакой, а С++сников у нас в команде явно больше.
ПК> Что-то я не вижу, как отсуда следует, что-нибудь типа утверждения об отсутствии "превосходства у дотнета" (равно как и любой подходящей платформы). Дотнет — платформа. C++ и C# — языки.
Это грубейшая ошибка — сравнивать C# без учета платформы. Надо понимать что C# создавался под платформу и вне ее смысла особого не имеет.
>> Пробовал писать на джаве?
ПК>Пробовать-то я и на Java, и на C# пробовал (сколько-нибудь большого ничего не писал). "Не вставляет". Заявления относительно Java (пока?) не оправдались те, которые пророчили Java господство на десктопах в ближайшем будущем. Этого не произошло.
Не знаю кто такое пророчил. Преимуществами джавы всегда были надежность и кроссплатформенность. Переводя на русский — это серверный софт. И там присутствие Java очень значительно (правда в России с этим не так все просто). А рассчитывать на то что кроссплатформенное средство будет доминировать в настольном софте мягко говоря опрометчиво.
Здравствуйте, Shady, Вы писали:
S>на котором толком нет крупного софта (ну хорошо, всякие sharepoint идут лесом, я говорю о вордах, базах данных)
Базы данных и ворды теперешние это проекты с десятилетними историями. Переписывать сразу их никто не будет. А проектов в МС на дотнете уже более чем достаточно.
S> и язык, где этого навалом. А вдруг на больших проектах из C# и полезут баги?
VladD2,
> Вообще, прогрес заметен даже с тобой Помнится начиналось все с совсем уж снобизма и нежелания поверить, что на дотнете можно писать "серьезный" софт.
Ссылки давать будем, или опять "ой ли" обойдемся?
> за какую-нибудь чушь ВГ ставишь полную еденицу, а нам с АВК пока что только +1.
Не ревнуй В .Net полную единицу получил c-smile, первый давший исчерпывающий ответ.
> Будем надеяться, что когда ты вникнешь в дотнет поглубже, то прийдеш к тем же выводам что пришел я некоторое время назад.
Может быть. Если 1) под него будет нормальный с моей точки зрения язык (например, C++/CLI будет удобным в использовании), и 2) его можно будет практически использовать для настольных приложений не только под Windows.
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен
Здравствуйте, Павел Кузнецов, Вы писали:
>> Пашь, на дотнете плюсы выглядят как слон в посудной лавке.
ПК>По мне C++/CLI внешне, вроде, ничего. Правда, C# поначалу мне тоже таковым показался, так что не будем загадывать...
Т.е. С# не тянет даже на "ничего"?
>> Интересно, а для чего ты на работе можешь применять дотнет? Ты же в Маковской конторе вроде теперь работаешь.
ПК>Ребята под Web пишут для Windows-серверов.
Здравствуйте, Павел Кузнецов, Вы писали:
ПК>Не ревнуй В .Net полную единицу получил c-smile, первый давший исчерпывающий ответ.
Да ладно Паш, не первый раз ведь. Вспомни к примеру твой вопрос про кодировки.
>> Будем надеяться, что когда ты вникнешь в дотнет поглубже, то прийдеш к тем же выводам что пришел я некоторое время назад.
ПК>Может быть. Если 1) под него будет нормальный с моей точки зрения язык (например, C++/CLI будет удобным в использовании),
А C# в использовании неудобен?
ПК>и 2) его можно будет практически использовать для настольных приложений не только под Windows.
Здравствуйте, WFrag, Вы писали:
WF>Не озвучишь модули?
хранение сообщений
Модуль позволяет хранить сообщения, добавлять новые, искать сообщения по признакам (идентификатор сообщения, идентификатор нити, подстрока в теле).
Варианты: MessageDB_MSSQL, MessageDB_MySQL, MessageDB_Access, MessageDB_XML хранение настроек самой программы
Модуль предоставляет всем остальным модулям возможность централизованно хранить настройки, а также делать backup/restore всех настроек скопом.
Варианты: Settings_XML, Settings_MSSQL, Settings_INI аутенфикация
Модуль позволяет другим модулям узнавать права доступа текущего пользователя на те или иные сервисы.
Вариант всего один. сетевой ввод-вывод
Модуль позволяет получать и принимать данные с сервера РСДН. В принципе он не должен знать, что именно он получает и принимает
Варианты: Наверное всего один — HTTP/XML, но наличие TCP/Binary будет только на пользу модуль обновления
Модуль сверяет версии данных и скачивает новые или обновлённые. Зависит от предыдущего модуля.
Вариант наверное всего один. некоторый интерфейс
Модуль предоставляет пользовательский интерфейс для управления другими модулями. По уму его самого надо разбить на модули, вот они то дальше и идут (которые важные) форматирование сообщений
Некоторый форматер из кодов RSDN в отображаемый формат.
Варианты: Formatter_HTML, Formatter_RTF отображение сообщений
Тесно связан с предыдущим модулем
Варианты: MessageView_IE, MessageView_Mozilla, MessageView_RTF WYSIWYG редактор сообщений
Тесно связан с предыдущими двумя модулями.
Вариант наверное всего один, так как коды форматирования одни на всех.
Ну это так — что придумалось. я думаю если посидеть, то можно будет ещё несколько модулей напридумывать или заменить уже описанные другими.
VladD2,
> <... аргументация деньгами опущена как невалидная ...>
> Блин. В бусте одни заплатки дыр языка. Что там есть чего нет доля дотнета?
Насколько я знаю .Net (а знаю мало, соответственно, список можно проредить, если будут найдены аналоги):
assign, call_traits, compressed_pair, concept check, conversion, date_time (не путать с конкретными классами даты и времени, это концепции, которые могут быть использованы для построения своих классов), dynamic_bitset, enable_if, graph, integer, interval, in_place_factory, typed_in_place_factory, io state savers, iterators, math, minmax, mpl, multi_index, operators, optional, pool (не путать с GC, pool создан для увеличения степени контроля над памятью, а не для уменьшения), preprocessor, property map, python, random, range, rational, static_assert, spirit, string_algo, test, tribool, tuple, type_traits (не путать с reflection, это все работает в compile-time), uBLAS.
> блокировка очереди финалайзара будет видна еще при первом запуске под отладчиком. Я влично вообще не видел подобной проблемы.
Я тоже не страдаю от "диверсий" со стороны используемых мной библиотек, равно как и от других "грабель C++". Но мы ж явно обсуждаем потенциальные возможности, а не реальные проблемы...
> на плюсах можно за три секунды получить испорченную память и годями искать источник ошибки, а окажется что дело было в прицепленной библиотечке.
Теоретически — можно. Но в жизни если и происходит, то ловится не годами, а за несколько часов (день или около того — максимум, что я видел). Бывает достаточно редко, чтобы не влиять на сроки разработки проекта. На практике время отнимают совершенно другие вещи: изменение окружения, изменение логики программы, изменение используемых библиотек и т.п.
Posted via RSDN NNTP Server 1.9
Легче одурачить людей, чем убедить их в том, что они одурачены. — Марк Твен