Обзор основных языков программирования, которые стоит изучить веб-разработчику

Эта статья является второй из 9 частей серии статей.

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

JavaScript

В последние годы JavaScript стал фактическим языком выбора при создании веб-сайтов и одним из самых популярных языков для создания веб-приложений. Это объясняется многими причинами, в том числе обращением с объектами и возможностью быстро создавать приложения. Есть люди, которые считают, что это несправедливо популярно из-за множества очевидных недостатков JavaScript по сравнению с более традиционными языками программирования. У JavaScript есть некоторые странные особенности и поведение, которые беспокоят некоторых инженеров. В одном можно согласиться с тем, что JavaScript - один из наиболее часто используемых языков сегодня, и, судя по всему, так и остается. Знание JavaScript необходимо любому веб-разработчику

Чтобы исправить недостатки JavaScript, разработчики создали огромное количество библиотек, каждая из которых пытается решить свою проблему, или множество пытается решить одну и ту же проблему незначительно разными способами. Знакомство с этими библиотеками стало важным, даже если нужно просто знать, что вы можете использовать их для облегчения процесса разработки. Вот некоторые из наиболее широко используемых библиотек: Lodash (утилиты, вычисления), Ramda (вводит функциональное программирование в JavaScript) и TypeScript (вводит явное определение типов переменных в JavaScript).

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

ECMAScript / ES6 / ES8

ECMAScript - это стандарт, который определяет, что должен делать язык сценариев, а JavaScript - это реализация ECMAScript. ActionScript - еще один пример, который в последние годы мало использовался (объяснение, почему, пожалуйста, обратитесь к этому разделу комментариев Quora), но он следует тому же стандарту ECMA, что и JavaScript. У веб-браузеров есть различные механизмы, которые компилируют, понимают и запускают код JavaScript, но обычно они работают по стандартам ECMAScript.

Поскольку ECMAScript выпускает новую версию каждый год, этим движкам иногда трудно успевать за изменениями языка. Вот почему мы создали различие сейчас между ES6 / ES2015 и любой из более новых версий, таких как ES9 / ES2018. Чтобы использовать новые функции ES9, были созданы такие инструменты, как Babel, которые переносят ваш код обратно в старую версию JavaScript (обычно ES5 или ES6), чтобы гарантировать его работу во всех браузерах. Эта статья подробно описывает различия для дальнейшего чтения.

Node.js

Node.js - это среда выполнения JavaScript, построенная на движке JavaScript V8 Chrome и используемая для выполнения JavaScript вне браузера. Это позволило использовать JavaScript как серверный (бэкэнд) язык, а также как язык интерфейса. Фактически, Node.js стал самым популярным выбором для backend-разработчиков из-за его простоты использования и интуитивного поведения. Поскольку вы используете один и тот же язык на клиенте и сервере, это также позволяет использовать гораздо меньший и более чистый стек технологий.

Node.js построен на основе событийно-управляемой неблокирующей парадигмы ввода-вывода. Эта модель позволяет запускать несколько различных процессов одновременно, что делает ее легкой и эффективной. Node также стал отличным инструментом для связи с такими устройствами, как Arduino или Raspberry Pi.

Библиотеки

Хотя Vanilla JavaScript превосходен (то есть без каких-либо библиотек или зависимостей), использование множества библиотек с открытым исходным кодом, написанных на JavaScript, может сделать вашу работу значительно более управляемой. Библиотеки могут выполнять несколько ролей, таких как утилиты (Lodash, jQuery) или инструменты, облегчающие вашу жизнь в качестве разработчика (Webpack, i18n).

Вот несколько примечательных библиотек с открытым исходным кодом:

  • I18n - произносится интернационализация, что упрощает локализацию и делает ваше приложение многоязычным.
  • JQuery - возможно, самая известная библиотека JavaScript, но большинство ее функций теперь интегрировано в ядро ​​JavaScript.
  • Момент - упрощающий работу с датой и временем.
  • ThreeJS - позволяет создавать, отображать и анимировать 3D графику в браузере.

PHP

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

Рубин

Ruby - это динамический объектно-ориентированный язык программирования общего назначения. Ruby - любимый и популярный выбор из-за его широкого разнообразия использования и стабильных выпусков. В Интернете Ruby был популярен с момента появления Ruby on Rails, о чем мы поговорим в разделе, посвященном фреймворкам этой серии статей.

