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

Поиск:

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


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


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

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



Цитата(Zloxa @  20.4.2013,  14:09 Найти цитируемый пост)
У нас есть обычный винконтроловский листбокс

Нет. В впф нет винконтролов. Библиотека user32 используется в впф исключительно для интеграции с системой. То есть позиционировние окон на рабочем столе, сосуществование с другими окнами на нем же и прочая фигня, - это все, для чего используется эта либа. Все, что происходит внутри окна никакого отношения к винконтролам не имеет.
Цитата(Zloxa @  20.4.2013,  14:09 Найти цитируемый пост)
но при этом этот винконтроловский листбокс умеет рисовать только то, что ему передано списком, который тот бережно хранит, дабы иметь возможность перериовыватсья. 

Та ничего он не хранит. У всех контейнеров есть свойство DataContext, все данные там, а вложенные контролы просто могут привязываться к ним.
Цитата(Zloxa @  20.4.2013,  14:09 Найти цитируемый пост)
список с этим функционалом будет являть суть Model of View

Чиво? smile 
Цитата(Zloxa @  20.4.2013,  14:09 Найти цитируемый пост)
То что в жаве есть множество интересных негуевых плюх - я в курсе. В этом плане жава, думаю, дойнет уделает.

Мне сложно говорить о том, кто кого уделает, ибо не в курсе. Ява и нет - платформы с родственной идеологией, развиваются, так скажем, с оглядкой друг на друга. Тем не менее мое поверхностное знакомство с явой как-то не очень впечатлило. Понятно, что сравниваю с нетом, который просто знаю лучше, но тем не менее, думаю, что и у тебя недостаточно инфы, чтобы делать такие выводы.
Цитата(k0rvin @  20.4.2013,  14:32 Найти цитируемый пост)
Я, наверное уже в третий раз, повторяю: JavaFX.

Когда я знакомился с явой, немного читал об этой штуке, но насколько я понял, эта платформа не для гуестроитльства, а для всяких там графических штучек-дрючек. А если это не так, то почему джависты продолжают сидеть на своем свинге, где приложения написанные с использованием этого зверя?
Цитата(SKrivosein @  20.4.2013,  14:34 Найти цитируемый пост)
diadiavova а какую, если не секрет? Я на эту тему читал Мак-Дональда

Ее же. Тогда на русском языке было доступно две книжки: Мак-Дональда и Петцольда, - Мак-Дональд первым попался smile 
Цитата(Zloxa @  20.4.2013,  17:58 Найти цитируемый пост)
В делфе для того, чтобы связать контрол с датасетом тоже как бы нет нужды в работе разработчика.
В VB6, емнип - тоже
В FoxPro - тоже

Я тебе больше того скажу, в винфрмах тоже есть привязки. И там не просто можно привязать данные к контролам, а можно без кода, прямо в дизайнере реализовать функционал master/details или, к примеру, фильтрацию списка, путем выбора в другом списке чего-то(когда они связаны), я уже говорил тебе, что в датасете присутствует коллекция таблиц и связей, так вот свойства контролов можно привязывать и к тому и к другому. И чо? Думаешь этим можно было кого-то удивить?
Цитата(Bother @  20.4.2013,  19:52 Найти цитируемый пост)
т.е C переименовали в VM. И на это переименование каким то непонятным образом повлияло декларативное описание сигналов гуя? 

 smile 
Цитата(Zloxa @  20.4.2013,  20:04 Найти цитируемый пост)
Спасибо, вывернуло

Поясни.
Цитата(Zloxa @  20.4.2013,  20:04 Найти цитируемый пост)
Передавать имя свойства литералом  

Это пример использования довольно старого интерфейса, который неплохо себя зарекомендовал еще в винформах
http://msdn.microsoft.com/query/dev11.quer...%29&rd=true
Здесь все дело в том, что событие обрабатывается платформой, а не "ручным" кодом. Хотя интересно было бы посмотреть, как подобный функционал реализовал бы ты без литералов. Я думаю, бесполезного кода было бы больше.
Цитата(Zloxa @  20.4.2013,  20:04 Найти цитируемый пост)
Я прально понимаю, что этот "простой и незатейливый" код набран руками?

