Лучший язык программирования для изучения сейчас

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

Каждая школа, MOOC и учебный сайт должны использовать первый язык для молодых падаванов. В некоторых местах, например в старом Гарварде, все еще держатся C эпохи 70-х, но многие школы колеблются между JavaScript, Python и Java. Один скрыт в каждом браузере, один - чистый выбор социальных наук, а третий - предпочтение людей с большим математическим мышлением.

Один лучший выбор? Один явно лучше других? Или все они с одинаковой вероятностью заставят значительное количество студентов кричать в свои подушки по ночам? Давайте рассмотрим лучшие причины изучать Java, Python или JavaScript.

Java - это классика

Тест Advanced Placement выбрал Java давно, когда Java была молодой и стремительно развивающейся. Возможно, Java так и не достигла пика своей первоначальной траектории, когда все, казалось, предполагали, что она будет полностью доминирующей, но она остается основой многих веб-сайтов, смартфонов, телевизоров и небольших устройств.

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

Python новый

На самом деле Python не такой уж новый - проект начался более 30 лет назад, - но он кажется новым, потому что его успех пришел медленно. Только недавно Python появился на свет и получил широкое распространение среди случайных программистов. Новинка означает, что школы, использующие Python, создают новые планы уроков, пишут новые экзамены и разрабатывают новые колоды слайдов. Они не раскапывают старые пыльные вопросы из 1990-х со ссылками на Pets.com и MySpace.

Новейший курс AP, названный «Принципы информатики», позволяет учителю выбирать компьютерный язык, и многие выбирают Python из-за его свежести. Новизна может быть поверхностной, но все языки - это всего лишь некоторый умный синтаксис, который скрывает структуру принятия решения if-then-else кода сборки.

Весь этот успех - залог положительной обратной связи. В выпуске индекса Tiobe за ноябрь 2020 года впервые Python поднялся на второе место (после C), признав, что этот язык становится более популярным, чем Java.

JavaScript везде

Он находится в браузере, а браузер является основой вашего рабочего стола, телефона и всех тех киосков, которые вы видите повсюду. В последнее десятилетие JavaScript занял лидирующую позицию среди веб-серверов, поскольку веб-приложения Node.js стали для разработчиков самым популярным способом написания «изоморфного кода», который может работать как на клиентах, так и на фермах серверов. JavaScript практически ровесник Java, и тем не менее, разработчикам серверов потребовались годы, чтобы открыть их возможности. Это новое и старое одновременно.

Java напечатана

Возможно, вам не нравится тратить время на указание типа каждой переменной, но не нужно много времени, чтобы щелкнуть три клавиши, чтобы добавить «int» в ваш код. Когда вы это сделаете, вы получите все возможности, которые дает компилятору возможность немедленно перепроверить ваш код и найти глупые ошибки еще до его развертывания. Языки с проверкой типов заставляют нас более строго думать о логике нашего кода, и это важный урок для начинающих программистов. Структура типов Java уменьшает количество ошибок и создает лучший код.

Python не типизирован

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

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

JavaScript - это как

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

Устройства правил Java

Самая популярная платформа для сотовых телефонов в мире - Android, огромный пакет кода, созданный на основе Java. Но это только самая заметная платформа. Телевизионные приставки, новые Chromebook и даже некоторые настольные компьютеры запускают приложения Android, как и смартфоны. Близкий родственник Java, C #, доминирует в мире Windows. C # не совсем то же самое, что Java, но очень близко. Если вы собираетесь писать приложение для фиксированного оборудования, есть большая вероятность, что Java - лучший выбор.

Python правила науки о данных

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

Одно из лучших изобретений для создания и обмена интерактивными документами, Jupyter Notebook, началось с сообщества Python, прежде чем оно охватило другие языки. Это один из лучших способов совместить программное обеспечение, данные и текст, объясняющий, что происходит. Читатели могут усваивать слова, а затем нажимать кнопки для запуска программы на данных.

JavaScript управляет сетью

Другие платформы могут быть хорошими, но веб-браузер продолжает оставаться единственным порталом, который почти все используют для связи с миром. Обычно это наиболее часто используемое программное обеспечение для настольных компьютеров, смартфонов и планшетов. JavaScript начинался как руководитель этого локального клиента, и его влияние расширилось до полного доминирования, поскольку рост Node.js упростил разработчикам запуск одного и того же кода на клиенте и сервере.

Также существуют десятки хороших фреймворков JavaScript (Angular, React, Vue и т. Д.), Которые предлагают основу для создания вашего веб-приложения, а некоторые из них достаточно умны, чтобы перемещать ваш код между клиентом и сервером по мере необходимости. 

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

Java запускает все

