Re[74]: Чем вам всем не угодил Delphi?
От: Mamut Швеция http://dmitriid.com
Дата: 14.05.08 08:10
Оценка:
H>MyInterface расширяется декларацией IUnknown. MyInterface можно приводить к IUnknown. Это понятно?

H>Жаль, что ты так и не понял... Реализуешь ты тут только MyInterface полученый путем расширения декларации от IUnknown.


Так кто кого расширяет?

Давай еще раз, ок?

MyInterface : Interface(IUnknown)
    someMethod()
end

MyClass : Class(MyInterface)


Какие классы обязан реализовать класс MyClass?
... << RSDN@Home 1.2.0 alpha 4 rev. 1084>>


dmitriid.comGitHubLinkedIn
Re[16]: наши менеджеры памяти самые менеджеристые менеджеры
От: Mamut Швеция http://dmitriid.com
Дата: 14.05.08 08:20
Оценка:
H>>> Есть сторонние компоненты, тот же TNT, с поддержкой юникода. Юникод в VCL будет в Тибуроне (Delphi 2008).

M>>Внимательно смотри отличие:

M>>Java — поддержка Юникода нативно
M>>.NET — поддержка Юникода нативно
M>>Qt — поддержка Юникода нативно
M>>Delphi- а вот есть сторонние компоненты...

H>Главное, решение-то есть.


Что будем делать, когда стоит ограничение на использование сторонних компонентов?

H>Да и язык сей факт ни как не характеризует.


Характеризуют и язык и платформу, как устаревшую и не соответствующую современным требованиям
... << RSDN@Home 1.2.0 alpha 4 rev. 1084>>


dmitriid.comGitHubLinkedIn
Re[75]: Чем вам всем не угодил Delphi?
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.05.08 10:38
Оценка: 1 (1)
Здравствуйте, Mamut, Вы писали:
M>Какие классы обязан реализовать класс MyClass?
Да ладно тебе эту жвачку пережевывать. Ну не сделали в Дельфи отношение реализации интерфейсов транзитивным, ну и что? Такой был у Хейльсберга осознанный выбор.
А вот Страуструп вовсе разрешает делать приватное наследование от абстрактного класса, и что? Ты точно так же можешь сделать
class IMyInterface: private IUnknown
{
}

class myClass: public IMyInterface
{
  ...
}

И обломишься на приведении myСlass к IUnknown, хотя все методы будешь обязан реализовать. Делов-то.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[76]: Чем вам всем не угодил Delphi?
От: Mamut Швеция http://dmitriid.com
Дата: 14.05.08 11:20
Оценка:
M>>Какие классы обязан реализовать класс MyClass?
S>Да ладно тебе эту жвачку пережевывать. Ну не сделали в Дельфи отношение реализации интерфейсов транзитивным, ну и что? Такой был у Хейльсберга осознанный выбор.
S>А вот Страуструп вовсе разрешает делать приватное наследование от абстрактного класса, и что? Ты точно так же можешь сделать

S>И обломишься на приведении myСlass к IUnknown, хотя все методы будешь обязан реализовать. Делов-то.


Но при этом мы же не будем настаивать, что IMyInterface — это не IUnknown и к IUnknown никакого отношения не имеет
... << RSDN@Home 1.2.0 alpha 4 rev. 1084>>


dmitriid.comGitHubLinkedIn
Re[77]: Чем вам всем не угодил Delphi?
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.05.08 11:46
Оценка:
Здравствуйте, Mamut, Вы писали:
M>Но при этом мы же не будем настаивать, что IMyInterface — это не IUnknown и к IUnknown никакого отношения не имеет
Ну почему же. Компилятор будет со страшной силой настаивать, что IMyInterface не имеет никакого отношения к IUnknown. Для того и сделан private, чтобы дети могли скрывать своих родителей. Я не вполне уверен, что есть надежный способ зафорсить приведение не рискуя нарваться на проход по памяти — с множественным наследованием вроде были какие-то хитрости насчет реинтерпрет_каст, но это я просто плюсы очень плохо знаю.