Дизайнер + редакор XAML, с мощной поддержкой, некоторые вещи намного проще набрать в редакторе кода, чем таскать с панели контролов, потом редактировать свойства, другие - проще в дизайнере сделать, койчо в дизайнере в принципе не сделаешь, поскольку не все имеет визуальное представление, но дизайнер и хамл-редактор работают согласованно, в том числе в режиме сплита, так что можно по своему усмотрению выбирать, что тебе удобнее для решения конкретной задачи.
Цитата(Zloxa @  20.4.2013,  20:04 Найти цитируемый пост)
Я всегда полагал что бизнеслогика должна реализовываться моделью. Здесь ее фигачит вьюмодель.

А контроллер тогда что делает в мвц к примеру? Весь смысл этого действа как раз в разделении. 

Цитата(Beltar @  20.4.2013,  20:28 Найти цитируемый пост)
Скажем так, что если принять эффективность последней 2012-ой VS с шарпом за 100%

Вот это и дальнейшие рассуждения в том же плане меня почему-то наталкивают на мысль, что ты начитался злохиной подписи и решил на мне опробовать.
Цитата(Zloxa @  20.4.2013,  20:04 Найти цитируемый пост)
Достоверно известно, что 89% людей доверяют статистике взятой с потолка 

Откуда эта статистика? Несколько страниц назад ты написал, что запустил впф, малость поковырялся, решил что г-но и бросил. Теперь выдаешь "точные" цифры.
Цитата(Beltar @  20.4.2013,  20:28 Найти цитируемый пост)
с трудом представляю, где мне поможет юнит-тестирование.

Ну работает что-то или нет и правильно ли оно работает, можно определить либо вручную, либо автоматически и модульное тестирование предлагает второй вариант. Хотя написание тестов тоже требует немало сил. Как правило полезно при командной разработке(когда код, написанный кем-то одним может редактироваться другим) или если требуется поддерживать программу, то всегда можно контролировать корректными ли были внесенные изменения.
Цитата(Beltar @  20.4.2013,  20:28 Найти цитируемый пост)
С практической точки зрения разработка отдельного контрола для такой задачи может оказаться немногим сложнее ковыряния шаблона.

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

Цитата(Beltar @  20.4.2013,  20:28 Найти цитируемый пост)
Надо полагать, переписали "очень хороший код" 

В том, что они написали "очень хороший код" тоже .Net виноват? smile 
Цитата(Beltar @  20.4.2013,  21:00 Найти цитируемый пост)
ЧТО ЭТО?
Изменение отображаемого числа книжек в контроле и дизеблинг кнопки? 

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


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


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


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

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



Похоже что вас пугает XAML. На самом деле можно просто накидать контролы и компоненты, ничего на меняя и не написав ни строки XAML. Оставив всё как есть стандартно. Нащелкать событий и т.р. и будет счастье. 
Но зато если нужно чтото сделать по другим требованиям, то здесь WPF (и братик Silverlight) предоставляет массу возможностей, ну очень много... Я лично стараюсь, что касается гуя и не только, всё делать с ними, если это возможно.



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

PM MAIL   Вверх
Zloxa
Дата 21.4.2013, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


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

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



Цитата(diadiavova @  21.4.2013,  11:37 Найти цитируемый пост)
В впф нет винконтролов.

Я говорил не о ВПФ, я пытался изложить на пальцах сформировавнееся у меня понимание MVVM, в надежде, что более искушенные камрады меня поправят, если я не прав. Это ведь шаблон проектирования, он может быть абстрагирован от технологичесой реализации?

Цитата(diadiavova @  21.4.2013,  11:37 Найти цитируемый пост)
Поясни.

Мои пояснения приведены ниже этой фразы

Цитата(diadiavova @  21.4.2013,  11:37 Найти цитируемый пост)
Здесь все дело в том

Здесь дело в том, что если вместо символа "C" разраб наберет символ "C", то стрельнет это (если стрельнет) только в рантайме. smile

Цитата(diadiavova @  21.4.2013,  11:37 Найти цитируемый пост)
А контроллер тогда что делает в мвц к примеру? 

Я так понимаю - реализует логику переключения вью и обеспечивает взаимодествие вью с контроллером smile
Я не знаток тонкостей MVC. Просто читал много гневных статей о пхп###ерах, размещающих логику на контроле. Да и впедевике это вроде как отражено

Цитата(diadiavova @  21.4.2013,  11:37 Найти цитируемый пост)
И чо?

Так-то вообще ничо. Повторюсь, я просто пытаюсь понять что такое MVVM, и оценить степень его революционности.

Добавлено через 13 минут и 41 секунду
Цитата(SKrivosein @  21.4.2013,  13:42 Найти цитируемый пост)
Похоже что вас пугает XAML.

Не сказать что пугает... Скорее удивляет, когда человек говорит напишем "простой, незатейливый"  XAML, а потом радуется что все работает без строчки кода. smile

Если XAML это не код а данные, странно что в данных присутствует ссылки на структуры программного кода. Надеюсь что валидность этих ссылок проверяется при сборке, иначе это будет тоска-тоска.


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


Опытный
**


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

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



Цитата

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


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


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


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


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

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



XAML это не данные и не код как таковой. Это формальное декларативное представление того как будет выглядеть и с чем будет взаимодействовать наш любимый гуй. Причем ясно что чем больше програмист о нем знает тем лучше. Но в тоже время аж два графических дизайнера с ним работают так, что хватит немного мозгов и умения двигать мышкой к тому чтобы вообще не лезть в него руками. 
Но если ощ надо то можно и руками с помощью дизайнера или вообще только руками. А то что дизайнер нагенерит кучу XAMLa так это и любая другая технология гуя кде то там нагенерит, вот только добратся руками до неё и чегото изменить бывает (не знаю как у Д) проблемма.  smile 

Это сообщение отредактировал(а) SKrivosein - 21.4.2013, 13:39


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

PM MAIL   Вверх
Beltar
Дата 21.4.2013, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

Хотя написание тестов тоже требует немало сил. Как правило полезно при командной разработке(когда код, написанный кем-то одним может редактироваться другим)


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

Цитата

В том, что они написали "очень хороший код" тоже .Net виноват?


Скажем так, очень многие программы от MS сильно лагают при переключениях окон, т. е. что-то не в порядке с отрисовкой. Когда Багланд ударилась в .NET во всех смыслах и начала клепать новую IDE ЕМНИП называлась она Galileo, то они тоже заюзали .NET для нее, итог те же самые лаги, что и у MS. Сейчас про .NET абракадабра не вспоминает, C#-builder мертв, Delphi for .NET мертва, Delphi Prism фактически сторонний продукт от технологического партнера, но и с IDE никаких проблем, вся дурь испарилась. Вопрос, если сама MS не может или не хочет решать проблему отзывчивости своего ПО на основе .NET годами, то можно ли доверять MS и .NET?

Цитата

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


Меня товарищь давно уже агитирует за C#, вот с ним обсуждали это (немного отцензурено):


 Beltar (22:53:26 20/04/2013)
http://megadarja.blogspot.cz/2010/04/mvvm-wpf.html

Это и есть WPF way to do?

 A (23:31:23 20/04/2013)
Есть нюансы, но в целом да.
Нюансы:
1) Некоторые (в том числе я) предпочитают не MVVM Toolkit, Prism и прочие MVVM-либы, а собственные велосипеды. Есть поверье, что каждый программист WPF должен в своей жизни написать MVVM-либу. smile) В частности, с моей ViewModelBase запись для PropertyChanged в однсу строку и для get, и для set. Ну и последние фишки решарпера поддерживаются.
2) DelegateCommand -- это в целом нормальное решение (хотя есть некоторые неоптимальные места, если проверки на доступность команды тяжеловесные), только я не понимаю, что все так носятся с ленивым созданием. ИМХО, один раз в конструкторе прописал -- и больше не вспоминаешь, меньше кода, потери памяти на команду смешные.

 Beltar (23:32:34 20/04/2013)
Курево же.

 A (23:33:04 20/04/2013)
Обоснуй.

 Beltar (23:34:52 20/04/2013)
Ну начать можно со вступления в статье. Можно понять, что юзать это без бумажки уже весьма проблемно.
Ну и я не увидел там ничего, что не реализовывалось 1 методом диспетчером.

 A (23:46:31 20/04/2013)
Думаю, тебе надо найти нормальную статью, которая объясняет, что такое MVVM (вариация на тему MVC), и нафига он сдался.
Традиционный подход к программированию UI (т.н. "дельфовый" подход; дельфи в быстрой разработке UI -- первопроходец) -- это нарисовать форму, в конструкторе формы загрузить данные, распихать их по контролам, к котролам добавить обработчики событий типа Button1OnClick, в них ровным слоем размазать логику обработки данных и логику обновления состояния контролов. Это офигительно быстро и удобно, однако при определённом пороге сложности оказывается, что вносить изменения в такой код очень проблематично, потому что в одном классе оказалась мешанина из всего, что только можно -- очень высокая связность. Задача паттернов семейства MVC -- это разделить логику: вот здесь данные и их преобразование (model, модель), вот здесь контролы (view, отображение, вьюха), вот здесь логика получения и отправки моделей, вызов их методов (controller, контроллер).

 A (23:46:33 20/04/2013)
В MVVM роль контроллера заменяет толстая обёртка над моделью -- view-model. К ней через байндинги приклеивается вьюха и сама разбирается, что и как отображать, про вьюху никто ничего не знает, она сама по себе. Результат: всё разложено по полочкам, код легко поддерживать.
Если ну очень хочется писать в стиле Button1OnClick, то это не труЪ, конечно, но вполне возможно -- WPF палок в колёса не вставляет, можно писать и традиционным способом.

 Beltar (23:48:10 20/04/2013)
>в них ровным слоем размазать логику обработки данных и логику обновления состояния контролов

Так никто не делает, если свяни не один к одному, пишется метод-диспетчер, который и будет работать с данной и обновлять интерфейс.

 A (23:49:30 20/04/2013)
Насчёт "никто так не делает" я бы поспорил, я на всех фреймворках всех языков встречал такую лапшу. smile)

 A (23:50:49 20/04/2013)
Для аналогичной формы в дельфи этот "метод-диспетчер" примерно какой код будет содержать?

 Beltar (23:53:39 20/04/2013)
Когда ты сам писал в плюсах то, что в православных языках вроде Паскаля или шарпа является ересью, тебе было <Censored>, потому что тебе так было удобно и быстрее. Теперь метод, который в принципе работает в 90% случаев, т. к. связь обычно очень проста и не надо в куче мест что-то проверять и границы применимости которого понятны, стал вдруг лапшой.

procedure Dispetcher;
begin
UpdateData(ValueId:Integer);//например.
UpdateInterface;
end;

 Beltar (23:58:38 20/04/2013)
Если совсем правильно, то надо ф-ию для работы собственно с данными и обертку для обработки ошибок, но таким я действительно, обычно не заморачиваюсь, т. к. число букофф начинает превышать разумное в то же время метод работает в пределах конкретной программы и выгода от полного разнесения работы с данными и UI не столь очевидна.

 Beltar (23:59:57 20/04/2013)
Собственно сама VCL во многом и состоит из оберток вроде ShowMessage над трудными в использовании функциями API с дюжиной параметров.

 A (00:05:49 21/04/2013)
Прошу уяснить несколько вещей:
1. Когда я был школьником, мой код был ###м. И вообще, любой код пятилетней-десятилетней давности обычно вызывает грусть, потому что ты изучаешь много нового, и понимаешь, что можно сделать гораздо лучше.
2. Когда я был школьником, я писал очень простые программы. Когда писал сложные, их поддерживаемость была нулевой (включишь повротник -- отвалится выхлопная труба). Мой код на похапэ несколько раз захлёбывался от сложности из-за недостатков архитектуры.
3. Как я писал код, на каком языке, в какой среде, с какими библиотеками будучи школьником -- никакого отношения к делу не имеет.
4. Простой подход без разделения на слои прекрасно работает, но у него есть чёткие границы применимости (как и у чистого процедурного кода есть границы применимости, например). Пока ты находишься в этих границах -- можно не мудрить, так как это будет овердизайном.
5. WPF не ограничивает тебя в выборе архитектуры. MVVM это популярный подход, но есть как более простые (Button1OnClick), так и более сложные (Prism).

