Серый крокодильчик
вот-вот!
Den Zurin
> В то время уже был Visual Basic, но он выдавал неоптимизированный код. Delphi
> же сочетает простоту Visual Basic и эффективность C++.
Мне мой внутренний КЭП подсказывает, что VB и Delphi годятся разве что для предварительного прототипирования, так что быстрота работы написанных на них прог важна в последнюю очередь.
Вообще раньше мне было пофиг на делфи и его адептов, но недавно из соседней темы узнал, что в нём нет автоматических переменных. Теперь я понимаю тех, кто кричит, что это УГ.
Zefick
> Мне вот хоть убей непонятно, зачем это .net компилируется в промежуточный код.
> Это же оверхед дикий. У Java уж понятно зачем, но .net, который по определению
> должен запускаться только на винде зачем это было делать? Или типа раз уж
> спёрли, пусть остаётся, есть не просит, а понтов можно накрутить с три короба,
> что это сверхкруто и всё такое (даже свой CIL специально придумали).
ну, типо, так круто, типо back-end фсех дотнетовских компилей в стандартный промежуточный язык.
Zefick
> автоматических переменных
это локальных что-ли?
Zefick
> Как видно, и в СНГ вакансий для него почти нет. Тем более не ясно, за что мужика премировали.
В регионах еще встречаются (нужно поддерживать старый софт, написанный на Delphi), но в целом все переходят на .NET.
> Мне вот хоть убей непонятно, зачем это .net компилируется в промежуточный код.
Ну это как раз понятно. Песочница, защита от уязвимостей и просто кривых рук индусов. Непонятно другое, почему бы просто не использовать Java? Сделали бы дополнительный набор пакетов для Windows, подключили бы библиотеки Windows через JNI. Вместо этого Микрософт опять выпускает свой велосипед.
Wieiner
> ну. что тут спорить.оооочень оптимизирующий у дельфи компилятор..ооооочень..
Имеется в виду по сравнению с Visual Basic. А других RAD систем тогда не было.
Wieiner
> это локальных что-ли?
Уж и не знаю, где-то тут началось: http://www.gamedev.ru/flame/forum/?id=131902&page=15#m216. Что-то трут про управление жизнью объектов. Похоже, в дельфе с этим туговато.
Den Zurin
> Байткод появился еще в USD Pascal, задолго до появления .NET и Java.
Он появился в бейсике на ZX Spectrum, был в QuickBasic под DOS (только при запуске из среды), использовался во всех Visual Basic.
>Delphi же сочетает простоту Visual Basic и эффективность C++.
Delphi несколько сложнее, чем Visual Basic, и при этом по эффективности равен ему же, а не C++.
Zefick
> Уж и не знаю, где-то тут началось:
> http://www.gamedev.ru/flame/forum/?id=131902&page=15#m216. Что-то трут про
> управление жизнью объектов. Похоже, в дельфе с этим туговато.
ой!
Mikle
> Он появился в бейсике на ZX Spectrum, был в QuickBasic под DOS (только при
> запуске из среды), использовался во всех Visual Basic
тогда формат EXE файлов под ДОС, - это тоже байткод! там релокейшены надо настраивать относительно стартового адреса.
а портабле-екзекутабле (PE) формат EXE файлов Винды - уже нет, потому что каждый процесс в своем адресном пространстве! Хотя...
Mikle
> Delphi несколько сложнее, чем Visual Basic, и при этом по эффективности равен
> ему же, а не C++.
работа оптимизатора "пожирает" бОльшую часть времени компиляции...
Wieiner
> Самый простой метод – это объявление переменных внутри функций.
ОК, при чём тут делфи? Или постим первое попавшееся в гугле?
Wieiner
> тогда формат EXE файлов под ДОС, - это тоже байткод
Нет, там всё равно записаны инструкции процессора в явном виде.
Wieiner
> работа оптимизатора "пожирает" бОльшую часть времени компиляции...
Это о чём? В Delphi есть такой оптимизатор?
Zefick
> ОК, при чём тут делфи? Или постим первое попавшееся в гугле?
при том, что автоматические переменные - это как оператор присваивания. "общечеловеческая ценность".
Mikle
> Нет, там всё равно записаны инструкции процессора в явном виде.
только в сом файлах. в ЕХЕ (под дос) - нет, нужно транслировать адреса памяти. (байт мод-рм включает адрес памяти, как часть опкода).
так что формально нужен "компилятор оп-кодов". (и у Майкрософт адвокаты лучше :-)), чем у СанМикросистемз)
Mikle
> Это о чём? В Delphi есть такой оптимизатор?
есть наверное, оптимизатор пи-кода. но. это европейская(виртовская, а не берклеевская) штука и анализ у них не восходящий, а нисходящий.
вобщем паскаль и си, как компиляторы, весчи слабосовместные. типа повозки и ракеты.
примечание:
в компиляторах си чаще всего оптимизатор реализован очень хорошо. (трудно вообще судить - зависит от фирмы разработчика)
у майкрософта - на ура. про билдер - не знаю, он похоже тоже ЛЛ, а не ЛР.
Zefick
> Вообще раньше мне было пофиг на делфи и его адептов, но недавно из соседней темы узнал, что в нём нет автоматических переменных. Теперь я понимаю тех, кто кричит, что это УГ.
В дельфи переменные стандартных типов и структуры можно создавать на стеке. Классы - только в куче.
Тема в архиве.