Re[86]: Чем вам всем не угодил Delphi?
От: Mamut Швеция http://dmitriid.com
Дата: 20.05.08 06:32
Оценка:
M>>>>В пятый раз прошу: обьсни мне, что ты понимаешь под словом "расширяется" и что ты понимаешь под словом "наследуется"

H>>>Я для кого писал:

H>>>

H>>>MyInterface будет содержать декларации методов от IUnknown (но эти декларации будут его декларациями), плюс свои собственные. Мамут, тебе не надоело? Я уже сто раз это написал...


H>>>Обрати внимание на выделенное.


M>>И? Какой смысл?


H>Ты безнадежен


Это не я безнадежен, не надейся. У меня просто кругозор не зашорен гениальным словом "идеология"

Итак:
— MyInterface расширяется декларациями IUnknown (c) hattab
— MyInterface будет содержать декларации методов от IUnknown (но эти декларации будут его декларациями), плюс свои собственные

Это — наследование в чистом виде. Причем — наследование одного абстрактного класса от другого (да, именно абстрактного класса)

Именно поэтому объект, "реализующий" MyInterface, обязан реализовать методы всех интерфейсов-предков MyInterface.

Интерфейсы существуют в Дельфи ровно по одной причине: обеспечить легкую работу с COM'ом. Именно поэтому любой объект, реализующий любой интерфейс, является COM-объектом и обязан реализовать IUnknown. При этом необходимость явной декларации IUnknown является ничем иным, как костылем, непонятно зачем прикрученым.

Второй возможный вариант использования интерфейсов — эмуляция множественнного наследования (как это седлано в Java). Но в Дельфи вся эта множественная наследованность тупо гвоздями прибита к COM'у, поэтому польза от интерфейсов вне COM'а в Дельфи стремится к нулю.

Вопрос на засыпку: почему я в Дельфи не могу объявить интерфейс, не прибитый гвоздями к IUnknown?
... << RSDN@Home 1.2.0 alpha 4 rev. 1084>>


dmitriid.comGitHubLinkedIn
Re[22]: Чем вам всем не угодил Delphi?
От: Pasha1st  
Дата: 21.05.08 13:13
Оценка: +1
Здравствуйте, kuj, Вы писали:

AXP>>Что такого трудного с вводом знака := , не понимаю ажиотажа.

kuj>Ничего трудного. Просто 5 нажатий менее удобно, чем одно нажатие.
Дело привычки. У меня уже руки этот символ как макрос воспринимают
Re[29]: наши менеджеры памяти самые менеджеристые менеджеры
От: hattab  
Дата: 21.05.08 17:41
Оценка:
Здравствуйте, kuj, Вы писали:

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


M>>>И что-то я не припомню стандартного легкого способа заставить VCL понимать и выводить текст на разных языках.


H>>Можно обойтись класс-хелперами и перехватом API.


kuj>"Перехват API" это что еще за зверь?


Ты прикалываешься чтоль? В общем, смотри ответ Мамуту, я там пример приведу.

kuj>Кстати, откуда информация о том, что Paint.NET хранит thumbnails в системном реестре Windows?


Смотришь HKEY_CURRENT_USER\Software\Paint.NET и видишь MRU0Thumb, MRU1Thumb и так далее
Re[28]: Препроцессоры для Delphi
От: hattab  
Дата: 21.05.08 17:47
Оценка: -1
Здравствуйте, squid, Вы писали:

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


H>>Ну да, давно не обновлялось... Очевидно, впрочем, что Борланду это было нужно еще меньше чем прогдигам...


S>в том и проблема.


Странно слышать, что такая мелочь явилась проблемой... Впрочем

H>>Меня убеждать не нужно. Ты сам попробуй понять ситуацию исходя из позиционирования продукта разработчиком.


S>если дельфи не позиционировать сколько-нибудь широко она окончательно помрет.


Спорный тезис. Хотя, следует заметить, что в настоящее время намечаются определенные шаги к расширению и рынков и применений.
Re[88]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 21.05.08 18:04
Оценка:
Здравствуйте, kuj, Вы писали:

kuj>>>2hattab: в .NET есть XML-RPC (и binary-RPC), к твоему сведенью, называется он WCF.


H>>WCF это не оно


kuj>Чегой? WCF на SOAP это именно XML-RPC.


Переведи на русский. А вообще, SOAP это не XML-RPC.

