Найти тему
evilUnion

Короткое описание языков программирования

Оглавление

В этом уроке мы коротко разберем языки программирования, разметки и стилей.

Это отрывок из курса – "База IT для бизнеса за час"

Frontend отвечает за разработку пользовательского интерфейса и его функций. По сути, за все те элементы, с которыми взаимодействует пользователь. Frontend: HTML, CSS, JS

Backend реализует логику работы сайта, невидимую для глаз пользователя. Backend: PHP, Node js, GO, Java, Python, C#, C++, C

HTML

Язык разметки HTML-документов. Это скелет каждой веб-страницы. Основной элемент этого языка — теги. Из них, как из кирпичиков, создают страницу. 

Конструкция тега проста: название тега помещают в
угловые скобки. Есть открывающий тег и закрывающий тег. В закрывающий тег добавляют «/».  Между тегами записывается контент — это может быть текст или другой тег. 
Общая конструкция: <открывающий тег>Контент</закрывающий тег>

CSS

Это язык описания внешнего вида HTML-документа. CSS-стили описывают вид тега. Можно перекрашивать элементы, изменять отступы, менять расположение. При помощи CSS-стиля можно изменить объект как угодно. 
Каждому тегу можно присвоить класс, по которому CSS-стиль будет применять свои правила внешнего вида.

Адаптивность

Ваши Web-страницы обязаны подстраиваться под разные экраны — мобильные, планшетные, десктопные. Это все делается при помощи CSS и Медиазапросов.

Планшетные пользователи составляют 1 % пользователей, по этой причине специально для них ничего не делается и им отдается мобильная версия сайта. Создавать отдельный мобильный сайт — это ошибка прошлого.

JavaScript

JavaScript (сокращено называют JS) наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам. Любая логика на странице работает благодаря ему. HTML и CSS определяют внешний вид страниц, в то время как JS — все остальное. При помощи этого языка происходит общение между Frontend и Backend. Код, написанный на JS, может обращаться посредством API к Backend и после получения ответа изменять содержимое страниц.

PHP

Скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. В 1995–2010 годах не имел достойных аналогов для простых сайтов, из-за этого 90% сайтов были написаны на нем. Благодаря широкому применению ранее используется до сих пор, так как созданные сайты нужно поддерживать. Имеет очень много недостатков, низкую производительность и на данный момент устарел. Все крупные проекты, которые в 2000-е были написаны на PHP, в 2010-е годы были переписаны. 

Мы настоятельно рекомендуем не связываться c данным языком. Ниже доводы из разных источников.

Сравнение производительности GO, Node js, PHP, JAVA.
Сравнение производительности GO, Node js, PHP, JAVA.

Сравнение языков при использовании benchmarks. По строкам тесты, в значениях средняя скорость выполнения теста. Чем меньше значение, тем лучше.
Сравнение языков при использовании benchmarks. По строкам тесты, в значениях средняя скорость выполнения теста. Чем меньше значение, тем лучше.

Node.js

Node.js — программная платформа, которая переводит JS в машинный код и превращает его в язык общего назначения. До появления этой платформы JS мог исполняться только в браузерах. А теперь везде. Год создания — 2009. Набирает стремительную популярность из-за того, что разработчику нужно знать один язык. Очень удобно, когда у тебя Frontend и Backend написаны на одном языке. Имеет высокую производительность, развитую экосистему, высокую масштабируемость, асинхронность.

Асинхронность и производительность

Если на сервер поступает несколько запросов одновременно, то асинхронный код может обработать их вместе, в то время как синхронный код будет выполнять их последовательно. Это одна из причин, почему PHP медленный.

-3

Масштабируемость

Это возможность расширять производительность вашей системы. Данная тема довольно большая и сложная, явно не подходит для этого курса. Если вам интересно, то вот ключевые слова, при помощи которых можно начать ее изучать:  МикросервисыКубернетес
На определенном этапе развития вашего проекта это может стать очень критичным вопросом. Такой момент происходит тогда, когда одна самая сильная машина на сервере не справляется со своими задачами и нужно заводить вторую.

Экосистема

Это сообщество вокруг инструмента. Данный пункт легко проверяется на сайте gitНub. Любой публичный репозиторий можно изучить: количество звезд, количество обсуждений, дату обновления и т. д. 
Ниже скриншот страницы Node.js на gitHub:

-4

Модули

Модули Node.js представляют несколько функций, сгруппированных в один или несколько файлов JS. Все эти функции имеют уникальный контекст и не мешают работе других модулей. Данная технология позволяет повторно использовать код и повышает удобство использования.

Есть веселый рассказ про платформу тут:

Python

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

Важный момент про скорость. Во всех алгоритмах обучения Python выступает как менеджер библиотек, которые, в свою очередь, могут быть написаны на очень производительных языках, например C++. Поэтому это утверждение может быть не всегда справедливо.

На данный момент самый популярный язык. С него легко начинать изучать программирование.

-5

JAVA

Один из самых популярных языков. Имеет одну из самых широких сфер применения: Backend для Web, мобильные приложения, анализ данных, программирование физических вещей и т. д. Чаще всего применяется в крупных проектах, так как этот язык сложнее, чем Python, JS, PHP.

Golang

Golang — язык, написанный в компании Google на замену Java, C, C++. Основное предназначение — Backend высоконагруженных программ. Используется в сервисах Google, а также в проектах с большим количеством пользователей.

C

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

C++

C++ используется во всех сферах деятельности программирования: от высоконагруженных систем до программирования микроконтроллеров. На С++ можно написать как веб-сервер, так и игры, любые компьютерные программы, компоненты и т. д. На данный момент это один из самых производительных и сложных языков. Конкуренцию ему составляет более молодой Rust.

C#

C# — язык программирования, который компания Microsoft изначально делала для своих проектов. Особенно хорошо он сочетается с экосистемой Microsoft. Область применения: игры, Backend, машинное обучение. Но это все должно быть на Windows. Сервера на Windows стоят дороже. Да и в целом же Web — это про Open Source.

Другие интересные наши работы

Предсказание конверсий

Узнайте, на жителя какой страны вы похожи

Исследование 4000 вакансий и резюме директоров по маркетингу. Требования и компетенции