И так, случилось то, чего боятся все - появилось много свободного времени, и основная отмазка уже не катит. С чего же начать? Любой искушенный ценитель отправится в Интернет и начнет искать материалы. Какие самые популярные языки мы можем там обнаружить?
Если доверять stackoverflow (а это то, что я делаю 90% своего рабочего времени), то статистика выделяет двух лидеров.
Отлично, значит, пошли учить Python? Не так быстро! Помимо востребованности языка не помешало бы ещё посмотреть, на сколько быстро и просто его можно выучить, чтобы начать использовать в работе. Как много литературы, нужно ли что-то знать помимо этого языка в работе и т.д.
Давайте выделим перечень хотелок к языку и посмотрим, на сколько соответствует им Python и JS.
- Кол-во материала, книг, комьюнити
- На сколько простой синтаксис, и как скоро я смогу на нем что-то писать
- В каких сферах может пригодится этот язык, и нужно ли с ним что-то учить дополнительно
На этом мой список хотелок закончился. Если вам есть что добавить, можете написать в комментариях. :)
Доступность материалов
В этом плане достаточно сложно выделить лидера, так как Python и JS - языки популярные, и материалов есть очень много. Однако я всё-таки могу выделить один ресурс у Python, которого нет у JS. Это pythontutor.ru (они мне за это не платили).
Ресурс действительно классный - с теорией, задачами, автотестами и разбором. Не могу сказать, что они вас доведут до мидла, но какие-то базовые конструкции вы выучите идеально. Так что балл переходит Python.
Счет Python 1: JS 0
Простота синтаксиса
Для того, чтобы написать и запустить строчку кода в Python, вам понадобятся: командная строка, установленный Python (ещё и правильной версии), правильный запуск и понять, что работает. А в идеале ещё и виртуальное окружение настроить. Скажу честно, что в первый раз весь этот процесс у меня занял целый день. Это было больно и неудобно, но в итоге всё заработало. :)
С JS все немного проще. Чтобы запустить код на JS, вам достаточно браузера. Нажимаете F12, переходите во вкладку console и погнали!
Что касается синтаксиса: все привыкли ругать JS за его неявные преобразования.
P.S. Мой любимый пример (‘b’+’a’+ +’b’).toLowerCase()
Однако овладев ими, вы сможете писать код намного круче и интереснее.
Не могу сказать, что синтаксис Python проще. Особенно людей выводит из себя табуляция, и к тому же она должна быть однообразной. Если вы используете в одном месте таб, а в другом пробелы - код упадет, и иди ищи ошибку.
Так что в данном пункте, на мой взгляд, справедливо будет отдать бал JS.
Счет Python 1: JS 1
Сфера применения
Что самое забавное - оба языка изначально разрабатывались под очень узкие задачи. JS должен был быть языком скриптования в веб. Python, потомок языка ABC, был создан для использования в Центре математики и информатики в Нидерландах. Однако развившись, эти Python и JS оказались самыми универсальными языками.
JS используется преимущественно в веб, но уже сейчас на нём пишут игры и даже 3d графику, разрабатывают мобильные и десктопные приложения.
Python сегодня занимает основные позиции в сфере работы с данными, машинном обучении и аналитике.
И в том и в другом случае знания одного языка недостаточно.
В случае с JS вам необходимо знать верстку для написания полноценного сайта. А при работе с данными вам не помешают: SQL, специфичные пакеты python, аналитика и математика.
Из вышесказанного можно резюмировать, что и в том и в другом случае недостаточно просто знать язык. Вам нужно владеть рядом дополнительных инструментов, технологий и языков, без которых построить полноценный продукт на “чистом” языке крайне затруднительно. Думаю, что будет справедливо присудить по баллу каждому языку.
Счет Python 2: JS 2
Как видите, счет 2:2. Выявить явного лидера не получилось. На самом деле языки программирования - это всего лишь инструменты, которые позволяют вам реализовать алгоритм. Так что сравнивать JS и Python- это как сравнивать стамеску и отвертку, обе хороши для своей задачи.
Чтобы написать качественный продукт, необходимо освоить алгоритмы и структуры данных - это главное. И это же даст вам возможность оптимально спроектировать процесс и уже потом, отталкиваясь от специфики задачи, подобрать язык.
P.S. Если вам необходима поддержка на старте и хочется получить ответы на важные вопросы от действующих разработчиков, то смело участвуйте в интенсиве-практикуме по веб-разработке от HackerU. За 4 дня практических занятий вы:
— разберете жизненный цикл программного обеспечения и базовые принципы популярных методологий разработки ПО
— изучите стандартную архитектуру современных web-приложений и основ web-разработки
— поймете основы HTML, CSS и JavaScript
— совместно с экспертами создадите web-приложение на стеке HTML/CSS/JS
Запишитесь на интенсив сегодня и получите необходимый базис для уверенного старта новой карьеры. ;)