kuj>>>.NET Framework действительно покрывает куда более широкий круг задач в отличии от VCL — в его составе есть даже реализации современных криптографических протоколов (блочный симметричный AES Rijndael, ассиметричный RSA, хеши MD5, SHAx и т.д. и т.д.).


H>>VCL глупо сравнивать с FW, ибо VCL не есть фреймвок.


kuj>Конечно не есть. А другого у Delphi все-равно нет.


Вот и не нужно их сравнивать, говоря всем известные факты типа выделенного... Кто с этим спорил?

H>>С шифрами все прикольнее... Ты в курсе, что криптография в Windows намеренно ослаблена? Какой в таком случае в них смысл...


kuj>Что значит ослаблена? Давай уж конкретнее и по пунктам.


Ты не читал о применении 40 бит вместо 56 в DES (правда, я об этом тоже давненько читал)? Ты не читал о чудном генераторе случайных чисел имеющем прикольную частоту повторения? К сожалению ссылок дать не могу, не коллекционирую... Можешь на "Компьютерре" почитать статьи за авторством Киви Берд'а.

kuj>>>Другое дело, что фактически все внешние сборки во-первых: поставляются с исходниками и зачастую имеют хорошее покрытие unit-тестами (кстати, MS открыла исходные коды самого .NET Framework)


H>>Наличием исходников трудно кого то удивить... У меня в сборнике (очень скромном) Delphi сурсов, 210 бесплатных библиотек и юнитов общим весом в 365 мегабайт исходного кода.

kuj>365MB в исходном кодах 210 библиотек? Что-то очень слабо верится.

Там написано "библиотек и юнитов". Больших библиотек от силы штук 10 (это на глаз), остальное соломка на всякие случаи жизненные.

kuj>>>, во-вторых: имеют за плечами сотни и тысячи успешных проектов, что в целом значительно лучше, чем


H>>Коли уж цифрами бросаешься, давай и ссылки.


kuj>Ссылки на что тебе давать?


Ну, где-то же ты почерпнул цифры эти... Ссылки на саксесс стори...

kuj>>>"создание самопального XML-RPC на Delphi, используя ручной подсчет ссылок для разруливания циклической зависимости, и где конфиги сами собой не пропадают, а если и пропадают, то система продолжает работать как и работала (c)hattab".


H>>Не нужно мне приписывать свою интерпретацию моих слов Если решил цитировать, цитируй до буквы.


kuj>А что не так? Поправь, если я что не верно сказал.


Я уже сказал что не так. Цитировать нужно конкретные фразы, еще бы неплохо и контексте разговора...

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


kuj>>>Ну и наконец об "интерфейсах" в Delphi: интерфейсы в Delphi это костыль, который был добавлен исключительно для взаимодействия с COM и для создания .NET версии Delphi. Отсюда и требование наследоваться от IUnknown: вместо приведения типов еще на этапе компиляции в тех случаях, когда это возможно, всегда вызывается QueryInterface...


H>>Иногда лучше жевать.


kuj>Аргументировать слабо?


Да что тут аргументировать? Ты читать умеешь? Я уже писал, что Delphi умеет делать приведение к интерфейсным типам без вызова QueryInterface. А твои слова показывают только уровень твоих познаний

H>>kuj>Если в нормальных языках интерфейсы играют не менее значимую роль в ООП, чем классы, и являются мощным механизмом для обеспечения принципов инкапсуляции, то в Delphi использование интерфейсов носит скорее вынужденный характер и в основном в случаях, когда надо обеспечить COM-совместимость объекта.


kuj>>>Поэтому и программирование в Delphi имеет вид скорее процедурного с элементами ООП, а не ООП с элементами процедурного (и функционального, кстати, что становится все более и более верно для .NET языков и платформы).


H>>А этот бред даже комментировать не буду...


kuj>Конечно не будешь, так как знаешь что это правда.


Я знаю, что это бред. И комментировать бред... Это бред.
Re[88]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 21.05.08 18:06
Оценка:
Здравствуйте, gandjustas, Вы писали:

kuj>>>Да что говорить, SP1 для 3.5 тянет по перечню нововведений на 4.0: http://weblogs.asp.net/scottgu/archive/2008/05/12/visual-studio-2008-and-net-framework-3-5-service-pack-1-beta.aspx


H>>Да я только рад этому Опухнет в конец и лопнет раньше, чем доберется до моего HDD


H>>Наличием исходников трудно кого то удивить... У меня в сборнике (очень скромном) Delphi сурсов, 210 бесплатных библиотек и юнитов общим весом в 365 мегабайт исходного кода.


G>И этот человек не хочет себе ставить .NET FW.


Мне, в отличии от нетеров, не требуется за собой все это таскать
Re[30]: наши менеджеры памяти самые менеджеристые менеджеры
От: kuj  
Дата: 21.05.08 18:06
Оценка:
Здравствуйте, hattab, Вы писали:

M>>>>И что-то я не припомню стандартного легкого способа заставить VCL понимать и выводить текст на разных языках.


H>>>Можно обойтись класс-хелперами и перехватом API.


kuj>>"Перехват API" это что еще за зверь?


H>Ты прикалываешься чтоль? В общем, смотри ответ Мамуту, я там пример приведу.


Ты собрался перехватывать интерфейс программирования? Надо точнее выражаться — перехват API-вызовов.

kuj>>Кстати, откуда информация о том, что Paint.NET хранит thumbnails в системном реестре Windows?


H>Смотришь HKEY_CURRENT_USER\Software\Paint.NET и видишь MRU0Thumb, MRU1Thumb и так далее


Мда. Ну, как говорится, в семье не без урода.
Re[29]: наши менеджеры памяти самые менеджеристые менеджеры
От: hattab  
Дата: 21.05.08 18:16
Оценка: 1 (1)
Здравствуйте, Mamut, Вы писали:

M>>>Рассказываю. В гос. конторах любой сторонний компонент считается дополнительным послаблением безопасности. Все. Точка. Или всесторонний code review сторонних компонентов ты из своего кармана оплачивать будешь? Ну-ну, вперед.


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


M>Все вопросы — к заказчику.


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

H>>>>Хе-хе-хе. Следуя логике твоих слов, для тебя аналог MS Trident'а написать проще, чем юникод на VCL повесить (а ведь это можно сделать и без написания аналогов VCL контролам, al'a TNT) . Ню-ню.


M>>>Как это следует из моих слов?


H>>Очень просто: ты критикуешь необходимость самостоятельного написания поддержки Юникода в VCL, но при этом тебя не пугает перспектива написания движка аля Трайдент.


M>Кто говорит о необходимости переписывания Трайдента МС-овского? Он является стандартным компонентом системы. В отличие от.


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

M>>>И что-то я не припомню стандартного легкого способа заставить VCL понимать и выводить текст на разных языках.


H>>Можно обойтись класс-хелперами и перехватом API.


M>Какими-какими хелперами? Каким-каким перехватом?


Я уже понял, что ты не в курсе...

M>Вот у меня есть список клиентов:

M>

M>Tuğba Özay
M>Abdülhamîd Kılıçarslan
M>Сергей Иванов
M>Иван Сергеев


M>Хранятся они меня в базе данных. Для каждого имени рядом хранить еще и идентификатор языка, на котром они написаны? И так — для каждого текстового поля? А если мне надо их вывести одни списком? Чтобы рядом и Abdülhamîd и Иван оказались?


Вот тебе пример:


А вот код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, GenCodeHook;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

Type

 TLabelHelper = Class Helper For TLabel

  Function GetWideCaption : WideString;
  Procedure SetWideCaption(Const Value : WideString);

  Property Caption : WideString Read GetWideCaption Write SetWideCaption;

 End;

Var

 OldDrawText : function(hDC: HDC; lpString: PAnsiChar; nCount: Integer; var lpRect: TRect; uFormat: UINT): Integer; stdcall;

procedure TForm1.Button1Click(Sender: TObject);
begin

 Label1.Caption := 'Tuğba Özay'#10 +
                   'Abdülhamîd Kılıçarslan'#10 +
                   'Сергей Иванов'#10 +
                   'Иван Сергеев';

end;

{ TLabelHelper }

Function TLabelHelper.GetWideCaption : WideString;
Begin

 Result := UTF8Decode(Inherited Caption);

End;

Procedure TLabelHelper.SetWideCaption(Const Value : WideString);
Begin

 Inherited Caption := UTF8Encode(Value);

End;

Function NewDrawText(hDC: HDC; lpString: PAnsiChar; nCount: Integer; Var lpRect: TRect; uFormat: UINT): Integer; stdcall;
Var

 Caption : WideString;

Begin

 Caption := UTF8Decode(lpString);
 Result := DrawTextW(hDC, PWideChar(Caption), Length(Caption), lpRect, uFormat);

