Добавлен: 16.06.2023
Просмотров: 257
Скачиваний: 2
язык С++ (1983) - продолжение алгоритм. языка Си;
язык Object Pascal (1989) был создан на основе языка Pascal. После создания среды программирования – Delphi (1995);
язык Visual Basic(1991) был создан корпорацией Microsoft на основе языка Qbasic (1975) для разработки приложений с графическим интерфейсом в среде ОС Windows.
6. Языки программирования для компьютерных сетей.
В 90-ые годы XX в. в связи с бурным развитием Интернета были созданы языки, обеспечивающие межплатформенную совместимость. На подключенных к Интернету компьютерах с различными ОС (Windows, Linux, Mac OS и др.) могли выполняться одни и те же программы. Исходная программа компилируется в промежуточный код, который исполняется на компьютере встроенной в браузер виртуальной машиной:
язык Java - объектно-ориентированный язык был разработан фирмой Sun Microsystems для создания сетевого программного обеспечения (1995);
язык JavaScript – язык сценариев Web-страниц (компания Netscape). (1995)
7. Языки программирования на платформе .NET.
Интегрированная среда программирования Visual Studio .Net, разработанная корпорацией Microsoft, позволяет создавать приложения на различных языках объектно-ориентированного программирования, в том числе:
на языке Visual Basic .Net ( на основе Visual Basic) - 2003 г.;
на языке Visual C# (С-шарп) – на основе языков С++ и J – 2003 г.;
на языке Visual J# (J-шарп) – на основе Java и JavaScript – 2003 г.
Интерпретаторы и компиляторы
Для того, чтобы процессор мог выполнить программу, программа и данные должны быть загружены в оперативную память. Необходимо, чтобы в ОП был размещена программа - транслятор, автоматически переводящий с языка программирования в машинные коды.
Трансляторы бывают двух типов: интерпретаторы и компиляторы.
Интерпретатор – программа, которая обеспечивает последовательный перевод операторов программы с одновременным их выполнением. Достоинством интерпретатора является удобство отладки (поиск ошибок), недостаток – сравнительно малая скорость выполнения.
Компилятор переводит весь текст программы на машинный язык и сохраняет его в исполнимом файле (обычно с расширением .exe).
Системы объектно-ориентированного программирования содержат программу-транслятор и позволяют работать в режиме как интерпретатора, так и компилятора. На этапе разработки и отладки проекта используется режим интерпретатора, а для получения готовой программы – режим компилятора.
Разновидность языков программирования
Классификация языков программирования по категориям связана с методами, которые используются при написании программ.
Рисунок 2 - Классификация языков программирования
- Процедурные языки.
Процедурные языки являются языками высокого уровня, в которых используется метод разбиения программ на отдельные связанные между собой модули – подпрограммы (процедуры и функции). Компоненты языка состоят из последовательности операторов, которые используют библиотечные процедуры и функции. Первым процедурным языком был Fortran, затем появился Cobol, Algol, Pascal, C, Ada.
- Языки программирования низкого уровня. К языкам низкого уровня относится: программирование в машинных кодах; ассемблер; макроассемблер. Языки низкого уровня ориентировались на определенный тип процессора и учитывали его особенности, поэтому для того, чтобы перенести программу, написанную на ассемблере, на другую аппаратную платформу её нужно было почти полностью переписать. Различия присутствовали также и в синтаксисе программ под разные компиляторы. Языками низкого уровня пользуются преимущественно для написания небольших системных программ, драйверов устройств, модулей стыков с нестандартным оборудованием, программирования специализированных микропроцессоров, когда немаловажным является компактность, быстродействие и возможность прямого доступа к аппаратным ресурсам.
- Языки программирования высокого уровня. В языках высокого уровня особенности конкретных компьютерных архитектур не учитываются, поэтому написанные программы легко могут быть перенесены на другой компьютер. Зачастую достаточным является компиляция программы под определенную архитектурную и операционную систему. Разработка программ на языках высокого уровня значительно проще и ошибок намного меньше. К тому же время разработки программы значительно уменьшается, что является особенно важным фактором при работе над сложными программными проектами [4, с.103].
Недостаток некоторых языков высокого уровня состоит в большом размере программ по сравнению с программами на языках низкого уровня. В то же время текст программ на языке высокого уровня гораздо меньше, но в байтах код, написанный на ассемблере, будет более компактным. Поэтому языки высокого уровня преимущественно используют для создания программного обеспечения для компьютеров и вычислительных устройств с большим объемом памяти. Языки же низкого уровня используются для написания программ к устройств, для которых критичным является размер программы. Языки высокого уровня делятся на универсальные и проблемно-ориентированные. Наиболее распространенные универсальные языки C#, C++, Basic, Pascal (Delphi) используются для разработки Windows-приложений. Большой вклад в программирование на начальных этапах внесли языки Fortran, Cobol, Algol, C и др. Языки программирования для разработки Интернет-приложений скорее относятся к универсальным языкам. К ним относятся современные версии C#, Basic, J#.
- Объектно-ориентированные языки. Объектно-ориентированные языки стали дальнейшим уровнем развития процедурных языков, основной концепцией которых есть совокупность программных объектов. Написание программы на языке представляется в виде последовательности создания экземпляров объектов и использование их методов. К ним относятся из первых языков Simula и SmallTalk, далее C++, Java.
Декларативные языки программирования. В декларативном программировании задается спецификация решения задачи, то есть дается описание того, что представляет собой проблема и какой ожидается результат. Программы, созданные с помощью декларативного языка, не содержат переменные и операторы присваивания. К декларативным языкам можно отнести SQL и HTML. К подвидам декларативного программирования относится функциональное и логическое программирование.
Функциональные языки программирования. Они являются языками искусственного интеллекта. Программа, написанная на функциональном языке, состоит из последовательности функций и выражений, которые необходимо вычислить. Основной структурой данных является связный список. Функциональное программирование принципиально отличается от процедурного. Основными функциональными языками являются Lisp, Miranda, Haskel.
Логические языки программирования. Языки, ориентированные на решение задач без описания алгоритмов, языки искусственного интеллекта. Представителем логического программирования является Prolog, которым написано большинство экспертных систем.
Языки сценариев (скрипты). Языки относятся к объектно-ориентированным языкам, используются для написания программ, которые исполняются в определенной программной среде. Тексты программ, написанные на языке сценариев, можно включать в тело Html-документа. Первыми скриптами были Perl и Python, которые изначально были разработаны для операционной системы Unix, а уже в дальнейшем появились версии языков для операционных систем Windows и Macintosh. Для написания программ на языке сценариев необходимо знание процедур и функций системных библиотек.
Языки ориентированы на работу с одним определенным типом данных.
К примеру, APL работает с матрицами и векторами, Snobol обрабатывает строки, SETL выполняет операции над множествами. Особое развитие получили языки для работы с базами данных: 3GL, PL/SQL, FoxPro.
Глава 2. Характеристика и свойства языков программирования
2.1. Эволюция и классификация современных языков программирования
Языки программирования (ЯП) как способ выражения и сохранения вычислительных алгоритмов прошли долгий путь развития, и этот процесс продолжается. Некоторые языки становятся неактуальными и выходят из употребления (например, Алгол), другие, возникнув десятилетия назад, продолжают эволюционировать (C, C++, Java). Третьи только появились и, более адекватно соответствуя современным задачам, успешно завоевывают популярность (Swift, Go, Rust).
Рисунок 3- Эволюция языков программирования
Языки программирования можно классифицировать по нескольким основаниям.
- По уровню абстракции: языки низкого уровня: их синтаксис приближен к машинным кодам Ассемблер, Си; языки высокого уровня; они направлены на то, чтобы человеку было удобно формулировать алгоритмы применительно к обслуживаемой предметной области (Java, С#) [5, с.72].
- По среде исполнения языки программирования делятся на: компилируемые: поизводится преобразование исходного текста программы в бинарныйе исполняемые файлы (C, C++, C#, Java, Go, Swift); интерпретируемые: текст, написанный программистом преобразуется в непосредственно исполняемый процессором алгоритм (JavaScript, Python).
Выбирая язык программирования, специалисту следует учитывать круг задач, который предстоит решать.
Рисунок 4 - Доходность языков программирования
В настоящее время на рынке создания программного обеспечения наиболее активно развиваются следующие направления:
Разработка веб-приложений
В веб-разработке существует деление на фронтенд- и бэкенд программирование в зависимости от того, идет речь о написании клиентской части веб-приложения (обрабатываемой браузером страницы) или сервисов, обслуживающих запросы пользователя. Специалисты, занятые в этой отрасли должны хорошо знать средства визуализации, применяемые при создании веб-страниц (html, css), скриптовой язык JavaScript, применяемый для насыщения пользовательского интерфейса интерактивными возможностями, протоколы обмена информацией между клиентом и сервером (http).
Фронт-енд разработка базируется на JavaScript и его производных. В бэкенд-разработке чаще всего применяются скриптовые языки (PHP, Python, JavaScript) и фреймворки на их основе, а также Java, Go, C# и другие.
Современным веб-разработчикам не обойтись без знания фреймворков (React, Angular, Vue и т.п.) - "надстроек" над языками программирования, ускоряющих создание сайтов, делающих их более надежными и эффективными [15, с.53].
Разработка мобильных приложений
Выбор ЯП для написания программ, запускаемых на смартфонах и планшетах, зависит от аппаратной платформы. Для устройств с операционной системой Android приложения пишутся на ЯП Java, Kotlin. Для написания программ, работающимх на платформах компании Apple (iOS) используются языки от корпорации Apple - Objective-C и идущий ему на смену Swift. Разработка десктопных приложений
Выбор ЯП для создания приложений, запускаемых на настольных компьютерах, зависит от установленной операционной системы. В среде Windows чаще всего используется язык C#. Для компьютеров Apple - Objective-C и Swift. Существуют также кроссплатформенные решения, такие, как Java, Qt, GTK (надстройки над С++, ориентированные на создание графических интерфейсов) и т.п.
Помимо знания языков программирования, современный специалист должен также ориентироваться в инструментах разработки: сборщиках, интегрированных средах, редакторах кода, системах контроля версий и т.п.
2.2. Распространенные современные языки программирования
Различные аналитические сервисы и влиятельные корпорации регулярно проводят исследование популярности языков программирования. Рассмотрим свежий рейтинг, составленный по данным сервиса GitHub (менее востребованные ЯП идут в начале списка).
Рисунок 4 - Распространенные языки программирования
Ruby Язык Ruby - язык с открытым исходным кодом, сфокусированный на простоте. Обладает развитым доброжелательным сообществом, и обширной документацией. Примеры крупных сайтов, созданных с использованием Ruby: SoundCloud, Twitch, Hulu, Zendesk, GitHub. C Язык Си принадлежит к числу старейших (начал активно использоваться на рубеже 1960-х - 1970-х гг.) и остается одним из самых популярных благодаря универсальности, гибкости и эффективности. К недостаткам Си можно отнести относительно высокий порог вхождения. C# Язык C# (произносится Си шарп) - язык из семейства Си, разработанный корпорацией Microsoft для написания приложений, работающих в среде операционной системы Windows. Благодаря простому синтаксису, а также интуитивно понятной среде разработки VisualStudio, С# может быть легко освоен даже начинающими программистами.
С# активно используется для разработки игр. Для этого существует специализированная среда Unity.