Инкапсуляция. Сокрытие деталей реализации, которое (при грамотном использовании) позволяет вносить изменения в части программы безболезненно для других её частей, что существенно упрощает сопровождение и модификацию ПО.
Полиморфизм. При полиморфизме некоторые части (методы) родительского класса заменяются новыми, реализующими специфические для данного потомка действия. Таким образом, интерфейс классов остаётся прежним, а реализация методов с одинаковым названием и набором параметров различается. С понятием «Полиморфизм» тесно связано понятие «Позднего связывания».
Типизация. Позволяет устранить многие ошибки на момент компиляции, операции проводятся только над объектами подходящего типа.
[править] Список языков
Неполный список объектно-ориентированных языков программирования:
Oberon-2 Component Pascal
Eiffel
Simula
Java
C#
C++
D (язык программирования)
Io
Objective-C
Object Pascal (Delphi)
VB.NET
Visual DataFlex
Perl
Php
PowerBuilder
Python
Scala
ActionScript (3.0 и более поздние)
JavaScript
JScript.NET
Ruby
Smalltalk
Ada
Xbase++
X++
Vala
Кроме ОО-языков общего назначения существуют и узкоспециализированные ОО-языки.
Логическое программирование
[править]
Материал из Википедии — свободной энциклопедии
(Перенаправлено с Логический язык программирования)
Текущая версия (не проверялась)
Перейти к: навигация, поиск
Логи́ческое программи́рование — парадигма программирования, основанная на автоматическом доказательстве теорем, а также раздел дискретной математики, изучающий принципы логического вывода информации на основе заданных фактов и правил вывода. Логическое программирование основано на теории и аппарате математической логики с использованием математических принципов резолюций.
Самым известным языком логического программирования является Prolog.
Первым языком логического программирования был язык Planner, в котором была заложена возможность автоматического вывода результата из данных и заданных правил перебора вариантов (совокупность которых называлась планом). Planner использовался для того, чтобы понизить требования к вычислительным ресурсам (с помощью метода backtracking) и обеспечить возможность вывода фактов, без активного использования стека. Затем был разработан язык Prolog, который не требовал плана перебора вариантов и был, в этом смысле, упрощением языка Planner.
От языка Planner также произошли логические языки программирования QA-4, Popler, Conniver и QLISP. Языки программирования Mercury, Visual Prolog, Oz и Fril произошли уже от языка Prolog. На базе языка Planner было разработано также несколько альтернативных языков логического программирования, не основанных на методе backtracking, например, Ether (см. обзор Шапиро [1989]).
Скри́птовый язы́к (англ. scripting language, в русскоязычной литературе принято название язык сценариев) — язык программирования, разработанный для записи «сценариев», последовательностей операций, которые пользователь может выполнять на компьютере. Простые скриптовые языки раньше часто называли языками пакетной обработки (batch languages или job control languages). Сценарии обычно интерпретируются, а не компилируются (хотя часто сценарии компилируются каждый раз перед запуском).
В прикладной программе, сценарий (скрипт) — это программа, которая автоматизирует некоторую задачу, которую без сценария пользователь делал бы вручную, используя интерфейс программы.
Содержание [убрать] 1 Плагины или скрипты? 2 Типы скриптовых языков 2.1 Универсальные скриптовые языки 2.2 Встроенные в прикладные программы 2.3 Командные оболочки 2.4 Встраиваемые |
Плагины или скрипты?
Для написания пользовательских расширений могут использоваться как скрипты (в терминологии некоторых программ «макросы»), так и плагины (независимые модули, написанные на компилируемых языках; в некоторых программах они могут называться «утилитами», «экспортёрами», «драйверами»). Скриптовый язык предпочтительнее в таких случаях:
Если нужно обеспечить программируемость без риска дестабилизировать систему. Так как, в отличие от плагинов, скрипты интерпретируются, а не компилируются, неправильно написанный скрипт выведет диагностическое сообщение, а не приведёт систему к краху;
Если важен выразительный код. Во-первых, чем сложнее система, тем больше кода приходится писать «потому, что это нужно» — см., например, Hello World#Маргинальные примеры. Во-вторых, в скриптовом языке может быть совсем другая концепция программирования, чем в основной программе — например, игра может быть монолитным однопоточным приложением, в то время как управляющие персонажами скрипты выполняются параллельно. В-третьих, скриптовый язык имеет собственный проблемно-ориентированный набор команд, и одна строка скрипта может делать то же, что несколько десятков строк на традиционном языке. Как следствие, на скриптовом языке может писать программист очень низкой квалификации — например, геймдизайнер своими руками, не полагаясь на программистов, может корректировать правила игры;
Если требуется кроссплатформенность. Хорошим примером является JavaScript — его исполняют браузеры под самыми разными ОС.
У плагинов же есть три важных преимущества.
Готовые программы, оттранслированные в машинный код, выполняются значительно быстрее скриптов, которые интерпретируются из исходного кода динамически при каждом исполнении. Поэтому скриптовые языки не применяются для написания программ, требующих оптимальности и быстроты исполнения. Но из-за простоты они часто применяются для написания небольших, одноразовых («проблемных») программ.
Полный доступ к любому аппаратному обеспечению или ресурсу ОС (в скриптовом языке для этого должен существовать написанный на машинном коде API). Плагины, работающие с аппаратным обеспечением, традиционно называют драйверами.
Если предполагается интенсивный обмен данными между основной программой и пользовательским расширением, для плагина его обеспечить проще.
Также в плане быстродействия скриптовые языки можно разделить на языки динамического разбора (sh, command.com) и предварительно компилируемые (Perl). Языки динамического разбора считывают инструкции из файла программы минимально требующимися блоками, и исполняют эти блоки, не читая дальнейший код. Предкомпилируемые языки транслируют программу в байт-код и затем исполняют его. Некоторые скриптовые языки имеют возможность компиляции программы «на лету» в машинный код (см. JIT).
[править] Типы скриптовых языков
[править] Универсальные скриптовые языки
Forth
Perl
Python
PHP
Tcl (Tool command language)
REBOL
Ruby
ERM
Lua
[править] Встроенные в прикладные программы
UnrealScript
Emacs Lisp
AutoLISP
VBA
MQL4 script
[править] Командные оболочки
AppleScript
sh
bash
csh
JCL
ksh
пакетные файлы MS-DOS (.bat) и файлы командного процессора Microsoft Windows NT (.cmd)
Visual Basic Scripting Edition
REXX
[править] Встраиваемые
Браузерные языки: JavaScript, JScript
ActionScript
Lingo — использующийся в редакторе Director, называют скриптовым
Guile
Io
Lua
Sleep
Script.NET
Также в приложение может быть встроена возможность расширения сценариями на любом из универсальных скриптовых языков, см. к примеру библиотеку SWIG или автоматический планировщик задач.
апп
Типы данных. Элементарные данные, агрегаты данных, массивы, структуры, повторяющиеся структуры. Вычислительные данные, символьные данные, логические, адресные (метки и пойнтеры), прочие (битовые строки). Понятие блока и процедуры. Операторы ЯП: управления (организация циклов, ветвления процесса, перехода), присваивания, вычисления арифметических, логических, строчных выражений. Стандартные арифметические, логические, строчные функции.
Программные продукты (приложения).
Оболочки операционной системы.
Оболочка операционной системы (от англ. shell — оболочка) — интерпретатор команд операционной системы (ОС), обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.
оболочки операционных систем - программы, делающие наглядным и простым выполнение базовых операций над файлами, каталогами и др. с использованием меню, защитой от необдуманных и ошибочных действий и разветвленной контекстной помощью
В общем случае, различают оболочки с двумя типами интерфейса для взаимодействия с пользователем: интерфейс командной строки (CLI, DOS, Norton Commander) и графический пользовательский интерфейс (GUI, Windows).
Оболочки предоставляют пользователю удобный доступ к файлам и обширные сервисные услуги:
* создание, копирование, пересылку, переименование, удаление, поиск файлов, а также изменение их атрибутов;
* отображение дерева каталогов и характеристик входящих в них файлов в форме, удобной для восприятия человека;
* создание, обновление и распаковку архивов (групп сжатых файлов);
* просмотр текстовых файлов;
* редактирование текстовых файлов;
* выполнение из её среды практически всех команд DOS;
* запуск программ;
* выдачу информации о ресурсах компьютера;
* создание и удаление каталогов;
* поддержку межкомпьютерной связи;
* поддержку электронной почты через модем.
В начале 90-х годов во всем мире огромную популярность приобрела графическая оболочка MS-Windows 3.х, преимущество которой состоит в том, что она облегчает использование компьютера, и её графический интерфейс вместо набора сложных команд с клавиатуры позволяет выбирать их мышью из меню практически мгновенно. Операционная среда Windows, работающая совместно с операционной системой DOS, реализует все свойства, необходимые для производительной работы пользователя, в том числе — многозадачный режим.
Программные пакеты информационного поиска.
реальную возможность высокоэффективного поиска информации дает двухэтапный процесс поиска, где первый этап, это предварительный поиск и отбор информации в тематические базы данных, а второй этап, это поиск нужной информации конечным пользователем в сетевых или локальных полнотекстовых базах.