Человеческий фактор в программировании
Шрифт:
Вот почему в одной из компьютерных компаний, логотип которой состоит из трех заглавных букв (IBM), деятельность группы, обеспечивающей возможность повторного использования, сосредоточена на создании особого корпоративного климата и культуры. Создаются условия, способствующие повторному использованию компонентов, что является общепринятой практикой в мире программ и программирования. Наличие или отсутствие таких условий может соответственно облегчить или затруднить процесс совместного использования замыслов и реализаций. Наверное, мне повезло в том, что мои мозги промыли учителя, считавшие, что в их интересах и в интересах наших будущих работодателей не заниматься изобретением колеса. Сначала в системах обработки данных
Наверное, хитроумные трюки и дополнительные вознаграждения более важны для слабых библиотек и неудобных инструментов. Возможно, это сигнализирует о необходимости пересмотреть корпоративную культуру и профессиональные ценности, которые в ней поощряются или не одобряются.
Из журнала Computer Language Magazine, том 9, № 7,1992 г.
28
Суперобучение
Вы собираетесь изучить Smalltalk, или стать специалистом по Java, или освоить UML, но в сутках есть только двадцать четыре часа. Вы уже опаздываете со сдачей проекта «клиент-сервер», а ваши дети хотели бы хоть иногда видеть вас до того, как закончат школу. Попробуйте суперобучение! Как утверждает реклама, вы сможете научиться объектно-ориенти-рованному программированию за один час. Или иностранный язык — за три секунды. Суперобучение, ускоренные методы, мультисенсорное обучение. Новые методы, разработанные то ли русскими, то ли болгарами, то ли техасцами. Разве не здорово? Надеваете наушники, клюете носом и просыпаетесь, уже зная СОМ или API в Windows. Или проскальзываете на лекцию, недолго похрапываете и уходите, думая «объектами», словно всегда только этим и занимались. Хотите?
Сегодня это называется методами обучения во сне и подсознательного перепрограммирования бессознательного, но все начиналось с программ аудио-тренинга, курсов изучения иностранных языков на кассетах. А еще раньше были долгоиграющие пластинки и даже пластинки на 78 оборотов, что возвращает меня во времена запуска Спутника.
Спутник совершенно изменил мою жизнь. В 1957 году русские удивили и воодушевили весь мир, запустив первый искусственный спутник планеты. Это перевернуло представления американцев о космосе, о русских и о мозговитой молодежи, любящей науку. До запуска Спутника я был недо-оцененным неудачником. Почти за один день я стал неудачником, оцененным по достоинству.
И я решил изучать русский язык. Курсов по этому языку не было, поэтому я заказал недавно изданный, но уже устаревший курс «живого русского языка» на трех долгоиграющих пластинках. Надпись на конверте обещала быстрое и легкое освоение этого трудного языка. Уже через несколько месяцев я знал русский алфавит и мог на ломаном русском произнести несколько предложений, однако по-настоящему язык так и не выучил. Это трудно и требует много времени. На самом деле мне понадобилось совершить три консультационных поездки в Россию, прежде чем я смог говорить на улицах Москвы и Ленинграда. Но даже тогда все думали, что я говорю по-русски с болгарским акцентом.
Конечно, изучить Smalltalk намного легче, чем русский язык. Однако ни тот ни другой язык невозможно выучить во сне. Несмотря на то что вокруг такого обучения возникла целая индустрия, не существует никакого надежного или непротиворечивого подтверждения того, что процесс обучения можно ускорить какими-либо формами музыки или ритма, или инфразвуковых импульсов. Нет подтверждений и тому, что информация, записанная на пороге слышимости на (или под?) музыку в стиле New Age, помогает повысить продажи или сбросить вес, или стать более уверенным в себе. Никакие средства подобного рода не стоят денег, исчезающих с вашей кредитной карты. Они выгодны лишь тем, кто предлагает такое «суперобучение».
Итак, как же человек изучает сложные языки или языки программирования? Как человек учится программировать или лечить людей? Как человек обучается думать в терминах процедур или объектных классов, или шаблонами блокированных коммуникаций?
Экономист Кеннет Боулдинг (Kenneth Boulding), один из создателей современной теории систем, сказал, что ноу-хау — работающее знание — это не то же самое, что знание. Знание, даже очень сложное знание, может быть получено многими способами, однако ноу-хау требует обучения на собственном опыте. Вы можете много узнать о программировании или психотерапии с помощью чтения, или наблюдения за другими людьми, или посещения ярких ознакомительных показов. Однако стать программистом или терапевтом вы сможете только в том случае, если будете писать программы или лечить людей.
Наверное, лекции — это самый неэффективный и неподходящий способ обучения. По очевидным причинам они почти бесполезны для передачи ноу-хау. Учителя и инструкторы должны отвечать за то, насколько успешно им удается передать информацию, а не за то, какой объем материала они смогли поверхностно затронуть. Когда преподаватель бубнит за-нудным голосом об одном, потом о другом, затем о третьем и читает из списка, содержащего множество пунктов, мало кто из присутствующих почерпнет много информации.
А как насчет мультимедийных презентаций? Я был преподавателем в Институте исследования систем (Systems Research Institute) в IBM, когда приблизительно в 1970 году Джеймс Мартин (James Martin) поразил коллег и студентов тем, что использовал не один, а целых два проектора для 35-миллиметровых слайдов. С тех пор многое изменилось. Теперь уже все применяют по два проектора! Теперь, чтобы быть впереди всех, требуется намного больше. Цвет. Звук. Графика. Анимация. Игры.
Есть ли польза от мультимедиа? Помогают ли цветные анимации узнать больше или быстрее? Мигающий свет и яркие рубашки действительно помогают. По крайней мере, аудитория дольше не засыпает, что очень важно, так как обучение во сне не работает. Визуальное и звуковое акцентирование может способствовать запоминанию. Однако эти средства работают лишь в том случае, если они тесно, неразрывно связаны с тем, что предназначено для запоминания. Я хорошо помню эффектное видеопреобразование, которое видел на лекции в прошлом году, но совершенно не помню о чем, собственно, шла речь. Хотя мне понравилось то, как машина превращалась в стодолларовую купюру.
Для облегчения процесса обучения одних только фенечек и фитюлек недостаточно. Если мультимедиа, мультисенсорная коммуникация действительно могут принести хоть какую-то пользу, то она происходит от тщательного, точного и уместного применения каждого средства. На заре структурной революции я работал с компанией, которая занималась производством мультимедийных обучающих пакетов по различным темам в области разработки программного обеспечения. Печатные, аудио- и видеоматериалы усиливали и дополняли друг друга, поскольку каждый элемент в процессе обучения был представлен именно в той форме, которая наиболее эффективно передавала соответствующие понятия или умения.