End;

Initialization

 CreateGenericCodeHook(@DrawText, @NewDrawText, @OldDrawText);

Finalization

 RemoveGenericCodeHook(@OldDrawText);

end.
Re[87]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 21.05.08 18:23
Оценка:
Здравствуйте, Mamut, Вы писали:

M>>>>>В пятый раз прошу: обьсни мне, что ты понимаешь под словом "расширяется" и что ты понимаешь под словом "наследуется"


H>>>>Я для кого писал:

H>>>>

H>>>>MyInterface будет содержать декларации методов от IUnknown (но эти декларации будут его декларациями), плюс свои собственные. Мамут, тебе не надоело? Я уже сто раз это написал...


H>>>>Обрати внимание на выделенное.


M>>>И? Какой смысл?


H>>Ты безнадежен


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


Твой кругозор сводится к абстрактным классам и реализации интерфейсов на их основе

M>Итак:

M>- MyInterface расширяется декларациями IUnknown (c) hattab
M>- MyInterface будет содержать декларации методов от IUnknown (но эти декларации будут его декларациями), плюс свои собственные

M>Это — наследование в чистом виде. Причем — наследование одного абстрактного класса от другого (да, именно абстрактного класса)


M>Именно поэтому объект, "реализующий" MyInterface, обязан реализовать методы всех интерфейсов-предков MyInterface.


M>Интерфейсы существуют в Дельфи ровно по одной причине: обеспечить легкую работу с COM'ом. Именно поэтому любой объект, реализующий любой интерфейс, является COM-объектом и обязан реализовать IUnknown. При этом необходимость явной декларации IUnknown является ничем иным, как костылем, непонятно зачем прикрученым.


Еще раз, для тех кто в танке. Компилятор осуществляет автоматический подсчет ссылок, поэтому и требования такие. Это так сложно для понимания?

M>Второй возможный вариант использования интерфейсов — эмуляция множественнного наследования (как это седлано в Java). Но в Дельфи вся эта множественная наследованность тупо гвоздями прибита к COM'у, поэтому польза от интерфейсов вне COM'а в Дельфи стремится к нулю.


Расскажи об этом писателям VCL А то они, бедняги, юзают интерфейсы без всякого COM'а и даже не подозревают о твоих откровениях... Мамут, кончай дурака валять, я уже и так понял, что ты не можешь или не хочешь въехать в понимание интерфейсов, и в то, как это реализовано в Delphi. Удачи.

M>Вопрос на засыпку: почему я в Дельфи не могу объявить интерфейс, не прибитый гвоздями к IUnknown?


Потому же, почему ты даже неявно наследуешься от TObject. Требование компилятора.
Re[89]: Чем вам всем не угодил Delphi?
От: kuj  
Дата: 21.05.08 18:23
Оценка:
Здравствуйте, hattab, Вы писали:

kuj>>>>2hattab: в .NET есть XML-RPC (и binary-RPC), к твоему сведенью, называется он WCF.


H>>>WCF это не оно


kuj>>Чегой? WCF на SOAP это именно XML-RPC.


H>Переведи на русский.


Я по-русски вроде с тобой общаюсь.

H>А вообще, SOAP это не XML-RPC.


SOAP это XML-RPC. Учи матчасть.

http://ru.wikipedia.org/wiki/SOAP

kuj>>>>.NET Framework действительно покрывает куда более широкий круг задач в отличии от VCL — в его составе есть даже реализации современных криптографических протоколов (блочный симметричный AES Rijndael, ассиметричный RSA, хеши MD5, SHAx и т.д. и т.д.).


H>>>VCL глупо сравнивать с FW, ибо VCL не есть фреймвок.


kuj>>Конечно не есть. А другого у Delphi все-равно нет.


H>Вот и не нужно их сравнивать, говоря всем известные факты типа выделенного... Кто с этим спорил?


А что сравнивать-то?

H>>>С шифрами все прикольнее... Ты в курсе, что криптография в Windows намеренно ослаблена? Какой в таком случае в них смысл...


kuj>>Что значит ослаблена? Давай уж конкретнее и по пунктам.


H>Ты не читал о применении 40 бит вместо 56 в DES (правда, я об этом тоже давненько читал)?


Ну ты вспомнил... Шифр, которому уже лет эдак 40... FYI, стандартным (нет, не ГОСТ, но AES) блочным симметричным шифром уже много лет как является Rijndael.

