Кодирование (или программирование / черная магия / удаление, в зависимости от ситуации) - одна из тех вещей, о которых все говорят, признают, что каждый должен что-то знать, но на самом деле никто не знает. Кодеры обладают этой странно противоречивой аурой; они - создатели королей, современные колдуны, которые, казалось бы, непонятным взмахом руки могут создать программу из воздуха, а во многих случаях - IPO на миллиард долларов в мгновение ока. Тем не менее, в то же время сохраняется клеймо ботаника-одиночки с темными кольцами под глазами, вызывающего огромные миры из кончиков пальцев, но едва способного поддерживать разговор после первого предложения. Насколько актуальна эта проблема с имиджем в наши дни молодых миллиардеров?

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

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

Так выглядит настоящий хакер?

Именно эта статья из Lifehacker вызвала желание попробовать, поэтому я последовал ее совету и с головой погрузился в свободно доступную книгу Зеда Шоу с обманчивым названием Learn Python the Hard Way. Иссушающий, серьезный подход Шоу к основам кода позволил мне отбросить весь страх и магическое мышление, которое я накопил по поводу того, что, по сути, является упражнением в обучении применению логики, решению проблем и знанию корректуры моей собственной работы. . Да, чем глубже вы углубляетесь, тем сложнее становится, как и с любым новым навыком, но Шоу удается быть одновременно обнадеживающим и строгим мастером, говоря нам не беспокоиться, если часть кода сейчас не имеет смысла, но не резервируя нет. сочувствие к любому, кто пытается сократить свой путь через это.

Я могу взглянуть на кусок кода Python и, по крайней мере, понять, чего он пытается достичь. Возможно, я еще не совсем готов к выпуску следующей Windows, но я прошел ту критическую точку, когда все казалось безумно сложным и сбивало с толку чувство, будто я действительно знаю, что делаю. Я помню, как смотрел это видео о том, почему люди должны учиться программировать, и Гейб Ньюэлл вспоминает, как он впервые запустил на консоли фрагмент кода, который выдал слова Hello World. Эта крошечная искра творчества - это магия внутри кода в действии, и если вы хотите думать об этом таким образом, я бы рекомендовал прочитать эту статью о том, почему кодирование так часто сравнивают с магией, которая намекает, что компьютерный код может дать больше подсказки относительно природы реальности, чем мы думаем.

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

  • Книга Зеда Шоу Learn Python the Hard Way доступна бесплатно здесь
  • Code Academy, которая предлагает бесплатные курсы по многим языкам с простой игровой системой обучения.
  • Github - репозиторий, в котором программисты могут хранить и делиться своим открытым исходным кодом со всем миром. Стоит порыться, чтобы найти проекты для начинающих, выяснить, чем занимаются другие, или просто посмотреть, какие вещи возможны.

Могут потребоваться годы, чтобы стать экстраординарным вундеркиндом-программистом (в этот момент я, скорее всего, получу прозвище что-то вроде `` этот старый вундеркинд ''), но я хочу сказать, что у меня достаточно знаний, чтобы хотя бы знать, что такое, черт возьми, заставить все происходить далеко не так абстрактно, как вы это создавали.