0
Обложка: Почему язык программирования вторичен для новичка

Почему язык программирования вторичен для новичка

Интерес к программированию в тренде. Спрос подогревается разномастными предложениями об изучении востребованных языков. Сейчас в моде Python и JS, но если посмотреть чуть глубже, то всё не так однозначно. Выбор языка — второй вопрос. Первая задача — принять принципы программирования в целом.

Если честно, то чтобы двинуться в сторону разработки, начинать надо с Айзека Азимова и трёх законов робототехники:

  1. Робот не может причинить вред человеку или своим бездействием допустить, чтобы человеку был причинён вред.
  2. Робот должен повиноваться всем приказам, которые даёт человек, кроме тех случаев, когда эти приказы противоречат Первому Закону.
  3. Робот должен заботиться о своей безопасности в той мере, в которой это не противоречит Первому или Второму Законам.

Вместо робота подставляем название своей блистательной софтины и кода, добродетельные свойства оставляем.

Hello world

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

Если выучить 100 слов на английском языке, то худо-бедно выпросить еду и ночлег в англоговорящей среде получится. Запустить программу с помощью пары команд без логики не получится. Лучше подойдёт иллюстрация с механической коробкой передач в автомобиле.

Можно яростно бросать педаль сцепления в попытке поехать, глохнуть и расстраиваться, а можно — как в старом мультфильме — меееееедленно отпускать педаль, пока не почувствуешь ключевой момент. Дальше нога привыкнет к нужному углу, где сцепление происходит и движение начинается как по маслу. Знание основ и есть этот ключевой момент сцепления.

А от смены модели авто умение трогаться не растеряется. 😉

Все современные языки программирования строятся на единой базе, которую неизбежно придётся принять, чтобы код заработал. Умение писать: log(’Hello, World! ’); сгодится не везде. 😉

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

Неоднозначный выбор

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

Динамические языки вроде Python, PHP, JavaScript активно используются в разработке совершенно разных продуктов. Их особенность в гибкости: тип данных и компиляция возможны в процессе исполнения программы.

Правда, не получится выучить какой-нибудь JavaScript и состояться навсегда. Языки меняются, расширяются, разрастаются. Программирование ограничено только вашими возможностями к обучению. =)

Если же задача — изучить кодинг без спешки и на перспективу, то семейство языков Lisp идеально подходит. Синтаксис отсутствует, упор идёт на развитие алгоритмического мышления, построения структур и обработки больших данных. Концептуально осознать программирование помогут именно они. Кстати Лисп создавался для развития искусственного интеллекта и как инструмент востребован в этой области.

С чего начать?

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

Затем, исходя из своих задач по входу в профессию, стоит выбирать конкретный язык и нырять в семантику и синтаксис. Если нужно поскорей влиться в работу, то динамические языки из востребованных в вакансиях вашего региона. Если более широко и глубоко взглянуть на программирования, то Lisp-семейство. И пусть ваши роботы соблюдают законодательство. =)