Просмотров: 7646

Старая-престарая сказка: сегодня программисты уже не те


Ну что, молодежь, усаживайтесь поудобнее, расскажу-ка я вам одну историю.

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

Не было у нас никаких «сохраненных программ», не то что у вас, мажоры.

старички программирование программисты старая школа воспоминания прошлое кодеры программеры

Мы обходились чертежами! Перфокартами! Исписанными салфетками! Мы зарабатывали на хлеб в поте лица, не имея возможности легким движением руки скачать приложение на телефон, чтобы рассчитать продовольственный бюджет.

Ну ладно-ладно, все было не так плохо, да и я не настолько стар. Но когда я начал писать программы в конце 1980-х, они хоть и были довольно примитивными, требовали серьезного обучения и практики. Еще одно-два поколения назад программисты были более искусными кодерами. Впрочем, гораздо важнее, что они были и более искусными мастерами, и об этом стоит задуматься.

Старый дурак, да что он понимает!

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

старички программирование программисты старая школа воспоминания прошлое кодеры программеры

Но вы-то наработали корпус знаний, научившись на ошибках «отцов», и давно обскакали нас, невежественных троглодитов, правда?

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

«Хорошие программисты» былых времен были по-настоящему хороши, хороши настолько, что мы и сегодня стоим на плечах этих атлантов и пользуемся их технологиями. Наработки были очень качественными, нам удалось их воспроизвести или улучшить, но почему же те программы были настолько лучше наших?

Ответ прост:

Раньше программисту приходилось быть более рачительным и изобретательным

Представляете, каково жилось программистам до появления Google?

Я могу вспомнить, и, честно говоря, мне практически не с чем сравнить те ощущения. Постоянно возникали тривиальные проблемы, на решение которых, однако, уходили многие и многие часы работы — так мы работали. Сегодняшний 12-летний кодер сможет решить проблему подобного уровня за 30 секунд. Но кто учится больше? Уж конечно, не тот, кто вбивает запрос в Google, потом что-то копипастит и идет дальше.

старички программирование программисты старая школа воспоминания прошлое кодеры программеры

Давным-давно нашему брату приходилось быть гораздо рачительнее и изобретательнее.

Иногда везло и под рукой оказывалась одна-единственная книга по какому-то языку программирования или операционной системе (иногда не везло, ее не было). Может быть, несколько коллег, с которыми можно посоветоваться, но в основном это был путь проб и ошибок, усеянный граблями.

Аппаратное обеспечение? Да, сегодня оно классное, не то что раньше. Но раньше программисты должны были хорошо разбираться в управлении памятью, ведь память была драгоценной. Приходилось считать циклы, так как и процессорное время было недешево. Можете себе это представить? Обычно я даже не задумываюсь о процессорном времени — пусть этим занимается компилятор, а мой двухъядерный процессор всегда все успевает. Да, я избалован, и знаю об оборудовании, с которым работаю, гораздо меньше, чем знал мой коллега в 1982 году.

Когда-то планка была гораздо выше

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

Тем более и выпускников-то долгое время не было: колледжи по информатике или курсы по программированию просто отсутствовали. Кто же тогда писал все эти программы? — спросите вы. Я отвечу — амбициозные энтузиасты, у которых был запал и страсть к изучению этого искусства — программирования.

старички программирование программисты старая школа воспоминания прошлое кодеры программеры

В наши дни вам постоянно вещают: «Да, парень, я пошел в ИТ и озолотился». Именно для этого сейчас зачастую сдают экзамены и вступают в ряды программистов.

Я не гребу под одну гребенку всех молодых людей, которые поступают на обучение программированию, но сегодня денежная мотивация гораздо более распространена, чем раньше. Разумеется, среди выпускников факультета информатики образца 2012 года по-прежнему найдется целая плеяда молодых талантов, но, одновременно, и больше их посредственных однокашников, чем в 1972 году. Среди нас по-прежнему много талантливых и смышленых ребят, но стало больше и тех, кто попросту мутит воду.

Проклятье копипасты

Есть одна вещь, которая двигает технологический прогресс и в то же время задерживает его. Выше я уже упоминал Google: все мы знаем, насколько зависят от этого поисковика многие наши коллеги. Я тоже чувствую себя без Google как без рук.

старички программирование программисты старая школа воспоминания прошлое кодеры программеры

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

У коллективного разума есть свои достоинства, но стоит разделять агнцов и козлищ, если мы говорим о хорошем программисте.

Мы слишком увлекаемся фреймворками

