Голубятня: Университетский код Сергей Голубицкий
Голубятня: Университетский код
Сергей Голубицкий
Опубликовано 21 мая 2013
Сегодня в «Голубятне» мы помедитируем над одним очень загадочным явлением — т.н. университетским кодом, то есть программными продуктами, исходящими из недр высших учебных заведений.
Мне всегда казалось, что самое страшное, что только может выйти из рук программиста, носит гордое имя «индийского кода». Причем оценка эта, как говорят американские люди, ubiquitous, повсеместно принятая и ставшая нарицательной. Причина «популярности» программного кода, выходящего из-под пера моих почти что уже родных индусов, в том, что индусы пишут наверное 70 % всего кода в мире. Пишут для всех и вся — начиная от России и заканчивая Латинской Америкой. Что касается американских компаний, то они, похоже, давно уже поголовно перешли на индийский аутсорсинг.
Почему индусы пишут для всех? Потому что а) просят очень недорого и б) индусов-программистов очень много. То есть — ну ОЧЕНЬ: похоже, в каждой деревне есть свой брамин, свой пастух и свой персональный программист. Нация, безусловно, чрезвычайно талантливая, однако страдающая от двух недугов.
Первый недостаток индийского программирования объясняется отсутствием полноценного образования. Наверное, 90 % индийских программистов — самоучки. Полные. Плюс — наколенный стиль работы: компы у них ужасные и устаревшие лет так на 10 (банально нехватает денег на апгрейд).
Второй недостаток — и на мой взгляд, главный: запредельная расхлябанность и неорганизованность, которая лежит в основе отнюдь не индийских программистов, а всей индийской нации. Чтобы объяснить, откуда берется эта тотальная энтропия, мне пришлось бы написать монографию (кстати, запросто: над этой темой размышлял долго и обстоятельно!). Если одной фразой, то причина индийской неорганизованности — в отсутствии индукции на уровне мышления. Частное знание не сводится к общему, а принципиально остается на частном уровне.
То есть, если у вас есть сто (тысяча) разных богов, вы, будучи европейским человеком, рано или поздно задумаетесь: а может, на самом деле богов не так много? Может, все эти разные боги реализуют нечто общее в различных ипостасях? В конце концов вы придете к духовному дуализму (манихейству) или, на худой конец, к монотеизму.
Для индуса подобное мышление пагубно и оскорбительно. Богов должно быть именно что тысяча, а лучше — десятки тысяч. И каждый — неповторимый и любимый. И так — во всем, включая программирование. Когда индийский программист решает любую стоящую перед ним задачу, он даже не пытается выработать какой-то один оптимальный алгоритм и свести к нему все множество вариантов. Для индийского программиста такой подход противоестественен, поэтому он, чаще всего, будет действовать следующим образом: сначала реализует первый попавшийся под руку вариант решения задачи, затем задумается, найдет альтернативный ход и добавит его тоже, потом задумается снова, найдет еще десять разных способов решить задачу и все десять добавит в код.
В результате на выходе получится чудовищная, бесформенная, неструктурированная, никак не формализованная и не организованная куча кода вперемешку с мусором. Все это будет стоить копейки и при этом даже работать. Хотя об эффективности программного решения и оптимальном использовании ресурсов лучше даже не задумываться.
Как видите, с индийским кодом все просто. Зато с университетским наоборот — очень сложно. Мне в руки в разное время попадалось много разных программ, написанных в университетах: и медицинских, и финансовых, и для обработки аудио/видео, и широкого пользования (утилиты, текстовые редакторы, конверторы форматов и т.д.). Если вы попросите меня сейчас назвать хотя бы одну из этих программ по имени, я в беспомощности разведу руками: ни одну из них по имени я не помню!
Причина амнезии отнюдь не в старческом склерозе (хочется надеяться :), а в совершенной бесцветности и незапоминаемости этих программных поделок. То, что я хорошо помню: у всех них был жуткий устаревший интерфейс, предельно неудобные алгоритмы выполнения задач (вот хорошее слово — перректальные алгоритмы) и баги, которые лезли изо всех щелей. Я уже не говорю о том, что программы, написанные в университетах, удивительно нестабильны и постоянно вылетают.
Иными словами: если существует что-то хуже индийского кода, так это код университетский. И здесь возникает серьезное недоумение: как такое возможно?! Ведь университет — это вершина образовательной пирамиды нашей цивилизации! Университет per se должен выдавать на гора самые лучшие, оптимальные решения — и потому, что в его стенах обучаются самые талантливые и перспективные студенты (будущие профессиональные программисты и инженеры IT), и потому, что здесь преподают лучшие специалисты в области кодостроения (в других областях — тоже лучшие). Во всяком случае так должно быть, и таковы представления мира о сущности университета.
Взгляните на эту картинку:
Это титульная страница портала святая святых отечественного знания — моей дорогой альма матер МГУ! Все про этот портал можно сказать уже визуально, но если кто-то не верит, сходите по линку и посмотрите исходный код. Полюбовались? Вопросы есть? Да, вы правы: ТАК писали сайты лет 20 тому назад (в середине 90-х).
Но позвольте, позвольте! Это же портал МГУ! Это же символ науки и все наши надежды на будущее! Может, проблема в том, что в МГУ учится много диких и необразованных гуманитариев, которые перекрыли талантливым программистам-гоблинам все дыхательные пути? Что ж, давайте заглянем на специализированные порталы «правильных» факультетов. Начнем с мехмата (механико-математического):
Упс, что-то не срослось! «Такой страницы нет». Линк на портале МГУ есть, а страницы нет. Наверное, у математиков нет времени на занятия таким ничтожным пустяком как оформление визитной карточки своего гениального факультета. Посмотрим, может, больше повезет с факультетом вычислительной математики и кибернетики (кому же как не им владеть высшим пилотажем HTML):
В сравнении со «страницей нет» прорыв космический. Еще бы — Drupal и даже седьмой. Правда, «из коробки». Такими, видимо избыточными, понятиями как дизайн, пропорции, цветовое решение никто не озабочивался. Видимо, тоже некогда.
В качестве развлечения предлагаю напоследок скриншот портала моего родного факультета МГУ — филологического:
Зацените особо перспективу на фотографии — какая волшебная, переполненная смыслами асфальтовая грядка на первом плане, эффектно оттеняющая параллелепипед учебного конкурса. Я когда в первый раз увидел, долго-долго плакал. То ли от ностальгии, то ли от жалости.
Итак, кто же мне объяснит: что творится с университетами? Может, я как-то не понимаю самого главного? Может, программирование, Web, Интернет — штуки глубоко маргинальные, лишенные какой-либо значимости для высоколобых гаудеамусов? Откуда такое презрение к IT-технологиям? Откуда демонстративное нежелание работать красиво, с блеском, с фантазией? Поражать окружающих изящным кодом, оригинальным решениями, гениальными алгоритмами? Вместо всего этого — пошлая посредственность, неряшливость, тяп-ляп программирование на уровне даже не ученика, а подмастерья.
У меня нет ответов на эти вопросы. Может, вы подскажете?
К оглавлению
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Голубятня: Ась? Сергей Голубицкий
Голубятня: Ась? Сергей Голубицкий Опубликовано 12 октября 2010 года Читатели со стажем не дадут соврать: о системах распознания речи (VRS, Voice Recognition Systems) я писал регулярно, начиная с самой первой статьи, опубликованной в бумажной «Компьютерре» аж в 1996
Голубятня: Подстава Сергей Голубицкий
Голубятня: Подстава Сергей Голубицкий Опубликовано 16 декабря 2010 года Что-то сюжеты для моих постов обходятся мне все дороже и дороже. Ну да ладно: искусство настаивает на жертвоприношениях.Короче говоря два дня назад меня подставили на дороге. По
Голубятня: Дресс-код Сергей Голубицкий
Голубятня: Дресс-код Сергей Голубицкий Опубликовано 19 августа 2010 года Любое современное общество больно неврозом. Вопрос лишь в мере поражения души, сердца и мозга. Возьмем, к примеру, современную Америку. Неврозов много и большинство из них
Голубятня: Пратьяхара Сергей Голубицкий
Голубятня: Пратьяхара Сергей Голубицкий Опубликовано 16 апреля 2011 года Нигде больше кроме Индии я не встречал людей с чистой парадигмой. То есть таких, у которых та или иная психологическая или социальная функция доведена до предела, до
Голубятня: Шаньчжай Сергей Голубицкий
Голубятня: Шаньчжай Сергей Голубицкий Опубликовано 20 апреля 2011 года Сегодня у нас обзорный пост, предваряющий целый букет видеопрезентаций, которые прольются на читательские головы, начиная со следующей недели. У меня скопилось в ожидании
Голубятня: I Am You Сергей Голубицкий
Голубятня: I Am You Сергей Голубицкий Праздник «Холи» возбудил не только гоанцев, но и всю творчески активную тусовку европейского десанта. Надо сказать, что в Гоа постоянно проживает значительное количество музыкантов, художников, поэтов и танцоров, которые работают, не
Голубятня: Что еще? Сергей Голубицкий
Голубятня: Что еще? Сергей Голубицкий Опубликовано 25 июня 2011 года На мартовской презентации айпада Garage Band явился, как говориться, story apart. Не удивительно, что в среде профессиональных музыкантов и композиторов, познакомившихся с уникальными и
Голубятня: PX Сергей Голубицкий
Голубятня: PX Сергей Голубицкий На следующей неделе у меня будет большая съемка в передаче «Крипто» («Совершенно секретно»), посвященной «Филадельфийскому эксперименту». Казалось бы — ну что еще можно высосать интересного из этого замшелого сюжета в наши
Голубятня: Just 5 Сергей Голубицкий
Голубятня: Just 5 Сергей Голубицкий Опубликовано 12 января 2011 года Продолжаем новогодний видео марафон. Сегодня вертим в руках телефоны второго поколения от Just 5. В видео клипе я назвал сотрудников этой удачливой компании «нашими соотечественниками»
Голубятня: Out-of-the-box Сергей Голубицкий
Голубятня: Out-of-the-box Сергей Голубицкий Опубликовано 24 августа 2010 года Концепция out-of-the-box хорошо известна шозистам мира, хотя и не особо принята в нашем айтишном королевстве. Смысл концепции прост: распаковал коробку, достал и сразу же начал
Голубятня: Интерактив №3 Сергей Голубицкий
Голубятня: Интерактив №3 Сергей Голубицкий Опубликовано 01 июля 2010 года Продолжаем жамкать Жумлу с помощью, как теперь оказалось, уже двух профи. Андрей Мироненко JOOMLA. Часть 3 Продолжим.В процессе написания статьи и ответов на
Голубятня: Мера Сергей Голубицкий
Голубятня: Мера Сергей Голубицкий Опубликовано 02 июля 2010 года Внимательно наблюдаю за баталиями вокруг нового IPHONE 4: то ли антенна слабовата, то ли конструкция кривая, то ли полосы какие-то желтые вытянулись по экрану да пятна (эх, как же все
Голубятня: Сергей Комаров Сергей Голубицкий
Голубятня: Сергей Комаров Сергей Голубицкий Опубликовано 15 июля 2010 года Очередной микроюбилей — 200 публикация «Голубятни Онлайн». Вспоминаю бумажные «Голубятню 100», «Голубятню 200», «Голубятню 300», «Голубятню 400»! Надеялся дожить до совсем уж
Голубятня: АК-47 Сергей Голубицкий
Голубятня: АК-47 Сергей Голубицкий Опубликовано 16 июня 2010 года Пауза, вызванная традиционным летним анабазисом на юга, затянулась, поэтому беру стахановские обязательства: до конца месяца выдавать посты в удвоенном ритме! Тем более, что совсем без
Голубятня: КГ/АМ Сергей Голубицкий
Голубятня: КГ/АМ Сергей Голубицкий Опубликовано 26 марта 2012 года Повидло у меня сегодня слегка не первой свежести, но не беда: сладкий продукт не тухнет :) Тем более, что хочу предложить читателям довольно непривычный аспект хорошо знакомой