Re[6]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 03.05.08 21:04
Оценка:
Здравствуйте, gandjustas, Вы писали:

H>>Я не буду меряться органами Мой бенчь (а я реально рассматривал перспективу перехода под .Net) был очень прост: в цикле (100.000.000) выполнялись несложные расчеты (основные операции +,-,/,*). Время замерялось именно Stopwatch, под Delphi перф-коунтером. Все лишнее выгружалось. Частота устанавливалась на максимум (у меня бука) без возможности тротлинга. Делалось несколько прогонов, как одного бенча так и другого. Потом откидывались лучшие и худшие результаты и бралось среднее значение. По этому бенчу я не оценивал общую производительность .Net. Померял только то, что померял.


G>У тебя в пограмме такие серьезные вычисления, что требуется нереальное быстродействие?


Мне нужно было сравнить -- я сравнил.

G>Тогда можен написать отдельную библиотеку на асме и для всего остального юзать C# ?


А можно остаться на Delphi, что я и сделал.
Re[40]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 03.05.08 21:07
Оценка: :)
Здравствуйте, Эдик, Вы писали:

H>>Мы говорим об интерфейсах, а точне о COM-интерфейсах (где есть AddRef и Release).


Э>Если говорить о COM, то он базируется на подсчете ссылок, это одна из его основ. А у подсчета ссылок есть ограничение — он не может корректно работать с циклическими зависимостями.


Автоматически разумеется не может. Но для этого есть возможность ручного управления.

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


При возможности ручного управления это не ограничения. Я решил задачу переписав метод Release родительского интерфейса.
Re: Чем вам всем не угодил Delphi?
От: Дм.Григорьев  
Дата: 03.05.08 21:08
Оценка: :)))
Здравствуйте, misha_irpen, Вы писали:

_>Сам я от большого программинга уже отошел


"Вот и ответ," — сказал Шекспир.
Походу, тут большинство спорщиков "уже отошли". 500 постов, однако, больше ничем не объяснить.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
http://dimgel.ru/lib.web — thin, stateless, strictly typed Scala web framework.
Re[37]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 03.05.08 21:13
Оценка:
Здравствуйте, Mr.Cat, Вы писали:

H>>Хотя в Delphi интерфейсы могут иметь не только COM-объекты.


MC>Так Вы когда говорили

MC>

MC>Для интерфейсов существует только один способ GC -- подсчет ссылок.

MC>Вы какие интерфейсы имели в виду? Если COM-интерфейсы (технический аспект) — это одно. Если, скажем так, ООП-интерфейсы (теоретический аспект) — то Вы абсолютно не правы. Рекомендую Вам все же почитать про то, как реализуется сборка мусора в java или .NET (ссылки Вам уже дали).

Я читал, спасибо. И раньше еще читал В нативной Delphi тип интерфейсов один -- COM, как вы его называете. Их я и имел ввиду.

MC>В Вашем случае с деревом объектов GC сможет выявить, что дерево целиком недоступно — это раз. Далее он в неопределенном порядке выполнит финализаторы объектов, а потом и освободит память. Соответственно, в финализаторах родители и потомки никак не взаимодействуют.


Вот (неопределенный порядок, невозможность взаимодействия в финализаторах). Значит тут, и таким способом, задачу не решить. Не смертельно, конечно, но не сильно приятно.

MC>Можете сколько угодно критиковать такую схему, но она реально работает ака успешно применяется (и без всякого Вашего подсчета ссылок).


Я еще раз говорю: .Net критиковать не собираюсь. Живите, как умеете Спасибо за развернутый ответ
Re[7]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 00:42
Оценка: :)
Здравствуйте, hattab, Вы писали:

H>Если люди чего-то там не знали/забывали, это характеризует только их, но не инструмент. Если выражаться простым языком: не можешь срать -- не мучай жопу. В управляемых средах, таки, есть место ручной очистке (пусть даже семантически скрываемой) для объектов владеющих ресурсами. Что начнется, когда


В оригинале вобще-то звучит вобще-то "не хочешь срать — не мучай жопу". Разница существенная. В дальнейшем просьба быть точнее, а то минусы буду ставить нещадно!
Re[17]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 00:51
Оценка:
Здравствуйте, hattab, Вы писали:

MC>>>>Речь не о SOAP-сервисах, а о создании веб-морд. Т.е. упрощенно — когда есть HTML-шаблоны и java/.net код, который на их основе хитро генерит динамические страницы. Ну, короче, как в php.