Фреймворки — отличная штука, ничего против них не имею. Сам факт того, что какой-то программист или сразу несколько программистов решили потратить время и объединить какие-то общие функции в фреймворк ради ускорения разработки — прекрасен, эта работа помогает сэкономить массу времени.

Но я думаю, что многие молодые программисты чрезмерно полагаются на фреймворки. Как программисту мне кажется, что мы неуклонно превращаемся в ремесленников, которые умеют склеивать нужные объекты и методы, почти не понимая, как именно работает полученная программа.

Мы злоупотребляем фреймворками.

Вам правда нужен гигантский фреймворк, если нужно написать простейший сайт для выполнения нескольких CRUD-операций?

Думаю, нет.

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

Заключение

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

В 1995 году я и мечтать не мог, что у меня будет KindleFire, на котором я буду повсюду носить с собой целую техническую библиотеку. У меня есть ноутбук, где я с удобством могу писать программы для разных платформ и продуктов, на нескольких языках. Сказать, что мы во всеоружии — значит, ничего не сказать.

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

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

старички программирование программисты старая школа воспоминания прошлое кодеры программеры

Если мы и дальше будем смотреть на происходящее сквозь пальцы, то своими руками вырастим поколение людей, которые только и умеют склеить воедино пучок классов и всю жизнь будут что-то копировать и вставлять. Потом эти горе-программисты будут учить других. Ценность разработчика со временем станет нулевой, про качество программ я вообще молчу. Когда-нибудь знание того, как именно нужно писать код, станет столь же редким, каким сегодня стало умение обращаться с логарифмической линейкой.

Из специализированных мастеров мы превратимся в толпу, которая клепает дрянь. Мы ведь совсем этого не хотим, правда?

Мы должны оставаться верны нашему делу и по-настоящему гордиться тем, чем занимаемся. Работать нужно как раньше, засучив рукава, выучив как можно больше и неся ответственность за свой труд.

Тогда мы сможем переломить ситуацию.

dev.by, 2013. Перевод статьи: Джереми Морган

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru pikabu.ru blogger.com liveinternet.ru livejournal.ru google.com bobrdobr.ru yandex.ru del.icio.us

Подписка на обновления блога → через RSS, на e-mail, через Twitter
Теги: , , , ,
Эта запись опубликована: Воскресенье, 31 марта 2013 в рубрике Мнения.

5 комментариев

Следите за комментариями по RSS
  1. Попахивает ностальгией :-)

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

    Мысли об образовании. _Исключительно взгляд московского студента._ Его нету. Немного рассказывают об архитектуре. А об разработке, об средствах разработки, об культуре разработке в конце концов - вообще ничего! Что-то могут только те, кто этим "болеет". Мне кажется в этом смысле ничего особого не поменялось, только выросла популярность.

  2. Евгений

    Ностальгия - дело конечно святое.

    Однако пример из "другой оперы". Оружейное дело.

    Мастер Хз...васаки знает всё о металле. Он меч может сделать "Одниммахомвсехпобивахом". Не меч - сказка. Во какие мастера были! И прекрасно. Только вот стоит толпа босоногих лохматых мужиков. Это типа армия. И её нужно вооружить. А величайший мастер делает один меч полгода. И за дело берётся толпа жадных, неумелых кузнецов. Они металл-то толком не знают. Могут только подсматривать друг у друга и у мастера: сыпет чёрный порошок, нагревает и остужает. И "копипастят". От великих трудов великого мастера замечательнейшие мечи получили три генерала. А толпу воинов вооружили неумелые, жадные до денег кузнецы. Вопрос: они плохие оружейники? Вряд ли. Именно они-то армию и одели в доспехи. А мастер? А не будь мастера - и кузнецы бы ничего не сделали.

    Восхищаясь мастером, не стоит пренебрежительно относиться к ремесленнику.

  3. никак от вас не ожидал, что будете постить такой глупый текст в стиле хабрахабр

  4. АлекСандр

    Автор в чем-то прав, только это не проблема современности, а проблема человека.

    Если ресурсов много (в данном случае мощностей железа), то никто и ценить это не будет.

    Пчму золото ценится, а песок нет? Птму что песка несоизмеримо больше, чем золота.

    Даже взять воду - кто у нас её бережёт? А в пустыни у неё совсем другая ценность

  5. Бухать меньше надо.

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Зарегистрировать/комментатор

Для регистрации укажите свой действующий email и пароль. Связка email-пароль позволяет вам комментировать и редактировать данные в вашем персональном аккаунте, такие как адрес сайта, ник и т.п. (Письмо с активацией придет в ящик, указанный при регистрации)

(обязательно)


⇑ Наверх
⇓ Вниз