К слову, в остальных местах схема наследования в Delphi вполне последовательна. В частности, понизить уровень видимости унаследованного мембера нельзя, в отличие от плюсов.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[13]: Препроцессоры для Delphi
От: squid  
Дата: 14.05.08 15:38
Оценка:
Здравствуйте, hattab, Вы писали:

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


H>>>>> ...CodeGear сообщает о намерениях вести разработки для гетерогенных платформ (пойдем на Linux, MacOS?)


S>>>>они бы хидеры из Windows SDK хоть перевели на Delphi...


H>>>Это давно не проблема... У джедаев давно есть полный комплект (JWA), есть конверторы C2Pas.


S>>простой пример — DirectShow. Видел 3 варианта, во всех куча багов и нет Вистовских фич вроде EVR в нормальном виде.


H>DSPack смотрел? Не знаю, как там на счет Вистовых плюшек, но хидеры DirectShow там есть.


да. крайне бажный и несовременный. временами постю фиксы на их форуме.

H> В крайнем случае, можно найти подходящий конвертор.


линк?

S>>начнешь плотно работать — видно сколь криво это сделано. а чтото более бажное и громоздкое чем JVCL вообще сложно представить.


H>JWA <> JVCL.


принято
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[11]: присутствие стека
От: WolfHound  
Дата: 14.05.08 17:20
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Стековая ориентированность IL позволяет во-первых проводить дешевую верификацию кода,

Я бы не сказал что наличие goto способствует скорости, простоте и надежности верификации кода.

S>а во-вторых генерировать достаточно эффективный целевой код на современных архитектурах.

Этому стековая модель ВМ тоже не помогает.

В любом случае funarg problem в C# появилась еще во второй версии и исчезать не соберается.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[17]: наши менеджеры памяти самые менеджеристые менеджеры
От: hattab  
Дата: 14.05.08 17:40
Оценка:
Здравствуйте, gandjustas, Вы писали:

M>>>Внимательно смотри отличие:

M>>>Java — поддержка Юникода нативно
M>>>.NET — поддержка Юникода нативно
M>>>Qt — поддержка Юникода нативно
M>>>Delphi- а вот есть сторонние компоненты...

H>>Главное, решение-то есть. Да и язык сей факт ни как не характеризует.

G>Зато платформу очень даже характеризует.

Это VCL, чтоль, платформа? Не смеши меня. Никогда амбиций "платформы" у VCL небыло, ибо слишком она мала для платформы. Изначальный посыл я ведь уже озвучивал: немаленькое ядро + компонентная модель. Сторонние компоненты всегда входили (и входят) в поставку Delphi (Indy, QuickReport/RaveReport, Intraweb).
Re[77]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 14.05.08 17:43
Оценка:
Здравствуйте, gandjustas, Вы писали:

H>>Нет, он не является совместимым с IUnknown т.к. IUnknown не продекларирован в списке реализуемых интерфейсов и реализуешь ты методы не IUnknown, а MyInterface. Я это повторил уже раз десять.


G>Поздравляю, ты стодвадцатьпервый раз показал кривость делфи. Хватит уже, все поняли что использование интерфейсов в делфи — огромные грабли.

G>Слава богу в других языках такого бреда нет.

Ты в очередной раз доказываешь свое непонимание Только и всего.
Re[79]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 14.05.08 17:45
Оценка:
Здравствуйте, gandjustas, Вы писали:

H>>И еще раз напишу, чтоб ты понял: Наследование, инкапсуляция и полиморфизм, вот фундамент ООП. Интерфейсы, да приятная штука снимающая зависимости кода, не более того.

G>Интерфейсы не имеют отношения к наследованию и полиморфизму?

Иметь отношение и являться фундаментальным, есть разница?
Re[73]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 14.05.08 17:49
Оценка:
Здравствуйте, AndrewJD, Вы писали:

AJD>>>>>Думаю, с custom маршалером можно будет передать без проблем.


AJD>>>Он будет COM-совместимым . Ты путаешь бинарную COM совместимость с OLE Automation. Да, стандартный OLE automation маршалер работать не будет, ну и что с того?


H>>А про бинарную совместимость ни кто и не спорил


