Цитата: Вот в MS Office с новым форматом docx, xlsx и т.д. размер файла стал меньше, чем doc, xls и др. И это показатель, на мой взгляд.
Вряд ли они этого добивались. Они просто второпях копировали OpenOffice.org, который к тому времени прошёл ECMA, шёл в ISO и мог реально стать единственным международным стандартом.
Добавлено: Цитата: а зачем?
ДУмаю, в основном - интеграция с оболочкой - разного рода Shell Extensions.
Добавлено: Цитата: Я думаю, что все эти операции по уменьшению размера ни к чему хорошему не приведут.
Ну я когда-то писал 2Кб DLL на D5
Такого на XE4 наверное действительно не повторить
Добавлено: Цитата: Недаром WinForms была слизана с VCL
Хммм... а не потому просто, что их писал один и тот же человек ?
Цитата: vcl почти гениален по интуитивности и общей архитектуре.
В однопотоке ShowModal завешивает всю программу - интуитивно до жути.
В многопотоке очень опасно в другом потоке создать форму или обратиться к уже созданной. Очень интуитивно.
В неюникодной дельфи при копировании русского текста с контрола в clipboard надо клавиатуру на русский переключать (или патчить VCL) - очень интуитивно.
Форма освобождает непринадлежащие ей контролы (если они на ней лежат) - тоже интуитивно весьма...
Чтобы добавить пункт между двумя TMenuItem нужно у них найти родителя. А для TMAinMenu нужно найти виртуального родителя, которого не существует, но он есть. Ооочень интуитивно.
Про дополнение VCL (например вернуть в TMainMenu HelpBreak или добавить в чей-то TDataSet master-detail) я молчу - там интуитивность так и прёт, но это немного другой уровень.
В общем ты путаешь "понятность ежу" и свой опыт написания сотен программ за десятки лет и сотни книжек и сайтов по Delphi.
Цитата: там таски зависимые друг от друга.
То есть тебе нужен планировщик. Да, OTL планировщиком не является, я тоже поначалу пытался из неё это сделать, а потом просто понял, что она не для этого.
Вот запускается винда, грузит драйвера, с учётом зависимостей. Занимается этим NT Services Manager. (На линуксах - init-scriptы или какая-то из десятка их подмен). Но мы же не говорим, что олт этого Service Manager стал библиотекой для распараллеливания.
И твой планировщик тоже ей не является - он для многопточностей клиент, а не провайдер. Его фнукции учёт и разрешение зависимостей, а многопоточность он *использует* и может использовтаь любую - TThread, BeginThread, AsyncCalls, OTL, whatever
Собственно, я согласен что для Delphi нет хорошего планировщика, может быть это слишком индивидуальная задача дял one size fits all библиотеки.
Но OTL - библиотека для распараллеливания поточных вычислений, и если в ней чего-то не хватает - так это поддержки и учёта разных исполнителей, в первую очередь GPGPU, а также дисков, сетевых нод.
Цитата: А проверка статуса в многопоточном окружении -- требует блокировки
Пардон? прочитать булевскую переменную - типа TObject.Disposed, TThread.Terminated, TApplication.Terminated - требуйет блокировки???
Цитата: Плюс к тому, нулевая кроссплатформенность из-за Windows Messaging
Это да. Но что характерно, никто на линукс или MacOS не перетащил. То ли не хотят, то ли не могут.
Цитата: только в реальном мире задачи не столь однотипные
Ну так для этих задач OTL и не подходит.
Недаром он так вылизывал методы создания задач в два три предложения - OTL решает мелкие по коду, но затратные по данным вычисления. Графы зависимостей в неё не входят.