Голубятня: университетский код

Сейчас в “Голубятне” мы помедитируем над одним весьма таинственным явлением – т.н. университетским кодом, другими словами программными продуктами, исходящими из недр высших учебных заведений.

Мне постоянно казалось, что самое ужасное, что лишь может выйти из рук программиста, носит гордое имя “индийского кода”. Причем оценка эта, как говорят американские люди, ubiquitous, везде принятая и ставшая нарицательной. Обстоятельство “популярности” кода программы, выходящего из-под пера моих практически что уже родных индусов, в том, что индусы пишут возможно 70 % всего кода в мире. Пишут для всех – начиная от России и заканчивая Латинской Америкой. Что касается американских компаний, то они, наверное, в далеком прошлом уже поголовно перешли на индийский аутсорсинг.

Из-за чего индусы пишут для всех? По причине того, что а) просят весьма недорого и б) индусов-программистов довольно много. Другими словами – ну Весьма: похоже, в каждой деревне имеется собственный брамин, собственный пастух и собственный персональный программист. Нация, непременно, очень гениальная, но страдающая от двух недугов.

Первый недочёт индийского программирования разъясняется отсутствием полноценного образования. Возможно, 90 % индийских программистов – самоучки. Полные. Плюс – наколенный стиль работы: компы у них страшные и устаревшие лет так на 10 (очевидно нехватает денег на апдейт).

Второй недочёт – и на мой взор, основной: неорганизованность и запредельная расхлябанность, которая лежит в базе отнюдь не индийских программистов, а всей индийской нации. Дабы растолковать, откуда берется эта тотальная энтропия, мне было нужно бы написать монографию (кстати, свободно: над данной темой думал продолжительно и обстоятельно!). В случае если одной фразой, то обстоятельство индийской неорганизованности – в отсутствии индукции на уровне мышления. Частное знание не сводится к неспециализированному, а принципиально остается на частном уровне.

Другими словами, в случае если у вас имеется сто (тысяча) различных всевышних, вы, будучи европейским человеком, непременно задумаетесь: быть может, в действительности всевышних не так много? Может, все эти различные всевышние реализуют что-то общее в разных ипостасях? В итоге вы придете к духовному дуализму (манихейству) либо, на худой конец, к монотеизму.

Для индуса подобное мышление пагубно и оскорбительно. Всевышних должно быть как раз что тысяча, а лучше – десятки тысяч. И любой – неповторимый и любимый. И без того – во всем, включая программирование. В то время, когда индийский программист решает любую стоящую перед ним задачу, он кроме того не пробует выработать какой-то один оптимальный метод и свести к нему все множество вариантов. Для индийского программиста таковой подход противоестественен, исходя из этого он, значительно чаще, будет функционировать следующим образом: сперва реализует первый попавшийся под руку вариант ответа задачи, после этого задумается, отыщет другой движение и добавит его также, позже задумается опять, отыщет еще десять различных способов решить задачу и все десять добавит в код.

В следствии на выходе окажется ужасная, бесформенная, неструктурированная, никак не формализованная и не организованная куча кода вперемешку с мусором. Все это будет стоить копейки и наряду с этим кроме того трудиться. Не смотря на то, что об эффективности программного ответа и оптимальном применении ресурсов лучше кроме того не вспоминать.

Как видите, с индийским кодом все легко. Но с университетским напротив – весьма сложно. Мне в руки в различное время попадалось большое количество различных программ, написанных в университетах: и медицинских, и денежных, и для обработки аудио/видео, и широкого пользования (утилиты, текстовые процессоры, конверторы форматов и т.д.). Если вы попросите меня на данный момент назвать хотя бы одну из этих программ по имени, я в слабости разведу руками: никого из них по имени я не помню!

Обстоятельство амнезии отнюдь не в старческом склерозе (возможно :), а в идеальной бесцветности и незапоминаемости этих программных поделок. То, что я прекрасно не забываю: у всех них был ужасный устаревший интерфейс, предельно неудобные методы исполнения задач (вот хорошее слово – перректальные методы) и баги, каковые лезли отовсюду. Я уже не говорю о том, что программы, написанные в университетах, страно нестабильны и всегда вылетают.

Иными словами: в случае если существует что-то хуже индийского кода, так это код университетский. И тут появляется важное удивление: как такое вероятно?! Так как университет – это вершина образовательной пирамиды отечественной цивилизации! Университет per se обязан выдавать на гора самые лучшие, оптимальные ответы – и вследствие того что в его стенках обучаются самые гениальные и перспективные студенты (будущие инженеры и профессиональные программисты IT), и вследствие того что тут преподают лучшие эксперты в области кодостроения (в других областях – также лучшие). По крайней мере так должно быть, и таковы представления мира о сущности университета.

Посмотрите на эту картину:

Это титульная страница портала святая святых отечественного знания – моей дорогой альма опытен МГУ! Все про данный портал возможно сообщить уже визуально, но в случае если кто-то не верит, сходите по линку и посмотрите исходный код. Налюбовались? Вопросы имеется? Да, вы правы: ТАК писали сайты лет 20 тому назад (в середине 90-х).

Но разрешите, разрешите! Это же портал МГУ! Это же знак науки и все отечественные надежды на будущее! Может, неприятность в том, что в МГУ обучается большое количество диких и необразованных гуманитариев, каковые перекрыли гениальным программистам-гоблинам все дыхательные пути? Что ж, давайте посмотрим на специальные порталы “верных” факультетов. Начнем с мехмата (механико-математического):

Упс, что-то не срослось! “Таковой страницы нет”. Линк на портале МГУ имеется, а страницы нет. Возможно, у математиков нет времени на занятия таким ничтожным пустяком как оформление визитки собственного очень способного факультета. Посмотрим, может, больше повезет с факультетом вычислительной кибернетики и математики (кому же как не им обладать высшим пилотажем HTML):

В сравнении со “страницей нет” прорыв космический. Еще бы – Drupal а также седьмой. Действительно, “из коробки”. Такими, по всей видимости избыточными, понятиями как дизайн, пропорции, цветовое ответ никто не озабочивался. По всей видимости, также некогда.

В качестве развлечения предлагаю напоследок скриншот портала моего родного факультета московского университета – филологического:

Зацените очень возможность на фотографии – какая чудесная, переполненная смыслами асфальтовая грядка на первом замысле, эффектно оттеняющая параллелепипед учебного конкурса. Я в то время, когда в первоначальный раз заметил, долго-долго плакал. То ли от ностальгии, то ли от жалости.

Итак, кто же мне растолкует: что творится с университетами? Может, я как-то не осознаю самого главного? Может, программирование, Web, Интернет – штуки глубоко маргинальные, лишенные какой-либо значимости для высоколобых гаудеамусов? Откуда такое презрение к IT-разработкам? Откуда демонстративное нежелание трудиться красиво, с блеском, с фантазией? Поражать окружающих красивым кодом, уникальным ответами, очень способными методами? Вместо всего этого – похабная посредственность, неряшливость, тяп-ляп программирование на уровне кроме того не ученика, а подмастерья.

У меня нет ответов на эти вопросы. Может, вы посоветуете?

ГОЛУБЯТНЯ СОБСТВЕННЫМИ РУКАМИ несложной вариант


Похожие статьи: