Файл: Классификация языков программирования. Критерии выбора среды и языка разработки программ (Низкоуровневые языки программирования).pdf

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

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

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

Добавлен: 31.03.2023

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

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

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

PHP

Отличный язык, дополняющий современные языки программирования высокого уровня. Он незаменим для разработки самых разнообразных веб-приложений, настройки работы серверного ПО, создания динамичных Интернет-ресурсов, снабженных различными интерактивными функциями, всплывающими окнами и прочими «погремушками». Если Вы видите в своем браузера на любимом сайте появившееся окно с приложением – скорее всего оно написано именно на PHP. Именно PHP отвечает за дополнительные функции страниц.

HTML — стандартизированный язык написания документов или же сайтов в Всемирной паутине(интернете). Большинство веб-страниц содержат основную инвормацию на языке HTML (или XHTML). Язык HTML интерпретируется браузерами; полученный форматированный текст отображается на любом экране.

Язык HTML до 5-й версии определялся как приложение SGML (стандартного обобщённого языка разметки по стандарту ISO 8879). Спецификации HTML5 формулируются в терминах DOM (объектной модели документа).

Язык XHTML является более строгим вариантом HTML, он следует синтаксису XML и является приложением языка XML в области разметки гипертекста.

Во всемирной паутине HTML-страницы, как правило, передаются браузерам от сервера по протоколам HTTP или HTTPS, в виде простого текста или с использованием шмфрования.

CSS

(англ. Cascading Style Sheets — каскадные таблицы стилей) — язык описания внешнего вида документа, написанного с использованием высокоуровневым языка. Преимущественно используется как средство описания, оформления внешнего вида веб-страниц, написанных с помощью HTML и XHTML, но может также применяться к любым XML-документам, например, к SVG или XUL.

CSS используется создателями для графического оформления веб-страниц. Основной целью разработки CSS являлось разделение описания логической структуры веб-страницы (которое производится с помощью HTML или других языков) от описания внешнего вида этой веб-страницы теперь производится с помощью формального языка CSS. Такое разделение может увеличить доступность к настройкам документа, предоставить большую гибкость и возможность управления его графической составляющей, а также уменьшить сложность и повторяемость в структурном содержимом. Кроме того, CSS позволяет представлять один и тот же документ в различных стилях или методах вывода, таких как экранное представление, печатное представление, чтение голосом (специальным голосовым браузером или программой чтения с экрана), или при выводе устройствами, использующими шрифт Брайля.


Шрифт Брайлия - рельефно-точечный тактильный шрифт, предназначенный для письма и чтения незрячими и плохо видящим людям. Разработан в 1824г. Французом Луи Брайлем, сыном сапожника. Луи в возрасте трёх лет поранился в мастерской отца шорным ножом; из-за начавшегося воспаления глаза мальчик потерял зрение. В возрасте 15 лет Луи создал свой рельефно-точечный шрифт как альтернативу рельефно-линейному шрифту Валентина Гаюи, вдохновившись простотой «ночного шрифта» капитана артиллерии Шарля Барбье. В то время «ночной шрифт» использовался военными для записи донесений, которые можно было прочесть в темноте.

Ночной шрифт - Николя́-Шарль-Мари́ Барбье́ де ла Сер французский военный, изобретатель так называемой «ночной азбуки». Уроженец департамента Нор, служил в армии во времена абсолютизма, получив чин капитана артиллерии; во время революции 1789 - 1794г. эмигрировал и вернулся во Францию во времена Первой империи. В армии занимался проблемами шифровки сообщений, и по запросу Наполеона в 1808 году разработал так называемую «ночную азбуку» — способ кодировки сообщений, который позволял их получателям читать тексты сообщений «вслепую»— в темноте и бесшумно.

Python (Питон)

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

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

Вывод:

Мы узнали об высокоуровневых языках, как они работают, о некоторых популярных языках которые туда входят, и историю создания первого языка высокого уровня.


Глава 4: Параметры выбора языка программирования

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

1. Скорость

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

Программы, написанные на высокоуровневых языках, относительно медленные. Главая причина этого в том, что они пишутся на «человеческом» языке. Компьютеру приходится переводить и интерпретировать их, прежде чем выполнить. Все эти процессы занимают время.

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

