Здравствуйте, MouseTail, Вы писали:
MT>Нет, потому что подавляющего большинства программистов существует такой предрассудок, ассоциативная связь — Delphi -> Visual-RAD среда и ничего более. Поэтому представить себе Delphi как инструмент решения подобных задач может только тот, кто свободен от таких предрассудков.
Согласен.
MT>Давайте всё же будем рассматривать языки, имеющие примерно равные возможности... На Прологе вы сможете написать win32-сервис? Или, скажем, user-mode sniffer/firewall? Наверное, нет. А среди равных по возможностям языков выдвинутый мною тезис вполне справедлив.
Спору нет, какие-то задачи из подобных (т.е. написания драйверов, сервисов etc.) я решу на C++ не быстрее, чем на Delphi. А какие-то — быстрее. И красивее. Или вот взять ту же разработку игр. К сожалению, какие-то — медленнее, потому что, несмотря на весь потенциал C++, дурная поддержка COM — самое слабое, на мой взгляд, место в этом языке. Так что я бы свел результаты сравнения языков к формуле выбора: либо красиво решенная работа с COM и интерфейсами, либо наличие шаблонов. Все остальное — мелочи.
MT>>>Чем я успешно последние годы занимаюсь и получаю за это деньги.
SM>>Что это доказывает? Только то, что это возможно. Но никак не то, что это оптимально.
MT>Уж поверьте мне на слово, если бы я решал те же самые задачи, допустим, на MSVC, это занимало бы как минимум ровно столько же ресурсов. Прецеденты есть
Так что выбор Delphi у меня скорее сродни религии 
Да, что-то в этом есть
MT>Вы таки хотите поднять волну флейма? Придумайте, пожалуйста, аналоги для WITH, SET, AS, IN, PROPERTY, модификаторам CONST/VAR/OUT, или скажем для INTERFACE (который тип), ARRAY OF. Продолжать?
Для with аналога действительно нет, это минус, но — совсем малюсенький, из-за возможности объявлять локальные переменные где угодно в коде. Интерфейсы и, кстати, COM-объекты — это как раз из того немногого, что меня в C++ бесит. Вроде как шаблоны немножко решают проблему, но в целом это целый пласт вещей, для C++ до сих пор совершенно инородных.
Set вроде уже воспроизведен (-но?) хотя бы в Builder, да и потом — в подавляющем большинстве случаев он (оно) равноценен набору констант.
Property, из моего опыта в последнее время, приносит больше вреда, чем пользы, как раз из-за скрытых от программиста действий: то ли мы просто получаем значения поля, то ли вызывается какой-то метод...
CONST/VAR/OUT... Для const и var долго искать не надо, причем их смысл в C++ не в пример очевиднее, чем в Delphi (я о счетчиках ссылок и проч.), с Out сложнее, его и правда до сих пор нет.
Array of... А чем так плохи STL-контейнеры? Скажете, это не часть языка? Да, но это часть стандарта

Если уж придираться к словам, то — да, этого в C++ нет. Хотя опять же можно красиво реализовать. Есть только одно, в чем array of лучше — это передача набора непосредственных значений, указываемого прямо при вызове функции. Это open arrays, а не dynamic arrays, но такая необходимость и встречается нечасто, и обходится безболезненно.
Итого, без интерфейсов и COM набирается не так уж и много недостатков. Зато насколько полнее инструментарий для того, чтобы писать свой код! Главным образом, я в восторге от шаблонов — и вовсе не скрываю этого. Были бы они в Delphi — вопрос о лучшем языке стал бы вопросом вкуса.
MT> Я ж прошу Вас — бесполезное это занятие. Сишники не видят недостатков С\С++, паскалисты не видят недостатков Паскаля.
Спору нет. А я кто? Почти всю сознательную жизнь пишу на Delphi, полгода на Java; у меня почти нет стажа на C++, но я на нем писал и продолжаю писать один проектик, да и книжек маленько читал, плюс опять же сертификация BrainBench. Так что имею некоторое начальное представление, и по нему выходит, что С++ во многом (не во всем) мне нравится больше. Так что я не сишник, но недостатки С++ вижу, но и на недостатки Delphi тоже глаза не закрываю.
Опсь, или Вы про себя?
SM>> Еще что-то можно сделать возможным, введя базовый класс и потребовав у всех от него наследоваться.
MT>Это костыль, вы же понимаете. Введением класса можно добиться любой функциональности, которой нет в языке, но это доказывает лишь то, что такой функциональности нет в языке.
Но язык построен так, что она воспроизводима в его рамках, и использование этой воспроизведенной функциональности выглядит просто и естественно. Пример обратного — "шаблоны" в Delphi до .NET (модули + включаемые файлы).
SM>>Согласен. Но не ради же принципа писать драйвера на Delphi, если сейчас это удобнее делать на C++!
MT>Это кому как. Я ж уже приводил свой тезис на эту тему.
Прошу прощения

Мне как-то не захотелось читать ту гору флейма
Slicer