H>Ты не читал о чудном генераторе случайных чисел имеющем прикольную частоту повторения? К сожалению ссылок дать не могу, не коллекционирую... Можешь на "Компьютерре" почитать статьи за авторством Киви Берд'а.


Взялся за куш не говори, что не дюж — урлы на статьи в студию.

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

kuj>>>>Другое дело, что фактически все внешние сборки во-первых: поставляются с исходниками и зачастую имеют хорошее покрытие unit-тестами (кстати, MS открыла исходные коды самого .NET Framework)


H>>>Наличием исходников трудно кого то удивить... У меня в сборнике (очень скромном) Delphi сурсов, 210 бесплатных библиотек и юнитов общим весом в 365 мегабайт исходного кода.

kuj>>365MB в исходном кодах 210 библиотек? Что-то очень слабо верится.

H>Там написано "библиотек и юнитов". Больших библиотек от силы штук 10 (это на глаз), остальное соломка на всякие случаи жизненные.


Перечень больших библиотек в студию.

kuj>>>>, во-вторых: имеют за плечами сотни и тысячи успешных проектов, что в целом значительно лучше, чем


H>>>Коли уж цифрами бросаешься, давай и ссылки.


kuj>>Ссылки на что тебе давать?


H>Ну, где-то же ты почерпнул цифры эти... Ссылки на саксесс стори...


Откуда я тебе эти ссылки возьму?
У тебя есть сомнения, что тот же nHibernate не имеет за плечами тысячь успешных проектов? Ну так это исключительно от незнания enterprise программирования.

kuj>>>>Ну и наконец об "интерфейсах" в Delphi: интерфейсы в Delphi это костыль, который был добавлен исключительно для взаимодействия с COM и для создания .NET версии Delphi. Отсюда и требование наследоваться от IUnknown: вместо приведения типов еще на этапе компиляции в тех случаях, когда это возможно, всегда вызывается QueryInterface...


H>>>Иногда лучше жевать.


kuj>>Аргументировать слабо?


H>Да что тут аргументировать? Ты читать умеешь? Я уже писал, что Delphi умеет делать приведение к интерфейсным типам без вызова QueryInterface. А твои слова показывают только уровень твоих познаний


Тогда какой сакральный смысл в обязательном наследовании от IUnknown?
Re[30]: наши менеджеры памяти самые менеджеристые менеджеры
От: kuj  
Дата: 21.05.08 18:33
Оценка: +1
Здравствуйте, hattab, Вы писали:

H>Вот тебе пример:

H>

Думаю, теперь ни у кого больше не возникнет вопрос "чем вам не угодил Delphi". В далеком 99м году еще на C++ писал с полной поддержкой юникод и в мыслях не было, что может потребоваться перехватывать API-вызовы для вывода юникод текста.
Re[31]: наши менеджеры памяти самые менеджеристые менеджеры
От: hattab  
Дата: 21.05.08 18:50
Оценка:
Здравствуйте, kuj, Вы писали:

M>>>>>И что-то я не припомню стандартного легкого способа заставить VCL понимать и выводить текст на разных языках.


H>>>>Можно обойтись класс-хелперами и перехватом API.


kuj>>>"Перехват API" это что еще за зверь?


H>>Ты прикалываешься чтоль? В общем, смотри ответ Мамуту, я там пример приведу.


kuj>Ты собрался перехватывать интерфейс программирования? Надо точнее выражаться — перехват API-вызовов.


А ты решил к словам по-цепляться? Я расчивал, что разговариваю, как минимум, с людьми которые в теме...

kuj>>>Кстати, откуда информация о том, что Paint.NET хранит thumbnails в системном реестре Windows?


H>>Смотришь HKEY_CURRENT_USER\Software\Paint.NET и видишь MRU0Thumb, MRU1Thumb и так далее


kuj>Мда. Ну, как говорится, в семье не без урода.


Теперь нетерам придется нового идола для поклонения и предъявления искать
Re[32]: наши менеджеры памяти самые менеджеристые менеджеры
От: kuj  
Дата: 21.05.08 18:55
Оценка:
Здравствуйте, hattab, Вы писали:

kuj>>>>Кстати, откуда информация о том, что Paint.NET хранит thumbnails в системном реестре Windows?


H>>>Смотришь HKEY_CURRENT_USER\Software\Paint.NET и видишь MRU0Thumb, MRU1Thumb и так далее


