Файл: Современные языки программирования (Общие понятия языков программирования).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 01.04.2023

Просмотров: 181

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Введение

Глава 1 Языки программирования

1.1 Общие понятия языков программирования

1.2 Классификация языков программирования

1.3 Программы

1.4 Компиляция

1.5 Объектно-ориентированное программирование (ООП)

1.6 Функции в языках программирования

1.7 Переменные, константы

Глава 2 Язык разметки гипертекста HTML и язык стилей CSS

2.1 История HTML

2.2 Как работает HTML

2.3 Язык стилей CSS

2.4 Типы стилей

2.5 Виды веб-сайтов

Глава 3 JavaScript

3.1 История создания

3.2 Возможности JavaScript

3.3 Node.js

3.3.1 Скорость выполнения программ

3.3.2 Асинхронность

3.4 Классификация типов данных

3.5. Библиотеки и фреймворки JavaScript

Глава 4 PHP

4.1 История создания

4.2 Работа сценария PHP

4.3 Основы синтаксиса языка PHP

Глава 5 Java

5.1 История создания

5.2 Влияние Java на развитие интернета

5.3 Основные свойства Java

Глава 6 C(Си) и С++

6.1 История создания Си

6.2 С++

Заключение

Список использованной литературы

3.3.2 Асинхронность

В традиционных языках программирования (C, Java, Python, PHP) все инструкции, по умолчанию, являются блокирующими, если только разработчик явным образом не позаботится об асинхронном выполнении кода. В результате если, например, в такой среде, произвести сетевой запрос для загрузки некоего JSON-кода, выполнение потока, из которого сделан запрос, будет приостановлено до тех пор, пока не завершится получение и обработка ответа.
JavaScript значительно упрощает написание асинхронного и неблокирующего кода с использованием единственного потока, функций обратного вызова (коллбэков) и подхода к разработке, основанной на событиях. Каждый раз, когда нам нужно выполнить тяжёлую операцию, мы передаём соответствующему механизму коллбэк, который будет вызван сразу после завершения этой операции. В результате, для того чтобы программа продолжила работу, ждать результатов выполнения подобных операций не нужно.
Подобный механизм возник в браузерах. Мы не можем позволить себе ждать, скажем, окончания выполнения AJAX-запроса, не имея при этом возможности реагировать на действия пользователя, например, на щелчки по кнопкам. Для того чтобы пользователям было удобно работать с веб-страницами, всё, и загрузка данных из сети, и обработка нажатия на кнопки, должно происходить одновременно, в режиме реального времени.
Если вы создавали когда-нибудь обработчик события нажатия на кнопку, то вы уже пользовались методиками асинхронного программирования.
Асинхронные механизмы позволяют единственному Node.js-серверу одновременно обрабатывать тысячи подключений, не нагружая при этом программиста задачами по управлению потоками и по организации параллельного выполнения кода. Подобные вещи часто являются источниками ошибок.
Node.js предоставляет разработчику неблокирующие базовые механизмы ввода вывода, и, в целом, библиотеки, использующиеся в среде Node.js, написаны с использованием неблокирующих парадигм. Это делает блокирующее поведение кода скорее исключением, чем нормой.
Когда Node.js нужно выполнить операцию ввода-вывода, вроде загрузки данных из сети, доступа к базе данных или к файловой системе, вместо того, чтобы заблокировать ожиданием результатов такой операции главный поток, Node.js инициирует её выполнение и продолжает заниматься другими делами до тех пор, пока результаты выполнения этой операции не будут получены.
В браузере и на сервере используются одинаковые концепции языка. Кроме того, в Node.js можно оперативно переходить на использование новых стандартов ECMAScript по мере их реализации на платформе. Для этого не нужно ждать до тех пор, пока пользователи обновят браузеры, так как Node.js — это серверная среда, которую полностью контролирует разработчик. В результате новые возможности языка оказываются доступными при установке поддерживающей их версии Node.js.


3.4 Классификация типов данных

Тип данных – множество данных в коде, разновидность информации. Тип определяет какие операции можно проводить с элементами конкретного множества

В JavaScript существует 7 типов данных, это:

1) Число (number) – числа могут быть как целыми, так и дробными. Существуют специальные значения, которые относятся к данному типу:

А) infinity – можно получить при делении на ноль (бесконечность);

Б) NaN (Not a Number) – можно получить при проведении операции, которая не подлежит математической логике;

Математические операции в JavaScript «безопасны». Мы можем делать что угодно: делить на ноль, обращаться со строками как с числами и т.д.

Скрипт никогда не остановится с фатальной ошибкой (не «умрёт»). В худшем случае мы получим NaN как результат выполнения.

2) BigInt.

В JavaScript существует как максимальное значение числа, с которым можно проводить операции – Max_Safe_Integer = 9007199254740991 или 2е53 – 1, так и минимальное Min_Safe_Integer = - 9007199254740991 или -2е53. Но иногда необходимы числа больше максимального и меньше минимального значения.

Тип BigInt был добавлен в JavaScript, чтобы дать возможность работать с целыми числами произвольной длины.

Чтобы создать значение типа BigInt, необходимо добавить n в конец числового литерала: 1234567891012345678910123456789n

3) Строка (string) – обязательным атрибутом которой являются кавычки, разницы между двойными и одинарными нет.

4) Логический тип данных (boolean) – может принимать только два значения true(правда) и false(ложь).

5) null – Это просто специальное значение, которое представляет собой «ничего», «пусто» или «значение неизвестно».

6) undefined – это когда какой-либо объект существует, но значения не имеет