<...Skip...>

 A (00:13:52 21/04/2013)
А вот теперь смотри. Когда ты в WPF делаешь байндинг к данным, то вьюха обновляется сама. Добавил элемент в список в модели -- в контроле списка добавился только он. Обновил свойство модели -- перерисовался ровно один элемент списка, причём только та область, в которой выводится обновлённое свойство. Надо отсортировать данные -- вьюха сама сделает сортирующую обёртку над твоим списком, даже не трогая твою модель. Для всего этого тебе нужно всего лишь прописать байндинги. И больше голова не болит, не нужно обрабатывать десятки разных типов изменений.

 Beltar (00:24:44 21/04/2013)
Понимаешь, проблеме этой 100 лет в обед, сравнить ее можно с неструктурированным программированием времен фортранового периода, тогда тоже никто не знал, как надо правильно кодить, в итоге пришли к функциональной декомпозиции. Методы решения в принципе известны, и программист быстро понимает, когда можно писать под кнопкой, а когда нельзя. Сказать, что решение проблемы тривиальное нельзя, что собственно и демонстрирует пример по ссылке, описание столь простого случая потребовало уйму работы. Нам же выдают данный подход, как некую панацею, хотя настраивать связи ты будешь долго и выигрыш по сравнение с закидывание дескрипторов данных в UI прямо в коде может оказаться вообще минимальным, если будет.
И это меня почему-то удивляет.


Потом он мне кинул линк на Prism, часть I. Одной прокрутки страницы и оценки размера уже было достаточно чтобы понять, что народ будет забивать болт. Потому что, есть предел сложности в использовании.

Добавлено через 7 минут и 32 секунды
Линк я уже позавчера кидал, но оно стоит того, чтобы повторить: http://local.joelonsoftware.com/wiki/Не_да...ры_вас_запугать

Прекрасно, что мы теперь можем использовать XML для формата данных в сети. Вот это да. Но мне это примерно так же интересно, как и то, что мой супермаркет использует грузовики, чтобы привозить товары со склада. Зевок. Это интересно. Скажите мне что-нибудь новое, чего я не мог делать раньше, о, Астронавты, или оставайтесь там, в космосе и не тратьте больше моё время.

Насчет X(A)ML можно вспомнить особо, ну действительно ведь до фени, как там в WPF записываются данные, однако любая статья по WPF полна текстов на XAML, заставляет задуматься, то ли с головой у авторов не в порядке, то ли это действительно важно, в эту мешанину букв нужно лезть в каждодневной работе, и мне решительно непонятно, чем это лучше работы с кодом.


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


Опытный
**


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

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



Цитата(diadiavova @  21.4.2013,  10:37 Найти цитируемый пост)
почему джависты продолжают сидеть на своем свинге

Джависты не сидят на свинге.

Цитата(diadiavova @  21.4.2013,  10:37 Найти цитируемый пост)
где приложения написанные с использованием этого зверя?

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

Цитата(Beltar @  21.4.2013,  14:11 Найти цитируемый пост)
дельфи в быстрой разработке UI -- первопроходец

Interface Builder в NeXTSTEP появился раньше делфей например.


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


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


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

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



Beltar ну что я должен думать о приведённой тобой переписке? Человек тебе пытается обьяснить что с помощью WPF можно писать наподобии как на Delphi, писать по другому и о чудо ещё по другому. А ты ему отвечаешь, нет надо писать ТАК как мы. Так удобно и хорошо.
Тебе сказали что десктоп в .NET можно сделать с WinForms, WPF, Silverlight (с развертыванием с веба или без)
Ты нет, хорошо и удобно делать ТАК как мы.
Сказали что веб можно делать с ASP.NET WebForms, ASP.NET MVC и опять же с Silverlight. Ты нет, это мы толком не умеем, веб ваще гов...., да нам и ненадо. Надо делать ТАК как мы. Это хорошо и удобно.
Тебе сказали что в .NET  появился функциональный язык. Понеслась аргументация что это вообще ерунда. И надо делать ТАК как мы, это просто, хорошо...
А речи о том что XAML страшный и окна в VS какие то не такие, ну просто смешны. И сылки на демогогические выплоды великого гуру, не астронавта и просто хорошего человека тоже.  smile 
Короче чего нового вам не напиши, всюду жо.. Покажите ка вы чего нибуть нового и необычного. Я за вас порадуюсь.  smile 
P.S. я кстати пытался поговорить о вазможности создания мобильных приложений, не разказали что это не надо и вообще игрушки  smile 