kuj>>Мда. Ну, как говорится, в семье не без урода.


H>Теперь нетерам придется нового идола для поклонения и предъявления искать


Угу, пора переходить на Делфи и писать перехватчики вызовов для вывода Unicode. Посыпаю голову пеплом
Re[29]: Препроцессоры для Delphi
От: squid  
Дата: 21.05.08 18:58
Оценка: :)
Здравствуйте, hattab, Вы писали:

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


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


H>>>Ну да, давно не обновлялось... Очевидно, впрочем, что Борланду это было нужно еще меньше чем прогдигам...


S>>в том и проблема.


H>Странно слышать, что такая мелочь явилась проблемой... Впрочем


ага. главное Дельфи полна по тьюрингу
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[90]: Чем вам всем не угодил Delphi?
От: hattab  
Дата: 21.05.08 19:05
Оценка:
Здравствуйте, kuj, Вы писали:

kuj>>>>>2hattab: в .NET есть XML-RPC (и binary-RPC), к твоему сведенью, называется он WCF.


H>>>>WCF это не оно


kuj>>>Чегой? WCF на SOAP это именно XML-RPC.


H>>Переведи на русский.


kuj>Я по-русски вроде с тобой общаюсь.


Поясни смысл фразы "WCF на SOAP". Следует понимать, как SOAP под WCF?

H>>А вообще, SOAP это не XML-RPC.


kuj>SOAP это XML-RPC. Учи матчасть.


kuj>http://ru.wikipedia.org/wiki/SOAP


А ты историю учи . Вот тебе цитата:

Протокол XML-RPC был изначально разработан Дэйвом Винером из компании «UserLand Software» в сотрудничестве с Майкрософт в 1995 году. Однако корпорация Майкрософт вскоре сочла этот протокол слишком упрощённым, и начала расширять его функциональность. После нескольких циклов по расширению функциональности, появилась система, ныне известная как SOAP. Позднее Майкрософт начала широко рекламировать и внедрять SOAP, а изначальный XML-RPC был отвергнут. Но, несмотря на отвержение Майкрософт, стандарт XML-RPC очаровал многих программистов своей необычайной простотой и, за счёт этого, существует по сей день и даже постепенно набирает популярность.


XML-RPC c SOAP имеют из общего, только пакеты в формате XML. SOAP это не XML-RPC, а XML-RPC не SOAP.

H>>>>С шифрами все прикольнее... Ты в курсе, что криптография в Windows намеренно ослаблена? Какой в таком случае в них смысл...


kuj>>>Что значит ослаблена? Давай уж конкретнее и по пунктам.


H>>Ты не читал о применении 40 бит вместо 56 в DES (правда, я об этом тоже давненько читал)?


kuj>Ну ты вспомнил... Шифр, которому уже лет эдак 40... FYI, стандартным (нет, не ГОСТ, но AES) блочным симметричным шифром уже много лет как является Rijndael.


Дело не в том, сколько лет прошло. Дело в тенденциях.

H>>Ты не читал о чудном генераторе случайных чисел имеющем прикольную частоту повторения? К сожалению ссылок дать не могу, не коллекционирую... Можешь на "Компьютерре" почитать статьи за авторством Киви Берд'а.


kuj>Взялся за куш не говори, что не дюж — урлы на статьи в студию.


Нашел одну. Но она не единственная.

kuj>Да, кстати, никто не мешает использовать любой другой генератор случайного шума вплоть до железного генератора белого шума.


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

kuj>>>>>Другое дело, что фактически все внешние сборки во-первых: поставляются с исходниками и зачастую имеют хорошее покрытие unit-тестами (кстати, MS открыла исходные коды самого .NET Framework)


H>>>>Наличием исходников трудно кого то удивить... У меня в сборнике (очень скромном) Delphi сурсов, 210 бесплатных библиотек и юнитов общим весом в 365 мегабайт исходного кода.

kuj>>>365MB в исходном кодах 210 библиотек? Что-то очень слабо верится.

H>>Там написано "библиотек и юнитов". Больших библиотек от силы штук 10 (это на глаз), остальное соломка на всякие случаи жизненные.


kuj>Перечень больших библиотек в студию.


ToolBar2000, TBX, HTMLDisplay, UIB, GLScene, TNT, DCPCrypt (19 криптеров и 10 хешей), GR32, GraphicsEx, Synapse. Достаточно?