Если вы пишете код Python, велика вероятность, что он будет работать в Jython, реализации языка, написанного на Java, чтобы воспользоваться преимуществами вездесущности виртуальной машины Java. Если вам нужно запустить JavaScript, вы также можете передать его в Rhino и Nashorn, два инструмента, которые превращают JavaScript в байт-код Java.

Эти два языка не единственные, которые полагаются на безупречную производительность JVM. Многие языки функционального программирования, такие как Scala, Clojure и Kotlin, также опираются на те же основы. Это помогает всем, упрощая связывание этих языков на основе JVM вместе, если вы хотите использовать их в одном проекте.

Python работает везде

Python - не лучший выбор и даже не последний выбор для людей, пишущих эмуляторы для других языков. Тем не менее, Python легко найти на многих компьютерах. Создатели языка всегда распространяли код с открытым исходным кодом, а пакеты есть практически везде. Действительно, вы найдете Python включенным в MacOS и большинство полнофункциональных дистрибутивов Linux. И хотя он не включен в Windows, его легко установить - просто сделайте это разумно.

JavaScript работает в браузере

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

Не только двоюродные братья JavaScript, такие как CoffeeScript и LiveScript, транслируются в JavaScript. Даже такие языки, как Lisp, OCaml и Pascal, можно преобразовать в JavaScript и запустить в браузере. Python популярен в браузерах в таких проектах, как записные книжки Jupyter, и даже Java можно перевести на JavaScript с помощью таких инструментов, как Google Web Toolkit.

У Java есть сильные IDE

Eclipse, NetBeans и IntelliJ - одни из лучших интегрированных сред разработки. Они были созданы сообществом Java и на протяжении многих лет создавались для создания одной из наиболее благоприятных сред для написания кода. Алгоритмы завершения кода и генерации кода могут не писать все ваше программное обеспечение, но они могут напечатать значительную часть. Все это действительно помогает новым разработчикам получить правильный синтаксис. 

Эти IDE были настолько популярны, что разработчики с других языков нашли способ запускать свой код внутри них. Если вы станете профессиональным программистом на Java, вы почти наверняка будете использовать один из них. А пока, если вам нужен более простой и удобный опыт программирования на Java, попробуйте BlueJ или Greenfoot. Эти «IDE для начинающих» были разработаны специально для изучения Java.

У Python есть облако

Язык Python нашел свое первое пристанище в мире Unix, и поэтому неудивительно, что облака, заполненные коробками Linux, являются естественным местом для поиска большого количества кода Python. Некоторые из новейших инструментов, таких как Jupyter, объединяют код, данные и объяснения, чтобы люди могли делиться своими мыслями с другими в виде исследовательских работ, которые оживают. Блокноты Jupyter - это не статические документы, а интерактивные инструменты для изучения.

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

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

JavaScript имеет JSFiddle

У каждого браузера более чем достаточно возможностей, чтобы действовать как IDE. JSFiddle - только самый известный из более чем десятка веб-сайтов, которые позволяют вам делиться кодом JavaScript с другими разработчиками. Однако веб-страницы не статичны, потому что вы можете повозиться с кодом и посмотреть, как он работает на той же веб-странице. Подобные инструменты упрощают эксперименты со всеми синтаксическими забавами JavaScript.

Выучите любой - или все три

Мир программирования любит перекрестное опыление. Хотя переключение между разными языками и сохранение четкого синтаксиса может сбивать с толку, можно использовать все три языка в проектах, не слишком увязнув. Проекты Java или JavaScript, которые анализируют данные, могут связываться в библиотеках науки о данных, написанных на Python. Или проекты Python могут вызывать код Java или JavaScript.

Умные разработчики также создали инструменты для автоматического перевода, связывания и интеграции разных языков друг с другом. Вы хотите запустить код Python в своем браузере? Сейчас есть несколько разных вариантов, и, вероятно, их ждут еще больше. В Java есть класс ScriptEngine, который оценивает JavaScript. Существуют сотни различных языков, которые будут работать как JavaScript посредством перевода или эмуляции.

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

Подробнее о разработке программного обеспечения:

  • Лучшие бесплатные курсы программирования во время блокировки
  • Что такое CI / CD? Объяснение непрерывной интеграции и непрерывной доставки
  • Что такое гибкая методология? Объяснение современной разработки программного обеспечения
  • Что такое API? Объяснение интерфейсов прикладного программирования
  • Лучший язык программирования для изучения сейчас
  • Самые ценные навыки разработчика программного обеспечения в 2020 году
  • 6 лучших языков программирования для разработки ИИ
  • 24 самые высокооплачиваемые должности разработчиков в 2020 году
  • Full-stack разработчик: что это такое и как им стать
  • 9 карьерных ловушек, которых следует избегать каждому разработчику