Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Почему так не любят Delphi? 
:(
    Опции темы
serger
Дата 23.4.2013, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 0
Всего: 5



Ну есть не только Юнит-тесты... )

Добавлено через 1 минуту и 9 секунд
Ну и тесты ж полезны не только тем, что проверяют. Они повышают качество кода - причём только наличием своего присутствия.  smile 


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
Beltar
Дата 23.4.2013, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 2
Всего: 7



Цитата

Неужели тебе не доводилось никогда использвоать позднее связываение с COM объектами?


И получал по носу, что метод не найден. Ну да, зараза сродни склееному в тексте SQL.

С последним юнит-тестирование можно было бы проводить, если есть хотя бы двое, и один, например, работает с базой, а второй с клиентом, тогда можно потратить время и сделать набор юнит-тестов и быстренько узнать при необходимости, где что-то упало после ковыряния в базе.

Добавлено через 3 минуты и 5 секунд
Ой, хорошо-то как, когда ты один и никто тебе код не поломает...


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
Felix12321
Дата 23.4.2013, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 8.9.2012

Репутация: -1
Всего: -1



Ну вот, люди тестов в глаза не видели, не знают как проектируются приложения, чтобы можно было тестами покрыть, зато яро защищают свою правоту  smile 
PM MAIL   Вверх
serger
Дата 23.4.2013, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 0
Всего: 5



Цитата(Beltar @  23.4.2013,  19:11 Найти цитируемый пост)
Ой, хорошо-то как, когда ты один и никто тебе код не поломает...

Дак со скуки помрёте. Хотя наверное не привыкать ;)


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
Beltar
Дата 23.4.2013, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 2
Всего: 7



Просто скажи уже, что сам ты ни Delphi, ни Паскаля не знаешь. Но в то, что мужики должны юзать все что угодно, кроме Delphi искренне веруешь.
Все-таки ненависть к Delphi это такой комплекс неполноценности, нелюбящие плюсы, или что-то еще дельфины в общем-то ложат на эти языки болт, и только делфиненавистники в своей ненависти самовыражаются.

Цитата

Дак со скуки помрёте.


Ага, скучно же, когда все работает, как часы.

Это сообщение отредактировал(а) Beltar - 23.4.2013, 19:15


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
diadiavova
Дата 23.4.2013, 19:37 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 4
Всего: 142



Цитата(Beltar @  23.4.2013,  00:55 Найти цитируемый пост)
Да блин, я сказал уже, что никто так не делает

Да, я помню, но мое представление о том, что для тебя создание такой мешанины - обычное дело, все-таки сформировалось тоже из того, что ты говорил в других местах. Тема развивается довольно быстро, поэтому найти те посты было бы крайне затруднительно, но были там и те места, где защищал такой подход. Были и такие, где ты говорил, что шаблоны проектирования - бред, вместе с парадигмами программирования и еще чем-то smile Так же когда ты говорил о том, что тесты тебе негде использовать тоже говорит об архитектуре, в которой ничего потестить нельзя. Да и когда ты говорил о ненужности рефакторинга, это тоже говорит о многом, поскольку рефакторинг - инструмент улучшения архитектуры, а если архитектура тебе до лампочки, то от рефакторинга толку точно не будет. Так что свои выводы я сделал не на пустом месте.
Цитата(Beltar @  23.4.2013,  00:55 Найти цитируемый пост)
При замене UI лезть придется только в эти методы, тебе так же надо будет в WPF эти связи руками менять, что вот эта табличка будет связана с таким-то набором данных. 

