Файл: Обзор языков программирования высокого уровня.pdf

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

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

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

Добавлен: 28.03.2023

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

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

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

4) Язык Delphi можно назвать достаточно многофункциональной и сильной средой разработки приложений, RAD-оболочкой, в которой собраны последние подходы к программированию. Библиотеку VCL, на основе которой написана оболочка Delphi, называют в какой-то степени революционной. Если сравнить Delphi и C++ нельзя не заметить, что эффективность работы кода, который написан на языке Pascal, на пару процентов отличается от кода, сгенерированного на языке C++. Можно сделать вывод, что потенциалы языка почти не ограничены.

Одним из основных преимуществ Delphi перед его аналогами заключается в достаточно быстром процессе разработки программных продуктов, которые, в свою очередь, включают в себя довольно замысловатый интерфейс. Еще можно отметить наличие обширного набора компонентов, обеспечивающих работу с базами данных. Упорядоченный набор данных работает с разными базами данных, как с локальными, так и с промышленными. Например с такими, как, Oracle или MS SQL Server. Так же возможность управления базами данных на логическом уровне не используя низкоуровневые запросы к драйверам можно назвать значительным плюсов Delphi в этой области применения.

Достоинства Delphi:

1. Максимальная простота, наглядность и удобство при разработке элементов пользовательского интерфейса – большую часть работы выполняют уже готовые компоненты из библиотеки визуальных компонентов (VCL);

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

3. Быстрый компилятор: проверку внесенных в программу исправлений можно осуществлять довольно часто;

4. Мощные средства отладки приложений;

5. Хорошая справочная система;

6. Имеется возможность изучения внутреннего устройства Delphi: все библиотеки Delphi (как стандартные, так иVCL) поставляются в исходных кодах;

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

8. Возможность написание своих собственных компонентов «с нуля» или на основе уже существующих;

9. Возможность разработки кросс-платформенных приложений (для Windows и Linux), используя переработанную библиотеку компонентов CLX – аналог библиотеки VCL.

Недостатки Delphi:

1. Больший размер результирующих exe-файлов по сравнению с другими системами разработки;

2. Некоторая сложность при использовании Windows API , связанная с необходимостью преобразования между типами данных языков C и Pascal (особенно при использовании строк и указателей);


3. Необходимость установки на целевую машину драйверов Borland Database Engine (BDE) для доступа к базам данных Paradox или dBase из приложений Delphi.

5) Язык Java. На сегодняшний момент язык Java является одним из самых распространенных и популярных языков программирования. Первая версия языка появилась еще в 1996 году в недрах компании Sun Microsystems, впоследствии поглощенной компанией Oracle. Java задумывался как универсальный язык программирования, который можно применять для различного рода задач. И к настоящему времени язык Java проделал большой путь, было издано множество различных версий.

Текущей версией является Java 11, которая вышла в сентябре 2018 года. А Java превратилась из просто универсального языка в целую платформу и экосистему, которая объединяет различные технологии, используемые в целого ряда задач: от создания десктопных приложений до написания крупных веб-порталов и сервисов. Кроме того, язык Java активно применяется для создания программного обеспечения для целого ряда устройств: обычных ПК, планшетов, смартфонов и мобильных телефонов и даже бытовой техники. Достаточно вспомнить популярность мобильной ОС Android, большинство программ для которой пишутся именно на Java.

Программы на Java транслируются в байт-код, выполняемый виртуальной машиной Java (JVM) -- программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор.

Достоинство подобного способа выполнения программ -- в полной независимости байт-кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности благодаря тому, что исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером) вызывают немедленное прерывание.

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

-- применение технологии трансляции байт-кода в машинный код непосредственно во время работы программы (JIT-технология) с возможностью сохранения версий класса в машинном коде,


-- широкое использование платформенно-ориентированного кода (native-код) в стандартных библиотеках,

-- аппаратные средства, обеспечивающие ускоренную обработку байт-кода (например, технология Jazelle, поддерживаемая некоторыми процессорами фирмы ARM).

К особенностям языка Java относится:

1. Независимость от архитектуры ЭВМ.

Самое большое преимущество Java — его “нейтральность” по отношению к любой архитектуре. Программа, полностью написанная на Java, будет исполняться везде, где есть Виртуальная Java-машина, JVM (Java Virtual Machine). Все оборудование и ОС спрятаны именно там. Разработка системы может вестись на любой удобной платформе, а затем, в зависимости от цены, производительности, имеющейся поддержки либо привязанностей продавца, сгенерированный Java-код, может быть перенесен на любую другую платформу. Единственное, что должны сделать программисты — это изучить язык Java и соответствующие библиотеки классов Java.

2. Безопасность

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

