Почему вы должны программировать

Здравствуйте, и спасибо, что нашли время, чтобы прочитать мой блог. Я начал программировать около двух лет назад, я не изучал информатику в колледже, да и в детстве не был особенно знатоком компьютеров. Но в течение последних двух лет я научился программировать, потому что должен был. Не в том смысле, что я был вынужден или не имел других вариантов карьеры. Просто до меня дошло, что для того, чтобы заниматься теми проектами, которыми я заинтересовался, мне нужно научиться программировать. И чем больше я рос и развивался как программист, тем больше я убеждался, что этот навык не должен быть достоянием немногих избранных, а вместо этого должен стать тем, чем была грамотность сто лет назад, чем-то, что мы все должны знать. Я не думаю, что в долгосрочной перспективе выгодно или вообще невозможно проводить такое различие между программистами и непрограммистами. По мере того, как программное обеспечение становится все более распространенным в нашей жизни, потребность в людях, которые могут писать программное обеспечение, будет расти. Точно так же, как другие технологии со временем стали более мощными и простыми в использовании. Программирование намного проще и актуальнее, чем то, что воспринимает широкая публика.

Учтите, что несколько сотен лет назад возможность читать и писать была в руках немногих избранных. Представьте себе средневекового монаха или древнего писца, тщательно и кропотливо трудящегося над богато украшенными и изящными свитками, которые стоят больше, чем обычный человек может себе представить. Что изменилось с тех пор? Два взаимосвязанных процесса. Когда были разработаны печатные станки, производство письменного слова стало экспоненциально дешевле. Чтение и письмо стали гораздо более применимым навыком для населения в целом. Образование помогло восполнить этот пробел, как и технологии. Технологические достижения раннего Нового времени удешевили производство книг, что, в свою очередь, способствовало распространению грамотности. Вскоре работа нескольких преданных своему делу писцов стала повседневной практикой школьников. В настоящее время в Эстонии учат программированию первоклассников.

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

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

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

Наряду с людьми, пытающимися перейти к программированию как к способу заработка, я также хочу посвятить этот блог людям, которые могут использовать программирование для более эффективного достижения своих творческих/профессиональных целей. Большинство, если не все, малые предприятия или фрилансеры могут извлечь выгоду из веб-сайта, ориентированного на потребителя. И даже самый маленький семейный магазин должен эффективно анализировать свои ключевые показатели эффективности. Конечно, вы можете заплатить немалые деньги, чтобы эти вещи сделали для вас. Но эти сервисы могут быть непомерно дорогими как в создании, так и в обслуживании. Базовый веб-сайт часто может стоить до пары тысяч долларов, и программное обеспечение для бизнес-аналитики тоже недешево. Личная учетная запись Tableau стоит столько же, сколько тарифный план мобильного телефона среднего уровня, только обеспечивает визуализацию данных. Для крупной или средней компании это может иметь смысл, но для многих нет. Наем разработчика или использование программных услуг, таких как Square Space, имеют очевидные денежные затраты, которые могут быть непомерно высокими, но они также несут более скрытые затраты.

Чтобы сделать большую часть программного обеспечения «удобным для пользователя», по существу, необходимо ограничить то, что пользователь может делать. Иногда это хорошо. Вы не хотите, чтобы ваш средний пользователь имел права на запись и удаление в вашей внутренней базе данных. Но часто это также означает ограничение вариантов использования инструментов только тем, что компания, стоящая за проприетарным продуктом, представляет или даже хочет, чтобы их клиенты использовали его. Поскольку у Tableau есть Tableau Server в качестве продукта, есть большая вероятность, что они будут очень сопротивляться тому, чтобы визуализации, которые вы делаете в их программном обеспечении, работали где-либо еще, кроме их собственных серверов. По сути, вместо того, чтобы быть пользователем, такие услуги часто связывают нас как потребителей. Это не проблема при работе с хорошим разработчиком, но может стать серьезной проблемой с чем-то вроде Square Space или Tableau. Функции, доступные вам при использовании проприетарного программного обеспечения, по большей части ограничены тем, что компания, разрабатывающая программное обеспечение, хочет, чтобы вы были доступны. И вам не потребуется много времени, чтобы найти эти ограничения.

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

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