Про изначальную ущербность идеи .Net Forms
От: McSeem2 США http://www.antigrain.com
Дата: 23.06.04 02:20
Оценка: +1 :)
По-моему это как-то ненормально, все равно что глазную операцию делать через прямую кишку. Вот делаю я контрол на C#. Для его отладки я создаю простую форму и бросаю туда этот контрол. В дизайнере он должен уметь корректно отобразиться. И в этом-то заключается главная засада. Судите сами. Студия вызывает код контрола, который имеет право быть кривым и глючным (на этапе отладки, конечно же). Это значит, что стабильность среды разработки зависит от того, что я там наковырял своими кривыми руками. И заставляет меня наступать себе на яйца. Вот я редактирую код контрола. Далее переключаюсь в дизайнер, дизайнер видит, что код изменился, пытается скомпилировать и запустить новый код. А код кривой, он приводит к краху (ну или бесконечный цикл, или бесконечное отъедание памяти). И все, студия либо навернется, либо ее надо пришибать. При этом что-нибудь да отъедет в проекте. А если проект большой?
Не кажется ли это мягко говоря, слишком самонадеянным? То есть, обещание корректно работать с некорректными объектами? Я имею право иметь кривой код в определенные моменты времени? Получается как у саперов — ты имеешь право на ошибку, но она будет последней в жизни.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re: Про изначальную ущербность идеи .Net Forms
От: Nuald Россия http://nuald.blogspot.com
Дата: 23.06.04 02:33
Оценка:
Здравствуйте, McSeem2, Вы писали:

MS>По-моему это как-то ненормально, все равно что глазную операцию делать через прямую кишку. Вот делаю я контрол на C#. Для его отладки я создаю простую форму и бросаю туда этот контрол. В дизайнере он должен уметь корректно отобразиться. И в этом-то заключается главная засада. Судите сами. Студия вызывает код контрола, который имеет право быть кривым и глючным (на этапе отладки, конечно же).


А вы можете предложить что-нибудь другое (хотя я лично и против .NET)? По своему опыту скажу, что проектировал компоненты в Delphi, Java (JavaBeans) и .NET, и для последнего случая было легче всего проектировать.
А возможно, что вы просто не совсем корректно подходите к вопросу проектировки компонента — по-крайней мере, у меня таких проблем не было (какие-либо зависания или что-то типа того), хотя я и производил отладку и специально работал с глючными недописанными компонентами..
Re[2]: Про изначальную ущербность идеи .Net Forms
От: McSeem2 США http://www.antigrain.com
Дата: 23.06.04 03:13
Оценка: -2 :))) :))
Здравствуйте, Nuald, Вы писали:

N>А вы можете предложить что-нибудь другое (хотя я лично и против .NET)?


Конечно могу. Для отображения контрола в форм-дизайнере требуется лишь мета-информация, типа битмапа или векторного представления его внешнего вида, весьма приблизительного, только лишь чтобы отличить этот контрол на дизайнере от других по его внешнему виду. Никакого программного кода выполнять не надо. Далее, все свойства контрола тоже должны описываться структурами на языке типа XML и их изменение не должно портить исходник контрола. Это уже можно в хумор. Как-то раз было у меня в контроле свойство Clipboard, типа R/W. На чтение оно выдавало текстовое содержимое буфера обмена. На запись — брало текст и записывало его в буфер обмена, выполняя попутно некие действия. Что произошло дальше — в дизайере я случайно кликнул на это свойство. При этом в буфере обмена было около мега всякой фингни (что-то я там большое XML-ное копи-пастил до этого). Так дизайнер в лучшем виде весь этот мег дерьма вставил мне в исходник на C# в InitializeComponent. У студии от такой наглости отъехала крыша и оно все рухнуло

N>А возможно, что вы просто не совсем корректно подходите к вопросу проектировки компонента — по-крайней мере, у меня таких проблем не было (какие-либо зависания или что-то типа того), хотя я и производил отладку и специально работал с глючными недописанными компонентами..


C# я привел только для примера. Под контролом может скрываться и unsafe код на C++, в том числе и чужой, который может конкретно рухнуть. В общем, все эти неимоверные потуги со студией начинают Windows v1.0 напоминать.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re: Про изначальную ущербность идеи .Net Forms
От: iZEN СССР  
Дата: 23.06.04 03:32
Оценка:
Здравствуйте, McSeem2, Вы писали:

MS>По-моему это как-то ненормально, все равно что глазную операцию делать через прямую кишку. Вот делаю я контрол на C#. Для его отладки я создаю простую форму и бросаю туда этот контрол. В дизайнере он должен уметь корректно отобразиться. И в этом-то заключается главная засада. Судите сами. Студия вызывает код контрола, который имеет право быть кривым и глючным (на этапе отладки, конечно же). Это значит, что стабильность среды разработки зависит от того, что я там наковырял своими кривыми руками. И заставляет меня наступать себе на яйца. Вот я редактирую код контрола. Далее переключаюсь в дизайнер, дизайнер видит, что код изменился, пытается скомпилировать и запустить новый код. А код кривой, он приводит к краху (ну или бесконечный цикл, или бесконечное отъедание памяти). И все, студия либо навернется, либо ее надо пришибать. При этом что-нибудь да отъедет в проекте. А если проект большой?

MS>Не кажется ли это мягко говоря, слишком самонадеянным? То есть, обещание корректно работать с некорректными объектами? Я имею право иметь кривой код в определенные моменты времени? Получается как у саперов — ты имеешь право на ошибку, но она будет последней в жизни.

Нифига себе ситуэйшен. Неужели всё так мрачно?
В JBuilder2 (1998г.) с полным two-way-tool не было таких проблем с "кривыми" бинами.
Re[2]: Про изначальную ущербность идеи .Net Forms
От: Denwer Россия  
Дата: 23.06.04 06:03
Оценка: 6 (1) +2 :)
Здравствуйте, iZEN, Вы писали:

ZEN>Здравствуйте, McSeem2, Вы писали:


MS>>По-моему это как-то ненормально, все равно что глазную операцию делать через прямую кишку. Вот делаю я контрол на C#. Для его отладки я создаю простую форму и бросаю туда этот контрол. В дизайнере он должен уметь корректно отобразиться. И в этом-то заключается главная засада. Судите сами. Студия вызывает код контрола, который имеет право быть кривым и глючным (на этапе отладки, конечно же). Это значит, что стабильность среды разработки зависит от того, что я там наковырял своими кривыми руками. И заставляет меня наступать себе на яйца. Вот я редактирую код контрола. Далее переключаюсь в дизайнер, дизайнер видит, что код изменился, пытается скомпилировать и запустить новый код. А код кривой, он приводит к краху (ну или бесконечный цикл, или бесконечное отъедание памяти). И все, студия либо навернется, либо ее надо пришибать. При этом что-нибудь да отъедет в проекте. А если проект большой?

MS>>Не кажется ли это мягко говоря, слишком самонадеянным? То есть, обещание корректно работать с некорректными объектами? Я имею право иметь кривой код в определенные моменты времени? Получается как у саперов — ты имеешь право на ошибку, но она будет последней в жизни.

ZEN>Нифига себе ситуэйшен. Неужели всё так мрачно?

ZEN>В JBuilder2 (1998г.) с полным two-way-tool не было таких проблем с "кривыми" бинами.

Тебе просто пощастливилось не писать компоненты под билдер, после него ты бы на НЕТ молился как на манну небесную.
Re[3]: Про изначальную ущербность идеи .Net Forms
От: AndreyFedotov Россия  
Дата: 23.06.04 06:36
Оценка: +1
Здравствуйте, McSeem2, Вы писали:

MS>Здравствуйте, Nuald, Вы писали:


N>>А вы можете предложить что-нибудь другое (хотя я лично и против .NET)?


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

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

MS>Далее, все свойства контрола тоже должны описываться структурами на языке типа XML и их изменение не должно портить исходник контрола.

