Найти в Дзене
CyberEd

С чего начать: Python vs JS?

Оглавление

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

Если доверять 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

Запишитесь на интенсив сегодня и получите необходимый базис для уверенного старта новой карьеры. ;)

-2

-3

Наука
7 млн интересуются