Это сообщение отредактировал(а) SKrivosein - 21.4.2013, 17:15


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

PM MAIL   Вверх
Beltar
Дата 21.4.2013, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

А ты ему отвечаешь, нет надо писать ТАК как мы.


В том-то и дело, что опять с ног на голову поставили. Я что ли запрещаю кому-то писать так, как позволяют их инструменты? Со стороны же антидельфистов идут постоянные вопли, что в Delphi пишут только 100500 строк под кнопками. Ну кто-то пишет, опять же WPF никак не запрещает писать точно так же. А нормальный дельфин продумает архитектуру и код под кнопками будет однострочный. Ну есть в WPF инструмент, который данную проблему, типа решает. Серебрянная пуля не меньше! А Delphi УГ и зомби! Хотя как он там решает эту проблему еще вопрос, а в самих дельфях тоже появилось связывание, всех возможностей не скажу, по виденным простым примерам полезность оценить сложно. От того, что можно настроить связь и будет при изменении одного контрола изменяться другой это круто, но весьма туманно в практическом плане. В общем товарищ уговорил меня написать реализацию подобного примера в Delphi через отдельного диспертчера. Отличие, сделано со стандартным ListView, плюс я добавил книгам Id. Тут у меня действительно уже есть практический интерес, как связать столбец ListView с полем данных в каком-то левом классе, это может быть полезно, особенно если столбцы в программе могут быть перемешаны (хотя в реальных случаях с БД, грид и так эту задачу решал уже 18 лет назад).

Сырец в XE3.
https://github.com/BeltarTheLion/DataModel/...ata%20Model.rar

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

Если хотите, сделайте то же самое в WPF, сравним снижение трудоемкости, если таковое есть. Наверное, стоит покопаться и в возможностях XE3, можно ли заюзать Live bindings и сэкономить на этом.

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




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


Опытный
**


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

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



Сырцы в рар-архиве на гитхабе? Нет пути.


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


Опытный
**


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

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



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


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


Опытный
**


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

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



Цитата(Beltar @  21.4.2013,  19:35 Найти цитируемый пост)
Тебе проще было бы скачать десяток файлов проекта?

git clone кто-то отменил? И мне бы было проще просмотреть сорцы прям там, не скачивая их себе.

Добавлено через 58 секунд
Цитата(Beltar @  21.4.2013,  19:35 Найти цитируемый пост)
В общем случай тяжелый... 

Согласен, делфизм — это тяжелый случай.


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


Опытный
**


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

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



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

Добавлено @ 20:26
Есть предложение. Нарисовать относительно полноценное (библиотечной кодировкой и т. п. заморачиваться не будем, вряд ли библиотековедение кто-то знает) небольшое приложение для работы в библиотеке под MS SQL Server. С базой читателей, кто какие книги брал и т. п. Могу сделать на Delphi старинным способом, кто-то займется аналогом на WPF. UI можно согласовать. Проектирование БД могу взять на себя.

Это сообщение отредактировал(а) Beltar - 21.4.2013, 20:29


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


Опытный
**


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

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



Цитата(Beltar @  21.4.2013,  20:15 Найти цитируемый пост)
MS SQL Server

Vendor-lock не нужен. Тем более не работает в OSX.


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


Опытный
**


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

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



Я предлагаю то, что у меня имеется в наличии (MS SQL 2008R2, Access 2003, IB 2007)
Ваше предложение?
Хотя есть у меня чувство, что все сошлются на занятость.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

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

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


 




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


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

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