Python

Python - интерпретируемый язык программирования общего назначения. Как и Ruby, Python славится разнообразием вариантов использования и простым стилем программирования. Python также часто используется в университетских классах информатики, благодаря чему этот язык очень хорошо известен среди сотрудников, когда студенты выходят на поле. У Python также есть популярный веб-фреймворк (Django), который мы обсудим, когда будут рассмотрены фреймворки, но важно знать, что он вам понадобится, если вы заинтересованы в любой из областей искусственного интеллекта, машинного обучения или Большое количество данных. Python незаменим из-за его частого использования в учебных пособиях и примерах, особенно при обработке больших объемов данных.

Голанг

Голанг (или Go) - один из новых языков в веб-разработке, но его популярность резко возросла. Это типизированный и компилируемый язык, известный своим минималистичным подходом и ориентированным на опыт разработчика. Этот язык был создан Google и быстро приобрел популярность среди ведущих технологических компаний как их любимый язык для создания микросервисов.

HTML / CSS

Эти два языка являются их собственными, отдельными языками, но, учитывая их взаимозависимость, также соединены вместе как один. HTML описывает структуру страницы, а CSS описывает, как она должна выглядеть. HTML (сокращение от Hypertext Markup Language) - это язык разметки, используемый для описания типа контента, необходимого для документа, и объединяет все взаимодействия и данные в одном месте. CSS (сокращение от Cascading Style Sheets) - это язык таблиц стилей, используемый для описания стиля документа, касающегося цветов, типографики, размещения и т. Д. Это важно для понимания любого веб-разработчика.

HTML5 / CSS3

HTML5 и CSS3 являются последними версиями HTML и CSS соответственно, и оба представили в сцене революционные функции. Новые обновления и выпуски под этими названиями все еще находятся в стадии разработки, но внедрение этих функций в браузерах может быть медленным. Поэтому всегда полезно проконсультироваться с таким ресурсом, как caniuse, чтобы узнать, можете ли вы использовать определенные функции в определенных браузерах или нет.

Препроцессоры и механизмы создания шаблонов

Разница между препроцессорами и механизмами создания шаблонов в основном заключается в семантике. Во многих языках есть препроцессоры, которые позволяют писать код с их синтаксисом, который препроцессор затем транслирует в HTML или CSS (в случае веб-разработки). Это называется шаблонизацией. Примером этого является JSX, используемый в React, а также Pug для написания HTML внутри JavaScript. Существуют также препроцессоры для CSS, которые облегчают автоматизацию совместимости браузеров (например, autoprefixer), добавляют функции CSS, еще не реализованные в браузерах (cssnext), и помогают в написании более чистого и удобного в сопровождении кода CSS (Sass, Меньше, PostCSS, Стилус).

Другие

Следующие языки не являются в первую очередь языками веб-разработки и не так широко используются, но они получили достаточно широкое распространение, чтобы их можно было обсудить (особенно в конкретных корпоративных областях).

ASP.NET

ASP.NET - это серверный язык программирования, разработанный Microsoft для создания динамических страниц еще в 2002 году. С тех пор .NET развился и до сих пор используется, например, на Sitecore.

C#

C # (произносится как C-sharp) - это производный язык программирования общего назначения на языке C, разработанный Microsoft, который развивает объектно-ориентированную природу C ++. Этот язык можно использовать в Интернете на стороне сервера, но он обычно используется для программирования на базе Windows, особенно для игр. Одно из самых известных применений C # - это игровой движок Unity 3D.

Джава

Java - популярный объектно-ориентированный язык программирования общего назначения, который относительно печально известен в сообществе веб-разработчиков. Причина этого двоякая: в первую очередь Java является излишним для большинства веб-приложений, и время, необходимое для реализации изменений, занимает намного больше времени по сравнению со многими ранее упомянутыми языками. Java до сих пор определенно используется в сообществе веб-разработчиков, одним из известных примеров является Twitter, который изначально запускал Ruby on Rails, а затем переключился на Java для удовлетворения своих потребностей в масштабировании.

Следующая статья: Данные →