НЕОБЫКНОВЕННЫЕ ФИЗИКИ

физфак знает как!!!

первая консультация

on 13.03.2007

Необходимость проведения консультации росла и колосилась от занятия к занятию. Лучше уж проходить по чуть-чуть, если что не понятно, чем оттарабанивать материал за весь семестр. Таким образом, оповестили моих первокурсников о консультации во вторник на 4 паре. Кабинет выбрали близкий и доступный — 316. Сначала очень обрадовался когда увидел большое количество людей, желающих проконсультироваться: Юнус, Лена, Земфира, Жанна, Лёшики. Ведь это моя первая консультация. С другой сторону стало немного непонятно, почему не могу объяснить всё по-человечески на паре, чтоб не тревожить люд во внеурочное время. Вошли в аудиторию, расселись. Приятно, что народ не говорил: запишите меня, что пришёл на консультацию!!!

На вопрос с чего начнём и что непонятно, получен единогласный ответ: всё непонятно, тёмный лес!!!

С другой стороны, выражение «тёмный лес» тоже не вполне понятно. Либо это это лес, находящийся в тени другого объекта, либо лес с деревьями у которых ввиду каких-либо катаклизмов потемнели листья, либо это просто собирательный образ лесо-парковой зоны российского черноземья, либо ещё что-то. Также и с программированием. Либо молчал как рыба на парах, либо информация не доходила до физиков, а аннигилировала прямо в воздухе с выделением массы положительных эмоций.

Чтож, народ пришёл, народ тянется к знаниям — это всегда позитивно. Будем учить народ, для этого и существуют университеты. Это в ПТУ могут отправить — бери лопату, грабли  - иди, тренируйся. Но у нас — другая политика. Чем больше человек узнает, тем проще ему будет дальше. Первый курс является фундаментом для дальнейшего образования и нельзся запускать то, что непонятно, даже если это предемет программирование. Нет ненужных предметов, есть предметы развивающие.

Начал с самого начала — с шаблона записи программы на языке Паскаль. Всё очень просто, — рисовал на доске весёлые кракозябры, — здесь бегин, здесь енд. Только народ чего-то грустнел по мере уменьшения свободного места на доске. Тогда принялся за всевозможные упрощения и олицетворения: программирование на примере кошечек и собачек. Это возымело определённый успех. Допустим, если кошка съедает мышку, то это всё равно что переменная М приравнивается переменной К, но не наоборот, так как мышка не может съесть кошку. Затем собачка съедает кошку…

Не следует требовать всё и сразу. Лучше понемногу и постепенно. Язык Паскаль  не в один день писался, поэтому требовать его изучения в один присест тоже не стоит. Для сохранения позитивного отношения к консультация, так как запоминается последнее, решил прочитать уважаемым физикам юмористический рассказ на тему программирования. Предварительно спросил народ, желаете ли вы ещё что-то слушать, так как учить и мучить, вообще разные вещи. Обладая глубоким гуманизмом и железной выдержкой, физики как один заявили, что готовы дальше слушать. Забегая вперёд, надо отметить, все долушали рассказ до конца. Вот они, настоящая надежда, что всё будет хорошо и даже лучше, истинное терпение и стойкость. Не теряйте, пожалуйста, данные качества!!! А рассказ был такой.

Про русского программиста
This is how things work in Information Technology…
Автор: Anatolix
Любой русский программист после пары минут чтения кода, обязательно вскочит и произнесет обращаясь к себе: переписать это все к едрене-фене. Потом в нем шевельнется сомнение в том, сколько времени это займет, и остаток дня русский программист потратит на то, что будет доказывать самому себе, что это только кажется, что переписать это много работы. А если взяться и посидеть немного, то все получится. Зато код будет красивый и правильный.
На следующее утро русский программист свеж, доволен собой и без единой запинки докладывает начальству, что переписать этот кусок займет один день, не больше. Да, не больше. Ну, в крайнем случае, два, если учесть все риски. В итоге начальство даст ему неделю и через полгода процесс будет успешно завершен. До той поры, пока этот код не увидит другой русский программист.
А в это время, в соседних четырех кубиках, будет ни на секунду не утихать работа китайских программистов, непостижимым образом умудряющихся прийти раньше русского программиста, уйти позже, и при этом сделать примерно втрое меньше. Эта четверка, давно не пишет никакого кода, а только поддерживает код написанный, в свое время индусом и дважды переписанный двумя разными русскими. В этом коде не просто живут баги. Здесь их гнездо. Это гнездо постоянно воспроизводит себя при помощи любимой китайской технологии реиспользования кода — copy/paste. Отсюда баги расползаются в разные стороны посредством статических переменных и переменных переданных по ссылке (поскольку, китайский программист не может смириться с неудобствами вызванными тем, что он не может изменить значение внешней переменной переданной в его функцию модулями, которые переписывает русский программист).
Вспоминая об этой функции русский программист, как правило на время теряет дар английской речи, и переходит к какой-то помеси русского и китайского. Он давно мечтает переписать весь кусок, над которым работают китайцы, но у него нет времени. На китайцах висят серьезные баги, о которых знает начальство и постоянно их торопит. Китайцы торопливо перевешивают баги друг на друга, поскольку знают, что попытки их починить приведут к появлению новых, еще худших. И в этом они правы. Разобраться в том, в каком порядке меняются статические переменные, и как приобретают свои значения, способен только один человек на фирме — индус.
Поэтому, когда всю четверку уволят во время сокращения… А кого еще увольнять? Русский — еще не переписал свой кусок, а индус — главная ценность фирмы — он редко обращает внимание на проект, но когда обращает, все понимают, что так как он, архитектуру никто не знает. Так вот, когда китайцев увольняют, у их кода возможны две основные судьбы. Первая — он попадет к русским и его перепишут. Вторая — он попадет к местному, канадскому программисту.
О, канадский программист это особый тип. Он ни на минуту не задумываясь, как рыцарь без страха и упрека, бросится фиксить самый свирепый баг китайского кода. Этот баг живет там уже три года, и китайцы уже четырежды (каждый по разу) сообщали начальству, что он пофиксен. Но баг каждый раз возвращался,как Бетмен в свой Готхем. Итак, канадский программист сделает то, чего китайцы не рисковали делать в течении трех долгих лет. Он, при помощи дебагера, отследит место, где статическая переменная приняла значение -1 вместо правильного 0, и решительным движением заведет рядом вторую переменную с правильным значением. Баг погибнет в неравной схватке с канадским программистом.
Но победа будет достигнута тяжелой ценой. Работать перестанет все, включая только что переписанный русским программистом код. Это повергнет русского программиста в задумчивость на целых два дня, после чего он сделает, в общем-то, предсказуемый вывод о том, что дизайн с самого начала был неправильным, и все надо переписать. На это нам нужна неделя. Да, неделя, не больше.
Канадский программист смело бросится налаживать все, и станет еще хуже, хотя казалось бы… Индус придумает и вовсе гениальное решение — отбранчить код. Согласно его плану, мы теперь будем поддерживать две версии одного и того же кода — одну работающую но с багом, другую без бага, но не работающую. Русский программист услышав об этом плане, сломает линейку об стол и дома обзовет жену дурой, но на митинге возразить не решится.
К счастью, все это не сильно влияет на дела фирмы, поскольку продукт продается и так. Поэтому менеджмент ходит в целом довольный и не устает напоминать всем, что они отобраны как лучшие среди лучших. И что мы давно доказали свою способность выпускать продукт тем, что выпускаем его иногда.


Добавить комментарий