Как программист и как мужчина должен
согласится – да. Совсем недавно меня «попустили» на моем же собственном сайте.
Некто Alex написал следующее – «Интересно, где
учат так писать программы? Да уж, за время, прошедшее с тех времен, когда
машины были большими, а программы маленькими, честное звание
"Программист" дискредитировали окончательно. Не без Вашего, между
прочим, участия.» Вот так. С одной стороны, это даже приятно – у меня
появился Критик. Это так по-взрослому. Комментарий этот касался программы «Платіжка
1.22». И возразить мне, в принципе
нечего, прога действительно имеет размер не соизмеримый с её возможностями. Я
не знаю, насколько уважаемый Alex знаком с программированием, но всё-таки
хочу пояснить ситуацию.
Во-первых, я полностью согласен с тем, что 2МБ – слишком много для такой
программы. И я бы рад уменьшить этот размер, но тогда встает вопрос
совместимости – нет никаких гарантий, что программа заработает на других компьютерах.
Чтобы решит эту проблему, были, в свое время, придуманы библиотеки динамической
компоновки, или по-нашему, DLL. Их цель была в
том, чтобы сделать приложения маленькими, а все их часто используемые функции
запаковать в DLL, которые бы постоянно хранились на компьютере
пользователя. Но… Разработчик никаким образом не может узнать, установлена ли
нужная библиотека у пользователя или нет! Например, для «Платіжки» нужна библиотека midas.dll, благодаря которой функционирует её база
данных. По идее этой DLL пользуются многие приложения, но откуда мне знать что, например у Alexa, хоть когда нибудь на компе работала база данных,
использующая эту библиотеку? Вот и приходится таскать ее с собой. Это же
касается многих компонентов среды разработки, от которых зависит программа. Вот
и приходится все это добро паковать в один exe-файл. Можно, конечно пойти на трюк, и сделать саму прогу размером 50 КБ, а
к ней прицепить хвост в 1500КБ где будут размещены НЕОБХОДИМЫЕ для её работы
компоненты. Но толку?
Во-вторых, у современных средств разработки есть общий бич, носящий
название ООП, или Обьектно Ориентированное Программирование. Работа с ООП облегчает
написание программ, но за это приходится платить размером и, иногда
эффективностью. В результате выходит, что программа, вычисляющая 2+2, занимает
на диске 300 КБ. Это абсурд, но такова цена прогресса.
В-третьих, понятное дело, что пишу свои программы в визуальной среде
разработки, что уменьшает время на разработку и сопровождение. А визуальное
программирование, базирующееся на том же ООП, не щадит дисковое пространство.
Можно от него отказаться, но тогда написание программ будет отнимать очень
много времени, которого у меня нет.
Также хочу сказать, что я тоже прекрасно помню время «больших машин и
маленьких программ». Вернее время 16К, 48К, потом 640К оперативки. Если вам не нравится что-то в моих программах
(или просто вы решили меня уколоть, за то, что я не взялся выполнять ваш заказ,
товарищ Alex) – пишите свои! И размещайте здесь. С
подписью. Даже фотку вашу могу вцепить.
Конечно, положа руку на сердце, сегодня я бы сделал ту программу поменьше,
и многое в самой программе сделал бы по-другому (в плане кода).Я ведь не
профессионал, и постоянно приходится учится. И поверьте, уважаемые критики, у
меня никогда не было желания «дискредитировать честное звание» программиста. В
ближайшее время, я собираюсь освоить ряд новых техник программирования. Думаю,
что и размер моих программ уменьшится, и быстродействие повысится (хотя с этим
проблем и не было, вроде). А вы пишите,
критикуйте, предлагайте.
|