Мы дадим краткое введение в языки программирования из императивной и не императивной области. Мы выбрали java из императивного домена и Prolog из не императивного домена.

В следующих разделах мы обсудим:

  1. Введение в Java и Prolog
  2. Подробный анализ Java и не императивного языкового пролога
  3. Какой лучше?
  4. Заключение

Вступление

Java

Язык программирования высокого уровня, разработанный Sun Microsystems. Изначально Java называлась OAK и была разработана для портативных устройств и телевизионных приставок. Oak потерпел неудачу, поэтому в 1995 году Sun изменила название на Java и изменила язык, чтобы воспользоваться преимуществами развивающейся Всемирной паутины. Java - это объектно-ориентированный язык, похожий на C ++, но упрощенный, чтобы исключить языковые особенности, вызывающие распространенные ошибки программирования. Файлы исходного кода Java (файлы с расширением .java) компилируются в формат, называемый байт-кодом (файлы с расширением .class), который затем может быть выполнен интерпретатором Java. Скомпилированный код Java может работать на большинстве компьютеров, поскольку интерпретаторы Java и среды выполнения, известные как виртуальные машины Java (ВМ), существуют для большинства операционных систем, включая UNIX, Macintosh OS и Windows. Байт-код также может быть преобразован непосредственно в инструкции машинного языка с помощью JIT-компилятора. Java - это язык программирования общего назначения с несколькими функциями, которые делают язык хорошо подходящим для использования на

Всемирная сеть. Небольшие Java-приложения называются Java-апплетами и могут быть загружены с веб-сервера и запущены на вашем компьютере с помощью Java-совместимого веб-браузера, такого как Netscape Navigator или Microsoft Internet Explorer.

Пролог

Пролог - это язык логического программирования. Он играет важную роль в искусственном интеллекте. В отличие от многих других языков программирования, Prolog задуман прежде всего как декларативный язык программирования. В прологе логика выражается в виде отношений (называемых фактами и правилами). В основе пролога лежит применяемая логика. Формулировка или вычисление выполняется путем выполнения запроса по этим отношениям. Язык был разработан и реализован в Марселе, Франция, в 1972 году Аленом Колмерауэром и Филиппом Русселем на основе процедурной интерпретации положений Хорна Робертом Ковальски.

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

Prolog хорошо подходит для конкретных задач, которые выигрывают от логических запросов на основе правил, таких как поиск в базах данных, системы голосового управления и шаблоны заполнения. PROLOG - движок, полностью написанный на JAVA, интегрирован в программы JAVA с использованием аннотаций и обобщений. Правила и факты записываются прямо в код JAVA в аннотациях. Синтаксис правил и фактов - собственный PROLOG. Это приводит к сложной смеси не только кода на разных языках программирования, но и разных парадигм программирования.

Анализ

1. Безопасный язык программирования:
Java обеспечивает более безопасные методы программирования по сравнению с Prolog.

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

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

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

5. ОО-ориентированная абстракция:

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

6. Дизайн прототипа пользовательского интерфейса:

  • Код Java более читабелен с точки зрения написания логики. Синтаксис единообразен и прост для понимания. Однако в прологе строки кода относительно меньше по размеру, но их трудно понять.
  • Отступы и дизайн пользовательского интерфейса Java-кода намного лучше, чем пролог, который представляет собой простой черно-белый редактор кода типа блокнота.

Какой лучше?

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

Java предлагает большую безопасность, чем любой другой язык. Имеет автоматический сборщик мусора. Исключения переполнения буфера - это некоторые другие функции безопасности, предоставляемые java. Более того, в java нет понятия указателя.

Заключение

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

Спасибо, что посетили мой выступление на TED. 🙂
Если вам понравилась статья, подпишитесь на меня здесь или подключитесь к LinkedIn.