7) Объект (object) и символ(symbol). Объект – особенный. Все остальные типы называются «примитивными», потому что их значениями могут быть только простые значения (будь то строка или число, или что-то ещё). Объекты же используются для хранения коллекций данных или более сложных объектов. Символ -  используется для создания уникальных идентификаторов объектов.

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

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


3.5. Библиотеки и фреймворки JavaScript

Со времен создания языка JavaScript изменилось многое, в те времена данный язык не имел столь обширный функционал и возможности какие имеет сейчас.

JavaScript конца 90х – середины 00-ых умел несколько простейших функций, типа: вывести какую-либо информацию всплывающим окном и переключение классов HTML (и то не без труда).

Конечно же, на момент написания данной работы в 2020 году, данный язык умеет фактически все, от работы с фронтенд составляющей сайта и до работы серверной части при помощи Node.js, о котором пойдет речь ниже, вполне обходясь без помощи языков специализирующихся на бэкенд составляющей, вроде Python’а или PHP.

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

 jQuery

Так в 2006 году Джон Резиг (Jhon Resig), человек видящий в данном языке большой потенциал, считая JS простым и изящным языком с большим возможностями представил общественности jQuery, библиотеку на основе JavaScript, расширяющую возможности последнего, сокращая и кодируя бесконечно повторяющиеся куски кода, что позволило упростить работу с данным языком, при этом не беспокоясь о кроссбраузерности.

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

Работа с этой библиотекой стала для разработчиков настоящим спасением от монотонной работы, это и поспособствовало такой колоссальной популярности данной библиотеки.

У jQuery два главных достоинства.

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

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

Позднее jQuery облегчила внедрение более сложных технологий, таких как анимации и Ajax. Библиотека фактически превратилась в стандартную для веб-сайтов зависимость. И сегодня она обеспечивает работу огромной доли интернета. По подсчетам некоторых изданий, jQuery используют около 74% всех веб-сайтов в интернете.


С годами актуальность этой библиотеки только росла, многие проекты так или иначе используют функционал jQuery, такие как CSS-библиотека Bootstrap от Twitter, CMS Wordpress и Drupal, а также многие другие.

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

Данная библиотека определенно заняла свою нишу в сфере разработки.

Однако прогресс не стоит на месте, в особенности в сфере IT, были созданы более легкие и оптимизированные решения.

 React JS

React – самая популярная библиотека JavaScript для разработки пользовательского интерфейса (UI), созданная Джорданом Валке, разработчиком программного обеспечения из Facebook, в 2013 году.

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

Компонент React создать проще, поскольку он использует JSX , опциональное расширение синтаксиса JavaScript, которое позволяет комбинировать HTML с JavaScript.

JSX – это отличная смесь JavaScript и HTML Оно делает весь процесс написания структуры сайта более понятным. Кроме того, расширение также значительно упрощает рендеринг нескольких функций.

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

3.4.3 Vue JS

Vue был создан в 2013 году сотрудником корпорации Google Эваном Ю

Vue - это прогрессивный фреймворк для создания пользовательских интерфейсов. В отличие от фреймворков-монолитов, Vue создан пригодным для постепенного внедрения. Его ядро в первую очередь решает задачи уровня представления что упрощает интеграцию с другими библиотеками и существующими проектами. С другой стороны, Vue полностью подходит и для создания сложных одностраничных приложений (SPA, Single-Page Applications), если использовать его совместно с современными библиотеками.

Глава 4 PHP


4.1 История создания

PHP – один из наиболее популярных языков, используемый для создания веб-приложений. Первоначально PHP расшифровывалось как Personal Home Page – персональная домашняя страница, но потом, с расширением области применения языка, аббревиатура PHP стала расшифровываться как PHP: Hypertext Preprocessor – PHP: гипертекстовый препроцессор. Текущая версия языка предназначена для создания веб-приложений самого широкого назначения (например, на его основе создана известная социальная сеть Facebook)

PHP разработан в 1995 году  был создан Расмусом Лердорфом в 1995 году и представлял собой набор Perl-скриптов для ведения статистики посещений его резюме. Развитие web еще только начиналось, никаких специальных средств для решения этих задач не было, и к автору хлынул поток сообщений с вопросами. Лердорф начал бесплатно раздавать свой инструментарий, названный «Personal Homepages Tools» (PHP) - («Инструменты для персональных домашних страниц»). Очень скоро потребовалась большая функциональность и Расмус пишет новую, намного более обширную версию на C, работающую с базами данных и позволяющую пользователям разрабатывать простейшие web-приложения. Расмус Лердорф решил выложить исходный код PHP/FI на всеобщее обозрение, исправление ошибок и дополнение.

4.2 Работа сценария PHP

Как работает приложение, созданное на основе PHP? Принцип очень похож на тот, что используют обычные, статические веб-страницы, созданные на основе языка HTML. На веб-сервере создается сайт, состоящих из нескольких страниц HTML кода. Посетитель, зашедший на сайт, загружает их в браузере, щелкая на гиперссылки, представленных на этих страницах. Щелчок на ссылки инициирует цепочку операций взаимодействия между компьютером пользователя и веб-сервером – браузер отсылает запрос на веб-сервер, который считывает HTML код запрашиваемой страницы, формирует ответ и отправляет его обратно браузеру. В результате содержимое страницы, отображаемой в ответ на запрос пользователя, будет всегда одним и тем же, т.е веб-страница статична. Такая проблема легко решается средствами языка PHP, позволяющего создавать динамические сайты. С его помощью, при создании веб-страниц, можно включать в них специальный сценарий и передавать сценарию данные, которые он должен использовать при обработке запроса браузера. В отличие от статической, информация на динамическая страница может меняться с течением времени, для этого сценарий PHP постоянно обновляет свои данные, обращаясь к нужным источникам: базам данных, показаниям приборов и т.д.