Глава 7. Напутствие
Глава 7. Напутствие
И под конец первой части книги, посвященной программированию в среде Microsoft Office, стоит сказать пару слов тем, кто все же заинтересуется этой темой.
Создавая программы на Visual Basic for Applications, вы сможете на опыте получить представление практически обо всех современных принципах программирования: как структурных — основанных на последовательном выполнении всех команд программы, так и «событийных», согласно которым программа должна реагировать соответствующим образом на действия пользователя. В современном программировании используются как структурный, так и событийный принципы: интерфейс программ построен по принципу реакции на события, а функции, выполняемые программой — по принципу независимой работы. Например, графический редактор Paint, да и тот же Word в большей своей части являются приложениями, управляемыми событиями — действиями пользователя; а, скажем, программы дефрагментации или проверки диска работают почти независимо от пользователя, он только должен задать им начальные параметры. В VBA можно писать как программы, управляемые событиями (посредством разработки форм), так и работающие последовательно и независимо (используя только модули), а также, разумеется, и приложения, сочетающие в себе оба способа действия.
VBA может служить не только полноценной средой разработки приложений, работающих в Microsoft Office, но и как бы "учебным центром" по освоению принципов и различных приемов современного программирования. Работа с системным реестром, с файловой системой и даже со встроенными в Windows функциями программирования API и многое другое, — все это вы сможете изучить на опыте, используя VBA, причем сделать это Вам будет значительно легче, чем если бы Вы сразу начали учиться программировать на Delphi или Visual Basic for Windows.
Средство записи макросов, возможность легкого анализа уже написанных программ (так как фактически любая программа на VBA распространяется вместе со своим исходным текстом), русский интерфейс редактора (к сожалению, только в Microsoft Office 97), большая и четко написанная справка, обилие примеров, — все это очень помогает в освоении этого языка и делает возможным его самостоятельное изучение даже без использования дополнительной литературы. Другие языки программирования так освоить практически невозможно. Кроме того, интерпретатор VBA обладает большими возможностями по коррекции ошибок, и поэтому программа на этом языке вряд ли вызовет ошибку системы и необходимость перезагрузки компьютера, если только не увлекаться вызовом функций API.
Если Вы научитесь программировать на VBA, поймете принципы разработки алгоритмов и основные приемы программирования, освоите среду написания программ — редактор VBA, то для Вас практически не составит труда начать создавать программы на Visual Basic for Windows. У этого языка абсолютно такой же синтаксис, такая же среда разработки с контекстной справкой и пошаговыми подсказками, на первый взгляд он отличается от VBA разве что набором доступных встроенных процедур и функций и отсутствием возможности записи макросов. Безусловно, есть и более глубокие различия, но при создании не очень сложных программ они не будут иметь большого значения. Вы сможете легко освоить средство разработки программ Delphi, хотя логика языка Pascal, лежащего в основе Delphi, несколько отличается от логики Visual Basic. Однако и среда разработки, и общие принципы программирования в Delphi те же. Несколько труднее будет освоить C++ и его производные из-за серьезно отличающегося синтаксиса и высокой сложности этого языка, но это не всегда необходимо, — подавляющее большинство проектов программ можно реализовать на Visual Basic или Delphi.
* * *
Среди тех, кто занимается программированием уже много лет и достиг в этом деле определенных высот, весьма распространено мнение, что VBA, да и Visual Basic — языки, на которых нельзя создать быстро и хорошо работающие программы. В определенной степени это соответствует действительности: программы на Visual Basic обычно работают несколько медленнее и занимают больше места, чем аналогичные им программы на С++, на Visual Basic весьма проблематично решение некоторых программистских задач и приемов. Поэтому профессиональные программисты часто считают, что Visual Basic — язык для дилетантов, а любой уважающий себя специалист в области информационных технологий обязан знать и использовать такие языки, как С++ или ассемблер. Но не следует забывать, что изначальное предназначение компьютерных технологий — помощь человеку в обработке и создании информации, а отнюдь не "служение самим себе", своему дальнейшему развитию. Поэтому основная функция большинства компьютерных программ — получение нужного результата, обработка вводимой информации, например, анализ электрокардиограммы или расчет траектории космической ракеты, а быстродействие, малый размер, да и удобство интерфейса — лишь их хорошие свойства, которые могут серьезно облегчить работу с программой.
Создать же программу, дающую действительно нужный результат, может лишь человек, непосредственно работающий в области, для которой данная программа пишется, — врач, инженер, астроном, математик. Только он знает все тонкости своего дела и сможет предусмотреть в программе все необходимые условия. Профессиональный программист же, хоть и имеет возможность создать программу, которая будет работать в несколько раз быстрее и занимать на диске значительно меньше места, чем написанная врачом или инженером, не представляет себе тонкостей области человеческой деятельности, для которой эта программа пишется, а поэтому, при всей внешней привлекательности, такая программа будет работать хуже, чем первая. К примеру, какая программа для анализа электрокардиограмм лучше: созданная опытным специалистом в области медицины, который посвятил всю свою жизнь исследованию электрокардиографии и энает все-все тонкости этого дела, или написанная не менее опытным программистом, который знает все языки программирования как свои пять пальцев, но, увы, не знаком с медициной? Даже если врач обратится к программисту с просьбой помочь ему написать эту программу, то он все равно не сможет посвятить того во все тонкости своего дела, чтобы отразить в программе все грани своего многообразного опыта, — на это может уйти слишком много времени и сил, да и нелегко программисту будет изучить совершенно незнакомую ему до этого сферу деятельности! Поэтому врач, немного знающий программирование, больше подходит для написания медицинской программы, чем профессиональный программист, немного знакомый с медициной. И пусть программа врача будет работать медленнее, пусть она будет занимать на диске в два раза больше места, пусть даже при ее создании будут нарушены все сложившиеся каноны программистского искусства, — все равно она сможет принести людям гораздо больше пользы, чем программа, прекрасно и хорошо написанная не знакомым с медициной человеком, так как только врач сможет поделиться с ней всем своим многогранным опытом.[16]
Отнюдь не всякий человек, превосходно умеющий лечить людей, сможет столь же превосходно освоить язык С++. И это нормально — у каждого свой талант, свои дарования. Но, благодаря стараниям сотен и тысяч программистов, зачастую безвестных, сейчас существуют среды программирования, освоить которые без проблем может каждый — те же Visual Basic и Delphi. И поэтому практически любой специалист своего дела может в наши дни использовать в своей работе новейшие достижения информационных технологий — создать нужную ему программу, разработав ее алгоритм на основе своего опыта. А для профессиональных программистов осталось не менее почетное и трудное дело — создавать такие среды программирования и новые языки, с которыми работать будет еще легче и быстрее, чем с существующими.
На вопрос: "Какой язык программирования лучше всего?" стоит отвечать так: "Тот, на котором ты можешь лучше всего писать программы и реализовывать свои проекты". Проще всего освоить Visual Basic и Delphi. И поэтому не стоит так уж стремиться обязательно знать ассемблер, выучить все функции API и жалеть, что не можешь вводить программы сразу в машинных кодах, — лучше повнимательнее изучить более простой язык даже вроде того же VBA для того, чтобы уметь использовать все его возможности для воплощения своих пожеланий в жизнь. Ну, а если кто желает посвятить свою жизнь информационным технологиям, создавать новые языки общения с компьютером, то тому знание Visual Basic никогда не помешает, а остальные знания, как говорится, дело наживное, — надо лишь начать учиться и освоить общие принципы.
Не стоит думать, что "программирование мне никогда не понадобится" — современные компьютерные технологии развиваются с огромной быстротой, и скоро практически любая область человеческой деятельности будет компьютеризирована. А чтобы получить в своей работе наилучший результат, нужно уметь приспособить орудие труда — компьютер — под свои нужды, то есть — программировать.
* * *
И, наконец, стоит сказать об использовании программирования на VBA в процессе обучения в школе, институте, да и в самостоятельном образовании. Обучение искусству составления программ на собственном опыте, путем самостоятельного исследования возможностей языка и среды разработки является одним из наилучших способов научиться так называемому "научному мышлению", тому подходу к различным явлениям окружающего мира, на котором стоит вся современная наука.
Самостоятельно обучаясь использованию VBA, можно как бы на небольшой модели испробовать почти все исследовательские приемы, которые используются современной наукой, — и наблюдение, и анализ результатов, и эксперимент… Например, вынесение из записанного макроса неизвестной команды в отдельную процедуру для выяснения ее функции, — чем не эксперимент в контролируемых условиях? Или изменение параметров команды с целью узнать, к чему это приведет, — разве не так действуют исследователи, изменяя начальные условия эксперимента? Так что изучение VBA может стать целым "научным исследованием", в течение которого можно будет отработать основные приемы современного научного подхода.
Удачи вам в программировании!
Из мира Интернета
· В Интернете есть немало информации о программировании на VBA. Помимо Форума для разработчиков на сайте программы Microsoft Office Extensions (http://www.microsoft.ru/offext), обратите внимание на сайт Андрея Колесова и Ольги Павловой http://www.visual.2000.ru, на котором представлены статьи этих авторов о VBA, а также на литературу из сетевых библиотек
http://www.firststeps.ru, http://www.rusdocs.ru, http://www.emanual.ru и других.
Наверняка найдете немало полезного.
Список разработчиков VBA
Если вы хотите посмотреть имена тех, кто занимался разработкой языка VBA, создавал среду разработки — Редактор VBA или писал справочную систему, то сделайте следующее. Запустите Редактор VBA и выберите из меню «Вид» пункт "Панели инструментов — Настройка" (в английском варианте интерфейса соответственно пункт "Toolbars — Customize" из меню "View"). После открытия диалогового окна настройки панелей вы получите возможность переименовывать, удалять или добавлять пункты меню и иконки на панелях инструментов Редактора VBA.
Затем в режиме настройки откройте меню помощи (скрывается за вопросительным знаком или словом Help в строке меню) и переименуйте самый нижний его пункт — "About Microsoft Visual Basic" в английских версиях или "О программе" в русской, задав ему имя "Show VB Credits". Выйдите из Режима настройки, закрыв диалоговое окно.
Теперь, выбрав из меню помощи пункт Show VB Credits, вы увидите медленно плывущий снизу вверх список разработчиков на фоне крутящихся кубиков и приятной музыки. Клавиши стрелок управляют скоростью движения списка.
Данная возможность присутствует в Office 97 и Office 2000, но из Office XP она убрана.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Глава 29
Глава 29 29.1. Этот флаг означает, что буфер перехода устанавливается функцией sigsetjmp (см. листинг 29.6). Хотя этот флаг может казаться лишним, существует вероятность, что сигнал может быть доставлен после того, как устанавливается обработчик ошибок, но перед тем как вызывается
Глава 30
Глава 30 30.1. Родительский процесс оставляет прослушиваемый сокет открытым в том случае, если ему позже будет необходимо создать дополнительный дочерний процесс с помощью функции fork (это будет расширением нашего кода).30.2. Для передачи дескриптора действительно можно
Глава 31
Глава 31 31.1. Здесь предполагается, что по умолчанию для протокола осуществляется нормальное завершение при закрытии потока, и для TCP это
Глава 12 DNS
Глава 12 DNS 12.1 Введение Часто конечный пользователь знает имя хоста, но не имеет понятия о его адресе. Но адрес нужно знать для взаимодействия с хостом, поэтому конечному пользователю или запущенному им приложению необходим способ получения адреса по имени хоста.В
Глава 15 RPC и NFS
Глава 15 RPC и NFS 15.1 Введение За последние десять лет компьютерное оборудование существенно изменилось. Вместо подключенных к центральному компьютеру неинтеллектуальных терминалов появились сложные настольные системы, серверы и локальные сети.Пользователи быстро
Глава 19 WWW
Глава 19 WWW 19.1 Введение 19.1.1 Гипертекст Идея гипертекста (hypertext) известна уже многие годы. Она основана на следующих положениях:? Выделенные в документе фразы связаны с указателями на другие документы.? Пользователь может перейти на другой документ, щелкнув мышью на
Напутствие Дэнни Салливана
Напутствие Дэнни Салливана Дэнни Салливан, 30-летний корреспондент газет Los Angeles Times и The Orange County Register, в конце 1990-х одним из первых «заболел» Google. To, что он оставил пропахший типографской краской мир прессы и примкнул к другу, занимавшемуся разработкой веб-сайтов, вряд ли
Глава 9
Глава 9 Edelmann S. SANworks Secure Path: The Secret of Data Availability: http://www.decus. de/slides/sy2001/vortraege_2504/2d07. pdf.Технология HP (Compaq) SecurePath: http://www.mcoecn.org/WhitePapers/COMPAQ-SECURE-PATH. PDF.Kammer K. R. Dell EMC PowerPath: Improving Storage Availability, август 2002: http://ftp.us.dell.com/app/3q02-Kam.pdf.Web-узел технологии RAIDWeb: http://www.raidweb.com/whatis.html.Групповой ввод-выводEdelmann S.
Напутствие
Напутствие Ну, вот, я и рассказал вам всё, что хотел. Книжка получилась достаточно компактной, поскольку, как и в лекциях моим студентам, я следовал принципу – “Ещё проще!” Собственно, то, что вы держите сейчас в руках – это переработка тех самых лекций, в которых я
Глава 2
Глава 2 1. Эти два бита могут менять действующий идентификатор пользователя и/или группы выполняющейся программы. Идентификаторы используются в разделе 2.4.2. Сначала следует указать флаги O_CREAT | O_EXCL, и если вызов окажется успешным, будет создан новый объект. Если вызов
Глава 4
Глава 4 1. Если бы дескриптор fd[1] остался открытым в дочернем процессе при завершении родительского, его операция read для этого дескриптора не вернула бы признак конца файла, потому что дескриптор был бы еще открыт в дочернем процессе. Закрытие fd[1] гарантирует, что после
Напутствие
Напутствие Подводя итоги всех прочитанных глав, можно сделать выводы о вашей готовности к подобным трудностям (если вы вообще нашли во всем вышеописанном хоть одну трудность). Мы не старались описать все ужасы, которые ждут охотников за легкой наживой (их куда больше, и
ГЛАВА 2
ГЛАВА 2 Глава, в которой Котёнок начинает разговаривать, Точка катает гостей на своём электромобиле, а ровно в 16.40 начинается дождь. Раздался щелчок. Свет внезапно погас. Алёша, Котёнок и Точка очутились в кромешной темноте.— Не бойтесь. Сейчас глаза привыкнут, и мы пойдём
ГЛАВА 3
ГЛАВА 3 Глава, самая короткая, в которой появляется и тут же исчезает Кадабра. — Вот тут я живу и работаю, — сказал Точка.Алёша во все глаза разглядывал мастерскую Точки. Ни мольберта, ни баночек с красками и кисточками нигде не было видно.В комнате был бы идеальный
ГЛАВА 4
ГЛАВА 4 Глава, в которой именинник — доктор Кашля получает подарки и угощает гостей солёным тортом. В небольшой комнатке, одна из стен которой была увешана всевозможными диковинными пипетками и градусниками, а на другой красовалась редчайшая коллекция больших и
ГЛАВА 5
ГЛАВА 5 Глава, в которой выясняется причина порчи дискет и Алёша с Котёнком едут в поликлинику снимать отпечатки зубов. В кабинете Центрального Процессора шло экстренное совещание. Микроши по очереди высказывали свои предположения о причинах столь необычного для