H>>>WebSnap. Ребята, оно было еще в 6 версии. Intraweb еще круче


Ну вот здесь говришь...

kuj>>Хочу полноценный MVC с unit test`ами и расширяемым view-engine по типу Brail (из Castle Monorail)! Где?


H>Я не занимаюсь вебом, ничего сказать не могу.


А здесь ничего не можешь сказать. Как так?
Re[19]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 00:57
Оценка:
Здравствуйте, hattab, Вы писали:

H>>>>>Кто-то недавно эту феню материл из-за шаловливых ручек юзеров. Да и вообще прикол: пропали конфиги -- отвалились протоколы


kuj>>>>Угу, пропал exe-шник — отвалилась голова.


H>>>У тебя конфиги ни разу не слетали? Если у меня слетит конфиг, моя прилага не забудет как по XML-RPC разговаривать


kuj>>Не знаю как оно в Делфи, но в .NET и Java конфиги не имеют такой привычки — куда-то там слетать...


H>И юзеры с админами ну прям небожители. Охотно верю.


Ну так какое отношение .Net имеет к админам? Если уж ты такой любитель народных поговорок (впрочем как и я): с дуру можно и х.. сломать"
Re[17]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 00:58
Оценка:
Здравствуйте, hattab, Вы писали:

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


H>Какое мне дело до Линукса? Ни одного юзера не допрет править руками exe'шник, а конфиг за милу душу. Но если тебе приятно не замечать проблемы, чтож, хозяин -- барин.


Мужики, он против Линукса — налетай
Re[29]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 01:01
Оценка: +1 :))
Здравствуйте, hattab, Вы писали:

H>Я с Паскалем 13 лет. Спасибо.


Пора завязывать.
Re[17]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 01:43
Оценка:
Здравствуйте, hattab, Вы писали:

kuj>>FxCop поможет... И не только с этой проблемой, кстати.


H>Я знаю, что такое FxCop У Борланда давно уже был CodeGuadr для C++ (задачи примерно те же).


Бгга Я наелся дерьма C++ Builder даже не считая CodeGuard-а еще 5 лет назад. Ф топку .

До сих пор помню такой замечательный глюк CodeGuard-a: компилирую проект, в рантайме летит ошибка на ровном месте, я меняю местами объявления шаблонрв класса в исходном файле — все работает нормально. После этого отказался от CodeGuard-а, через некоторое время понял, что глюкавый компилятор тоже меня не устравает. Начинал я вообще с Turbo C++ 1.0.

Про Дельфи не скажу, но от поделий Богланд меня что-то воротит. Может вспомним еще угробище под названием Interbase?
Re[6]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 02:01
Оценка:
Здравствуйте, kuj, Вы писали:

kuj>

kuj>int x = 3;

kuj>x += x++;

kuj>


kuj>Вопрос: чему равен x?


6
Re[10]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 02:04
Оценка: :)))
Здравствуйте, kuj, Вы писали:

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


TEO>>Кто-нибудь может то же самое написать для Delphi?


kuj>К счастью нет.


Тэкс, запишем — еще один недостаток дельфи
Re[4]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 02:30
Оценка: :)
Здравствуйте, OCTAGRAM, Вы писали:

OCT>TheEvilOne пишет:

>> Как так не хакерская? Некоторые особо одаренные люди пишут на дельфях не
>> только драйвера уровня ядра для виндовс ХР, но и вирусы
>> различные
OCT>Встречал один раз вирус на Visual Basic. Он мониторил открытые папки, и
OCT>эвакуировал себя в другую папку, как только там появлялся пользователь.
OCT>Т. е. заходишь ФАРом в WINDOWS/HELP, в листинге он есть, но на самом
OCT>деле он уже WINDOWS/INF, заходишь в WINDOWS/INF, а он уже в
OCT>WINDOWS/ещё–что–нибудь. При этом меняет запись в реестре для своей
OCT>автозагрузки. А если ключ автозагрузки убрать, то добавляет его через
OCT>полминуты.

OCT>Не руткит, но всё равно занятная поделка.


На C# этот вирус работал бы лучше и эффективнее
Re[10]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 02:41
Оценка:
Здравствуйте, Lloyd, Вы писали:

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


L>>>Нет, я топики не ношу. Максимум — майки.


kuj>>А минимум топлес?


L>Не, минимум — это еще и даунлесс.


Может ботомлесс?
Re[10]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 03:07
Оценка:
Здравствуйте, kuj, Вы писали:

G>>4)ref и out параметры.


Обычная передача по указателю, здесь нет никакой прерогативы дельфи. Передача праметров по ссылке была и есть даже в васике не говоря уже про С/С++.
Re[43]: Чем вам всем не угодил Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 04.05.08 03:18
Оценка:
Здравствуйте, hattab, Вы писали:

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

G>>Если у объектов есть финализаторы, то они еще некоторое время проживут. Сначала выполнятся финализаторы для всех, а только на следующем проходе их GC уберет все объекты.

H>Есть гарантия, что финализатор родителя выполнится последним?

Нет, а оно вам надо?
Re[41]: Чем вам всем не угодил Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 04.05.08 03:19
Оценка:
Здравствуйте, hattab, Вы писали:

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


H>>>Мы говорим об интерфейсах, а точне о COM-интерфейсах (где есть AddRef и Release).


G>>Еще раз, запомни простую вещь: в .NET нету разницы между COM и не-COM


H>Ок. У .Net-интерфейсов есть механизм подсчета ссылок? И почему мне Mr.Cat говорил, что не в курсе, как устроен GC для COM-интерфейсов? Есть какое-то различие? Просвети.

Нет различий.
Re[38]: Чем вам всем не угодил Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 04.05.08 03:22
Оценка:
Здравствуйте, hattab, Вы писали:

H>Здравствуйте, Mr.Cat, Вы писали:


MC>>В Вашем случае с деревом объектов GC сможет выявить, что дерево целиком недоступно — это раз. Далее он в неопределенном порядке выполнит финализаторы объектов, а потом и освободит память. Соответственно, в финализаторах родители и потомки никак не взаимодействуют.

H>Вот (неопределенный порядок, невозможность взаимодействия в финализаторах). Значит тут, и таким способом, задачу не решить. Не смертельно, конечно, но не сильно приятно.

Теперь приведи 3 причины почему финализаторы должны ввыполняться в определенном порядке.
Re[12]: Чем вам всем не угодил Delphi?
От: Sinclair Россия https://github.com/evilguest/
Дата: 04.05.08 03:27
Оценка: +2 -1
Здравствуйте, kuj, Вы писали:

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


G>>>>1)Свойства

kuj>>>Java get/set
G>>Это не свойства

kuj>Как это не свойства, а что это?

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

kuj>(далекий 1996 год)

kuj>http://java.sys-con.com/read/49097.htm
На всякий случай напомню, что в дельфи и дотнете делегаты контролируются компилятором и средой исполнения, так что, к примеру, невозможно положить в делегат ссылку на метод с неподходящей сигнатурой. В предлагаемом примере выполняется late binding, который никак не контролируется компилятором. Кроме того, приходится вручную даункастить результат вызова "делегата". Так что, ничего похожего на делегаты в джаве нет.

kuj>>>В C# гораздо больше взято от Java, чем от Object Pascal.

Смею предположить, что сие утверждение просто говорит о том, что ты плохо знаешь Object Pascal, и хорошо — Java.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: Чем вам всем не угодил Delphi?
От: _d_m_  
Дата: 04.05.08 03:38
Оценка:
Здравствуйте, kuj, Вы писали:

kuj>В действительности вышеописанных граблей ни в одной нормальной среде разработки быть не должно.


kuj>Конечно определенные грабли есть везде — где-то меньше, где-то больше. Регулярно пользуюсь VS 2005, VS 2008, пару лет тому назад еще IntelliJ IDEA в арсенале была. Все отлично — на грабли натыкаться не приходиться, работать одно удовольствие.


Да есть тоже немножко. Сейчас пользуем VS 2005 SP1:
— Если попробовать в док. комментариях добавить для достаточно большого файла
/// <summary>
/// asda
/// </summary>
/// <param name="dsda"> asas /</param>
вот например в этом месте попытаться напечатать слэш — студия виснет.

— До SP1 одолевал WinForms дизайнер — открываешь допустим свой контрол, а на нем кнопки съехали. Ну это уже не в счет.

— WinForms дизайнер — шрифты в дизайнере могут оказаться другого размера, чем на реальной форме.

— Есть проблемы с дизайнером ReportViewer-а — преобразование единиц измерения, например мм-см, и прочие мелочи типа неверного преобразования margins страницы — это самое неприятное.

Это все, на что наткнулся лично я. Но все это мелочи. А работать и правда одно удовольствие.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.