Моя бабушка жутко не любила поездки железной
дорогой. Паровозы не вызывали у неё доверия, вели себя явно
подозрительно и откровенно угрожающе. С большим трудом моему отцу
удавалось её посадить в вагон, когда это на самом деле было
необходимо. Отец же, за всю свою жизнь исколесив в командировках
почти весь союз, провёл в вагонах чистого времени что-то около года
или больше, но каждый раз неимоверных душевных усилий стоило ему
подниматься на борт самолёта. Я летаю, не замечая в них
принципиальных отличий от городской маршрутки и уж точно не
переживаю по этому поводу. Рискну предположить, что будь сейчас
пассажирский коммерческий космос массово доступен, моим детям или
внукам не будет стоить каких-то душевных усилий сгонять на выходные
в лунную колонию и обратно, но я сам никогда в жизни не полезу ни
во что, что летит за пределы атмосферы Земли. Нормальный,
эволюционный ход истории. Потомки должны быть лучше предков, иначе
человечество деградирует.
В IT наблюдается схожая тенденция, если брать за критерий меру, так
сказать, обыденности технологий, их интеграцию в ежедневные социальные
взаимодействия. Персоналки начали своё победное шествие в народ в
эпоху, когда вычтехника была уделом учёных, инженеров и кучки
маргиналов-нёрдов. Всех их уже объединял инженерный и творческий
подход, а персоналкам пришлось туговато поколение наших родителей
воспринимало их и тогда и сейчас как какие-то чёрные ящики, над
которыми надо проводить точно выверенные шаманские ритуалы для
получения нужного результата. Творческому любопытству тут места нет
если нужный значок или кнопка отсутствует в указанном инструкцией
месте на экране, но оказываются сдвинуты немного в сторону
наступает вполне понятная паника и желание беспокоить техподдержку,
генерируя тонны соответствующего фольклора в стиле
(испуганно) у меня пропали панельки!
(устало) нажмите контрол-о
(радостно) ой а теперь у меня панельки мерцают!
(устало) отпустите контрол-о
Я полагаю, что в этой отрасли граница между поколениями пролегает
там, где исчезает очевидность технических решений. Например, выбор
элемента в ListView делается двумя кликами мышки, а нажатие кнопки
одним. Мы привыкли к этому. Это наверняка результат какого-нибудь
исследования в области эргономики интерфейсов родом из Microsoft
или Apple или может быть даже ещё из PARC. Но попробуйте объяснить
своей маме в чём же разница Люди, не то чтобы далёкие, а, скажем
так, неблизкие к IT, часто подозревают нас в каких-то магических
способностях, когда мы, подойдя к заведомо незнакомой (но очевидно
склёпанной на каком-то одноплатнике или микроконтроллере), железке
с кнопками и экраном, разбираемся в ней существенно быстрее простых
смертных. Но никакой магии здесь нет, конечно просто для нас
workflow устройства более очевиден и интерфейс как правило
разработан именно так, как придумали бы его мы сами. Поэтому и всё
сразу понятно.
Промежуточный дисклеймер: всё вышесказанное, как обычно в моих
статьях в стиле поболтать, заведомо страдает от множества упрощений
и допущений ради краткости последующего изложения основной
мысли.
Пока что всё вышеописанное отражает мою собственную,
идеализированную и немного упрощённую картину мира, сложившуюся в
то время, когда я сам ещё более-менее относился к поколению
нынешнему. Но годы идут и вот я, уже преподаватель ряда
IT-дисциплин в двух ведущих столичных университетах, работаю со
студентами. Студенты бывают разные, целый спектр от энтузиастов до
пофигистов, от тех, кто пришёл просидеть штаны 5 лет потому, что
так принято, до тех, кто всерьёз намерен получать полезные
отраслевые знания и навыки. Первых почему-то больше, и это очень
печально, потому что конкурс на эту специальность в этом вузе
довольно высокий и попасть сюда требует усилий.
И вот в процессе рутинной работы я в последнее время стал замечать
пугающие меня явления. Происходит что-то такое, для чего на ум
приходят названия вроде хроническое нелюбопытство. Поясню на
примере. Студенты выполняют цикл лабораторных работ на языке по
выбору, но как правило это C# или java, редко python. К небольшому
формальному отчёту в электронной форме требуется также приложить
архив из всех существенных исходников, чтобы я мог запустить и
проверить их у себя. Казалось бы, фраза приложите архив исходников
не должна ни у кого вызывать непонимание? Когда речь идёт о C# то
для пущей понятливости я говорю им приложите архив вашего solution.
Тут можно что-то понять не так? Оказывается, ещё как можно.
Помните древний айтишный анекдот доинтернетовских времён про
командировочного, которого отправили с дискетой в другой город
скопировать какой-то нужный его фирме софт. И который привёз на
этой дискете один LNK-файл со ссылкой на этот софт. Вы думаете,
такое только в анекдотах бывает? Как бы не так. Сейчас конец
семестра, у половины студентов половина лабораторок ещё не сдана, и
хотя я в сентябре умолял их не откладывать, чтобы потом не
разгребать по 30+ работ со всего потока каждый вечер, они именно
это и делают.
И вот, нашёлся один талант, который судя по текстовой части отчёта
и скриншотам, сделал очередные три лабораторных работы грамотно и
правильно, ничтоже сумняшеся присылает архив, внутри которого да,
вы правильно угадали находятся три сиротливых SLN-файла. Я его
спрашиваю, мол, уважаемый коллега, а вы вообще знаете, что такое
SLN файл и для чего он нужен? А он и отвечает, что там находятся те
самые требуемые исходные коды его лабораторок. Когда же я сказал,
что исходных кодов там нет, ответ студента был в стиле ну раз вы
так говорите, то я всё исправлю. То есть даже тогда, когда
преподаватель очевидно зацепился за это конкретное место, у
студента не возникло мысли самостоятельно залезть в этот
злосчастный файл и лично выяснить, что же с ним не так. Тут
становится сначала смешно, а потом не очень, когда таких талантов
набралось ещё человека четыре и все, на первый взгляд, умные
ребята, задних не пасут, академически не отстают и всё такое.
Значит, проблема хронического нелюбопытства имеет системный
характер. Когда мне было лет 10, я создал свой первый в жизни
экзешник в Turbo Basic, будучи вне себя от счастья по поводу того,
что можно, оказывается, компилировать писать программы, не
привязанные к среде разработки, а выполняемые непосредственно. И
тут же полез смотреть, что же там внутри. Ещё ничего не понимая из
увиденного, я всё же заметил, что там есть сигнатура в начале,
какие-то текстовые строки в конце и что сам машинный код выглядит
неравномерно. То есть, инженерное любопытство по поводу того, как
устроена сложная система под капотом, даже если релевантных знаний
около нуля, я считал чем-то естественным для любой человеческой
особи. Ну, если не любой вообще, то для любой поступающей в
университет на факультет IT по специальности программная инженерия.
Ну кто в детстве не пытался разобрать какую-нибудь механическую
игрушку и посмотреть, что там внутри?
Так вот, пожалуйста, имеем будущую интеллектуальную и
технологическую элиту страны, для которой сама идея заглянуть
внутрь произвольного файла и посмотреть, что там и можно ли это
как-то понять-трактовать-поправить оказывается, является далеко не
очевидной! Даже при том, что SLN-файл текстовый, а не бинарный.
Кстати, отличие текстового файла от бинарного для них тоже не
очевидно, и это, увы, более массово чем нежелание смотреть внутрь.
Не в том смысле отличие, что любой файл это последовательность
байт, нет. А о том, что файлы бывают более человеко-читаемые и
более машино-читаемые у них тоже нет никакого понятия. У людей,
которые, вроде бы как выбрали стезю разработчика. Внезапно,
появилось поколение будущих IT-шников, для которых файл стал
базовой семантической единицей информации!
А ведь это не первый и не второй курс, и многие из них уже
трудоустроены по специальности и весьма успешны на своих работах.
Что происходит? Встречались ли вам похожие явления? Или это у меня
уже синдром раньше трава была зеленее? Дискасс.