Код
February 12, 2020

На чём пишут сайты?

Чаще всего используемые языки программирования для создания Web-платформ

С чего начать?

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

JavaScript

Назначение: встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам. Есть очень много фреймворков для разработки, таких как React, React Native, Angular.js, Node.js.

Конкретные возможности: анимация, интерактивное взаимодействие через браузер.

Как научиться: документация MDN, Современный учебник JavaScript, SoloLearn, W3Schools.

PHP

Назначение: интенсивно применяется для разработки веб-приложений. Популярность в области построения сайтов обоснована наличием большого набора встроенных средств и дополнительных модулей. Основные из них:

  • автоматическое извлечение POST- и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;
  • взаимодействие с большим количеством различных систем управления базами данных через дополнительные модули (MySQL, MySQLi, SQLite, PostgreSQL, Oracle (OCI8), Oracle, Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird / InterBase, Paradox File Access, MaxDB, Интерфейс PDO), Redis;
  • автоматизированная отправка HTTP-заголовков;
  • работа с HTTP-авторизацией;
  • работа с cookies и сессиями;
  • работа с локальными и удалёнными файлами, сокетами;
  • обработка файлов, загружаемых на сервер;
  • работа с XForms.

Как научиться: официальная документация на русском, SoloLearn, HTML Academy, W3Schools.

C

Назначение общее; используется для написания быстрых алгоритмов, результаты работы которых обычно используются в вебе.

Фреймворк специально для веба: Facil.io.

Как научиться: Tproger, Prog-Cpp, Learn C.

C++

Назначение общее. Отличается от C как более объектно-ориентированным синтаксисом, так и наличием умной работы с памятью и богатой стандартной библиотекой.

Фреймворк для веба: CppCMS.

Как научиться: CppReference, W3Schools, Microsoft Docs (Ru).

Python

Назначение: повышение производительности разработчика, обработка больших данных, машинное обучение, веб-разработка.

Фреймворки: Django (djbook, django Project, MDN), Flask (русская документация, Pallets Project, Wikibooks (Ru)) - для веба; Keras (keras.io), scikit-learn (Neurohive, scikit-learn.org) - для машинного обучения.

Как научиться: Python World (Ru), Tproger.

Java

Назначение общее. Приложения на Java могут запускаться везде, где есть Java-машина - Android, Windows/macOS/Linux/Free BSD и другие платформы. Java имеет огромное количество фреймворков различного назначения, поэтому считается универсальным языком.

Как научиться: Java Rush - лекции, Java Online - про Web-технологии и фреймворки.

SQL

Назначение: управление базами данных.

Как научиться: интерактивный учебник, сайты для практики, itProger.