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

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

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

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

Добавлен: 01.04.2023

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

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

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

Function Func_Name(params...) : Return_Value;

Procedure Proc_Name(params...);

Многострочные комментарии заключены в фигурные скобки и звездочки как {* ... *}. Паскаль допускает однострочный комментарий, заключенный в фигурные скобки {...} (листинг 3).

Листинг 3 — Комментарии

{* Это многострочный

комментарий *}

{ Это однострочный комментарий }

Объявление типа используется для объявления типа данных идентификатора. Синтаксис объявления типа: type-identifier-1, type-identfier-2 = type-specifier;

Например, следующее объявление определяет переменные days и age как integer type, yes и true как Boolean type, name и city как тип строки, сборы и расходы как реальный тип (листинг 4). [3]

Листинг 4 — Определение переменных

type

days, age = integer;

yes, true = boolean;

name, city = string;

fees, expenses = real;

Основные переменные в Паскаль показаны ниже:

  1. Символ. Обычно один байт. Это целочисленный тип.
  2. Целое число. Самый естественный размер целого для машины.
  3. Числа с плавающей запятой. Значение с плавающей запятой с одиночной точностью.
  4. Логический. Задает истинные или ложные логические значения. Это также целочисленный тип.
  5. Перечислимый. Определяет пользовательский список.
  6. Поддиапазон. Представляет переменные, значения которых лежат в пределах диапазона.
  7. Строка. Сохраняет массив символов. [2, 3]

Язык программирования Pascal также позволяет определять различные другие типы переменных, таких как «Указатель», «Массив», «Записи», «Наборы и файлы» и т. д.

Все переменные должны быть объявлены до их использования в программе Pascal. За всеми объявлениями переменных следует ключевое слово var . Объявление определяет список переменных, за которым следует двоеточие (:) и тип. Синтаксис объявления переменной показан на листинге 5.

Константа — это объект, который остается неизменным во время выполнения программы. [2] Паскаль позволяет объявлять только константы следующих типов:

  • порядковые типы;
  • установочные типы;
  • типы указателей;
  • реальные типы;
  • строка.

Синтаксис для объявления констант показан на листинге 5.

Листинг 5 — Объявление констант

const

identifier = constant_value;

В таблице 1 показаны все арифметические операторы, поддерживаемые Pascal. Предположим, что переменная A имеет место 10, а переменная B имеет 20, тогда результаты будут таким как в таблице ниже.

Необходимо соблюдать форматирование в выводе программы. Переменная c должна быть отформатирована с общим числом цифр 7 и 2 цифрами после десятичного знака. Pascal допускает такое форматирование вывода с числовыми переменными. [1, 2, 3]


Таблица 1 — Арифметические операторы

Оператор

Описание

Пример

+

Добавляет два операнда

A + B даст 30

-

Вычитает второй операнд с первого

A - B даст -10

*

Умножает оба операнда

A * B даст 200

/

Делит числитель на знаменатель

B / A даст 2

%

Оператор модуля и остаток после целочисленного деления

B% A даст 0

В данной главе были рассмотрены процедурные языки такие, как Fortran, Pascal и COBOL. Были рассмотрены их особенности и изучены элементы синтаксиса.

3. Объектно-ориентированные языки программирования

3.1 C#

C# — это язык программирования с несколькими парадигмами, включающий сильную типизацию, императивность, декларативность, функциональность, объектно-ориентированность (основанный на классах) и различные другие дисциплины программирования, компонентно-ориентированного логики. Он был разработан Microsoft в рамках своей инициативы .NET, а затем одобрен в качестве стандарта Ecma (ECMA-334) и ISO (ISO/IEC 23270: 2006). C # — один из языков программирования, предназначенных для общей языковой инфраструктуры. [12]

При разработке клиентской части нашей программы, в качестве инструмента был выбран именно C#. Он обладает рядом больших преимуществ, которые позволяют вести разработку на нём очень удобной. К его особенностям относятся:

  1. Модернизированный язык.

C# - модернизированная версия C++. Первоначально был язык C, который широко использовался. C++ стал добавлять объектную ориентацию к C, а C++ стал языком построения «реальных» приложений для Windows (согласно разработчикам, на C++). C++ использовался для написания инфраструктуры и приложений низкого уровня, в то время как разработчики Visual Basic писали бизнес-приложений.

