Файл: Обзор языков программирования высокого уровня (Теоретические основы и история появления первых языков программирования высокого уровня).pdf
Добавлен: 22.04.2023
Просмотров: 400
Скачиваний: 4
Код на языке Python выглядит следующим образом
a = abs(int(input()))
suma = 0
mult = 1
while a > 0:
digit = a % 10
suma += digit
mult *= digit
a = a // 10
print("Сумма:", suma)
print("Произведение:", mult)
2.4 С++
Четвертое место по праву занимает язык С++, применяемый для решения задач в которых требуется производительность и глубокий контроль происходящих процессов[[30]]. Многие компании используют этот язык для поддержания огромного количества софта, написанного на нем в свое время. Данный язык используется для написания различных редакторов, скоростных веб-серверов, а также для разработки игр на различных графических движках. То есть там, где требуется высокая производительность, и другие языки, неспособны в полной мере обеспечить эту возможность. Минусами языка можно назвать большую сложность в изучении, плохую поддержку модульности, наследование некоторых проблем языка Си.
Программу на C ++ можно определить как коллекцию объектов, которые обмениваются данными посредством вызова методов друг друга.
Объекты имеют состояния и поведение. Объект является экземпляром класса. Класс может быть определен как шаблон, который описывает поведение или состояние, которое поддерживает объект своего типа. Метод - это в основном поведение. Класс может содержать много методов. Это в методах, где записываются логики, обрабатываются данные и выполняются все действия. Каждый объект имеет свой уникальный набор переменных экземпляра. Состояние объекта создается значениями, присвоенными этим переменным экземпляра.
Если привести пример простой программы Hello World на языке С++, то можно увидеть структуру программы, в которой видно следующее:
- определяется несколько заголовков, которые содержат информацию, которая является необходимой или полезной для программы, в этом случае необходим заголовок <iostream> ;
- строка с использованием пространства имен std; сообщает компилятору использовать пространство имен std;
- строка ' // main () - это начало выполнения программы. '- это однострочный комментарий, доступный на C ++. Однострочные комментарии начинаются с // и останавливаются в конце строки;
- строка int main () является основной функцией, в которой начинается выполнение программы.
- строка cout << "Hello World"; вызывает на экране сообщение «Hello World».
- строка return 0; завершает функцию main() и заставляет ее возвращать значение 0 в вызывающий процесс.
2.5 Visual Basic.NET
На пятом месте находится язык Visual Basic .NET[19.]. В основном он предназначался как инструмент для быстрого создания Windows-приложений. После смены концепции язык обрел:
-поддержку ООП с конструкторами, деструкторами и наследованием;
-свободную многопоточность;
-компиляцию в байт-код, исполняемую при помощи CLR;
-структурную обработку исключений;
Но главное удобство — платформа .NET[[31]]. Теперь разработчики имеют доступ к огромному количеству библиотек платформы для работы с БД, графикой, формами, безопасностью и вебом. Споры о том, является ли Visual Basic .NET прямым потомком используемого миллионами разработчиков во всем мире языка Visual Basic или Microsoft изменила до неузнаваемости, введя столько новшеств, будут продолжаться еще долго. Полная поддержка наследования — наследования реализации и визуального наследования форм, позволяет создавать приложения, в которых повторно используются большие объемы кода. Типичный пример таких приложений — Internet-приложения, содержащие множество общих элементов: электронные магазины, порталы, поисковые системы.
Пример программы на Visual Basic.Net
Module HelloWorld
' every console app starts with Main
Sub Main( )
System.Console.WriteLine("Hello World")
End Sub
End Module
Здесь шаблон консольного приложения автоматически определяет класс Program с одним методом Main, который принимает в качестве аргумента массив String. Main — точка входа в приложение. Это метод, который автоматически вызывается средой выполнения при запуске приложения. Все аргументы, предоставленные в командной строке при запуске приложения, доступны через массив args. Он вызывает метод Console.WriteLine(String) для отображения литеральной строки "Hello World!"
2.6 JavaScript
На шестом месте находится скриптовый язык JavaScript[[32]]. Он обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам. Основные архитектурные черты: динамическая типизация, слабая типизация, автоматическое управление памятью, прототипное программирование, функции как объекты первого класса. На JavaScript оказали влияние многие языки, при разработке была цель сделать язык похожим на Java, но при этом лёгким для использования непрограммистами.
Пример кода языка Javascript
<!DOCTYPE HTML>
<html>
<head>
<!-- Тег meta для указания кодировки -->
<meta charset="utf-8">
</head>
<body>
<p>Начало документа...</p>
<script>
alert( 'Привет, Мир!' );
</script>
<p>...Конец документа</p>
</body>
</html>
Тег script содержит исполняемый код. Предыдущие стандарты HTML требовали обязательного указания атрибута type, но сейчас он уже не нужен. Далее браузер, когда видит <script> начинает отображать страницу, показывает часть документа до script. Встретив тег script, переключается в JavaScript-режим и не показывает, а исполняет его содержимое. Закончив выполнение, возвращается обратно в HTML-режим и только тогда отображает оставшуюся часть документа.
2.7 C#
С#[[33]] находящийся на седьмом месте рейтинга, язык объединивший в себе мощь языка Java и простоту С++. К 2000 году компания подготовила промышленные версии новых компонентных технологий и решений в области обмена сообщениями и данными, а также создания Internet-приложений (COM+, ASP+, ADO+, SOAP, Biztalk Framework). В поддержку этих новшеств Microsoft выпустила инструментарий для разработки приложений – платформу .NET. Она также объединяла «под одной крышей» несколько языков программирования, что было в новинку для того времени.
Плюсами языка являются:
- высокая скорость разработки на начальных этапах;
- объектно-ориентированный подход;
- присутствует проверка переполнения;
- возможность работать с памятью напрямую;
- простой и понятный синтаксис.
При этом сферы применения этого языка очень широки:
- разработка REST API и веб-сервисов — ASP.NET MVC, ASP.NET Web API;
- разработка игр Unity;
- разработка мобильных приложений;
- разработка десктопных приложений;
- разработка кроссплатформенных приложений и сервисов;
- разработка облачных сервисов — под C# имеются SDK от всех крупных облачных платформ.
Пример кода на языке C#
// A Hello World! program in C#.
using System;
namespace HelloWorld
{
class Hello
{
static void Main()
{
Console.WriteLine("Hello World!");
// Keep the console window open in debug mode.
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
}
}
2.8 PHP
В седьмой позиции рейтинга обосновался язык PHP. PHP (рекурсивный акроним словосочетания PHP: Hypertext Preprocessor) - это распространенный язык программирования общего назначения с открытым исходным кодом[[34]]. PHP специально сконструирован для веб-разработок и его код может внедряться непосредственно в HTML. PHP отличается от JavaScript тем, что PHP-скрипты выполняются на сервере и генерируют HTML, который посылается клиенту. Если бы у вас на сервере был размещен скрипт, подобный вышеприведенному, клиент получил бы только результат его выполнения, но не смог бы выяснить, какой именно код его произвел. Вы даже можете настроить свой сервер таким образом, чтобы обычные HTML-файлы обрабатывались процессором PHP, так что клиенты даже не смогут узнать, получают ли они обычный HTML-файл или результат выполнения скрипта. Если посмотреть на историю языка и первые версии, становится понятно, что язык воплотил в себе все самые лучшие черты существующих языков программирования для настольных систем, например, многие функции напоминают поведение функций из языка C или C++. Согласно некоторым источникам, на развитие языка PHP оказали влияние такие языки, как Perl, C, C++, Java.
Преимущества PHP:
- является свободным программным обеспечением, распространяемым под особой лицензией (PHP license);
- легок в освоении на всех этапах;
- поддерживается большим сообществом пользователей и разработчиков;
- имеет развитую поддержку баз данных;
- имеется огромное количество библиотек и расширений языка;
- может использоваться в изолированной среде;
- предлагает нативные средства организации веб-сессий, программный интерфейс расширений;
- является довольно полной заменой проприетарной среды ASP (Active Server Pages) от Microsoft;
- может быть развёрнут почти на любом сервере;
- портирован под большое количество аппаратных платформ и операционных систем.
Из минусов можно выделить следующие:
- не подходит для создания десктопных приложений или системных компонентов;
- имеет слабые средства для работы с исключениями;
- глобальные параметры конфигурации влияют на базовый синтаксис языка, что затрудняет настройку сервера и разворачивание приложений;
- объекты передаются по значению, что смущает многих программистов, привыкших к передаче объектов по ссылке, как это делается в большинстве других языков;
- веб-приложения, написанные на PHP, зачастую имеют проблемы с безопасностью.
Пример кода на языке PHP
<html>
<head>
<title>Пример</title>
</head>
<body>
<?
echo "Привет, я - скрипт PHP!";
?>
</body>
</html>
Сам код сценария начинается после открывающего тэга <? и заканчивается закрывающим ?>. Между этими двумя тэгами текст интерпретируется как программа, и в HTML-документ не попадает. Если же программе нужно что-то вывести, она должна воспользоваться оператором echo.
2.9 SQL
На девятом месте расположился SQL (Structured Query Language — Структурированный язык запросов) — язык управления базами данных для реляционных баз данных[[35]]. Сам по себе SQL не является полным языком программирования, но его стандарт позволяет создавать для него процедурные расширения, которые расширяют его функциональность до полноценного языка программирования. SQL создавался как простой стандартизированный способ извлечения и управления данными, содержащимися в реляционной базе данных. Позднее он стал сложнее, чем задумывался, и превратился в инструмент разработчика, а не конечного пользователя. В настоящее время SQL (по большей части в реализации Oracle) остается самым популярным из языков управления базами данных, хотя и существует ряд альтернатив.
Пример кода на SQL
sqlplus SCOTT/TIGER
SET SERVEROUTPUT ON
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello World');
END;
/
За последние десятилетия появилось большое количество языков для решения своих узкоспециализированных задач. Рассматривать их всех, с теоретической точки зрения, не имеет смысла, так как они являются потомками основных языков появившихся в первое пятидесятилетие. Так или иначе, они используют известные парадигмы и составные части этих языков программирования. Все они, по-своему интересны, но более важно для каких целей сейчас используются, вот некоторые из них:
- язык Go[[36]] разрабатывался как язык программирования для создания высокоэффективных программ, работающих на современных распределённых системах и многоядерных процессорах. Он может рассматриваться как попытка создать замену языкам Си и C++. Был разработан для решения реальных проблем, возникающих при разработке программного обеспечения в Google;
- Ruby[[37]] создавался для написания простых и в то же время понятных программ, где важна не скорость работы программы, а малое время разработки, понятность и простота синтаксиса;
Как видно из второй главы, языки программирования высокого уровня продолжают видоизменяться. К сожалению, все они имеют свои плюсы и минусы, даже при решении конкретных задач. Причиной тому, является некая разрозненность сообщества программистов, трудность нахождения баланса между скоростью исполнения и высоким уровнем абстракции. Хотя с развитием вычислительной техники и эта проблема становится менее серьезной. Порог входа новичков в программирование, становится все ниже, так как синтаксис и семантика языков становится проще и понятнее. В итоге для решения задач, компаниям приходится тратить время на выбор языка для разработки, и некоторые из них вынуждены создавать свой язык программирования, так как остальные языки не совсем отвечают требованиям задачи.
Заключение
В результате данной курсовой работы была собрана информация из разных источников и проведен обзор языков программирования высокого уровня. Показаны этапы возникновения важнейших понятий и принципов языков программирования, и их самих. Некоторые языки, возникли из старых языков, которые сейчас не используются, но их фундаментальные понятия значительно повлияли на создании новых. Хорошо прослеживается роль абстрактности и того, как новые парадигмы программирования, такие как объектно-ориентированное, позволили совершить скачок в увеличении сложности программ, при уменьшении сложности их написания. Это, несомненно, повлияло на мир, который мы видим сейчас. И он продолжит видоизменяться, насчет этого не возникает никаких сомнений. Тем не менее, предчувствуется некоторый тупик, с которым придется столкнуться новым создателям языков программирования. Им снова предстоит выбор между универсальностью языка, которая позволит решать многие задачи и сложностью в написании программ на нем.