Здравствуйте, Сергей, Вы писали:
kuj>>И снова софистика. Нет, я не имел в виду конкретно Microsoft Dynamics NAV. Я имел в виду любую корпоративную систему средней сложности.
С>Прекрасно. Какие критерии сложности ты имел ввиду при этом?
Никакие. Это оборот речи. Неужели у всех дельфятников так туго с пониманием?
Здравствуйте, gandjustas, Вы писали:
H>>Вникать тут не во что. Я тебя попросил вполне конкретный пример: по аналогии с запросом ICanFly, сделать запрос объекта (без использования интерфейсов, это же, с твоих слов, криво). Ты мне приведения типов показываешь Это далеко не одно и то же. Ломай стены в своей голове. G>Что в твоем понимании "запрос объекта" и "запрос интерфейса" и чем оно отличается от приведения типа?
Запрос интерфейса: Obj.GetInterface(IIntf) или Obj As IIntf или Intf.QueryInterface(IIntf, IntfVar). Семантика as сводится к QueryInterface (семантика, не реализация). Вот теперь я хочу услышать от тебя, как, по аналогии с запросом интерфейса, ты сделаешь запрос объекта (еще раз: это не приведение типа и не проверка принадлежности объекта к одному из предком запрашиваемого). Это сродни множественному наследованию, не в чистом виде разумеется, но...
G>Сколько лет программированием занимаюсь, а подобного бреда еще не слышал.
Это, кстати, наибанальнейший пример для первокурсников или лицеистов 9-го класса
Здравствуйте, _d_m_, Вы писали:
___>Нет, этот факт характеризует Абрамс — да и никто не застрахован от неудачных решений и выбора. А с Interbase я знаком не понаслышке и мне есть с чем сравнивать. Даже ярые апологеты FB отзаваются об Interbase достаточно не лестно.
H>>Вот еще: H>>
Еще
H>> один малоизвестный факт — использование InterBase для хранения
H>> информации о кредитках в считывающих устройствах, которые используются
H>> на немецких железных дорогах — одной из самых быстрых и развитых
H>> транспортных систем в мире.
___>"никто не застрахован от неудачных решений и выбора". И это вероятно случилось после того, как исходники IB были выложены Богланд, видать сами рихтуют косяки.
Здравствуйте, hattab, Вы писали:
H>>>Вникать тут не во что. Я тебя попросил вполне конкретный пример: по аналогии с запросом ICanFly, сделать запрос объекта (без использования интерфейсов, это же, с твоих слов, криво). Ты мне приведения типов показываешь Это далеко не одно и то же. Ломай стены в своей голове. G>>Что в твоем понимании "запрос объекта" и "запрос интерфейса" и чем оно отличается от приведения типа?
H>Запрос интерфейса: Obj.GetInterface(IIntf) или Obj As IIntf или Intf.QueryInterface(IIntf, IntfVar). Семантика as сводится к QueryInterface (семантика, не реализация). Вот теперь я хочу услышать от тебя, как, по аналогии с запросом интерфейса, ты сделаешь запрос объекта (еще раз: это не приведение типа и не проверка принадлежности объекта к одному из предком запрашиваемого). Это сродни множественному наследованию, не в чистом виде разумеется, но...
Здравствуйте, koandrew, Вы писали:
H>>Delphi программы в релизном варианте не поотлаживаешь. Отключи DebugInfo и отладчик работать перестанет. По поводу IntfClear... Ты сам понимаешь нелепость своего предложения об инлайне? Давай уже цифры.
K>Цифр у меня нет и не будет, ибо нет дельфей. Но в отличие от некоторых у меня есть логика, которая подсказывает мне, что инлайнинг коротких функций даст прирост производительности, особенно если эти короткие ф-ции вызываются часто...
Без цифр стоило базар разводить? Мне твое бла-бла-бла не улыбается.
Здравствуйте, hattab, Вы писали:
H>Здравствуйте, gandjustas, Вы писали:
H>>>Вникать тут не во что. Я тебя попросил вполне конкретный пример: по аналогии с запросом ICanFly, сделать запрос объекта (без использования интерфейсов, это же, с твоих слов, криво). Ты мне приведения типов показываешь Это далеко не одно и то же. Ломай стены в своей голове. G>>Что в твоем понимании "запрос объекта" и "запрос интерфейса" и чем оно отличается от приведения типа?
H>Запрос интерфейса: Obj.GetInterface(IIntf) или Obj As IIntf или Intf.QueryInterface(IIntf, IntfVar). Семантика as сводится к QueryInterface (семантика, не реализация). Вот теперь я хочу услышать от тебя, как, по аналогии с запросом интерфейса, ты сделаешь запрос объекта (еще раз: это не приведение типа и не проверка принадлежности объекта к одному из предком запрашиваемого). Это сродни множественному наследованию, не в чистом виде разумеется, но...
А что мешает написать Obj As CSomeclass ?
Какой скаральный смысл в интерфейсах для тебя?
Здравствуйте, hattab, Вы писали:
H>Семантика as сводится к QueryInterface (семантика, не реализация).
Как раз наоборот. Семантика QueryInterface сводится к опреатору as, как он реализован во мноих языках.
Здравствуйте, gandjustas, Вы писали:
H>>>>Вникать тут не во что. Я тебя попросил вполне конкретный пример: по аналогии с запросом ICanFly, сделать запрос объекта (без использования интерфейсов, это же, с твоих слов, криво). Ты мне приведения типов показываешь Это далеко не одно и то же. Ломай стены в своей голове. G>>>Что в твоем понимании "запрос объекта" и "запрос интерфейса" и чем оно отличается от приведения типа?
H>>Запрос интерфейса: Obj.GetInterface(IIntf) или Obj As IIntf или Intf.QueryInterface(IIntf, IntfVar). Семантика as сводится к QueryInterface (семантика, не реализация). Вот теперь я хочу услышать от тебя, как, по аналогии с запросом интерфейса, ты сделаешь запрос объекта (еще раз: это не приведение типа и не проверка принадлежности объекта к одному из предком запрашиваемого). Это сродни множественному наследованию, не в чистом виде разумеется, но...
G>А что мешает написать Obj As CSomeclass ? G>Какой скаральный смысл в интерфейсах для тебя?
Давай я пример приведу:
...
HttpProxy := client As IHttpProxy;
SocksProxy := client As ISocksProxy;
HttpHeaders := client As IHttpHeaders;
Как по твоему, в случае приведения типа к объекту, client должен являться наследником и THttpProxy и TSocksProxy и THttpHeaders? Теперь понятно о чем речь?
H>...
H>HttpProxy := client As IHttpProxy;
H>SocksProxy := client As ISocksProxy;
H>HttpHeaders := client As IHttpHeaders;
H>
H>Как по твоему, в случае приведения типа к объекту, client должен являться наследником и THttpProxy и TSocksProxy и THttpHeaders? Теперь понятно о чем речь?
Открой для себя агрегирование.
class MyClient
{
public IProxy Proxy { get; set; }
public IList<IHttpHeader> HttpHeaders { get; set; }
...
}
Здравствуйте, kuj, Вы писали:
kuj>Здравствуйте, wraithik, Вы писали:
W>>А что С++ гоняет через стек значения всех полей объекта? Не знал.
kuj>В C++: по указателю, по ссылке и по значению. В последнем случае применяется конструктор копирования.
Ну значит в последенм случае все таки по указателю. Сделай function TMyClass.Copy(): TMyClass и все.
Напомните, чем по ссылке от по указателю отличается.
Здравствуйте, Ведмедь, Вы писали:
H>>Да-да. Я это уже слышал и не раз. За короткий срок невозможно научиться грамотно программировать на чем-бы то нибыло. Я соглашусь, что двоечнику после Delphi-AccessViolation'ов будет легче под .Net/Java. Однако создавать качественного продукта он не сможет. Пердульки бухгалтерские его удел. Максимум.
В>Мне очень нравиться "пердульки бухгалтерские". Откуда такое пренебрежение к основным деженжым вещам? Ведь большиство действительно серьезных программ пишется для бизнеса являются "бухлагтерскими пердульками" И там качество специалиста определяет разницу в сотни тысячи долларов. Мне аж даже интересно стало, что вы считаете достойным делом программиста, если убрать "пердульки бухглатерские".
Улови основную мысль: человек бравирующий тем, что не знает устройства того на чем пишет/чем пользуется не способен написать качественного продукта. Учитывая тот факт, что .Net'а на десктопах что-то не видно, живет он в корпоративном секторе, где и трудятся сии умельцы крапающие свои пердульки.
H>>Ты теряешь не только нить...
В>Я тоже потерял нить, наверное кто то плохо свои мысли формулирует? Я, например их не понимаю, наверное не дозрел еще.
Очень трудно излагать одну и туже мысль нескольким опонентам одновременно. У меня только две руки и одна голова, уж извини.
H>>Поменять парк бухгалтерских машинок из-за одного криворукого идиота? Мы пойдем другим путем.
В>Если требуется расширение функциональности, то за это надо платить, в том числе и сменой парка бухгалтерских машин. Вопрос окупится или нет, если новый функционал позволит выполнять те же оперции меньшим количеством операторов?
Расширять функционал можно и без таких затрат. Мне для отрисовки гуя игровая видюха не нужна.
G>>>Если вам так нарвится делфи, то откройте ветк в которой опишите чем вам так нравится программировать на Delphi. Желательно в КУ.
H>>Мне оно надо? У меня фетиша-то нету, в отличии от...
В>А как же Дельфи, разве в данном контексте не фетишь?
Для меня нет. Я уже тут пояснял свою позицию, можешь поискать
G>>>ЗЫ Можем вспонить web. какие у делфи возможности создания web-приложений? Правильно — никаких!!!! Это удар ниже пояса.
H>>Хотя Delphi и не среда для веб-разработчика, но имеется WebSnap, Intraweb, WebServices. Ты некомпетентен.
В>Ты не компетентен, спрашивается про WEB разработкe, а не слова где встречается WEB.
И этот вопрос я уже озвучивал ранее. Поищи. Мне не улыбается по десять раз повторять одно и то же.
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, wraithik, Вы писали:
W>>А если дальше было написано: f2(x), которая куданить да засунула X. То же деструктор убьет X? WH>f2 не может никуда засунуть x. WH>Она может засунуть только указатель/ссылку или копию x.
Имелось ввиду ссылку (адрес, я дельфист в прошлом, пожтом у для меня указатель и ссылка синонимы) на объект Х.
W>>Вообще то на С++ (как и у Дельфи) утечку памяти можно получить очень легко. Вот с этим как раз и борится шарп, ява и им подобные. WH>При использовании смартпоинтеров на С++ получить утечку памяти сильно труднее чем на дельфе.
+1
Здравствуйте, Ведмедь, Вы писали:
H>>Давай не будем углубляться в эту тему. В вопросе о цене владения перевес будет явно не на стороне .Net (но мне эту тему развивать не сильно интересно)
В>Конечно не на стороне .NET, цена владениа у Delphi окажется выше.
Здравствуйте, hattab, Вы писали:
H>Улови основную мысль: человек бравирующий тем, что не знает устройства того на чем пишет/чем пользуется не способен написать качественного продукта.
Смешно слышать это от тебя.
В>>А как же Дельфи, разве в данном контексте не фетишь?
H>Для меня нет.
Здравствуйте, Ведмедь, Вы писали:
H>>В смысле не обязывают? А эти конфиги упоминаемые тут для настройки ремотинга? Для пользователей любящих кофе давно есть клавы-"непромокайки" , и даже буки такие есть (видимо производитель счел, таки, недостатком )
В>Ээээ ты просто не в курсе, действительно не обязывают. Как хранить и использовать это секцальное дело программиста, может использовать конфиги стандартные, может свой велосипед изобрести, может для каждого компа в коде все прошить.
Вот и чудно что не обязывает. Какой вариант будет использован средним разработчик чаще всего? Посыл ясен?
Здравствуйте, hattab, Вы писали:
H>Здравствуйте, gandjustas, Вы писали: G>>А что мешает написать Obj As CSomeclass ? G>>Какой скаральный смысл в интерфейсах для тебя?
H>Давай я пример приведу:
H>
H>...
H>HttpProxy := client As IHttpProxy;
H>SocksProxy := client As ISocksProxy;
H>HttpHeaders := client As IHttpHeaders;
H>
Что здесь не так?
Вполне корректный код как на делфи, так и на C# с точностью до синтаксиса.
H>Как по твоему, в случае приведения типа к объекту, client должен являться наследником и THttpProxy и TSocksProxy и THttpHeaders? Теперь понятно о чем речь?
Не понятно.
У любого класса базовый класс может быть только один. Это верно и для делфи, и для .NET, и для Java.
Соответственно приведение объекта к классу, не являющемуся базовым для типа объекта, вызвет ошибку или вернет null при использовании оператора as.
Ты уже написал порядка 10 постов про приведение типов, а еще НИКТО не понял что ты хочешь сказать. Может будешь учиться изъясняться понятнее?
Здравствуйте, Ведмедь, Вы писали:
В>Здравствуйте, hattab, Вы писали: H>>>>>>SOAP-сервис Delphi чем-то хуже SOAP-сервиса на .Net/Java? G>>>>>Хуже. В WCF можно параметры сервиса (протоколы и пр.) поменять в конфиге, не трогая код. H>>>>Кто-то недавно эту феню материл из-за шаловливых ручек юзеров. Да и вообще прикол: пропали конфиги -- отвалились протоколы G>>>Когда я аботал на делфях клиент умудрился поудалять ini файлы с настройками. G>>>От пользователя-дурака никто не застрахован.
H>>Конечно никто. Но если у тебя софтина перестала от этого работать...
В>То надо трахать техподдержку. Разработчик тут не причем. Или ты вообще конфигами не пользуешься? Что для под каждый комп свою версию компилируешь?
.Net — разработчик, как я уже понял, всегда ни при чем: за него все решили, за него все написали, ему показали дорогу в светлое будущее
Здравствуйте, kuj, Вы писали:
С>>Прекрасно. Какие критерии сложности ты имел ввиду при этом?
kuj>Никакие. Это оборот речи. Неужели у всех дельфятников так туго с пониманием?
Видимо, с пониманием смысла твоих сообщений туго не только у "дельфятников", поскольку к ним я не отношусь.
Ты бы поменьше использовал подобные обороты речи и побольше бы писал бы о том, что имеешь ввиду — глядишь, и понимать лучше начнут.
Здравствуйте, hattab, Вы писали:
H>Здравствуйте, Ведмедь, Вы писали:
H>Улови основную мысль: человек бравирующий тем, что не знает устройства того на чем пишет/чем пользуется не способен написать качественного продукта. Учитывая тот факт, что .Net'а на десктопах что-то не видно, живет он в корпоративном секторе, где и трудятся сии умельцы крапающие свои пердульки.
Это еще требует доказаельства.
Кстати .NET на десктопах очень даже видно, но .NET позволяет делать не только десктопные прилодения, но и Web. А Web зачастую удобнее в использовании и проще в реализации.
H>Расширять функционал можно и без таких затрат. Мне для отрисовки гуя игровая видюха не нужна.
А кому нужна?
Здравствуйте, Ведмедь, Вы писали:
H>>>>Да тебе бесполезно что-либо цитировать. Я тебя уже тыкал носом в твоиже слова, которые мне объяснить не смог (напоминаю, о минусах сборки мусора на управляемых kuj>>>типах в Delphi). Ссылку на описание фризов нашел, не поленился, от тебя снова тишина. Оно мне надо так напрягаться Проще с тобой завязать и только. Будь здоров.
kuj>>>Ну-ну. Научись читать сначала и в теме разберись хоть немного.
H>>Я с Паскалем 13 лет. Спасибо.
В>А у меня вопрос, а что-нибудь кроме паскаля за плечами есть? Или не читал, но осуждаю?
До паскаля много чего было, после него только Ada в ознакомительном режиме. Под .Net собирался, но не собрался. Я удовлетворил твой интерес к моей скромной персоне?
H>>Я тебе говорил про потерю ресурсов на dbconnection. Ты мне сказал, что FxCop тебе все покажет. Ы?
В>Кстати хочу заметить, что ресурсы не потеряются, а будут освобождены только при следующей сборки мусора, что в условия ограниченного пула ресурсов может быть не приемлимо. Так что все равно со временем и файл и коннекция освободится... а в Паскале когда не освобожденный объект корректно освободится?
Со временем... С каким? Сутки? Двое? В нативе оно конечно не освободится, но у натива и посыл другой: взял -- верни. Глубина проблемы ясна?