kuj>>>>>, во-вторых: имеют за плечами сотни и тысячи успешных проектов, что в целом значительно лучше, чем


H>>>>Коли уж цифрами бросаешься, давай и ссылки.


kuj>>>Ссылки на что тебе давать?


H>>Ну, где-то же ты почерпнул цифры эти... Ссылки на саксесс стори...


kuj>Откуда я тебе эти ссылки возьму?


Ну... Взялся за гуж...

kuj>У тебя есть сомнения, что тот же nHibernate не имеет за плечами тысячь успешных проектов? Ну так это исключительно от незнания enterprise программирования.


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

kuj>>>>>Ну и наконец об "интерфейсах" в Delphi: интерфейсы в Delphi это костыль, который был добавлен исключительно для взаимодействия с COM и для создания .NET версии Delphi. Отсюда и требование наследоваться от IUnknown: вместо приведения типов еще на этапе компиляции в тех случаях, когда это возможно, всегда вызывается QueryInterface...


H>>>>Иногда лучше жевать.


kuj>>>Аргументировать слабо?


H>>Да что тут аргументировать? Ты читать умеешь? Я уже писал, что Delphi умеет делать приведение к интерфейсным типам без вызова QueryInterface. А твои слова показывают только уровень твоих познаний


kuj>Тогда какой сакральный смысл в обязательном наследовании от IUnknown?


Ссылки подсчитывать нужно. К тому же QueryInterface позволяет делать очень интересные вещи, типа получения интерфейса от объекта, который об этом интерфейсе ни сном ни духом и никогда его не реализовывал.
Re[31]: наши менеджеры памяти самые менеджеристые менеджеры
От: hattab  
Дата: 21.05.08 19:09
Оценка:
Здравствуйте, kuj, Вы писали:

H>>Вот тебе пример:

H>>

kuj>Думаю, теперь ни у кого больше не возникнет вопрос "чем вам не угодил Delphi". В далеком 99м году еще на C++ писал с полной поддержкой юникод и в мыслях не было, что может потребоваться перехватывать API-вызовы для вывода юникод текста.


На С++ с легкостью визуального построения фейса, как в Delphi? Не смеши меня (Билдер не рассматриваем, ибо тот же VCL). А этот пример только для того, чтоб показать Мамуту, что такое хелперы перехват API. Для реальной работы есть TNT.
Re[91]: Чем вам всем не угодил Delphi?
От: kuj  
Дата: 21.05.08 19:38
Оценка:
Здравствуйте, hattab, Вы писали:

H>>>>>WCF это не оно


kuj>>>>Чегой? WCF на SOAP это именно XML-RPC.


H>>>Переведи на русский.


kuj>>Я по-русски вроде с тобой общаюсь.


H>Поясни смысл фразы "WCF на SOAP". Следует понимать, как SOAP под WCF?


Тяжело в гугле набрать WCF и открыть первую ссылку wiki? http://en.wikipedia.org/wiki/Windows_Communication_Foundation

kuj>>SOAP это XML-RPC. Учи матчасть.


kuj>>http://ru.wikipedia.org/wiki/SOAP


H>А ты историю учи . Вот тебе цитата:


H>XML-RPC c SOAP имеют из общего, только пакеты в формате XML. SOAP это не XML-RPC, а XML-RPC не SOAP.


Ну хорошо, если придерживаться терминологии SOAP это не XML-RPC, хотя технически имеет те же характеристики и покрывает все варианты применения, что и XML-RPC. В составе .NET FW нет реализации XML-RPC банально потому, что есть SOAP — более функциональный и удобный.


К тому же, есть полноценный XML-сериализатор. В отличии от...


H>>>>>С шифрами все прикольнее... Ты в курсе, что криптография в Windows намеренно ослаблена? Какой в таком случае в них смысл...


kuj>>>>Что значит ослаблена? Давай уж конкретнее и по пунктам.


H>>>Ты не читал о применении 40 бит вместо 56 в DES (правда, я об этом тоже давненько читал)?


kuj>>Ну ты вспомнил... Шифр, которому уже лет эдак 40... FYI, стандартным (нет, не ГОСТ, но AES) блочным симметричным шифром уже много лет как является Rijndael.


H>Дело не в том, сколько лет прошло. Дело в тенденциях.

В каких еще тенденциях?

Еще раз повторяю DES уж много лет как не применяется в свете наличия гораздо лучших шифров, как например Rijndael.