AJD>

AJD>Да. Только после этого называть такой интерфейс COM-совместимым, это все равно, что назвать танк летающим только потому, что он в транспортном самолете находится. (c)hattab


AJD>А эту фразу как понимать?


Поясняю. Про бинарную совместимость я говорил еще в самом начале разговора. Под COM-совместимостью я не имею ввиду бинарную (ибо об этом уже было сказано), а говорю о совместимости с зоопарком технологических надстроек над моделью COM. Только в таком контексте.
Re[75]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 14.05.08 17:53
Оценка:
Здравствуйте, Mamut, Вы писали:

H>>MyInterface расширяется декларацией IUnknown. MyInterface можно приводить к IUnknown. Это понятно?


H>>Жаль, что ты так и не понял... Реализуешь ты тут только MyInterface полученый путем расширения декларации от IUnknown.


M>Так кто кого расширяет?


Декларация IMyInterface расширяется декларацией IUnknown.

M>Давай еще раз, ок?


M>
M>MyInterface : Interface(IUnknown)
M>    someMethod()
M>end

M>MyClass : Class(MyInterface)
M>


M>Какие классы обязан реализовать класс MyClass?


MyClass должен реализовать интерфейс MyInterface.

з.ы. Это только у меня дежа вю?
Re[17]: наши менеджеры памяти самые менеджеристые менеджеры
От: hattab  
Дата: 14.05.08 18:02
Оценка:
Здравствуйте, Mamut, Вы писали:

H>>>> Есть сторонние компоненты, тот же TNT, с поддержкой юникода. Юникод в VCL будет в Тибуроне (Delphi 2008).


M>>>Внимательно смотри отличие:

M>>>Java — поддержка Юникода нативно
M>>>.NET — поддержка Юникода нативно
M>>>Qt — поддержка Юникода нативно
M>>>Delphi- а вот есть сторонние компоненты...

H>>Главное, решение-то есть.


M>Что будем делать, когда стоит ограничение на использование сторонних компонентов?


Заказчик с такими претензиями пойдет туда, где солнце не светит (ибо это обостренный дибилизм в тяжелой форме) Для кого, спрашивается существует рынок компонентов/библиотек? Единственное требование к сторонним библиотеками -- это наличие исходников.

H>>Да и язык сей факт ни как не характеризует.


M>Характеризуют и язык и платформу, как устаревшую и не соответствующую современным требованиям


Развей (от развивать) мысль насчет языка, а то я что-то не уловил...
Re[14]: Препроцессоры для Delphi
От: hattab  
Дата: 14.05.08 18:09
Оценка:
Здравствуйте, squid, Вы писали:

H>>>>>> ...CodeGear сообщает о намерениях вести разработки для гетерогенных платформ (пойдем на Linux, MacOS?)


S>>>>>они бы хидеры из Windows SDK хоть перевели на Delphi...


H>>>>Это давно не проблема... У джедаев давно есть полный комплект (JWA), есть конверторы C2Pas.


S>>>простой пример — DirectShow. Видел 3 варианта, во всех куча багов и нет Вистовских фич вроде EVR в нормальном виде.


H>>DSPack смотрел? Не знаю, как там на счет Вистовых плюшек, но хидеры DirectShow там есть.


S>да. крайне бажный и несовременный. временами постю фиксы на их форуме.


Ну, со всеми бывает

H>> В крайнем случае, можно найти подходящий конвертор.


S>линк?


