плюсы и минусы С++ и Delphi
У меня на кодогенераторах и перзистент-объекты поднимаются с БД (хранимки с entry-объектами - это нижний уроень, тут еще кстати кэширование сделано).
Поднимаются они из бд - и какие у них дальше остановке по пути на веб-страницу/any UI?
Это первый признак того, что язык не годится для решения стоящей задачи, разве не так?
Требуется дополнительный инструмент (xml-препроцессор), помимо компилятора.
А так же требуется такой дополнительный инструмент, как PL-SQL engine ;)
Язык (в традиционном смысле) сам по себе конечно не годится для построения сложной системы - в том плане что его недостаточно. Платформа годится. JAXB - это написанная на той же Java библиотека. Часть среды. А среда - отлично подходит для построения таких систем.
Я вообще считаю что XML - это отдельная область программирования. Полноценная. Thinking in Java, thinking in C++, thinking in XML. А не как я слышал от одного препода - "тот же файл свойств, только громоздкий и нечитабельный, а потому - кривость страшная".
И на веб страницу и на юзерский интерфейс - WinForms/WPF. Т.е. пайплайн такой: СУБД -> DataReader -> легкий Entry-объект (типизированная строка датаридера) -> Persistent-объект (объект предметной области) -> интерфейс/чтото-еще. И я сделал это без XML.
Это инструмент хранения и выборки данных. Не об этом речь.
Речь о том, что на уровне языке (Java, C#, C++, Delphi) принципиально нет поддержки автоматизации генерирования кода. Есть поддержка автоматизации создания семейств типов - генерики-шаблоны, а вот код чтобы код создавать нужно пользоваться страшно неудобными АПИ. Именно поэтому существуют такие инструменты как JAXB или Hibernate - они человечнее (xml-ный синтаксис), чем язык + метаинформация + апи генерирования кода.
[QUOTE=Zorkus]Я вообще считаю что XML - это отдельная область программирования. Полноценная. Thinking in Java, thinking in C++, thinking in XML. А не как я слышал от одного препода - "тот же файл свойств, только громоздкий и нечитабельный, а потому - кривость страшная".[/QUOTE]Если использовать XML как конфиг, то он безусловно громоздкий и нечитабельный. Тут попахивает YAML, который как раз и становится нередко кривостью страшной. Почему-то вспоминается пролистывание километровых юниксовых конфигов в поисках нужного параметра. Конечно, это не есть недостаток собственно конфига, но ещё и косяк инструмента для обращения с оным конфигом, но всё же.
[QUOTE=Zorkus]
Язык (в традиционном смысле) сам по себе конечно не годится для построения сложной системы - в том плане что его недостаточно.[/QUOTE]Это верно. Однако верно и то, что когда среда разрастается до какой-то критической массы, возникает новый язык.
Если честно, звучит мерзко ;)
I wanna think in metaprogramming!
прекрасно вижу разницу... однако, потому что на уровне языка не предусмотрен конструктор копирования (по умолчанию) который скопирует объект вместе с его вложенностями (и создаст указатель на новый объект, иначе в чем смысл копирования), пришлось потерять какое то время на исправление этой "незаложенности". Все это замедляет решение основной задачи.
Ну так такого конструктора копирования по умолчанию (который создает ссылку на новый объект) нет и в C# и не может быть.
И это никак не замедляет решение основной задачи.
благодаря такому "зашитию в базу" язык абстрагирует пользователя от ненужных телодвижений. Про "трудности" STL - уже писал, boost - по твоим же словам - большая помойка (сорри если приукрасил).
Да, C# держит пользователя в рамках (а не абстрагирует), не давая ни оступиться, ни шагнуть в сторону. А я вот не люблю , чтобы меня держали в рамках. Для меня "лишние телодвижения" - это дополнительная свобода.
PS: Я всего лишь хотел сказать, что для определенного круга задач (не такого уж и маленького, где C# и С++ пересекаются на 100% по возможностям) большинству разработчиков, одинаково владеющих обоими этими средствами разработки, проще будет сделать на шарпе.
Там, где они пересекаются на 100%, будет одинаково просто.
Да, я согласен, что в большинстве прикладных приложений C# использовать удобнее хотя бы потому, что это язык следующего поколения. Глупо было бы создавать язык в той же области но с меньшей функциональностью.
Но вот незадача в том, что C++ покрывает большую область использования. Поэтому списывать его рановато, а сравнивать невозможно, т.к. это разные языки с разной концепцией.
Кстати, не забывайте, что и C++ не стоит на месте.
И все же я не понимаю о чем спор? О том, что C# удобнее для прикладных задач? Ну да это так. Но только не надо при этом доказывать, что C++ это что-то неудобоваримое, монстроидальное и т.п., да ещё и снабжать доморощенными примерами больше показывающими незнание этого языка.
С++ - это классика ООП, но не мертвая, а вполне живая, а в большом количестве случаев - незаменимая.
Дык, в каждой такой теме к этому выводу в конце концов приходим. :D
Угу, и чтоб освежить в памяти начинаем заново. :)
Я ведь раньше писал–прекращайте.Поддерживаю Washington'а в его идее:пусть будет такая тема,где всё будет подробно расписано(я вижу,вы профессионалы такое писать–вон сколько понаписали;)).А подобные темы…ну я даже не знаю."Запретить"–это как-то сильно прозвучит:)Не поощрять,скажем так
Надеюсь,вы все свои идеи изложили,али ещё будут?:D
Ну, а в чем, собственно, плюсы и минусы C++ и Delphi?
Ну, а в чем, собственно, плюсы и минусы C++ и Delphi?
Есть один ощутимый плюс: неиссякаемый повод пофлеймить!
Отныне - будем все дела делать в привате :)
Отныне - будем все дела делать в привате :)
Не, ну в спецветке это лучше делать. Сам понимаешь. ;)
А тут - всякий какашками уделать норовит...
P.S. А тема про шарп, nemerle и т.п., мне самому очень интересна.
И потому конечно тема про шарп и немерле становится все ближе и ближе :)
А у мну заначка в подсобке лежит - и по ходу пока выйдешь добавить "посто" - над тобой огромное небо полное звезд, и трели соловьев - только набирают силу. Распеваются они уже позже - часам к 2-3 - когда ветер несет в себе запах сирени и цветущей черемухи, когда мощь твоего мотоцикла проносит тебя по зеленому коридору ночной трассы.
мда. красота. так что там про си-шарп?
так Green ответил за меня - прикладные приложения ;)
Не - делфи это ацтой :)
Ну эачем на Green сваливать. Это ведь не его, скажем так, сомнительный тезис о мифическом "превосходстве" шарпа. Тем более что "прикладные приложения" - весьма широкое понятие. Программа управления марсоходом, например, это прикладное приложение? несомненно. Да собственно че это именно с марсоходов - можно сказать классический пример Гради Буча - управление микроклиматом в теплице - вы твердо уверены в преимуществах программистов использующих компонетную модель (шарп, делфи, билдер)?
Сама постановка вопроса бессмысленна - потому что если я данную задачу регулярно решаю на шарпе - то естественно у меня есть уже отработанные методики, позволяющие экономить массу времени. Но это не преимущество конкретного языка - это преимущество объектно-ориентированного подхода (ООП). И при этом нет разницы, какой инструмент использовать - все зависит от задач.
Сама постановка вопроса бессмысленна - потому что если я данную задачу регулярно решаю на шарпе - то естественно у меня есть уже отработанные методики, позволяющие экономить массу времени. Но это не преимущество конкретного языка - это преимущество объектно-ориентированного подхода (ООП). И при этом нет разницы, какой инструмент использовать - все зависит от задач.
скажем так, это понятие довольно индивидуально - для людей пишущих приложения исключительно в рамках WinApp будет значительная часть, для разрабатывающих вэб сервера это будет весьма мало, кто то вообще софт для контроллеров пишет, там пересекаемость этих 2-х инструментов вообще нулевая.
Вообще то я не говорил о превосходстве шарпа (и вообще про него не хотел говорить), а шарп тут приплелся в результате 2-х примеров, которые, по моему имхо абстрагируют пользователя от рутины и криворукости.
по поводу "абстрагирования от рутины и криворукости" мне почему то сразу вспомнился дуфифа и его последний совет в теме http://forum.codenet.ru/showthread.php?t=54828. Чет не сильно его "абстрагировало от криворукости" :) Я уже не стал ничего говорить - ибо просто лень, да и без толку - человек который для своей формы использует ТАКУЮ цветовую схему - ничего лучшего не заслуживает. :)
несЦы - прорвемся :)
Ага. Как презервативы китайские... :D
дети - это же прекрасно :)
В тему детей.
PS: Моно не предлагать, сами знаете почему.
PS: Моно не предлагать, сами знаете почему.
не знаем...
C#3.0 уже поддерживает. Не так давно даже по некоторым параметрам обходит - есть поддержка SSE к примеру, встроена в рантайм.
Тут явный намек на Java :)
Можно конечно говорить про Qt & C++ и аналоги, но в данном случае будет не так красиво, как с Java.
Есть еще подозрение, что варианты типа wxPython подойдут (по моему мнению, wxWidgets для Питона как-то более естественен, чем для C++). Тут получается некая простая альтернатива Java.
Мне тоже интересно - почему. Иначе не так интересно Boo изучать :)
Отныне - будем все дела делать в привате :)
Конечно, заговорили на языке, который только вы вдвоем понимаете. Надо проще, по рабоче-крестьянски :)
P.S. А тема про шарп, nemerle и т.п., мне самому очень интересна.
Тут проблема как сформулировать тему и где эту тему разместить. Ибо тема должна быть сравнительно свободная, чтобы любая информация о новой технологии, языке не была оффтопом, но, с другой стороны, чтобы не давала повода вести бессмысленные споры.
Раздел Общие вопросы программирования разве не подойдет для подобной темы?
P.S. Но, заглохнет все очень быстро, имхо. Вот тут, чел попытался тему начать, но...
Подозреваю, что все что хотели сказать по теме новых технологий, разных языков уже сказали.
Если кому-то интересно, то нужно изучать, программировать, а не болтать. Конечно, удобнее изучать, когда есть какое-то сообщество. Но на данном форуме нет смысла делать для новых языков разделы - мало заинтересованных людей. Разве что соц. группы сделать. Например, соц. группу по Немерле, по Питону и т.д.
Это мелочи - тупое сообщение можно и удалить. В соц. группах есть другая проблема - нельзя добавить форматированный код. Для Питона или Boo это смертельно. Для других языков тоже не здорово.
Так что, лучше создать прикрепленные темы и модерировать. Но это - мечты. В принципе, можно создать простые темы, в которых будут обсуждаться особенности определенных языков.
Я вот например думаю что имеет смысл задавать вопрос на форуме (во всяком случае здесь так как на других я не бываю или очень редко читаю) в следующих случаях.
1. Возникает ошибка при использовании некоего не очень екзотичного инструмента. Мож кто сталкивался или обяснит что не так делаю.
2. Обсуждение нестандартного алгоритма. Практика показывает что вместе думать легче и полезнее.
3. Есть некий философский вопрос по архитектуре, концепции и т.п. Вот тут посложнее так как не слишком много людей могут дать дельный совет. Хорошо если они тему увидят и не побрезгуют. А может и умереть.
4. Область в которой полный ноль но на форуме тебя не пошлют. Для меня ето про железо, линуксб сео. Ну всмысле если надо какой пустяк, а розбираться влом да и незачем глубоко погружаться. Такие случаи возникают крайне редко.
Все остальное полная чепуха ответ на которую легче искать в АПИ, гугле, своем кривом коде ну или как в данном случае про плюсы и минусы - изучать и сравнивать самому.
нормальный человек не будет оттталкиваться от субективного мнения других при выборе инструмента. Тоесть может принять во внимание, но руками должен попробовать сам. Хотябы поверхносно.
ЗЫ. Опытным себя обективно не щитаю, но чесно говоря форум читаю больше для удовольствия чем для пользы. Весело тута.
ЗЫЫ. С нетерпение жду чегото очень интересного (оно иногда случается нежданно и негадано, но имхо чтото давно уже не случалось)
ЗЫЫЫ. Kogrom-у респект. Его темы интересны.