Или хотя бы спрашивать о том, можно ли его портить...

MS> Это уже можно в хумор. Как-то раз было у меня в контроле свойство Clipboard, типа R/W. На чтение оно выдавало текстовое содержимое буфера обмена. На запись — брало текст и записывало его в буфер обмена, выполняя попутно некие действия. Что произошло дальше — в дизайере я случайно кликнул на это свойство. При этом в буфере обмена было около мега всякой фингни (что-то я там большое XML-ное копи-пастил до этого). Так дизайнер в лучшем виде весь этот мег дерьма вставил мне в исходник на C# в InitializeComponent. У студии от такой наглости отъехала крыша и оно все рухнуло


Что там было про сапёра...

MS>C# я привел только для примера. Под контролом может скрываться и unsafe код на C++, в том числе и чужой, который может конкретно рухнуть. В общем, все эти неимоверные потуги со студией начинают Windows v1.0 напоминать.


Орлята учатся летать... В 552 раз...
Re[3]: Про изначальную ущербность идеи .Net Forms
От: Nuald Россия http://nuald.blogspot.com
Дата: 23.06.04 06:48
Оценка: +1
Здравствуйте, McSeem2, Вы писали:

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


А что в этом хорошего??? Как его отлаживать?? Единственное, что если использовать для отладки какой-нибудь контейнер (типа который был для отладки ActiveX), тогда еще можно разговаривать. ИМХО, просто тупой битмап мне на экране не нужен, я хочу компонент туда-сюда таскать, менять размеры, поведение, и т.д., иначе и смысла в компоненте нету...
Re: Про изначальную ущербность идеи .Net Forms
От: orangy Россия
Дата: 23.06.04 07:00
Оценка: 2 (2) +5
Здравствуйте, McSeem2, Вы писали:

MS>По-моему это как-то ненормально, все равно что глазную операцию делать через прямую кишку. <...>

Возможно, я тебя не правильно понял, но как понял — так и отвечу

Ты совершенно правильно сказал, только в данном случае виноват не пациент, а хирург. Неумение пользоваться инструментами не говорит о качестве инструментов. Система дизайна в студии хотя и не идеальна, но весьма хороша. Для отладки компонент нужно использовать вторую студию, запуская её из-под первой. Тогда у тебя всё будет хорошо. Еще хорошо бы читать документацию, и свойства не предназначенные для дизайн-тайма (вроде твоего Clipboard) помечать соответствующими атрибутами.
... << RSDN@Home 1.1.4 beta 2 >>
"Develop with pleasure!"
Re[2]: Про изначальную ущербность идеи .Net Forms
От: McSeem2 США http://www.antigrain.com
Дата: 23.06.04 15:41
Оценка:
Здравствуйте, orangy, Вы писали:

O>Ты совершенно правильно сказал, только в данном случае виноват не пациент, а хирург. Неумение пользоваться инструментами не говорит о качестве инструментов. Система дизайна в студии хотя и не идеальна, но весьма хороша. Для отладки компонент нужно использовать вторую студию, запуская её из-под первой. Тогда у тебя всё будет хорошо. Еще хорошо бы читать документацию, и свойства не предназначенные для дизайн-тайма (вроде твоего Clipboard) помечать соответствующими атрибутами.


Не понял, зачем запускать вторую студию? В первой — чисто код контрола, без какого-либо дизайнера, во второй — тестовая форма с контролом? Не жирновато-ли, только лишь для того, чтобы контрол в дизайнере работал типа как настоящий? У меня студия иногда проект загружает по 30 секунд. Повеситься можно.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[4]: Про изначальную ущербность идеи .Net Forms
От: McSeem2 США http://www.antigrain.com
Дата: 23.06.04 15:48
Оценка:
Здравствуйте, Nuald, Вы писали:

N>А что в этом хорошего??? Как его отлаживать??