Система интерпретации и система исполнения Java функционируют таким образом, чтобы Java-программа не смогла нанести какой-либо ущерб пользовательскому компьютеру. Виртуальная Java-машина проверяет каждый байт кода на допустимость, а затем интерпретирует его. И более того, нужно очень потрудиться, чтобы испортить загруженный Java-код. Байтовый код создается таким образом, чтобы директивы типа “записать данные поверх операционной системы” было невозможно выполнить, а те проблемы, которые байтовый код всё же может создать, блокируются виртуальной машиной.

3. Надежность

Java ограничивает в нескольких ключевых областях и таким образом способствует обнаружению ошибок на ранних стадиях разработки программы. В то же время в ней отсутствуют многие источники ошибок, свойственных другим языкам программирования (строгая типизация, например). Большинство используемых сегодня программ “отказывают” в одной из двух ситуаций: при выделении памяти, либо при возникновении исключительных ситуаций.

В традиционных средах программирования распределение памяти является довольно нудным занятием — программисту приходится самому следить за всей используемой в программе памятью, не забывая освобождать ее по мере того, как потребность в ней отпадает. Зачастую программисты забывают освобождать захваченную ими память или, что еще хуже, освобождают ту память, которая все еще используется какой-либо частью программы. Исключительные ситуации в традиционных средах программирования часто возникают в таких, например, случаях, как деление на нуль или попытка открыть несуществующий файл, и их приходится обрабатывать с помощью неуклюжих и нечитабельных конструкций (кроме Delphi).


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

4. Объектная ориентированность

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

5. Простота и мощь

После освоения основных понятий объектно-ориентированного программирования вы быстро научитесь программировать на Java. В наши дни существует много систем программирования, гордящихся тем, что в них одной и той же цели можно достичь десятком различных способов. В языке Java изобилие решений отсутствует — для решения задачи у вас будет совсем немного вариантов. Стремление к простоте зачастую приводило к созданию неэффективных и невыразительных языков типа командных интерпретаторов. Java к числу таких языков не относится — для Вас вся мощность ООП и библиотек классов.

6. Богатая объектная среда

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

7. Производительность и предсказуемость

Язык Java довольно медленный — в 40 раз медленнее C++. Java — язык медленный, потому что это интерпретатор, потому что он является объектно-ориентированным и потому что это язык с повышенным обеспечением безопасности. Его производительность предсказать трудно, поскольку в нём используется чистка памяти (“сборка мусора”).

8. Размер кода

В целом Java-система очень велика. Создаваемый код довольно велик — Windows-станции для хорошей работы должны иметь хотя бы 20 Мб памяти. Размер программы можно уменьшить, используя динамическую компоновку и подключение классов только в необходимый момент. Конечно, это не позволит исполнять на калькуляторе приложение, разработанное на использование всех ресурсов рабочей станции, однако позволит разрабатывать приложения для работы именно на калькуляторе. В некотором смысле это все-таки нарушает постулат “аппаратной независимости” Java, но только в том, что позволяет Java-приложениям работать там, где в противном случае речь о применении Java не шла бы вовсе.


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

Требования к памяти очень тесно связаны с процессом “сборки мусора”. Java нужно очень много дополнительной памяти, чтобы чистка памяти не происходила в неподходящий момент. Наиболее простой способ борьбы с издержками “сборки мусора” — включить чистку памяти в механизм ее распределения. Тогда отпадает всякая необходимость заботиться о выделении времени или асинхронном запуске “сборки мусора” либо выделении дополнительной памяти для синхронного запуска этого процесса. Если память прикладной системы не слишком велика, то это может быть не так плохо, как кажется. Затраты на “сборку мусора” будут зависеть только от объема распределяемой памяти.

JavaScript – это язык программирования полностью интегрированный с html и css, позволяющий решать широкий спектр задач как в фонт-энд, так и бек-энд разработке.

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

Хоть JavaScript и не представляет широких возможностей по работе с процессором, паматью и тд компьютера, оставаясь языком программирования общего назначения, он обладает рядом черт делающих его практически незаменимым в среде веб-разработки:

-- Полная интеграция с html и css позволяет как менять оформление кода страницы по своему усмотрению, так и полноценно работать с тегами меняя саму структуру страницы через скрипты.

-- Он позволяет обрабатывать практически любые действия пользователя на странице (клики, движение курсора, нажатие клавиш).

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

-- Обрабатывать cookie и тд.

Вопреки своей функциональности и многозадачности js имеет ряд ограничений, во многом связанных с обеспечением безопасности пользователей ПК:

-- Скрипты не могут взаимодействовать на прямую с жестким диском пользователей (не может записывать/удалять файлы, запускать программы и тд).

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

-- Хоть js и позволяет отсылать запросы на сервер с которого была загружена страница, запросы на другие домены обычно ограничены настройками безопасности.

Недостатки: