17% скидка на размещение рекламы на площадках devby — до 20 ноября. Клац!
Support us

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

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

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

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

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

А вот что у нас было, как это работало и чем отличаются программисты старой закалки от современных, – смотрите под катом

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

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

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

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

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

Автор: Джереми Морган

Источник

Читайте также
«Что бы ни было, уходи в 17.00»: сооснователь Netflix рассказал, как поддерживать менталочку и семью
«Что бы ни было, уходи в 17.00»: сооснователь Netflix рассказал, как поддерживать менталочку и семью
«Что бы ни было, уходи в 17.00»: сооснователь Netflix рассказал, как поддерживать менталочку и семью
«Я незаменимый». Считаем, сколько стоит звёздный токсик (кажется, слишком дорого)
«Я незаменимый». Считаем, сколько стоит звёздный токсик (кажется, слишком дорого)
«Я незаменимый». Считаем, сколько стоит звёздный токсик (кажется, слишком дорого)
На них «всё держится», но иногда стоит сесть и подсчитать.
37 комментариев
«Заставлял команду прыгать в мешках». Как бывает, когда берут по знакомству
«Заставлял команду прыгать в мешках». Как бывает, когда берут по знакомству
«Заставлял команду прыгать в мешках». Как бывает, когда берут по знакомству
«По знакомству» — то же, что и «по блату»? Кстати, «по блату» — это всегда плохо?
6 комментариев
«Потеряю время». 17-летний кодер не хочет в вуз. А надо? Спросили у известных айтишников
«Потеряю время». 17-летний кодер не хочет в вуз. А надо? Спросили у известных айтишников
«Потеряю время». 17-летний кодер не хочет в вуз. А надо? Спросили у известных айтишников
Вы не поверите, но многие считают, что нет. Даже экс-преподаватель БГУИР.
43 комментария

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.