По запросу Какой язык программирования мне следует выучить вы получите более 7 миллионов результатов. Первый говорит Javascript, следующий PHP, третий превозносит достоинства Java и статически типизированных языков. Что такое статически типизированный язык, спросите вы? Я просто хочу делать приложения для своего телефона!

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

Вместо этого я собираюсь продвигать новую идею — ЭТО НЕ ЗНАЧИТ. Нет! Вот и я.

Не существует единого языка программирования, который управлял бы ими всеми. Несмотря на то, что есть много людей, которые ручаются, что Javascript можно использовать где угодно и, следовательно, он является лучшим, с React Native для нативных приложений как на мобильных устройствах, так и на настольных компьютерах, Node JS на сервере и обычный старый Javascript, запеченный прямо в браузер. Звучит очень весомый аргумент. И это, безусловно, так. Я думаю, что Javascript — отличный язык для изучения для всех. Однако, сказав все это, давайте посмотрим на историю языков программирования и фреймворков.

Согласно индексу TIOBE, Java уверенно занимает первое место. Javascript находится на пути к тому, чтобы затмить это, но не так давно самым крутым языком на рынке был Perl или даже Fortran. Я хочу сказать, что, несмотря на то, что язык сейчас кажется популярным, технология представляет собой чрезвычайно порочный ландшафт. Постоянно меняются, поскольку предпочтения меняются, а новые технологии отдают предпочтение старым.

Даже в экосистеме Javascript всего год назад Angular был в моде. Затем появился React, и все сбежали с корабля. Позже Angular 2 был выпущен без особого интереса — использование Angular 1 продолжало сокращаться. Он может перевернуться в одно мгновение. Некоторых людей справедливо раздражало, что они потратили все это время на изучение фреймворка, который теперь был почти мертв.

Моя точка зрения заключается в следующем…

Языки и платформы приходят и уходят. Концепции никуда не денутся.

Давайте возьмем React в качестве примера. Я придерживаюсь мнения, что, хотя React никуда не денется. Концепции и основополагающие принципы React определенно никуда не денутся. То, как React продвигает иерархическую структуру компонентов и передает данные через эту структуру; То, как он перерисовывает только те части компонентов, у которых было изменено состояние, просто потрясающе.

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

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

Мы можем применить это высказывание к технологии, с которой мы работаем. Когда вы, наконец, разберетесь с концепцией того, как данные могут перемещаться из ваших моделей в ваши представления, вы можете сказать: Теперь я думаю с помощью «MVC».

Попытка попасть в эту сферу и стать разработчиком может быть пугающей, но не бойтесь! Программирование — это навыки решения проблем, которые вы развиваете. Не о том, какой блестящий синтаксис вы используете. Многие люди используют язык, который они никогда не использовали до этой работы (включая меня). При обучении программированию вы естественным образом приобретете эти навыки. Это то, что мне сказали, когда я только начал учиться программировать, когда я думал, что для того, чтобы получить работу, нужно быть гением уровня НАСА, который сделал 10 приложений и полдюжины веб-сайтов (подсказка: вам это не нужно — хотя это, безусловно, помогает!), я не поверил тому, что они сказали. Я просто не мог понять этого неописуемого умения, которое ты только что «приобрел», как будто каким-то миазмом. Что ж, это правда. Поверьте мне.

Мой конкретный совет: начать строить как можно скорее. Они не должны быть потрясающими, они не должны быть оригинальными. Они просто должны быть чем-то, что вы хотели бы попробовать. Freecodecamp отлично справляется с этим в своем учебном плане. Одним из моих первых проектов был калькулятор. Я пришел на этот проект, потому что знаю, как работают калькуляторы, и знаю, как складывать, вычитать, делить и умножать. Из моего изучения программирования я знал, что для отслеживания кнопок, нажатых пользователем, я могу сохранить их в переменной. Я знал, что мне нужно будет подключить кнопки, чтобы вызвать функцию, которая будет делать разные вещи. Я почти не имел представления о внутренней работе приложения. Но в целом я знал, как это должно работать. Применяйте этот же принцип к вещам, которые вы строите, и вы далеко пойдете. Это также здорово, потому что вы можете решать реальные проблемы, как если бы вы были на работе. И отладка, как на работе. 90% программирования — это отладка того, что вы написали — так что привыкайте! Кроме того, самостоятельное выполнение проекта даст вам понимание того, что делает код. Во многих учебниках используется менталитет напечатай это, сделай это, с небольшим объяснением того, что или как это работает. Потратьте время на чтение документации и по-настоящему поймите, что вы пишете.Если вы не сразу поймете, ничего страшного. Потратьте некоторое время, пожуйте его и вернитесь к нему позже. Это часть изучения этих понятий.

В качестве бонуса ко всему этому строительству проекта, в конце вы получаете что-то классное, что вы можете показать своей маме, папе, кошке или любимому члену семьи / домашнему животному.

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

Дополнительная литература