Отлаживать очень просто — точно так же, как и консольное приложение. Билдим тестовую форму с этим контролом и запускаем отладку. В отдельном процессе, который можно пришибить если что. Речь идет о том, что до отладки дело не доходит. Я поменял что-то в коде, переключился в дизайнер (не компилируя) и все рухнуло. Это нормально?

N>Единственное, что если использовать для отладки какой-нибудь контейнер (типа который был для отладки ActiveX), тогда еще можно разговаривать. ИМХО, просто тупой битмап мне на экране не нужен, я хочу компонент туда-сюда таскать, менять размеры, поведение, и т.д., иначе и смысла в компоненте нету...


Туда-сюда таскать и менять размеры можно и без выполнения какого-либо кода. А поведение определяется набором параметров, описанных в контейнере XML-типа.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[3]: Про изначальную ущербность идеи .Net Forms
От: orangy Россия
Дата: 23.06.04 17:01
Оценка: 1 (1) +1
Здравствуйте, McSeem2, Вы писали:

O>>Ты совершенно правильно сказал, только в данном случае виноват не пациент, а хирург. Неумение пользоваться инструментами не говорит о качестве инструментов. Система дизайна в студии хотя и не идеальна, но весьма хороша. Для отладки компонент нужно использовать вторую студию, запуская её из-под первой. Тогда у тебя всё будет хорошо. Еще хорошо бы читать документацию, и свойства не предназначенные для дизайн-тайма (вроде твоего Clipboard) помечать соответствующими атрибутами.


MS>Не понял, зачем запускать вторую студию? В первой — чисто код контрола, без какого-либо дизайнера, во второй — тестовая форма с контролом?

Именно так.

MS>Не жирновато-ли, только лишь для того, чтобы контрол в дизайнере работал типа как настоящий?

Если ты хочешь сделать хороший продукт, то надо трудиться

MS>У меня студия иногда проект загружает по 30 секунд. Повеситься можно.

Тестовый проект из одной формы + проект с контролом??? Купи памяти, что-ли...
... << RSDN@Home 1.1.4 beta 2 >>
"Develop with pleasure!"
Re[3]: Про изначальную ущербность идеи .Net Forms
От: Andre Украина  
Дата: 23.06.04 19:00
Оценка: +2
MS>У меня студия иногда проект загружает по 30 секунд.

Зачем в большой рабочем проекте отлаживать контрол? Создай отдельный проект, отладь контрол и потом включи в рабочий проект или свою библиотеку контролов
... << RSDN@Home 1.1.4 beta 2 >> :: Lirica
Я бы изменил мир — но Бог не даёт исходников...
Re[4]: Про изначальную ущербность идеи .Net Forms
От: Lombrozo  
Дата: 23.06.04 20:28
Оценка:
Здравствуйте, Andre, Вы писали:


MS>>У меня студия иногда проект загружает по 30 секунд.


A>Зачем в большой рабочем проекте отлаживать контрол? Создай отдельный проект, отладь контрол и потом включи в рабочий проект или свою библиотеку контролов


А и в самом деле. В любом букваре по Delphi примерно так и написано. Или компонент в отдельном модуле накидать, затем надо его всего-навсего динамически в Run-time создать и дебажить до посинения. Или же вторую студию открыть. Даже второй пентиум вполне спокойно две студии держит.
Re[4]: Про изначальную ущербность идеи .Net Forms
От: McSeem2 США http://www.antigrain.com
Дата: 23.06.04 22:07
Оценка: -1
MS>>Не жирновато-ли, только лишь для того, чтобы контрол в дизайнере работал типа как настоящий?
O>Если ты хочешь сделать хороший продукт, то надо трудиться

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

MS>>У меня студия иногда проект загружает по 30 секунд. Повеситься можно.

O>Тестовый проект из одной формы + проект с контролом??? Купи памяти, что-ли...

Дело не в пямяти. Памяти полгига, должно хватать. Оно совершенно непредсказуемо время от времени зависает при открытии любого проекта на 30-40 секунд. Диском не жужжит, проц грузит на 100%. Фаза луны, наверное влияет.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Re[5]: Про изначальную ущербность идеи .Net Forms
От: Nuald Россия http://nuald.blogspot.com
Дата: 24.06.04 02:47
Оценка:
Здравствуйте, McSeem2, Вы писали:

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