H>>>Ты не читал о чудном генераторе случайных чисел имеющем прикольную частоту повторения? К сожалению ссылок дать не могу, не коллекционирую... Можешь на "Компьютерре" почитать статьи за авторством Киви Берд'а.


kuj>>Взялся за куш не говори, что не дюж — урлы на статьи в студию.


H>Нашел одну. Но она не единственная.


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

kuj>>Да, кстати, никто не мешает использовать любой другой генератор случайного шума вплоть до железного генератора белого шума.


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


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

kuj>>Перечень больших библиотек в студию.


H>ToolBar2000, TBX, HTMLDisplay, UIB, GLScene, TNT, DCPCrypt (19 криптеров и 10 хешей), GR32, GraphicsEx, Synapse. Достаточно?


Больше 300 MB исходных кодов в этих относительно бедных функционально библиотеках? Честно-честно? Да уж, про DRY-принцип в Delphi мире явно не слышали.

kuj>>>>>>, во-вторых: имеют за плечами сотни и тысячи успешных проектов, что в целом значительно лучше, чем


H>>>>>Коли уж цифрами бросаешься, давай и ссылки.


kuj>>>>Ссылки на что тебе давать?


H>>>Ну, где-то же ты почерпнул цифры эти... Ссылки на саксесс стори...


kuj>>Откуда я тебе эти ссылки возьму?


H>Ну... Взялся за гуж...


Не брался. Я же не говорил "я прочитал на таком то сайте, что X успешно применили в Y проектах".

kuj>>У тебя есть сомнения, что тот же nHibernate не имеет за плечами тысячь успешных проектов? Ну так это исключительно от незнания enterprise программирования.


H>С чего ты взял, что я сомневаюсь? Я тебя прошу слова свои подтвердить.


http://forum.hibernate.org/ Больше 50000 топиков, больше 200000 сообщений.

http://forum.hibernate.org/viewtopic.php?t=952439


kuj>>Тогда какой сакральный смысл в обязательном наследовании от IUnknown?


H>Ссылки подсчитывать нужно.


Зачем?

H>К тому же QueryInterface позволяет делать очень интересные вещи, типа получения интерфейса от объекта, который об этом интерфейсе ни сном ни духом и никогда его не реализовывал.


В любом случае один из предков реализовал.

Почему можно скастить объект к абстрактному предку без всяких QueryInterface`ов?

Что делать, если нужно написать интерфейс для класса, который не был унаследован от TInterfacedObject?
Re[32]: наши менеджеры памяти самые менеджеристые менеджеры
От: kuj  
Дата: 21.05.08 19:44
Оценка:
Здравствуйте, hattab, Вы писали:

H>>>Вот тебе пример:

H>>>

kuj>>Думаю, теперь ни у кого больше не возникнет вопрос "чем вам не угодил Delphi". В далеком 99м году еще на C++ писал с полной поддержкой юникод и в мыслях не было, что может потребоваться перехватывать API-вызовы для вывода юникод текста.


H>На С++ с легкостью визуального построения фейса, как в Delphi?


У Microsoft Office достаточно сложный интерфейс? А у Visual Studio?..

WPF и Silverlight интерфейсы видел?
Re[32]: наши менеджеры памяти самые менеджеристые менеджеры
От: abibok  
Дата: 21.05.08 21:24
Оценка: +2
Здравствуйте, hattab, Вы писали:

H>На С++ с легкостью визуального построения фейса, как в Delphi?


hattab, а можно взглянуть на скриншоты ваших разработок. Что-то мне кажется, что там нет никакого навороченного UI. Сколько видел программ на Delphi — это обычно нагромождение контролов на формах, сложное в восприятии, но без принципиальных сложностей в поведении.
Re[31]: UTF-8 в Windows
От: OCTAGRAM Россия http://octagram.name/
Дата: 21.05.08 21:51
Оценка:
kuj пишет:
> Думаю, теперь ни у кого больше не возникнет вопрос "чем вам не угодил
> Delphi". В далеком 99м году еще на C++ писал с полной поддержкой юникод
> и в мыслях не было, что может потребоваться перехватывать API-вызовы для
> вывода юникод текста.

Microsoft тоже молодцы, не могли поставить UTF-8 вместо ANSI, как в
юниксе. Вот и получилась шоковая терапия.

--
ISO/IEC 8652:1995/Amd 1:2007
Posted via RSDN NNTP Server 2.1 beta
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.