Я познакомился с миром программирования, когда начал получать степень бакалавра в области вычислительной техники. Когда я начинал в 2009 году, меня не обязательно интересовал кодинг или меня тянуло к нему волшебным образом. На самом деле я почти ничего не знал об этом, но я знал, что мне нравятся компьютеры и возиться с небольшими программами, чтобы делать, казалось бы, классные вещи. В детстве я помню, как написал скрипт AutoIt на платформе Windows XP, чтобы автоматизировать загрузку бесплатных программ в 2 часа ночи, потому что в это время у нас была свободная полоса пропускания. Было здорово иметь возможность управлять машиной, чтобы выполнить свою задачу, почти как сверхдержава!

С тех пор я прошел долгий путь и получил степень магистра компьютерных наук на момент написания этой статьи, но чувство, которое я испытывал в детстве, все еще сохраняется. Я до сих пор чувствую, что это суперсила каждый раз, когда пишу кусок кода. Я имею в виду, подумайте об этом — вы начинаете с пустого экрана редактора, тратите некоторое время на ввод кажущихся абстрактными букв, и вскоре у вас есть эта «программа», которая делает классную вещь, например, печатает все простые числа от 1 до n ,или сообщить вам, является ли предложение палиндромом, или дать достаточно времени, сложную задачу, например дать людям возможность заводить друзей в Интернете и делиться вещами. Это похоже на создание чего-то из ничего, и это что-то делает что-то великое. Все технические вещи, которые мы видим вокруг себя и регулярно используем, такие как Instagram, Facebook, Snapchat, поиск Google и Netflix, начинались с одной строки кода и мечтателя, который думал, что у них есть все необходимое, чтобы добиться успеха.

Есть несколько причин, по которым я считаю, что вам следует программировать, с которыми я сталкивался и до сих пор сталкиваюсь во время своего личного пути к программированию. Это:

  1. Это помогает вам лучше мыслить. Если вы когда-либо писали код или пытались его написать, вы согласитесь, что поначалу это пугает. Это очень отличается от письма на английском или любом другом подобном языке, с которым мы можем быть довольно снисходительны. Написание кода предполагает, что мы будем следовать строгому синтаксису с использованием определенного набора ключевых слов. Люди могут делать выводы и понимать вещи из неполного контекста и относительно абстрактных идей, но компьютеры, с другой стороны, нуждаются в точном наборе инструкций и информации для общения. Это заставляет вас формулировать свои мысли и формулировать их в определенном формате. Это улучшает вашу способность следовать определенному мыслительному процессу. Вам нужно подумать о том, что вы хотите сказать машине и как вам нужно это сказать, чтобы она поняла.
  2. Это делает вас более терпеливым.Научиться программировать сложно. Вам нужно начинать с малого и продолжать практиковаться, пока не достигнете уровня, когда это станет легким процессом, таким же, как обучение езде на велосипеде, вождению автомобиля или даже игре на гитаре. Как и любой другой навык, его нужно оттачивать днями, месяцами или даже годами, и все это требует терпения. Иногда вы получаете ошибку в своем коде, и ее поиск может занять больше времени, чем ожидалось. Я помню время, когда я целыми днями искал ошибку в своем приложении для Android, а позже понял, что пропустил оператор break в одном из случаев переключения, который вызывал провал и выдавал неверный результат. Было весело, но не обычно. Тем не менее, все эти времена только сделали меня более терпеливым и опытным.
  3. Это делает вас более ответственным.Когда вы пишете код, вы на 100 % отвечаете за результат. Компьютеры довольно тупые. Если вы получаете неправильный вывод, скорее всего, вы либо ввели неправильный ввод, либо в вашем алгоритме есть ошибка. Компьютеры просто выполняют то, что вы написали, и не имеют возможности принимать произвольные решения от вашего имени. Что вы получаете, это то, что вы дали. Все это означает, что вы несете ответственность за свой код, и в ваших силах исправить неправильное. Вы не можете никого винить и вынуждены признать свою ошибку и принять меры для ее исправления. В некотором смысле, это учит вас быть взрослым.
  4. Это делает вас более креативным. Программирование динамично. Есть много способов, которыми вы можете написать свой код для выполнения одной и той же задачи. На самом деле, если вы дадите одну и ту же задачу 10 разным программистам, они напишут 10 разных алгоритмов, которые будут похожими, правильными, но не одинаковыми. Программист имеет особую свободу в том, как он пишет код. Это позволяет вам быть более креативным, следовать своему собственному стилю, быть таким скучным или интересным, каким вы хотите быть. Вы находите новые способы делать старые вещи и создаете новые решения существующих проблем, в чем и заключается информатика.
  5. Это делает вас более эффективным. При написании кода нам приходится идти на множество компромиссов. Компьютеры имеют ограниченную память (ОЗУ) и хранилище (жесткий диск), и нам нужно максимально использовать то, что у нас есть. Поэтому при написании компьютерной программы вам приходится принимать жесткие решения в отношении использования памяти и пространства. Вы должны иметь правильный баланс скорости и эффективности в своих программах. Бывают случаи, когда вам нужно выбрать более медленный алгоритм для экономии места и наоборот. Все эти размышления переносятся на то, что вы делаете в реальной жизни. Когда вам нужно совершить покупку, вы начинаете думать о правильном балансе внешнего вида и функциональности, правильном балансе стоимости и полезности и многих других факторах. Это помогает вам принимать лучшие решения практически во всех сферах вашей жизни, и вы не можете отключить его.
  6. Это делает вас крутым — Давайте признаем это. Гик — это новое круто. Это уже не 90-е. Руководители технологических компаний сейчас похожи на знаменитостей. Компьютеры — это не просто какие-то супер-уродливые коробки, стоящие в подвале, а прекрасные маленькие устройства, которые мы постоянно носим с собой. Точно так же компьютерные программы — это не просто какие-то сверхсложные алгоритмы, обрабатывающие числа, а прекрасные маленькие приложения, которые мы используем часами. Если у вас есть возможность создать один из них и изменить то, как люди делают что-то в своей повседневной жизни, я бы сказал, что вы довольно круты. Не так ли?

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