C # привносит парадигму быстрого развития VB в мир разработчиков C++ с некоторыми очевидными изменениями. C # использует .NET Framework, что означает, что уже есть доступ к мощному движку форм, который был у разработчиков VB в течение многих лет. В него добавлены новые типы данных, такие как десятичный тип данных для выполнения финансовых расчетов.

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

C# является строго типизированным, что даёт ряд преимуществ. Например, невозможно использовать неинициализированные переменные. В C++ легко объявить переменную, а затем проверить ее значение; все, что было в адресе памяти, указанном этой переменной, будет показано, и это может привести к падению приложения. C# complier уведомит, если разработчик попытается использовать переменную, прежде чем инициализировать ее до некоторого допустимого значения. [9, 12]

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

  1. Объектно-ориентированный.

Хотя многие утверждают, что C++ объектно-ориентирован, C# переходит на другой уровень. Даже простые типы данных могут рассматриваться как объекты, а это означает, что INT имеет методы, связанные с ним. Например, вы можете использовать метод ToString для получения строкового значения для int.

Кроме того, символьные строки можно рассматривать как объекты и поддерживать различные методы, такие как ToUpper , ToLower , и многие другие. [9]

  1. Упрощенный синтаксис.

Хотя C++ - чрезвычайно мощный язык, он обычно не считается простым. C# пытается упростить синтаксис, чтобы быть более последовательным и более логичным, а также удалять некоторые из более сложных функций C++. Например, C # не использует указатели. Как язык со строгой типизацией, он не позволяет манипулировать напрямую с памятью, поэтому указатели больше не нужны в C#.

Файлы заголовков также были удалены из C#. Операторы имен и ссылочные операторы, “::” и “->” соответственно, были заменены одним оператором.

Возможно, одним из самых больших изменений является то, что типы данных int и bool теперь совершенно разные. Это означает, наконец, становится возможным закончить сопоставления и сравнения в if условиях. [12] Другими словами, следующий код даже не компилируется под C#:

int Counter = 14;

