Слайд 1Обзор языков Программирования
Канарейкин А. И.
Слайд 2Языки низкого уровня. Языком самого низкого уровня (НУ) является «Машинный код»
– язык конкретной вычислительной машины, программа которого интерпретируется микропроцессором данной вычислительной машины. Каждая модель процессора имеет свой собственный машинный язык, хотя во многих моделях эти наборы команд сильно перекрываются. Языки НУ: TASM, NASM, HLASM, FASM, RosAsm, MASM, MCIL (CIL).
Слайд 3. Достоинства языков низкого уровня позволяют писать самый быстрый и компактный
код; максимальное использование возможностей конкретной платформы; возможность непосредственного доступа к аппаратуре; эффективно используются программно-аппаратные ресурсы.
Недостатки языков низкого уровня большая трудоемкость создания программ; требуется высокая квалификация программиста; высока вероятность внесения ошибок в программный код; отсутствует переносимость программ на компьютеры с другой архитектурой и системой команд.
Слайд 4Языки assembler.
ASM (assembler – сборщик) является языком низкого уровня. В отличие
от языка машинных кодов, позволяет использовать более удобные для человека мнемонические (символьные) обозначения команд. Команды языка ассемблера соответствуют командам процессора, фактически, они представляют собой более удобную символьную форму записи (мнемокод) команд и их аргументов. При этом одной команде языка ассемблера может соответствовать несколько команд процессора. Область применения языков ASM драйверы устройств; оптимизация программного кода (рендеринг, кодеки); программы для бытовых устройств; программирование микроконтроллеров; взлом и защита программ; аппаратно-зависимые части ядер операционных систем; программирование средств связи; написание вирусов; для виртуализации аппаратного обеспечение (виртуальные машины).
Слайд 5Macro Assembler (MASM). MASM (Macro Assembler) – ассемблер для процессоров семейства
x86. Разработан компанией Microsoft для написания программ в операционной системы MS-DOS и был в течение некоторого времени самым популярным ассемблером, доступным для неё. Основные особенности языка MASM постоянно выпускаются новые версии, учитывающие новые возможности оборудования: MASM 6.15 (2000г.), MASM 7.0 (2002г.), MASM 7.1 (2003г.), MASM 8.0 (2005г.), MASM 9.0 (2008г.); с версии 7.0 поддерживает программирование под платформу .NET; с версии 9.0 поддерживает платформу х64; содержит мощный программный инструментарий; высокая скорость разработки программ по сравнению с другими языками низкого уровня.
Слайд 6Язык turbo Assembler. Турбо Ассемблер фирмы Borland представляет собой многопроходный ассемблер.
В настоящее время не поддерживается фирмой Borland. В основном используется для начального обучения языкам ASM. Основные особенности языка Turbo Assembler: улучшенная синтаксическая проверка типов; улучшенное управление листингом; локальные метки; локальные идентификаторы в стеке и аргументы вызова в процедурах; структуры и объединения; вложенные директивы; возможность использования одинаковых имён для обозначения членов различных структур; применение операторов HIGH и LOW; корректное управление сегментами данных объединённых в группы.
Слайд 7Язык Netwide Assembler. Ассемблер NASM – это 80x86 Ассемблер, разработанный исходя
из принципов переносимости и модульности. Основные особенности языка Netwide Assembler: поддерживает широкий диапазон форматов объектных файлов; способность создавать простые бинарные файлы; язык состоит из четырех исполняемых файлов.
Слайд 8Языки программирования высокого уровня.
Язык с (си). Си – стандартизированный процедурный язык
программирования, разработанный в начале 70-х годов сотрудниками Bell Labs Кеном Томпсоном (Kenneth Thompson) и Денисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX. Основные особенности языка С: язык отличает лаконичность и минимализм; предоставляет современный набор конструкций и структур данных; имеет обширный набор операций; имеет возможность прямой работы с памятью; высокоскоростной, однопроходный компилятор; программы отличаются компактностью и высокой скоростью исполнения; требует высокой квалификации программиста; известен широкому кругу программистов. Денис Ритчи (09.09.1941). Кен Томпсон (04.02.1943).
Кен Томпсон (04.02.1943).
. Денис Ритчи (09.09.1941).
Слайд 9Язык с++ (си++). Появился в начале 80-х годов, является стандартизированным объектно-ориентированным
языком. Создан Бьерном Страуструпом (дат. Bjarne Stroustrup) на базе языка Си с целью избавиться от программирования на ассемблере, Си и других языках высокого уровня. Основные отличия языка С++ от С: поддерживает принципы объектно-ориентированного программирования; добавлены новые конструкции позволяющие повысить эффективность труда программистов; включает стандартную библиотеку STL (Standard template library – стандартная библиотека шаблонов); возможно создание шаблонов функций и классов позволяющие определять тип на этапе выполнения программы; появились ссылки и операторы управления свободно распределяемой памятью; появилась возможность перегружать стандартные операторы и операции.
Слайд 10Язык с# (с sharp). C# (произносится си-шарп) – объектно-ориентированный язык программирования.
Разработан в 1998-2001 годах группой инженеров под руководством Андерса Хейлсберга (дат. Anders Hejlsberg) в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET. Основные особенности языка С#: поддерживает принципы объектно-ориентированного программирования; не поддерживает множественное наследование; имеется возможность объявлять анонимные функции (не имеют уникального имени), обеспечивающие функциональность замыкания; поддерживает технологию «сборки мусора» (автоматически освобождается неиспользуемая память); хорошая совместимость с CLR (Common language runtime – общеязыковая исполняющая среда); поддерживает технологию LINQ (Language Integrated Query – язык интегрированных запросов), которая предоставляет мощный набор инструментов составления запросов для работы с БД. Андерс Хейлсберг (хх.12.60).
Слайд 11Язык perl. Perl (Practical extraction and report language – язык для
практического извлечения данных и составления отчётов) является высокоуровневым интерпретируемым языком общего назначения. Создан американским программистом Ларри Уоллом (Larry Wall) в 1986 году. Основные особенности языка Perl: исполняет программы (сценарии) на стороне сервера; позволяет динамически формировать HTML-страницы; поддерживается на большинстве серверных платформах: MS-DOS; семейства UNIX и Windows; OS/2; Macintosh; имеет мощные инструменты обработки строк (регулярные выражения); эффективен для написания программ по работе с БД; поддерживает принципы объектно-ориентированного программирования; позволяет создавать синтаксически мощные конструкции. Ларри Уолл (27.09.1954).
Слайд 12Язык perl. Perl (Practical extraction and report language – язык для
практического извлечения данных и составления отчётов) является высокоуровневым интерпретируемым языком общего назначения. Создан американским программистом Ларри Уоллом (Larry Wall) в 1986 году. Основные особенности языка Perl: исполняет программы (сценарии) на стороне сервера; позволяет динамически формировать HTML-страницы; поддерживается на большинстве серверных платформах: MS-DOS; семейства UNIX и Windows; OS/2; Macintosh; имеет мощные инструменты обработки строк (регулярные выражения); эффективен для написания программ по работе с БД; поддерживает принципы объектно-ориентированного программирования; позволяет создавать синтаксически мощные конструкции. Ларри Уолл (27.09.1954).
Слайд 13Технология ASP.NET. ASP (Active server pages – активные серверные страницы) является
технологией от компании Майкрософт (Microsoft), которая позволяет динамически создавать веб-страницы на стороне сервера. ASP.NET является развитием технологии ASP, предназначена для создания веб-приложений и веб-сервисов. Основные особенности ASP.NET: высокая скорость написания веб-приложений; простота используемых языков сценариев (VBScript или JScript); возможность использования внешних COM-компонентов; совместимость с пакетом Microsoft .NET Framework; языки программирования ASP.NET имеют строгую типизацию; возможность компиляции проекта; качественное сопровождение ПО и доступность расширенного справочного руководства. Билл Гейтс (28.10.1955).
Слайд 14Язык Бейсик. BASIC (Beginner’s all-purpose symbolic instruction code – универсальный код
символических инструкций для начинающих или от англ. basic – основной, базовый) является высокоуровневым процедурным языком программирования. Был разработан в 1963 году профессорами Дартмутского колледжа Томасом Курцом (Thomas E. Kurtz) и Джоном Кемени (John G. Kemeny). Основные особенности Basic: прост в использовании для начинающих; предоставляет расширенные возможности для профессионалов; не требует понимания работы аппаратного обеспечения; простота и бесструктурность поощряют порочные методики и привычки программирования, которые способны привести к краху крупных проектов; поздние версии обладают полным функционалом присуще современным языкам высокого уровня; является базовым языком для изучения современных языков (VBScript, Visual Basic и т.д.) поддерживаемых фирмой Microsoft. Томас Курц (слева) – 22.02.28 Джон Кемени (справа) – 31.05.26.
Слайд 15Язык Visual Basic (VB). VB – процедурный, объектно-ориентированный язык программирования разработанный
фирмой Microsoft. Первая версия была разработана в 1991г. VB имеет различные реализации, например: VBA (Visual basic for applications); VBScript (Visual basic scripting edition). Основные достоинства VB: высокая скорость создания приложений для ОС Windows; возможность компиляции как в машинный код, так и P-код (аппаратно-независимый код); возможность использования большинства WinAPI функций. Основные недостатки VB: поддержка только ОС семейства Windows и Mac OS X; отсутствие механизма наследования классов; медленная скорость работы приложений; отсутствие указателей, низкоуровневого доступа к памяти, ASM-вставок.
Слайд 16Язык Pascal. Pascal (назван в честь фр. математика Блеза Паскаля) –
структурированный, процедурный язык общего назначения. Создан швейцарским ученым Никлаусом Виртом 1968-1970г. с целью лишить недостатков язык Algol. Паскаль был создан как язык для обучения процедурному программированию. Основные особенности языка Pascal: строгая типизация (позволяет исключить дополнительные ошибки); наличие средств структурного (процедурного) и модульного программирования; популярный язык для начального обучения языкам программирования; принципы языка схоже с языком Си, в следствии этого Pascal используется для начального обучения с целью перехода на язык Си; достаточно много семантических и синтаксических ошибок исключается на этапе компиляции; не эффективен для разработки больших проектов; развитие языка (в Delphi) не успевает за новыми технологиями. Никлаус Вирт (15.02.1934).
Слайд 17Язык Delphi. Delphi (от древнегреческого города Дельфы) является структурированным, объектно-ориентированным языком
программирования. Разработан фирмой Borland в 1993г. на базе языка Object Pascal. 1 июля 2008 года права на Delphi проданы компании Embarcadero Technologies. Основные особенности языка Delphi: поддерживает принципы объектно-ориентированного программирования; среда Delphi предназначена только для ОС семейства Windows, для платформ Linux имеется язык Kylix (из-за убыточности проекта в 2002 г. фирма Borland прекратила поддержку); в отличие от С++ все объекты по умолчанию располагаются в динамической памяти; поддерживает делегирование и метаклассы; инструменты для работы с БД отличаются своей низкой надежностью; используется для быстрого создания небольших приложений.
Слайд 18Язык Java. Основные особенности языка Java: программы транслируются в байт-код, который
интерпретируется виртуальной машиной Java (JVM), за счет этого достигается независимость от ОС и оборудования; низкая скорость выполнения программ из-за интерпретируемости; идеи заложенные в Java были взяты фирмой Microsoft и реализовались в платформе .NET; эти идеи имеют большое будущее; простые средства создания сетевых приложений; автоматическое управление памятью (сборщики мусора); имеет расширенный набор коллекций (массивы, списки, стеки и т.д.); имеет средства создания многопоточных приложений. Java – интерпретируемый, объектно-ориентированный язык программирования. Изначально язык назывался Oak (дуб) и разрабатывался Джеймсом Гослингом для программирования бытовых электронных устройств. Началась разработка в 1990г. программистами компании Sun Microsystems, в 1996г. вышла первая версия.
Слайд 19Язык Python. Python – объектно-ориентированный, функциональный высокоуровневый язык программирования общего назначения
с акцентом на производительность разработчика и читаемость кода. Создан в 1991г. голландским программистом Гвидо ван Россумом (нидерл. Guido van Rossum). Основные особенности языка Python: динамическая типизация (тип переменной определяется в момент присваивания значения); автоматическое управление памятью; полная интроспекция (тип и структура объекта определяется во время выполнения программы); высокоуровневые структуры данных; поддержка многопоточных вычислений; портируем на все известные платформы от КПК до мейнфреймов; классы являются одновременно объектами; низкая скорость выполнения программ; отсутствие статической типизации; глобальная блокировка интерпретатора (GIL). Гвидо ван Россум (31.01.1960).
Слайд 20Язык OWL. OWL (Web ontology language) – язык описания онтологий для
семантической паутины. Онтология – это попытка всеобъемлющей и детальной формализации некоторой области знаний с помощью концептуальной схемы. Язык разработан компанией W3C (World wide web consortium) в 2004г. Основные особенности языка OWL: позволяет описывать классы и отношения между ними, присущие для веб-документов и приложений; в основе языка – представление действительности в модели данных «объект – свойство»; язык носит характер рекомендаций обязательных для исполнения; имеются разновидности языка: OWL Lite – классификационная иерархия и простые ограничения; OWL DL – максимальная выразительность при сохранении полноты вычислений и разрешаемости; OWL Full –максимальная выразительность и синтаксическая свобода RDF без гарантий вычисления; в 2009 году появилась новый язык – OWL2.
Слайд 21Язык OWL. OWL (Web ontology language) – язык описания онтологий для
семантической паутины. Онтология – это попытка всеобъемлющей и детальной формализации некоторой области знаний с помощью концептуальной схемы. Язык разработан компанией W3C (World wide web consortium) в 2004г. Основные особенности языка OWL: позволяет описывать классы и отношения между ними, присущие для веб-документов и приложений; в основе языка – представление действительности в модели данных «объект – свойство»; язык носит характер рекомендаций обязательных для исполнения; имеются разновидности языка: OWL Lite – классификационная иерархия и простые ограничения; OWL DL – максимальная выразительность при сохранении полноты вычислений и разрешаемости; OWL Full –максимальная выразительность и синтаксическая свобода RDF без гарантий вычисления; в 2009 году появилась новый язык – OWL2.
Слайд 22Язык HTML. HTML (Hypertext markup language – язык разметки гипертекста) –
стандартный язык разметки документов во Всемирной паутине. Разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1991 – 1992 годах в стенах Европейского совета по ядерным исследованиям в Женеве (Швейцария). Основные особенности языка HTML: большинство веб-страниц создаются при помощи HTML или XHTML; любой документ на языке HTML представляет собой набор элементов, причём начало и конец каждого элемента обозначается специальными пометками – тегами; элементы могут иметь атрибуты, определяющие какие-либо их свойства (например, размер шрифта для элемента font); веб-страница, написанная на HTML, интерпретируется браузером; позволяет внедрять в веб-страницу мультимедийную информацию; высокая интеграция с другими языками и технологиями программирования. Тим Бернерс-Ли (08.06.1955).
Слайд 23Язык HTML. HTML (Hypertext markup language – язык разметки гипертекста) –
стандартный язык разметки документов во Всемирной паутине. Разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1991 – 1992 годах в стенах Европейского совета по ядерным исследованиям в Женеве (Швейцария). Основные особенности языка HTML: большинство веб-страниц создаются при помощи HTML или XHTML; любой документ на языке HTML представляет собой набор элементов, причём начало и конец каждого элемента обозначается специальными пометками – тегами; элементы могут иметь атрибуты, определяющие какие-либо их свойства (например, размер шрифта для элемента font); веб-страница, написанная на HTML, интерпретируется браузером; позволяет внедрять в веб-страницу мультимедийную информацию; высокая интеграция с другими языками и технологиями программирования. Тим Бернерс-Ли (08.06.1955).
Слайд 24Язык algol. Алгол – название ряда языков программирования, применяемых при составлении
программ для решения научно-технических задач на ЭВМ. Алгол был разработан в 1958 году, на недельной конференции в ETH. Особенности языка Algol: введены структурные управляющие конструкции (ветвления, циклы, последовательные участки); возможность организации рекурсивных процедур; два способа передачи параметров в подпрограмму ? по имени и по значению. Эдсгер Дейкстра (11.05.1930).
Слайд 25Примеры программ на языках программирования. Пример программы на языке MASM .386
.model flat, stdcall option casemap :none include \masm32\include\masm32.inc include \masm32\include\kernel32.inc include \masm32\macros\macros.asm includelib \masm32\lib\masm32.lib includelib \masm32\lib\kernel32.lib .code start: print "Hello world" exit end start.
Слайд 26Примеры программ на языках программирования. Пример программы на языке С ++
#include // это необходимо для std::cout и std::endl int main() { std::cout << "Hello, world!" << std::endl; }. Пример программы на языке Ada with Ada.Text_IO; procedure Hello is use Ada.Text_IO; begin Put_Line("Hello, world!"); end Hello;
Слайд 27Примеры программ на языках программирования. Пример программы на языке Algol Begin
File F (Kind=Remote); EBCDIC Array E [0:11]; Replace E by "HELLO, WORLD!"; While true do begin Write (F, *, E); End; End.
Слайд 28Примеры программ на языках программирования. Пример программы на языке С# using
System; namespace Example { class Program { static void Main() { Console.WriteLine("Hello, World!"); Console.ReadKey(true); } } }.
Слайд 29Примеры программ на языках программирования. Пример программы на языке Lisp (format
t "Hello, world!~%"). Пример программы на языке Pascal Program HelloWorld; begin writeln('Hello, World!'); end. Пример программы на языке Java public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } }.
Слайд 30Язык программирования. Язык программирования — это формальная знаковая система, предназначенная для
записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит ЭВМ (ПК) под ее управлением.
Слайд 31Назначение языка программирования. Язык программирования предназначен для написания компьютерных программ, которые
применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации.
Слайд 32Отличие от других языков. Язык программирования отличается от естественных языков тем,
что предназначен для передачи команд и данных от человека к компьютеру, в то время, как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» ? это способ передачи команд, приказов, чёткого руководства к действию.
Слайд 33Стандартизация языков программирования. Язык программирования может быть представлен в виде набора
спецификаций, определяющих его синтаксис и семантику. Для многих широко распространённых языков программирования созданы международные стандарты. Специальные организации проводят регулярное обновление и публикацию спецификаций и формальных определений соответствующего языка.
Слайд 34Организации, занимающиеся вопросами стандартизации. Американский национальный институт стандартов ANSI (American National
Standards Institute); Институт инженеров по электротехнике и электронике IEEE (Institute of Electrical and Electronic Engineers); Организация международных стандартов ISO (International Organization for Standardization).
Слайд 35Типы данных. Статически-типизированные языки могут быть в дальнейшем подразделены на языки
с обязательной декларацией, где каждая переменная и объявление функции имеет обязательное объявление типа, и языки с выводимыми типами. Иногда динамически-типизированные языки называются латентно-типизированными.
Слайд 36Типы Данных. Особая система, по которой данные организуются в программе, —
это система типов языка программирования. Разработка и изучение систем типов известна под названием теория типов. Языки могут быть классифицированы как системы со статической типизацией и языки с динамической типизацией.
Слайд 37Используемые символы. Ранние языки, возникшие в эпоху 6-битных символов, использовали более
ограниченный набор. Например, алфавит Фортрана включает 49 символов (включая пробел): A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 = + - () . , $ ‘ Заметным исключением является язык APL, в котором используется очень много специальных символов.
Слайд 38Классы языков программирования. Функциональные; процедурные (императивные); стековые; векторные; аспектно-ориентированные; декларативные; динамические;
учебные; описания интерфейсов; объектно-ориентированные; рефлексивные; логические; параллельного программирования; скриптовые (сценарные); эзотерические; с русским синтаксисом; прототипные.
Слайд 39Основные классы языков программирования. Языки программирования. Объектно-ориентированные. Процедурные. Функциональные. Логические.
Слайд 40Основные классы языков программирования. Процедурный язык программирования. Особенность таких языков программирования
состоит в том, что задачи разбиваются на шаги и решаются шаг за шагом. Используя процедурный язык, программист определяет языковые конструкции для выполнения последовательности алгоритмических шагов. Функциональное программирование объединяет разные подходы к определению процессов вычисления на основе достаточно строгих абстрактных понятий и методов символьной обработки данных.
Слайд 41Основные классы языков программирования. Логическое программирование ? парадигма программирования, основанная на
автоматическом доказательстве теорем, а также раздел дискретной математики, изучающий принципы логического вывода информации на основе заданных фактов и правил вывода. Объектно-ориентированный язык программирования ? язык, построенный на принципах объектно-ориентированного программирования. В основе концепции объектно-ориентированного программирования лежит понятие объекта ? некой субстанции, которая объединяет в себе поля и методы.
Слайд 42Трансляторы. Транслятор – обрабатывающая программа, предназначенная для преобразования исходной программы в
объектный модуль. Транслятор обычно выполняет также диагностику ошибок, формирует словари идентификаторов, выдаёт для печати тексты программы и т. д. Трансляция — преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой. Виды трансляторов: Адресный, диалоговый, однопроходной, многопроходной, обратный, оптимизирующий, текстовый, синтаксически-ориентированный (синтаксически-управляемый).
Слайд 43Интерпретаторы. Интерпретатор — программа (иногда аппаратное средство), анализирующая команды или операторы
программы и тут же выполняющая их. Типы интерпретаторов: простой интерпретатор; интерпретатор компилирующего типа. Алгоритм работы простого интерпретатора: прочитать инструкцию; проанализировать инструкцию и определить соответствующие действия; выполнить соответствующие действия; если не достигнуто условие завершения программы, прочитать следующую инструкцию и перейти к пункту 2.
Слайд 44Компиляторы. Компилятор – программа или техническое средство, выполняющее компиляцию. Компиляция —
трансляция программы на машинный язык или близкий к машинному. Виды компиляторов: Векторизующий, гибкий, диалоговый, инкрементальный, интерпретирующий (пошаговый), компилятор компиляторов, отладочный, резидентный, универсальный, самокомпилируемый.
Слайд 45Уровни языков программирования. Языки программирования. Низкого уровня (языки Ассемблера). Высокого уровня.
Универсальные (Фортран, Basic, Алгол, Кобол, ПЛ\1, Паскаль, Ада и т.д.). Специализированные (DOL,Python и т.д. ).
Слайд 46Языки низкого уровня. Языком самого низкого уровня (НУ) является «Машинный код»
– язык конкретной вычислительной машины, программа которого интерпретируется микропроцессором данной вычислительной машины. Каждая модель процессора имеет свой собственный машинный язык, хотя во многих моделях эти наборы команд сильно перекрываются. Языки НУ: TASM, NASM, HLASM, FASM, RosAsm, MASM, MCIL (CIL). Достоинства языков низкого уровня позволяют писать самый быстрый и компактный код; максимальное использование возможностей конкретной платформы; возможность непосредственного доступа к аппаратуре; эффективно используются программно-аппаратные ресурсы. Недостатки языков низкого уровня большая трудоемкость создания программ; требуется высокая квалификация программиста; высока вероятность внесения ошибок в программный код; отсутствует переносимость программ на компьютеры с другой архитектурой и системой команд.
Слайд 47Языки assembler. ASM (assembler – сборщик) является языком низкого уровня. В
отличие от языка машинных кодов, позволяет использовать более удобные для человека мнемонические (символьные) обозначения команд. Команды языка ассемблера соответствуют командам процессора, фактически, они представляют собой более удобную символьную форму записи (мнемокод) команд и их аргументов. При этом одной команде языка ассемблера может соответствовать несколько команд процессора. Область применения языков ASM драйверы устройств; оптимизация программного кода (рендеринг, кодеки); программы для бытовых устройств; программирование микроконтроллеров; взлом и защита программ; аппаратно-зависимые части ядер операционных систем; программирование средств связи; написание вирусов; для виртуализации аппаратного обеспечение (виртуальные машины).
Слайд 48Macro Assembler (MASM). MASM (Macro Assembler) – ассемблер для процессоров семейства
x86. Разработан компанией Microsoft для написания программ в операционной системы MS-DOS и был в течение некоторого времени самым популярным ассемблером, доступным для неё. Основные особенности языка MASM постоянно выпускаются новые версии, учитывающие новые возможности оборудования: MASM 6.15 (2000г.), MASM 7.0 (2002г.), MASM 7.1 (2003г.), MASM 8.0 (2005г.), MASM 9.0 (2008г.); с версии 7.0 поддерживает программирование под платформу .NET; с версии 9.0 поддерживает платформу х64; содержит мощный программный инструментарий; высокая скорость разработки программ по сравнению с другими языками низкого уровня.
Слайд 49Язык perl. Perl (Practical extraction and report language – язык для
практического извлечения данных и составления отчётов) является высокоуровневым интерпретируемым языком общего назначения. Создан американским программистом Ларри Уоллом (Larry Wall) в 1986 году. Основные особенности языка Perl: исполняет программы (сценарии) на стороне сервера; позволяет динамически формировать HTML-страницы; поддерживается на большинстве серверных платформах: MS-DOS; семейства UNIX и Windows; OS/2; Macintosh; имеет мощные инструменты обработки строк (регулярные выражения); эффективен для написания программ по работе с БД; поддерживает принципы объектно-ориентированного программирования; позволяет создавать синтаксически мощные конструкции. Ларри Уолл (27.09.1954).
Слайд 50Язык turbo Assembler. Турбо Ассемблер фирмы Borland представляет собой многопроходный ассемблер.
В настоящее время не поддерживается фирмой Borland. В основном используется для начального обучения языкам ASM. Основные особенности языка Turbo Assembler: улучшенная синтаксическая проверка типов; улучшенное управление листингом; локальные метки; локальные идентификаторы в стеке и аргументы вызова в процедурах; структуры и объединения; вложенные директивы; возможность использования одинаковых имён для обозначения членов различных структур; применение операторов HIGH и LOW; корректное управление сегментами данных объединённых в группы.
Слайд 51Язык Netwide Assembler. Ассемблер NASM – это 80x86 Ассемблер, разработанный исходя
из принципов переносимости и модульности. Основные особенности языка Netwide Assembler: поддерживает широкий диапазон форматов объектных файлов; способность создавать простые бинарные файлы; язык состоит из четырех исполняемых файлов.
Слайд 52Язык с (си). Си – стандартизированный процедурный язык программирования, разработанный в
начале 70-х годов сотрудниками Bell Labs Кеном Томпсоном (Kenneth Thompson) и Денисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX. Основные особенности языка С: язык отличает лаконичность и минимализм; предоставляет современный набор конструкций и структур данных; имеет обширный набор операций; имеет возможность прямой работы с памятью; высокоскоростной, однопроходный компилятор; программы отличаются компактностью и высокой скоростью исполнения; требует высокой квалификации программиста; известен широкому кругу программистов. Денис Ритчи (09.09.1941). Кен Томпсон (04.02.1943).
Слайд 53Язык Pascal. Pascal (назван в честь фр. математика Блеза Паскаля) –
структурированный, процедурный язык общего назначения. Создан швейцарским ученым Никлаусом Виртом 1968-1970г. с целью лишить недостатков язык Algol. Паскаль был создан как язык для обучения процедурному программированию. Основные особенности языка Pascal: строгая типизация (позволяет исключить дополнительные ошибки); наличие средств структурного (процедурного) и модульного программирования; популярный язык для начального обучения языкам программирования; принципы языка схоже с языком Си, в следствии этого Pascal используется для начального обучения с целью перехода на язык Си; достаточно много семантических и синтаксических ошибок исключается на этапе компиляции; не эффективен для разработки больших проектов; развитие языка (в Delphi) не успевает за новыми технологиями. Никлаус Вирт (15.02.1934).
Слайд 54Язык Delphi. Delphi (от древнегреческого города Дельфы) является структурированным, объектно-ориентированным языком
программирования. Разработан фирмой Borland в 1993г. на базе языка Object Pascal. 1 июля 2008 года права на Delphi проданы компании Embarcadero Technologies. Основные особенности языка Delphi: поддерживает принципы объектно-ориентированного программирования; среда Delphi предназначена только для ОС семейства Windows, для платформ Linux имеется язык Kylix (из-за убыточности проекта в 2002 г. фирма Borland прекратила поддержку); в отличие от С++ все объекты по умолчанию располагаются в динамической памяти; поддерживает делегирование и метаклассы; инструменты для работы с БД отличаются своей низкой надежностью; используется для быстрого создания небольших приложений.
Слайд 55Язык Java. Основные особенности языка Java: программы транслируются в байт-код, который
интерпретируется виртуальной машиной Java (JVM), за счет этого достигается независимость от ОС и оборудования; низкая скорость выполнения программ из-за интерпретируемости; идеи заложенные в Java были взяты фирмой Microsoft и реализовались в платформе .NET; эти идеи имеют большое будущее; простые средства создания сетевых приложений; автоматическое управление памятью (сборщики мусора); имеет расширенный набор коллекций (массивы, списки, стеки и т.д.); имеет средства создания многопоточных приложений. Java – интерпретируемый, объектно-ориентированный язык программирования. Изначально язык назывался Oak (дуб) и разрабатывался Джеймсом Гослингом для программирования бытовых электронных устройств. Началась разработка в 1990г. программистами компании Sun Microsystems, в 1996г. вышла первая версия.
Слайд 56Язык Python. Python – объектно-ориентированный, функциональный высокоуровневый язык программирования общего назначения
с акцентом на производительность разработчика и читаемость кода. Создан в 1991г. голландским программистом Гвидо ван Россумом (нидерл. Guido van Rossum). Основные особенности языка Python: динамическая типизация (тип переменной определяется в момент присваивания значения); автоматическое управление памятью; полная интроспекция (тип и структура объекта определяется во время выполнения программы); высокоуровневые структуры данных; поддержка многопоточных вычислений; портируем на все известные платформы от КПК до мейнфреймов; классы являются одновременно объектами; низкая скорость выполнения программ; отсутствие статической типизации; глобальная блокировка интерпретатора (GIL). Гвидо ван Россум (31.01.1960).
Слайд 57Язык prolog. Prolog (PROgramming in LOGic) – язык и система логического
программирования, основанные на языке предикатов математической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка. Разработан в 1970 г. Аланом Кольмероэ (Alain Colmerauer) и Филиппом Русселом (Philip Russell). Основные особенности языка Prolog: программа на языке Prolog состоит из набора фактов, определенных отношений между объектами данных (фактами) и набором правил (образцами отношений между объектами базы данных); пользователь вводит запрос (набор термов, которые все должны быть истинны) и получает результат, в соответствии с заданными фактами и правилами; используется для логического программирования; получил развитие в языке OWL применяемый для описания онтологий. Алан Кольмероэ (24.01.1941).
Слайд 58Язык OWL. OWL (Web ontology language) – язык описания онтологий для
семантической паутины. Онтология – это попытка всеобъемлющей и детальной формализации некоторой области знаний с помощью концептуальной схемы. Язык разработан компанией W3C (World wide web consortium) в 2004г. Основные особенности языка OWL: позволяет описывать классы и отношения между ними, присущие для веб-документов и приложений; в основе языка – представление действительности в модели данных «объект – свойство»; язык носит характер рекомендаций обязательных для исполнения; имеются разновидности языка: OWL Lite – классификационная иерархия и простые ограничения; OWL DL – максимальная выразительность при сохранении полноты вычислений и разрешаемости; OWL Full –максимальная выразительность и синтаксическая свобода RDF без гарантий вычисления; в 2009 году появилась новый язык – OWL2.
Слайд 59Язык SQL. SQL (Structured query language – язык структурированных запросов) универсальный
язык программирования, применяемый для создания, модификации и управления данными в реляционных базах данных. Создан в начале 70-х годов в одной из исследовательских лабораторий компании IBM. В 1986г. был принят первый стандарт языка SQL. Основные особенности языка SQL: основывается на реляционной алгебре; является стандартом управления данными в реляционных БД; широкая известность и распространенность; поддерживается популярными СУБД: MySQL, MSSQL Server, Oracle, а также и другими СУБД; независимость от конкретной СУБД; хорошая формализация языка, наличие стандартов; сложность работы с иерархическими структурами.