Ой, я так давно этим пользовался (помню, что конвертор был от мужика в шляпе, dr.Bob'а)... Ну, вот, что первым попалось. Недавно на delphiplus.org, что-то аналогичное проскакивало в новостях.
Re[18]: наши менеджеры памяти самые менеджеристые менеджеры
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.05.08 18:22
Оценка: +1 -1
Здравствуйте, hattab, Вы писали:

M>>Что будем делать, когда стоит ограничение на использование сторонних компонентов?

H>Заказчик с такими претензиями пойдет туда, где солнце не светит (ибо это обостренный дибилизм в тяжелой форме) Для кого, спрашивается существует рынок компонентов/библиотек? Единственное требование к сторонним библиотеками -- это наличие исходников.

Рынок существет как раз потому что стнадартная библиотека не покрывает необходимости разработки.
А требование использования только стандартных компонент вполне часто встречается.

Короче устарел твой делфи. После выхода версии 2008 года можно будет подумать.
Re[78]: Чем вам всем не угодил Delphi?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.05.08 18:24
Оценка:
Здравствуйте, hattab, Вы писали:

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


H>>>Нет, он не является совместимым с IUnknown т.к. IUnknown не продекларирован в списке реализуемых интерфейсов и реализуешь ты методы не IUnknown, а MyInterface. Я это повторил уже раз десять.


G>>Поздравляю, ты стодвадцатьпервый раз показал кривость делфи. Хватит уже, все поняли что использование интерфейсов в делфи — огромные грабли.

G>>Слава богу в других языках такого бреда нет.

H>Ты в очередной раз доказываешь свое непонимание Только и всего.


Я-то очень хорошо понимаю, а ты — нет. Тебе не с чем сравнивать
Re[39]: Чем вам всем не угодил Delphi?
От: Privalov  
Дата: 14.05.08 18:24
Оценка:
Здравствуйте, iyura, Вы писали:

I>Вот не помню точно, но в фортране >= это Greate Or Equal, т.е. GOE (три знака точно, но могу и ошибаться)


Если быть точным, в Фортране операторы сравнения состояли из 4-х символов. .LT., .EQ., .GE. и т. д. Точки были частью оператора. Набивать на перфокартах было не очень удобно. А потому в Фортране часто использовали арифметический IF.

I>Но речь-то не о фортране (дедушка живее всех живых )


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

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


H>>>И еще раз напишу, чтоб ты понял: Наследование, инкапсуляция и полиморфизм, вот фундамент ООП. Интерфейсы, да приятная штука снимающая зависимости кода, не более того.

G>>Интерфейсы не имеют отношения к наследованию и полиморфизму?

H>Иметь отношение и являться фундаментальным, есть разница?

Это словоблудие. Таким же образом классы "не являются фундаментом ООП".

Классы и интерфейсы являются реализацией принципов ООП.
Re[15]: Препроцессоры для Delphi
От: squid  
Дата: 14.05.08 22:58
Оценка:
Здравствуйте, hattab, Вы писали:

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


H>>>>>>> ...CodeGear сообщает о намерениях вести разработки для гетерогенных платформ (пойдем на Linux, MacOS?)


S>>>>>>они бы хидеры из Windows SDK хоть перевели на Delphi...


H>>>>>Это давно не проблема... У джедаев давно есть полный комплект (JWA), есть конверторы C2Pas.


S>>>>простой пример — DirectShow. Видел 3 варианта, во всех куча багов и нет Вистовских фич вроде EVR в нормальном виде.


H>>>DSPack смотрел? Не знаю, как там на счет Вистовых плюшек, но хидеры DirectShow там есть.


S>>да. крайне бажный и несовременный. временами постю фиксы на их форуме.


H>Ну, со всеми бывает


и в итоге — нужны ОФИЦИАЛЬНЫЕ хидеры. ПОДДЕРЖИВАЕМЫЕ! а иначе — фтопку!

H>>> В крайнем случае, можно найти подходящий конвертор.


S>>линк?


H>Ой, я так давно этим пользовался (помню, что конвертор был от мужика в шляпе, dr.Bob'а)... Ну, вот, что первым попалось. Недавно на delphiplus.org, что-то аналогичное проскакивало в новостях.


спасибо, гляну. но если брать сложные вещи вроде GDI+ он точно сольет. там моск нужен. а Борланду пофек на наши нужны. как обычно впрочем.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[12]: присутствие стека
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.05.08 03:50
Оценка:
Здравствуйте, WolfHound, Вы писали:
WH>Я бы не сказал что наличие goto способствует скорости, простоте и надежности верификации кода.
Он там ограниченный

WH>В любом случае funarg problem в C# появилась еще во второй версии и исчезать не соберается.

Дай ссылку на описание этой проблемы, чтоб я впечатлился на досуге.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.