if (Counter = 14) {// сделать что-то}

Попытка скомпилировать этот код вернет сообщение об ошибке: “невозможно неявно преобразовать тип int в bool”.

C# также решает проблемы управления памятью, с помощью схемы сборщика мусора .NET. Элементы, на которые больше не ссылаются объекты, отмечаются, и сборщик мусора её очистит.

  1. Комментарии XML.

C# поддерживает введение комментариев XML. Отнюдь это не просто еще один способ добавить комментарии к коду. Комментарии XML могут фактически превратиться в документацию. Комментарии помещаются в формат XML и затем могут использоваться по мере необходимости для документирования кода. Эта документация может включать пример кода, параметров и ссылок на другие темы. Наконец, разработчик имеет смысл документировать свой код, потому что эти комментарии могут стать документацией, независимой от исходного кода. [8]


  1. Не только Microsoft.

C# - это не просто Microsoft. Microsoft выпустила C# для ECMA и она была опубликована в качестве стандарта. Кроме того, проект Mono - это попытка создать версию .NET Framework (часть под названием CLI) с открытым исходным кодом и версию C # с открытым исходным кодом для Linux.

  1. Все о компонентах.

Создание компонентов является простой задачей, так как программа ссылается на эти компоненты в коде. Пространства имен в C# заменяют множество головных болей из мира COM (Component Object Model), в которых приходилось выполнять поиск в реестре, и создавать объекты, и беспокоиться о таких вещах, как IUnknown и IDispatch. Используя C#, вы просто импортируете пространство имен, а затем начинаете использовать классы в этом компоненте.

  1. Сила быть небезопасной.

Многое связано с безопасностью типов в C#, но если вы хотите “водить без ремня безопасности”, вы можете это сделать. Если вам действительно нужно использовать указатели, например, вы можете использовать небезопасное ключевое слово, чтобы отметить блок кода. Это позволяет этому коду обходить проверку безопасности типа Framework и означает, что вы можете напрямую манипулировать памятью. Это делает C# невероятно мощным и является одним из преимуществ C # над VB.NET. [9]

  1. Возможности кроссплатформенного языка.

C# позволяет вам взаимодействовать с любым другим языком на платформе .NET. Многое было сказано о том, как вы можете создать компонент на одном языке и наследовать, и расширять этот компонент на другом языке, что было бы сложным, если не невозможным, с COM.

C# также поддерживает концепцию обработки ошибок на разных языках.

Когда дело доходит до создания приложений для .NET, выбор между VB.NET и C# обычно не важен. Однако вполне возможно, что компании готовы платить больше за разработчиков C#. [16]

3.2 Java

Язык Java разработан компанией Sun Microsystems, создателем которого был Джеймс Гослинг, и выпущен в 1995 году в качестве основных компонентов компании Sun Microsystems — Java платформ (Java 1.0 [J2SE]). [6]

К его преимуществам можно отнести следующие:

  1. Объектно-ориентированный. В Java все является объектом. Дополнение может быть легко расширено, так как он основан на объектной модели.
  2. Платформонезависимый. В отличие от многих других языков, включая C и C++, Java, когда был создан, он не компилировался в платформе конкретной машины, а в независимом от платформы байт-коде. Этот байт код распространяется через интернет и интерпретируется в Java Virtual Machine (JVM), на которой он в настоящее время работает.
  3. Простой. Процессы изучения и введение в язык программирования Java остаются простыми.
  4. Безопасный. Методы проверки подлинности основаны на шифровании с открытым ключом.
  5. Архитектурно-нейтральный. Компилятор генерирует архитектурно-нейтральные объекты формата файла, что делает скомпилированный код исполняемым на многих процессорах, с наличием системе Java Runtime.
  6. Портативный. Архитектурно-нейтральный и не имеющий зависимости от реализации аспектов спецификаций — все это делает Java портативным. Компилятор в Java написан на ANSI C с чистой переносимостью, который является подмножеством POSIX. [10, 15]
  7. Прочный. Выполняет усилия, чтобы устранить ошибки в различных ситуациях, делая упор в основном на время компиляции, проверку ошибок и проверку во время выполнения.
  8. Многопоточный. Функции многопоточности, можно писать программы, которые могут выполнять множество задач одновременно. Введение в язык Java этой конструктивной особенности позволяет разработчикам создавать отлаженные интерактивные приложения.
  9. Интерпретированный. Java байт-код переводится на лету в машинные инструкции и нигде не сохраняется. Делая процесс более быстрым и аналитическим, поскольку связывание происходит как дополнительное с небольшого весом процесса.
  10. Высокопроизводительный. Введение Just-In-Time компилятора, позволило получить высокую производительность.
  11. Распространенный. Предназначен для распределенной среды интернета.
  12. Динамический. Программирование на Java считается более динамичным, чем на C или C++, так как он предназначен для адаптации к меняющимся условиям. Программы могут выполнять обширное количество во время обработки информации, которая может быть использована для проверки и разрешения доступа к объектам на время выполнения. [14]

3.2 Ruby on Rails

Rails — это платформа разработки веб-приложений, написанная на языке программирования Ruby. Он призван облегчить программирование веб-приложений, сделав ставку на то, что каждый разработчик должен суметь легко начать на нём писать. Это позволяет писать меньше кода при сравнении с другим большим количества языков и фреймворков. [7]

Rails — это надежное программное обеспечение. 

Одна из ключевых характеристик Ruby заключается в том, что это объектно-ориентированный язык программирования. В отличие от некоторых языков, которые функционируют, предоставляя компьютеру список выполняемых задач, объектно-ориентированный язык программирования позволяет разработчику создавать виртуальные объекты в своем коде. Каждый объект может иметь свои собственные специфические атрибуты и способности и может взаимодействовать с другими объектами для выполнения действий. Затем группам объектов могут быть даны инструкции на основе этих атрибутов и то, как они соотносятся друг с другом. Если думать об объектах, подобных виртуальным строительным блокам, группу блоков A можно использовать для построения башни, а группе блоков B можно дать указание создать шаги, ведущие к вершине башни. Объектно-ориентированный язык делает разработку менее сложной, предоставляя структурам программистов работать с тем, что напоминает здание в реальном мире. Объекты также могут быть легко использованы в будущих программах.

Философия Rails включает в себя два основных руководящих принципа:

  • «не повторяйся» или DRY - это принцип разработки программного обеспечения, в котором говорится, что «у каждой части знаний должно быть одно, недвусмысленное, авторитетное представление внутри системы». Не повторяя одну и ту же информацию снова и снова, код более удобен в обслуживании, более расширяемый и менее подвержен ошибкам;
  • «конец конфигурации»Rails имеет мнение о наилучшем способе делать много вещей в веб-приложении и по умолчанию использует этот набор соглашений, вместо того, чтобы требовать, чтобы указывались всякие мелочи через бесконечные файлы конфигурации.

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