2. Требования к памяти

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

3. Легкость использования

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

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

4. Портируемость

В данном случае портируемость означает возможность использовать язык на разных компьютерах. Низкоуровневые языки являются менее портируемыми, поскольку их инструкции «машино-зависимы». То есть, каждая инструкция написана для конкретной машины. Код, написанный для конкретной машины, не запустится на на компьютере с другой архитектурой.

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


5. Абстракция

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

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

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

Вывод:

Мы узнали на что надо обращать внимания когда выбираешь язык для разработки приложения, а это скорость, требование памяти, лёгкость использования, портируемость и абстракцию.

Глава 5. Алгоритмические языки программирования

Алгоритмический язык программирования это язык, который используется для написания и реализации алгоритмов. Его отличие от других языков программирования в том что, алгоритмический язык не связан с архитектурой компьютера и не содержит деталей, связанных с устройством машины.

Для изучения основ алгоритмизации применяется так называемый Русский алгоритмический язык (школьный алгоритмический язык), использующий понятные школьнику слова на русском языке.

Алголо-подобный алгоритмический язык с русским синтаксисом был введён в употребление академиком А. П. Ершовым в середине 1980-х годов, в качестве основы для «безмашинного» курса информатики.

Он работает по принципу Дано, найти, решение и условие. Но для того что бы точно показать как он работает нужно очень много всего объяснить. По этому мы уйдём от этого вопроса. Можно только показать пример как он выглядит в работе:

алг -оритм Сумма квадратов (арг цел n, рез цел S)
| дано n > 0
| надо S = 1*1 + 2*2 + 3*3 + … + n*n
нач цел -ое i
| ввод n
| S:=0
| н -ачало ц -икла для i от 1 до n
| | S:=S+i*i
| к -онец ц -икла
| вывод "S = ", S
кон -ец алгоритма

(То что выделено жирными буквами это и есть его теги то что с тире после жирных букв это я расшифровал эти сокращённые теги

(Пример: к -онец цикла) всё остальное условия и формулы решения)

P.s. Надеюсь на то что вы поняли то что было написано.

Вывод:


Мы узнали как работает алгоритм, как он выглядит, и кем он был разработан.

Глава 6. Формальные языки программирования

Формальные языки являются языками, которые разработаны людьми для конкретных применений. Например, нотация, которую математики используют как формальный язык, которая особенно хороша для обозначения отношений между числами и символами. Химики используют формальный язык для представления химической структуры молекул. И самое важное:

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

Формальные языки, как правило, имеют строгие правила синтаксиса. Например, 3+3=6 является синтаксически правильным математическим утверждением, но 3=+$6 — нет. H2O является синтаксически правильным химическим названием, но 2ZZ — нет.

Правила синтаксиса бывают двух видов: относящихся к лексемам и структуре. Лексемы являются основными элементами языка, такими как слова, цифры и химические элементы. Одна из проблем, с 3 = + 6 $ в том, что $ не является юридической лексемой в математике (по крайней мере, насколько мы знаем). Аналогичным образом, 2Zz не является законным, потому что нет ни одного элемента с аббревиатурой Zz.

Второй тип ошибок синтаксиса относится к структуре оператора, который устроен подобно лексеме. Утверждение 3 = + 6 $ структурно неверно, потому что вы не можете поместить знак плюс сразу после знака равенства. Аналогичным образом, молекулярные формулы должны иметь нижние индексы после имени элемента, а не раньше.

Когда вы читаете предложение на английском языке или оператор на формальном языке, вы должны выяснить, какова структура предложения присутствует (хотя на естественном языке вы делаете это подсознательно). Этот процесс называется синтаксическим анализом.

Например, когда вы слышите фразу «Второй ботинок упал», вы понимаете, что «второй ботинок» является предметом, а «упал» — предикатом. После того как вы разобрали предложение, вы можете выяснить его значение либо его семантику. Предполагая, что вы знаете, что такое «ботинок» и что это значит падать, вы будете понимать общий подтекст этого предложения.

Вывод:

Мы узнали что такое формальный язык, привели пример правильного и не правильного формального языка. И узнали правила синтаксисов формального языка.

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