Не думаю. Если я пишу сложный Grid-компонент, который сам себя перерисовывает, масштабирует и при этом берет данные из БД, скорость и качество прорисовки при изменении размеров является одним из важнейший факторов по части usability.
Re[5]: Про изначальную ущербность идеи .Net Forms
От: orangy Россия
Дата: 24.06.04 03:13
Оценка: 10 (3) -1
Здравствуйте, McSeem2, Вы писали:

MS>>>Не жирновато-ли, только лишь для того, чтобы контрол в дизайнере работал типа как настоящий?

O>>Если ты хочешь сделать хороший продукт, то надо трудиться

MS>Кто бы спорил. Но у меня такое впечатление, что трудиться-то приходится ради мизерного результата. Ну вот политика у них такая — деньги доить ни за что ни про что. А на одной жажде наживы ничего хорошего не сделаешь.


Маркетинговая составяляющая у Microsoft действительно большая. Но это не даёт права разработчикам наглеть и лениться Раньше, помнится, писали себе на OWL или TurboVision безо всяких дизайнеров и ничего, живы были. Теперь дали в руки инструмент неплохой — так нет же, всё мало, теперь нужна кнопка "Создать контрол, чтоб работал".

Вообще, RAD разлагает программистов. Я бы выдавал специальные лицензии на пользование RAD-ом, после того, как человек на голом С++ или C#, без визуальных средств напишет что-нибудь вроде системы автоматизации небольшого предприятия... А иначе получается, что все кому не лень, не изучив алгоритмов и прочих основ ломятся драг-энд-шлёпом писать крутые программы (ничего личного, это я вообще, на жизнь жалуюсь).

MS>>>У меня студия иногда проект загружает по 30 секунд. Повеситься можно.

O>>Тестовый проект из одной формы + проект с контролом??? Купи памяти, что-ли...

MS>Дело не в пямяти. Памяти полгига, должно хватать. Оно совершенно непредсказуемо время от времени зависает при открытии любого проекта на 30-40 секунд. Диском не жужжит, проц грузит на 100%. Фаза луны, наверное влияет.

Так разберись, что именно у тебя тормозит. Может это контроль версий, или дефрагментацию надо сделать, или плагин какой кривой подцеплен. Просто студия, без проекта, поднимается быстро?
... << RSDN@Home 1.1.4 beta 2 >>
"Develop with pleasure!"
Re[5]: Про изначальную ущербность идеи .Net Forms
От: XopoSHiy Россия http://cleancodegame.github.io/
Дата: 24.06.04 03:28
Оценка: +1
Здравствуйте, McSeem2, Вы писали:

MS>Дело не в пямяти. Памяти полгига, должно хватать. Оно совершенно непредсказуемо время от времени зависает при открытии любого проекта на 30-40 секунд. Диском не жужжит, проц грузит на 100%. Фаза луны, наверное влияет.


А в сторону отключения антивируса (если оный имеется) не смотрел? ;)
---
http://twitter.com/xoposhiy
http://xoposhiy.moikrug.ru
Re[5]: Про изначальную ущербность идеи .Net Forms
От: XopoSHiy Россия http://cleancodegame.github.io/
Дата: 24.06.04 03:42
Оценка:
Здравствуйте, Lombrozo, Вы писали:


A>>Зачем в большой рабочем проекте отлаживать контрол? Создай отдельный проект, отладь контрол и потом включи в рабочий проект или свою библиотеку контролов :)


L>А и в самом деле. В любом букваре по Delphi примерно так и написано. Или компонент в отдельном модуле накидать, затем надо его всего-навсего динамически в Run-time создать и дебажить до посинения.


Угумпс! Но тут есть парочка НО:

— Если тестируется компонент, который имеет смысл только в большой связке с другими компонентами, достаточно муторно их все в run-time создавать и манипулировать... Намного легче и нагляднее на формочку покидать, поперемещать, по свойствам пощелкать... а нельзя — ибо IDE упадёт, если что-то пойдет не так! :)
— Кроме того, тут могут быть (по крайней мере в Delphi) тонкие ситуации с различием поведения объектов в run-time и design-time. i.e. иногда хочется чтобы в design-time компонент себя вёл маленько по-другому. Соответственно это "маленько" придется отлаживать все же в дизайнере под угрозой падения IDE.

PS. А что, когда вторую студию запускаешь, она совсем совсем не падает? ;)
---
http://twitter.com/xoposhiy
http://xoposhiy.moikrug.ru
Re[6]: Про изначальную ущербность идеи .Net Forms
От: orangy Россия
Дата: 24.06.04 04:01
Оценка: +1
Здравствуйте, XopoSHiy, Вы писали:

XSH>PS. А что, когда вторую студию запускаешь, она совсем совсем не падает?

Я написал много компонент, но студия у меня никогда от этого не падала...
... << RSDN@Home 1.1.4 beta 2 >>
"Develop with pleasure!"
Re[6]: Про изначальную ущербность идеи .Net Forms
От: McSeem2 США http://www.antigrain.com
Дата: 24.06.04 05:14
Оценка: 1 (1) +3 -1
Здравствуйте, orangy, Вы писали:

O>Маркетинговая составяляющая у Microsoft действительно большая. Но это не даёт права разработчикам наглеть и лениться Раньше, помнится, писали себе на OWL или TurboVision безо всяких дизайнеров и ничего, живы были. Теперь дали в руки инструмент неплохой — так нет же, всё мало, теперь нужна кнопка "Создать контрол, чтоб работал".


Нет, мне как раз надо не этого. Мне надо, чтоб надежно и предсказуемо. Пусть там будет меньше автоматизации, но чтоб среда никак не зависела от кривоватых контролов. Хорошо, вот я сделал контрол "как положено", то есть, отлаживая его через "Ж"
Начинаю использовать в большом проекте, и тут при некоторых условиях он падает и все за собой валит (от ошибок никто не застрахован). А если там контролы пяти разных производителей? Они все должны быть без единого глюка? Все-таки такой подход кажется мне каким-то ненормальным.

Скажешь "не используй дизайнер". Но во-первых, нафига он тогда вообще нужен? Во-вторых, все, что мне надо от дизайнера — это координаты. Все! Хрен с ним, с внешним видом в дизайн-тайме. Но на калькуляторе координаты вычислять как-то не хочется.

O>Вообще, RAD разлагает программистов. Я бы выдавал специальные лицензии на пользование RAD-ом, после того, как человек на голом С++ или C#, без визуальных средств напишет что-нибудь вроде системы автоматизации небольшого предприятия... А иначе получается, что все кому не лень, не изучив алгоритмов и прочих основ ломятся драг-энд-шлёпом писать крутые программы (ничего личного, это я вообще, на жизнь жалуюсь).


В том-то все и дело! Тяп-ляп там действительно работает и вполне приемлемо. Но стоит копнуть чуть глубже, начинаются грабли. Такое впечатление, что они так и хотят заставить тебя оставаться на уровне "драг-энд-шлёп". А это меня раздражает.

MS>>Дело не в пямяти. Памяти полгига, должно хватать. Оно совершенно непредсказуемо время от времени зависает при открытии любого проекта на 30-40 секунд. Диском не жужжит, проц грузит на 100%. Фаза луны, наверное влияет.

O>Так разберись, что именно у тебя тормозит. Может это контроль версий, или дефрагментацию надо сделать, или плагин какой кривой подцеплен. Просто студия, без проекта, поднимается быстро?

Да все уже пробовал — и переинсталировал. Студия стартует нормально. Антивирусов нет, диск дефрагментирую регулярно. Она просто процессором что-то делает не обращаясь к диску вообще.
McSeem
Я жертва цепи несчастных случайностей. Как и все мы.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.