Мы дадим краткое введение в языки программирования из императивной и не императивной области. Мы выбрали java из императивного домена и Prolog из не императивного домена.
В следующих разделах мы обсудим:
- Введение в Java и Prolog
- Подробный анализ Java и не императивного языкового пролога
- Какой лучше?
- Заключение
Вступление
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.