23 выпуск
|
||||||||||||||
От ведущего УРА! СЕГОДНЯ ВСЕ САМОЕ ИНТЕРЕСНОЕ! УРА! ИТОГИ КОНКУРСА! Приветствую! Сегодня сюрпризы! Итак: у нас сегодня подготовлен хороший прикол для вас, студенты))) смотрите выше... Те, у кого нету этого прикола смогут увидеть его на форуме. Далее, у нас отличная статья ! Вернее первая из хорошей серии статей! Компактные программы на Делфи! А еще! А еще у нас сегодня подведены итоги голосования на конкурсе ! Читайте ниже.... ну и на сладенькое вам лучшие анекдоты про программистов, студентов, про сессию! Так что, читайте с удовольствием, комментируйте на форуме! |
||||||||||||||
__________________________________________________________ |
||||||||||||||
KOL и MCK - компактные программы на Delphi Цель данной статьи - убедить читателя (я надеюсь, этот текст попадет в руки программиста), привыкшего к большим размерам современных программ (о, нет, приложений, программы-то как раз были еще не очень большими) в том, что его бессовестно надувают. Когда утверждают, что программа для среды Windows, если она что-то полезное умеет делать, никак не может быть меньше... ну, скажем, трехсот килобайт. А если это очень "умная" программа, содержащая очень много полезных возможностей, хороший интерфейс, отлично взаимодействующая с пользователем, поддерживает различные форматы данных, современные клиент-серверные технологии, то без полсотни мегабайт ну никак не обойтись. Чушь несусветная. Нас обманывают! На самом деле, объектное программирование позволяет создавать очень экономичный по размеру код. Причем, достаточно эффективный. Примеры? Пожалуйства. Ява - объектно-ориентированное программирование. Ява-апплеты очень невелики по своим размерам, а как много полезного они умеют делать! Впрочем, речь пойдет не о Яве. Предметом данного разговора будет среда Delphi. Как ни странно, именно Delphi оказался тем инструментом, с помощью которого оказалось возможным изготовить библиотеку KOL - Key Objects Library (Ключевую Объектную Библиотеку). Странно потому, может быть, что программы, изготовленные средствами Delphi, обычно маленькими не бывают. Минимальный стартовый размер приложения, представляющего из себя одно пустое окно, которое можно подвигать по экрану и закрыть, и которое, собственно, ничего больше делать не умеет, составляет около трехсот килобайт. Причем, с выпуском каждой очередной версии Delphi этот стартовый размер вырастает еще на несколько десятков ни в чем неповинных килобайт. Библиотека KOL позволяет изготавливать не менее мощные приложения, чем стандартная библиотека Delphi - VCL (Visual Component Library, Визуальная Библиотека Компонентов). И при этом добиваться уменьшения размеров программ в 5-15 раз! Например, приложение DirComp, доступное для загрузки на сайте KOL, занимает без сжатия упаковывающими программами около 65 килобайт. Аналогичное приложение, написанное за два года до этого с использованием стандартной библиотеки Delphi, занимало 750 килобайт. Разница впечатляет, не правда ли? KOL - не только объектно-ориентированная, но и визуальная библиотека. Программы и их графический интерфейс возможно проектировать практически так же, как и в визуальной среде VCL. В дополнение к KOL идет библиотека MCK (Mirror Classes Kit, Библиотека Зеркальных Классов), которая содержит VCL-компоненты, устанавливающиеся на палитру обычным образом. Единственное отличие в том, что зеркальные компоненты библиотеки MCK существуют только на стадии разработки (design time), участвуя в генерации "настоящего" кода, совместимого с требованиями библиотеки KOL. Во время работы (run time) выполняется этот код, и тот, который был добавлен самим разработчиком. В коде времени исполнения нет ссылок на компоненты VCL, есть только объекты KOL, компактные и эффективные. В чем же заключается секрет компактности кода? Ответ не один, но выделить главные составляющие все же представляется возможным. В первую очередь следует отметить способность компилятора Delphi не включать в код конечного приложения невостребованный код. Процедуры и переменные, на которые нет ссылок из того кода, который уже внесен в список участков кода, подлежащих включению в конечный продукт, отбрасываются и в дальнейшей сборке не учавствуют. К сожалению, данная способность компилятора Delphi, называемая самими разработчиками компилятора "smart linking" (умное связывание), несколько ограничена. В частности, виртуальные методы используемых классов и объектов не могут быть изъяты из процесса компиляции и сборки приложения. Соответственно, и те переменные и процедуры (методы), на которые имеются ссылки из таких виртуальных методов, также не могут быть отброшены. Продолжение будет в следующем выпуске. А потом и в Клубе ))) |
||||||||||||||
__________________________________________________________ |
||||||||||||||
ИТОГИ голосования на конкурсе - РАНЬШЕ ЧЕМ НА САЙТЕ! Ура, товарсчи! (у меня сегодня оч хорошее настроение). Так вот, ура товарисчи! Свершилось! Итоги голосования на конкурсе! Итак, читаем дружно и ожидаем, когда же я назову имена.... Прежде всего, от лица всего Клуба программистов (в рассылке я тут самый главный в Клубе :), прежде всего хочется сказать спасибо ОГРОМНОЕ всем кто уделил внимание конкурсу и принял участие! Спасибо и тем, кто не остался в стороне и голосовал! Мне кажется, что голосование не самая важная часть (нет, я не говорю что это не важно), и вот почему: у каждого свое мнение. И те, кто не прошел во второй тур по голосованию, не расстраивайтесь, вас оценят по достоинству во время тестирования программ. Однако, хочется сказать и то, почему быть первым по голосованию очень почетно. А потому, что голосование - это мнение общее, вас оценивала публика и они выбрали достойных )) Но кто же прошел во второй тур? нет, не хочется здесь в тексте говорить. Наверно вы уже ненавидите меня за то, что я пишу всякую белиберду и не говорю конкретно и прямо! Ладно, хорошо, скажу! ZETRIX и Umen , от всей души вас поздравляет весь клуб! Но что же дальше? нет, это еще не все! Самое главное еще впереди! Теперь будет тестирование программ и определятся еще 2ое участников, которые пройдут во второй тур... Следите за подробностями на страницах Клуба и в особенности в Рассылке))) P.S. Я плохо умею писать, да? Комментируем как я пишу в теме "Рассылка Клуба программистов" на форуме :) Приглашаем всех в " Клуб программистов " |
||||||||||||||
__________________________________________________________ |
||||||||||||||
Немного юмора
В пожарном депо звонит телефон.
*** В интернете, в разделе ИНТИМ ДОСУГ ГОРОДА МОСКВА, появился новый сайт: WWW. приехала поступать и не поступила. ru ***
Студент-экономист
студенту-математику:
***
Вовочка как-то приходит
со школы домой и говорит отцу:
*** “Женьщина программист” имеет столько же отношения к же н ственности и программированию, как “морская свинка” - к морю и свинье! ***
Разговор директора и
системного админа:
***
Приходит студент на
экзамен, как обычно ничего не знает.
***
Студенты спрашивают
преподавателя:
***
Хозяин дома:
Юмор от членов клуба программистов здесь . |
||||||||||||||
__________________________________________________________ |
||||||||||||||
Программистам на заметку Если у вас есть желание поделиться своим опытом с читателями, вы являетесь обладателем ценных, интересных статей или авторских программ, а может вы просто хотите высказать свое мнение или замечание о рассылке, просто напишите мне . Я постараюсь уделить внимание каждому. А " Клуб программистов " всегда рад приветствовать в своих рядах новых пользователей. |
||||||||||||||
© 2006, Кочари Арнольд и "Клуб программистов" |