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

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

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

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

Добавлен: 25.04.2023

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

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

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

char x = 'x'; // the variable x has the value 'x'.

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

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

Объявление переменной полезно, когда используется несколько файлов, и нужно определить свою переменную в одном из файлов, которые будут доступны во время компоновки программы. Будет использоваться ключевое слово extern для объявления переменной в любом месте. Хотя можно объявить переменную несколько раз в своей программе на C, ее можно определить только один раз в файле, функции или блоке кода.

Существует два вида выражений в C

l. Lvalue.

Выражения, относящиеся к ячейке памяти, называются выражениями lvalue. Значение l может отображаться как в левой, так и в правой части задания.

2. Rvalue.

Термин rvalue относится к значению данных, которое хранится на некотором адресе в памяти. Rvalue — это выражение, которое не может иметь назначенное ему значение, что означает, что rvalue может отображаться с правой стороны, но не с левой стороны задания. [8]

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

2.2 Java и его экосистема

Java является популярным языком программирования веб-приложений и имеет ряд преимуществ.

Одним из основных преимуществ Java в разработке программного обеспечения и приложений является «то, что это кроссплатформенный инструмент. Благодаря виртуальной машине JVM (Java Virtual Machine) среда выполнения Java может переводить код в машинный код, совместимый с собственной операционной системой, будь то Windows, iOS или Linux. Эта универсальность, и в особенности кроссплатформенная функциональность, сразу же делает ее мощным инструментом для крупных организаций, занимающихся разработкой программного обеспечения. [2]

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


Наиболее часто на сервере Java используется в связке с фреймворком Spring.

Структура Spring поддерживает большинство функциональных возможностей инфраструктуры приложений Enterprise. Ниже приведены некоторые основные преимущества Spring Framework.

  1. Spring позволяет разработчикам разрабатывать корпоративные приложения, используя POJO (обычный старый Java-объект). Преимущество разработки приложений с использованием POJO заключается в том, что не нужно иметь корпоративный контейнер, такой как сервер приложений, но есть возможность использовать надежный контейнер сервлетов. [13]
  2. Spring упрощает процесс разработки, используя абстракцию существующих технологий, таких как сервлеты, jsps, jdbc, jndi, rmi, jms и Java mail и т.д.
  3. Spring поставляется с некоторыми из существующих технологий, таких как ORM-инфраструктура, структура ведения журнала, J2EE и JDK-таймеры и т. Д. Поэтому не нужно явно интегрировать эти технологии.
  4. Spring WEB framework имеет хорошо продуманную веб-структуру MVC, которая обеспечивает отличный альтернативный интерфейс веб-фреймворка.
  5. Spring может исключить создание одноэлементных и заводских классов.
  6. Spring обеспечивает последовательный интерфейс управления транзакциями, который может уменьшаться до локальной транзакции и масштабироваться до глобальных транзакций (с использованием JTA).
  7. Spring Framework включает поддержку управления бизнес-объектами и предоставление их услуг компонентам уровня представления, так что веб-приложения и настольные приложения могут обращаться к тем же объектам.
  8. Spring Framework использует наилучшую практику, которая была доказана на протяжении многих лет в нескольких приложениях и формализована как шаблоны проектирования.
  9. Приложение Spring может использоваться для разработки приложений различного типа, таких как автономные приложения, автономные графические приложения, веб-приложения и апплеты.
  10. Spring поддерживает как xml, так и анотационные конфигурации.
  11. Spring Framework позволяет разрабатывать автономную, настольную, двухшинную архитектуру и распределенные приложения.
  12. Spring предоставляет встроенные средства промежуточного программного обеспечения, такие как объединение пулов, управление транзакциями и т.д.
  13. Spring обеспечивает легкость, которая может быть активирована без использования веб-сервера или сервера приложений.
  14. Более того, Spring Framework состоит из функций, организованных примерно в 20 модулей, эти модули сгруппированы в Core Container, Data Access/Integration, Web, AOP (аспектно-ориентированное программирование), Instrumentation and Test. [10]

2.3 PHP

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

К его основным достоинствам относятся:

1. Кроссплатформенность.

Все приложения на базе PHP могут работать на разных типах платформ. Поддержка PHP поддерживается большинством операционных систем, некоторые из которых включают Solaris, UNIX, Windows и Linux. Указанные платформы могут использоваться для написания кодов на PHP, а также просмотра веб-страниц или запуска приложений на базе PHP.

PHP легко взаимодействует с MySQL и Apache. Легкая интеграция PHP может быть выполнена с использованием различных других технологий, таких как Java, и главное нет необходимости в повторном использовании. Поэтому, экономия времени и денег, придаёт ему большое преимущество.

2. Простое подключение к базе данных.

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

PHP имеет встроенный модуль, который помогает легко подключаться к базе данных. Поэтому PHP пользуется большим спросом в области веб-разработки, где должен быть разработан веб-сайт, ориентированный на данные. PHP значительно сокращает время, необходимое для разработки веб-приложения, которое нуждается в эффективной системе управления базами данных. [11]

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

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

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

Скорость - это основная потребность в веб-разработке. Есть люди, которые сталкиваются с проблемой медленного подключения к Интернету и медленной скоростью передачи данных. Кроме того, сайты с быстрой загрузкой всегда предпочитают люди по всему миру. По сравнению с другими языками программирования, PHP является самым быстрым языком программирования.


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

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

4. Открытый исходный код.

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

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

Но есть у него и недостатки. Каждый язык программирования имеет свой собственный набор преимуществ и недостатков. Аналогично, PHP также имеет свой собственный набор недостатков, к таковым относятся следующие:

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

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

2. Плохая обработка ошибок.

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

2.4 Objective-C

Objective-C — основной язык программирования, который используется при написании программного обеспечения для OS X и iOS. Это надмножество языка программирования C, который добавляет в него объектно-ориентированные возможности и динамический вариант выполнения. Objective-C наследует синтаксис, примитивные типы и операторы управления потоками C и добавляет синтаксис для определения классов и методов. Он также добавляет поддержку уровня языка для управления графами объектов и объектных литералов, обеспечивая динамическую типизацию и привязку, откладывая многие преобразования до выполнения.


Несмотря на то, что кластерные классы отделены от языка, их использование сильно накладывается на кодирование с помощью Objective-C, и многие языковые функции зависят от поведения, предлагаемого этими классами. [15]

При создании приложений для OS X или iOS большую часть времени программист работает с объектами. Эти объекты являются экземплярами классов Objective-C, некоторые из которых предоставлены, а некоторые из них нужно писать самому.

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

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

Если есть исходный код для класса, можно использовать расширение класса для добавления новых свойств или изменения атрибутов существующих свойств. Расширения классов обычно используются, чтобы скрыть личное поведение для использования либо в одном файле исходного кода, либо в рамках частной реализации пользовательской структуры. [18]

Большая часть работы в приложении Objective-C происходит в результате того, что объекты отправляют сообщения друг другу. Часто эти сообщения определяются методами, явно указанными в интерфейсе класса. Иногда, однако, полезно иметь возможность определять набор связанных методов, которые не привязаны непосредственно к определенному классу.

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

Ценности и коллекции часто представлены как объекты Objective-C.

В Objective-C обычно используется класс Cocoa или Cocoa Touch для представления значений. Если NSString класс используется для строк символов, то NSNumber класс для различных типов чисел, таких как целое или с плавающей точкой, а также NSValue класс для других значений, таких как структуры C. Можно использовать любой из примитивных типов, определенных языком C, например, int, float или char. [15]