Ну если вы на самом деле собрались письками мериться, то тогда и правила надо определить, основываясь на возможности изменения требований к тому же гую, вомзможности поддержки и развития проекта, возможности тестирования и т. д. Что прделожил ты? Создашь структуру базы, оговорите гуй и будете сравнивать количество строк. Я, честно говоря вообще не понимаю, как можно интерпретировать такой результат.
Тебе уже объяснили, что платформы типа впф, стали ответом на требования индустрии. Требования к софту и ко времени его разработки стали гораздо жестче чем раньше и таким образом перед разработчиками стоят совсем другие проблемы. Главной из них стала значительно возросшая сложность ПО. Именно поэтому стали так популярны шаблоны проектирования, модульные тесты и прочая дребедень, которая тебе не нужна. Естественно шаблоны позволяют решать практически любые проблемы проектирования, почти независимо от технологии и особенностей языка. Но когда платформа хорошо приспособлена для создания хорошей архитектуры, то таковая создается на ней меньшими усилиями. И в этом смысле, если единственным требованием к приложению будет его вид, а не архитектура, то о выгоде с точки зрения даже количества кода вряд ли можно говорить. А если она и будет, то возможно за счет некоторых возможностей языка, которые к конкретной технологии вроде как и не имеют отношения.
Следующий момент, который меня сильно смущает - я не понимаю, что вообще может показать количество строк. Иногда лаконичный код говорит о преимуществах языка или технологии, иногда об умениях того, кто его написал, но чаще такой код просто имеет худшее качество. Например, можно все описывать длинными и глубоко вложенными друг в друга выражениями. В таком коде все будет в одной строке, при этом код будет совершенно нечитабельным, да и если отладчик на нем запнется, то вряд ли ты сразу сможешь определить какая именно часть кода вызвала ошибку. Поэтому мне в принципе непонятно, что должно показать малое количество кода. Если твой код будет на десяток-другой строк меньше, это что будет означать? Что дельфа лучше впф что ли? smile 
Цитата(Bother @  23.4.2013,  05:27 Найти цитируемый пост)
так все декларативные языки описывают структуры данных и их отношения. Можно использовать термин "язык разметки", но он сузит круг языков по совсем уж непонятным параметрам(виду кода). 

Язык разметки - да, даже в названии это заложено. 
Цитата(Bother @  23.4.2013,  05:27 Найти цитируемый пост)
http://ru.wikipedia.org/wiki/Структурное_программирование

Ну, не знал.
Цитата(Bother @  23.4.2013,  05:27 Найти цитируемый пост)
Язык разметки формально - тоже ЯП.

Вот формально как раз-таки тут много разногласий, и если что-то такое написать, то обычно это вызывает споры. Тем более, что разные источники это по разному интерпретируют. Сколько срачей в сети по поводу того, следует ли счтитать япом хтмл?
Цитата(Zloxa @  23.4.2013,  10:13 Найти цитируемый пост)
XAML валидируется при сборке или в рантайме? 

И при сборке и даже в дизайнтайме если что тебе будут выданы предупреждения. Но только чудес ждать не надо, так же, как в примере, от которого тебя вывернуло, компилятор ессно не будет проверять значение литерала на соответствие имени свойства, с таки же успехом и в хамле есть подобные же вещи.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
k0rvin
Дата 23.4.2013, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 442
Регистрация: 24.1.2010

Репутация: 1
Всего: 5



Цитата(serger @  23.4.2013,  17:48 Найти цитируемый пост)
И что оно даёт?

Ну, селекты проверит, про остальные я как-то забыл, ну Злоха напомнил =)


--------------------
“Object-oriented design is the roman numerals of computing.” — Rob Pike
All software sucks
PM MAIL   Вверх
diadiavova
Дата 23.4.2013, 19:49 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 4
Всего: 142



Цитата(Beltar @  23.4.2013,  13:39 Найти цитируемый пост)
Я уже которую страницу пытаюсь объяснить Дяде Вове, что так все делают, это универсальный подход. 

Не все smile 
Цитата(serger @  23.4.2013,  18:05 Найти цитируемый пост)
Zloxa, если Delphi не "тянет" даже unit тесты, то это очень плохо. И динамика тут не причём. И вообще 

Я не думаю, что он не тянет, просто не располагает к подходу, в котором они применимы. При использовании тестов, код надо писать так, чтобы его легко можно было тестировать, а дельфа предлагает кучу компонентов, в которых уже все есть и зачем заморачиваться на отделении котлет от мух? Для небольших программ это даже хорошо, но от плохих привычек трудно отвыкнуть.
Цитата(Beltar @  23.4.2013,  18:52 Найти цитируемый пост)
Вывод неправильный. Юнит-тестирование практически бесполезно, если сложно сформулировать правильность работы метода. Я выше привел пример с картинкой, Дядя Вова, как обычно свел все к GUI, хотя я могу и выполнив обработку просто послать ее в файл.

Ты неправильно интерпретируешь мой ответ. Есть вещи, которые тестить легко, а есть такие, которые тестить либо невозможно, либо очень трудно. Задача проектирования во многом как раз в том и состоит, чтобы тестированию можно было подвергнуть как можно больше логики, нуждающейся в тестировании. 
Удобно наверно передать контролу формулу, чтобы он тебе график отрисовал, но протестировать, что он рисует ты не сможешь. С другой стороны, если ты выделишь парсинг формулы в отдельный метод, грубо говоря генерацию набора точек в отдельный метод, а гуй-компоненту поручишь только выводить точки на экран, то протестировать правильность формирования точек по разным формулам ты вполне сможешь. Относительно эффекта не скажу, поскольку не очень понимаю о чем речь. Но суть в том, что в любом приложении можно выделить значительную часть логики, которая будет поддаваться тестированию, хотя реализация такого проекта может сильно отличаться от того, к чему ты привык.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Beltar
Дата 23.4.2013, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 2
Всего: 7



Цитата

Были и такие, где ты говорил, что шаблоны проектирования - бред, вместе с парадигмами программирования и еще чем-то


Я ничего не говорил про шаблоны. Даже свои схожие софтинки я по одному шаблону стараюсь строить. А вот парадигма это действительно что-то сродни догме, хотя на практике можно применять очевидно подходящие для подзадачи методы и не знать, и даже не задумываться, о том, что это оказывается парадигма, и у нее есть название. И тем более не считать насколько код ей соответствует в процентах.

Цитата

Так же когда ты говорил о том, что тесты тебе негде использовать тоже говорит об архитектуре, в которой ничего потестить нельзя.


Или наоборот, нет смысла тестить. Ведь если связей в коде минимум, то один раз отлаженный метод поломать трудно.

Цитата

создание такой мешанины


Я по обстановке делаю. Иногда задача абсолютно тривиальна и можно бросить под кнопку, если что, потом скопипастить в отдельную процедуру. Иногда нет, тогда стараешься правильно разбить.

Цитата

Да и когда ты говорил о ненужности рефакторинга


Рефакторинг, это в моем понимании механизм безопасного преобразования кода без изменения его логики, плюс средста проверки, например, на использование метода. Т. е. переименовать процедурку, это рефакторинг, а разобрать ее на части, это уже реструктуризация. Первую задачу я уже давно руками не делаю.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
diadiavova
Дата 23.4.2013, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 4
Всего: 142



Цитата(Beltar @  23.4.2013,  21:05 Найти цитируемый пост)
Я ничего не говорил про шаблоны.

Может не про шаблоны вообще, а про отделение логики от гуя, но что-то в этом направлении было.
Цитата(Beltar @  23.4.2013,  21:05 Найти цитируемый пост)
 Ведь если связей в коде минимум, то один раз отлаженный метод поломать трудно.

А каким образом отладка заменит тестирование? Исключений в рантайме метод может и не выбрасывать, а вот в некоторых сложных случаях будет неправильно обрабатывать данные. В тесте ты стараешься предусмотреть все возможности и проверять к примеру какие данные выдаст метод при передаче ему разных наборов аргументов. А как это заменит отладка?
Цитата(Beltar @  23.4.2013,  21:05 Найти цитируемый пост)
Или наоборот, нет смысла тестить.

А если условия изменятся и в методе что-то надо будет изменить? Как проверить корректность внесенных изменений?
Цитата(Beltar @  23.4.2013,  21:05 Найти цитируемый пост)
Иногда задача абсолютно тривиальна и можно бросить под кнопку, если что, потом скопипастить в отдельную процедуру.

Об этих случаях я не говорю. Но у тебя в процессе этого обсуждения акценты все-таки несколько поменялись.
Цитата(Beltar @  23.4.2013,  21:05 Найти цитируемый пост)
Рефакторинг, это в моем понимании механизм безопасного преобразования кода без изменения его логики


Цитата(Beltar @  23.4.2013,  21:05 Найти цитируемый пост)
а разобрать ее на части, это уже реструктуризация.

Рефакторинг - это достаточно много приемов и большинство направлено именно на изменение структуры программы.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Beltar
Дата 23.4.2013, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 2
Всего: 7



Цитата

Ну если вы на самом деле собрались письками мериться, то тогда и правила надо определить, основываясь на возможности изменения требований к тому же гую, вомзможности поддержки и развития проекта, возможности тестирования и т. д. Что прделожил ты? Создашь структуру базы, оговорите гуй и будете сравнивать количество строк. Я, честно говоря вообще не понимаю, как можно интерпретировать такой результат.


Надо. Сравнить по идее можно только примерную трудоемкость и интерфейс. Потому что сейчас я не понимаю, что реальные возможности WPF, а что фикция. Т. е. VCL штука старая и создана исходя из работы под Win95 и ограниченность ресурсов, одно только деление ее графических контролов на TGraphicContol и TWinControl по наличию оконного дескриптора и канваса, показательно. Там сложнее сделать современный нтерфейс, с этим никто не спорит, но в принципе все рабочее и можно любой мыслимый контрол в сети найти. FMX пока вообще несерьезно. WPF же предлагает крутотенечку, только набирать ее, похоже, придется все равно ручками, а возможности по проверке правильности форматирования в дизайне ограничены. Сам дизайнер все не вылечат. Т. е. технология тоже не самая зрелая. Приложений написанных на WPF, я, скорее всего, вообще не видел.

