* * *
Среди тех, кто занимается программированием уже много лет и достиг в этом деле определенных высот, весьма распространено мнение, что VBA, да и Visual Basic — языки, на которых нельзя создать быстро и хорошо работающие программы. В определенной степени это соответствует действительности: программы на Visual Basic обычно работают несколько медленнее и занимают больше места, чем аналогичные им программы на С++, на Visual Basic весьма проблематично решение некоторых программистских задач и приемов. Поэтому профессиональные программисты часто считают, что Visual Basic — язык для дилетантов, а любой уважающий себя специалист в области информационных технологий обязан знать и использовать такие языки, как С++ или ассемблер. Но не следует забывать, что изначальное предназначение компьютерных технологий — помощь человеку в обработке и создании информации, а отнюдь не "служение самим себе", своему дальнейшему развитию. Поэтому основная функция большинства компьютерных программ — получение нужного результата, обработка вводимой информации, например, анализ электрокардиограммы или расчет траектории космической ракеты, а быстродействие, малый размер, да и удобство интерфейса — лишь их хорошие свойства, которые могут серьезно облегчить работу с программой.
Создать же программу, дающую действительно нужный результат, может лишь человек, непосредственно работающий в области, для которой данная программа пишется, — врач, инженер, астроном, математик. Только он знает все тонкости своего дела и сможет предусмотреть в программе все необходимые условия. Профессиональный программист же, хоть и имеет возможность создать программу, которая будет работать в несколько раз быстрее и занимать на диске значительно меньше места, чем написанная врачом или инженером, не представляет себе тонкостей области человеческой деятельности, для которой эта программа пишется, а поэтому, при всей внешней привлекательности, такая программа будет работать хуже, чем первая. К примеру, какая программа для анализа электрокардиограмм лучше: созданная опытным специалистом в области медицины, который посвятил всю свою жизнь исследованию электрокардиографии и энает все-все тонкости этого дела, или написанная не менее опытным программистом, который знает все языки программирования как свои пять пальцев, но, увы, не знаком с медициной? Даже если врач обратится к программисту с просьбой помочь ему написать эту программу, то он все равно не сможет посвятить того во все тонкости своего дела, чтобы отразить в программе все грани своего многообразного опыта, — на это может уйти слишком много времени и сил, да и нелегко программисту будет изучить совершенно незнакомую ему до этого сферу деятельности! Поэтому врач, немного знающий программирование, больше подходит для написания медицинской программы, чем профессиональный программист, немного знакомый с медициной. И пусть программа врача будет работать медленнее, пусть она будет занимать на диске в два раза больше места, пусть даже при ее создании будут нарушены все сложившиеся каноны программистского искусства, — все равно она сможет принести людям гораздо больше пользы, чем программа, прекрасно и хорошо написанная не знакомым с медициной человеком, так как только врач сможет поделиться с ней всем своим многогранным опытом. [16] Без сомнения, при промышленном производстве таких программ и врачи, и программисты работают в команде, причем первые разрабатывают алгоритм работы программы на понятном им языке, а вторые его реализуют. Речь идет о возможности применения программирования каждым пользователем для решения насущных задач, организовывать команды разработчиков для которых возможности нет.
Отнюдь не всякий человек, превосходно умеющий лечить людей, сможет столь же превосходно освоить язык С++. И это нормально — у каждого свой талант, свои дарования. Но, благодаря стараниям сотен и тысяч программистов, зачастую безвестных, сейчас существуют среды программирования, освоить которые без проблем может каждый — те же Visual Basic и Delphi. И поэтому практически любой специалист своего дела может в наши дни использовать в своей работе новейшие достижения информационных технологий — создать нужную ему программу, разработав ее алгоритм на основе своего опыта. А для профессиональных программистов осталось не менее почетное и трудное дело — создавать такие среды программирования и новые языки, с которыми работать будет еще легче и быстрее, чем с существующими.
Читать дальше