Почему второй язык программирования выучить проще, чем первый?

Почему второй язык программирования выучить проще, чем первый?

Секрет — в знании алгоритмов, а не синтаксиса

Когда только начинаешь программировать, может возникнуть такой вопрос: как опытные программисты умеют писать сразу на нескольких языках? 

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

Коротко: главная метафора

Вот простая метафора всего, что будет написано ниже. 

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

Но если вы хотите участвовать в гонках типа «Формулы 1», то вам нужно знать ваш болид досконально, до винтика. 

То же в разработке: принципы одинаковые, а нюансы языка можно освоить быстро. 

Почему сложно учить первый язык программирования

В самом начале всё может даваться с трудом:

  • непонятно, как работают переменные и зачем они нужны;
  • что такое циклы и почему их так много;
  • сложно разобраться с классами и методами;
  • откуда-то вылезли функции, и в них работают свои правила;
  • неизвестно, как вообще продумать логику программы, чтобы получилось хоть что-то работающее.

Это нормально, потому что вы осваиваете что-то новое. Раньше вы этого не умели, потом решили научиться и столкнулись с трудностями. 

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

Шаг за шагом вы осваиваете свой первый язык программирования. Изучение идёт не слишком быстро, потому что много нового.

Почему второй язык учить гораздо проще

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

Вам достаточно разобраться только с «грамматикой» нового языка — как пишутся функции, какие ставятся скобки, какие есть нюансы с операторами и т. д.

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

Ограничения

Всё, что написано выше, верно для базового уровня владения языком — достаточного, чтобы работать, но недостаточного, чтобы делать супердорогие высоконагруженные проекты. 

Как только вы переходите в «высшую лигу», от вас требуется не просто знание принципов программирования. Вы должны знать специфику конкретного языка и даже больше того — конкретной версии языка, в которой вы работаете. Например: 

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

И многое другое. Всё-таки языки делают не дураки, и если вы хотите использовать возможности избранного вами языка на полную, нужно изучать его глубоко и внимательно. 

Исключение из правила

Из этого правила со вторым языком есть одно исключение: оно не работает, если второй язык принципиально другой по своей природе. Например, если вы изучили язык высокого уровня — JavaScript, а потом захотели перейти на Ассемблер — язык низкого уровня. 

Или если вы решили изучить Brainfuck. Но зачем?

Текст:

Михаил Полянин

Редактор:

Максим Ильяхов

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Соцсети:

Виталий Вебер

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства и компенсация, если вы пойдёте работать в «Яндекс».
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
10 главных конструкций языка C
10 главных конструкций языка C

Простое введение в сложный язык.

Что такое Java и зачем он нужен

Это как JavaScript? Нет!

Объясняем объекты

Главное понятие современных подходов к программированию.

Почему процессоры Apple M1 такие быстрые
Почему процессоры Apple M1 такие быстрые

И правда ли они такие быстрые? И на что это влияет?

Мощь алгоритмов: автоматический поиск всех возможных комбинаций
Мощь алгоритмов: автоматический поиск всех возможных комбинаций

Сдвигаем парадигму с помощью силы компьютеров

Оцифровка звука: как это работает
Оцифровка звука: как это работает

Как переводят голос в бездушную цифру.

Как работает брелок от домофона

И можно ли использовать его как флешку.

Смартфон для программиста

Что выбрать, если хотите заняться мобильной разработкой.

Как стать руководителем ИТ-команды за 5 лет
Как стать руководителем ИТ-команды за 5 лет

Александр Штыков: путь от контент-менеджера до тимлида.

Что такое цепи Маркова и как они работают
Что такое цепи Маркова и как они работают

Простой способ сгенерировать много текста, который будет похож на настоящий.

easy