А про архитектуру, ну при работе с базами отделение данных от модели само собой происходит. Уж чего-чего, но этого у Delphi не отнимешь, взглянуть на то, как работа с БД в WPF было бы интересно.

Цитата

Например, можно все описывать длинными и глубоко вложенными друг в друга выражениями.


C++ way.

Цитата

Но когда платформа хорошо приспособлена для создания хорошей архитектуры, то таковая создается на ней меньшими усилиями.


Паскаль в этом плане всегда превосходил и Си и плюсы, что не мешало наезжать на Delphi.

Ну пока я не увидел лучшей приспособленности. По крайней мере, библиотеки с огромными мануалами производят скорее обратное впечатление, что с этим делом беда и нужОн костыль


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
Zloxa
Дата 23.4.2013, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 4
Всего: 161



Цитата(diadiavova @  23.4.2013,  20:37 Найти цитируемый пост)
Но только чудес ждать не надо, так же, как в примере, от которого тебя вывернуло, компилятор ессно не будет проверять значение литерала на соответствие имени свойства, с таки же успехом и в хамле есть подобные же вещи. 

Жаль, я если честно, надеялся, что он при сборке преобразуется в код, а не сохраняется в ресурс связываясь с кодом в рантайме.



Это сообщение отредактировал(а) Zloxa - 23.4.2013, 21:07


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
diadiavova
Дата 23.4.2013, 21:09 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 4
Всего: 142



Цитата(Zloxa @  23.4.2013,  22:06 Найти цитируемый пост)
Жаль, я если честно, надеялся, что он при сборке преобразуется в код, а не сохраняется в ресурс.


Он преобразуется в специальный бинарный формат BAML. Тот в свою очередь сохраняет струтктуру XAML как есть, но просто делает более удобочитаемой для машины.
Цитата(Beltar @  23.4.2013,  21:32 Найти цитируемый пост)
C++ way.

Я не думаю, что такой подход свойственен какому-то языку, скорее это стиль отдельных программистов. Хотя, если пишется небольшая утилита, то думаю, что все так делают много где.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Beltar
Дата 23.4.2013, 21:21 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 627
Регистрация: 11.1.2006

Репутация: 2
Всего: 7



Цитата

Я не думаю, что такой подход свойственен какому-то языку, скорее это стиль отдельных программистов.


Понимаешь, C++ и Паскаль это не просто языки, это взаимоисключающие концепции о том, каким должен быть язык программирования. Паскаль фактически язык с авторазметкой исходника (те же procedure\function в стене текста хорошо видны) и принудительным соблюдением ряда правил, фанаты плюсов же считают, что язык им не указ и склонны к тому, чтобы иметь побольше фич, и возможностей писать емко, поскольку некоторые фичи порождают проблемы, то появляются фичи для решения этих проблем, и языку всегда есть куда расти.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
SKrivosein
Дата 23.4.2013, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Идущий в даль
**


Профиль
Группа: Участник
Сообщений: 271
Регистрация: 9.6.2007
Где: Praha - Прага

Репутация: нет
Всего: 8



Цитата(Beltar @ 23.4.2013,  20:32)
WPF же предлагает крутотенечку, только набирать ее, похоже, придется все равно ручками, а возможности по проверке правильности форматирования в дизайне ограничены.

Beltar да для простого интерфейса, без всяких там особеностей, руками набирать нечего не прийдётся. Слухи о глючности дизайнера сильно преувеличены.
Что значит "правильности форматирования" в твоём понимании? 
Здесь похоже даже между дотнетчиками похоже нет общего мнения:
Цитата

Это может камень в свой огород, но ради справедливости скажу, что мастерами, вроде экспрешен бленда никто в серьёзных проектах XAML не генерит, ибо убожество, пишется руками.
А я например бленд использую паралельно студио, тем более что они позволяют работать одновремено. И ничего плохого в этом не нахожу.
Нaпример если у кого стоит Silverlight 5, могу показать XAML заготовку, зделаную так. Там практически нет кода С#, и неодного растрового image. Ну и в белах полях страниц будет много табличек а графиков... Это на чешском, что в данном случае неважно.
Не критиковать сильно  smile , это будет десктоп силверлайт, который будет использовать WCF с удалённым сервером. Пока это только бета-бета интерфейс.  smile 


--------------------
Оптимист - это плохо информированный человек.
user posted image

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1250 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.