Руководитель: старший преподаватель Леонов Ю. А. Выполнила: студентка Какорина А.В. гр. 09-САПР.

Презентация:



Advertisements
Похожие презентации
ВЫПОЛНЕНИЕ АЛГОРИТМОВ КОМПЬЮТЕРОМ. Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой. Программа данные, предназначенные.
Advertisements

АНАСТАСИЯ ТКАЧУК PK11-PV TEKO 1 Языки программирования.
ПРЕЗЕНТАЦИЯ НА ТЕМУ: ПРЕЗЕНТАЦИЯ НА ТЕМУ: ВИДЫ ТРАНСЛЯЦИИ Составил: Ревнивцев М.В Преподаватель: Кленина В.И.
Объектно-ориентированное программирование Карпов В.Э. Смолток. Лекция 4. Байт-код.
Вперёд ЯЗЫКИ ПРОГРАММИРОВАНИЯ ЦЕЛИ: ЦЕЛИ: 1. Средство для задания действий, которые должны быть выполнены машиной.(Машинный язык) 1. Средство для задания.
Язык программирования формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических.
Язык программирования формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических.
Язык программирования формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических.
Автор: Евтина М. Г.1 Структура программного обеспечения компьютера.
Языки программирования.. Этапы создания программы. Для представления алгоритма в виде, понятном компьютеру, служат языки программирования. Сначала разрабатывается.
СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ. Системное программное обеспечение - это комплекс программ, которые обеспечивают эффективное управление компонентами.
Язык высокого уровня компилятор Программа компиляторов Сделал:Студент группы:Ис-2о(очная)Воротов Валентин.
Лекция 4 Программирование на Паскале. Элементы языка Турбо Паскаль 7.0. Типы данных. Управляющие конструкции.
Лекция 2 Введение в языки программирования. История и классификация языков программирования. Архитектура и возможности семейства языков высокого уровня.
История языков программирования 9 класс. Языки программирования Даже при наличии десятков тысяч программ разработанных для IBM PC пользователям может.
Компьютерные технологии в метеорологии (Java-технологии) Чукин В. В.
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
Алгоритмизация и программирование. Языки программирования высокого уровня. Технологии программирования Алгоритмизация и программирование. Языки программирования.
Лекция 15 Лекция 15 Управление реляционными базами данных. Языки определения данных и языки манипулирования данными. Способы выражения запросов: процедурный.
История развития языков программирования. Терминологический словарь: ПРОГРАММИРОВАНИЯЯЗЫК Знаковая система совокупность условных знаков и правил их взаимосвязи.
Транксрипт:

Руководитель: старший преподаватель Леонов Ю. А. Выполнила: студентка Какорина А.В. гр. 09-САПР

Язык программирования это формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит ЭВМ (ПК) под ее управлением.

Язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации.

Язык программирования Программы ПК

Язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время, как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» это способ передачи команд, приказов, чёткого руководства к действию.

Язык программирования может быть представлен в виде набора спецификаций, определяющих его синтаксис и семантику. Для многих широко распространённых языков программирования созданы международные стандарты. Специальные организации проводят регулярное обновление и публикацию спецификаций и формальных определений соответствующего языка.

Американский национальный институт стандартов ANSI (American National Standards Institute); Институт инженеров по электротехнике и электронике IEEE (Institute of Electrical and Electronic Engineers); Организация международных стандартов ISO (International Organization for Standardization).

Особая система, по которой данные организуются в программе, это система типов языка программирования. Разработка и изучение систем типов известна под названием теория типов. Языки могут быть классифицированы как системы со статической типизацией и языки с динамической типизацией.

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

Основные структуры данных Списки (рис.1) Хеш-таблицы (рис.2) Деревья (рис.3) Графы (рис.4) Рис.1 Рис.2 Рис.3 Рис.4

Современные языки программирования рассчитаны на использование ASCII. Часть таблицы ASCII:

Ранние языки, возникшие в эпоху 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 = + - ()., $ Заметным исключением является язык APL, в котором используется очень много специальных символов.

функциональные; процедурные (императивные); стековые; векторные; аспектно- ориентированные; декларативные; динамические; учебные; описания интерфейсов; объектно- ориентированные; рефлексивные; логические; параллельного программирования; скриптовые (сценарные); эзотерические; с русским синтаксисом; прототипные.

Языки программирования Процедурные ФункциональныеЛогические Объектно- ориентированные

Процедурный язык программирования. Особенность таких языков программирования состоит в том, что задачи разбиваются на шаги и решаются шаг за шагом. Используя процедурный язык, программист определяет языковые конструкции для выполнения последовательности алгоритмических шагов. Функциональное программирование объединяет разные подходы к определению процессов вычисления на основе достаточно строгих абстрактных понятий и методов символьной обработки данных.

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

Транслятор – обрабатывающая программа, предназначенная для преобразования исходной программы в объектный модуль. Транслятор обычно выполняет также диагностику ошибок, формирует словари идентификаторов, выдаёт для печати тексты программы и т. д. Трансляция преобразование программы, представленной на одном из языков программирования, в программу на другом языке и, в определённом смысле, равносильную первой. Виды трансляторов: Адресный, диалоговый, однопроходной, многопроходной, обратный, оптимизирующий, текстовый, синтаксически- ориентированный (синтаксически-управляемый).

Интерпретатор программа (иногда аппаратное средство), анализирующая команды или операторы программы и тут же выполняющая их. Типы интерпретаторов: простой интерпретатор; интерпретатор компилирующего типа. Алгоритм работы простого интерпретатора: 1) прочитать инструкцию; 2) проанализировать инструкцию и определить соответствующие действия; 3) выполнить соответствующие действия; 4) если не достигнуто условие завершения программы, прочитать следующую инструкцию и перейти к пункту 2.

Компилятор – программа или техническое средство, выполняющее компиляцию. Компиляция трансляция программы на машинный язык или близкий к машинному. Виды компиляторов: Векторизующий, гибкий, диалоговый, инкрементальный, интерпретирующий (пошаговый), компилятор компиляторов, отладочный, резидентный, универсальный, самокомпилируемый.

Языки программирования Низкого уровня (языки Ассемблера) Высокого уровня Универсальные (Фортран, Basic, Алгол, Кобол, ПЛ\1, Паскаль, Ада и т.д.) Специализированные (DOL,Python и т.д. )

Языком самого низкого уровня (НУ) является «Машинный код» – язык конкретной вычислительной машины, программа которого интерпретируется микропроцессором данной вычислительной машины. Каждая модель процессора имеет свой собственный машинный язык, хотя во многих моделях эти наборы команд сильно перекрываются. Языки НУ: TASM, NASM, HLASM, FASM, RosAsm, MASM, MCIL (CIL). Достоинства языков низкого уровня позволяют писать самый быстрый и компактный код; максимальное использование возможностей конкретной платформы; возможность непосредственного доступа к аппаратуре; эффективно используются программно-аппаратные ресурсы. Недостатки языков низкого уровня большая трудоемкость создания программ; требуется высокая квалификация программиста; высока вероятность внесения ошибок в программный код; отсутствует переносимость программ на компьютеры с другой архитектурой и системой команд.

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

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; содержит мощный программный инструментарий; высокая скорость разработки программ по сравнению с другими языками низкого уровня.

Турбо Ассемблер фирмы Borland представляет собой многопроходный ассемблер. В настоящее время не поддерживается фирмой Borland. В основном используется для начального обучения языкам ASM. Основные особенности языка Turbo Assembler: улучшенная синтаксическая проверка типов; улучшенное управление листингом; локальные метки; локальные идентификаторы в стеке и аргументы вызова в процедурах; структуры и объединения; вложенные директивы; возможность использования одинаковых имён для обозначения членов различных структур; применение операторов HIGH и LOW; корректное управление сегментами данных объединённых в группы.

Ассемблер NASM – это 80x86 Ассемблер, разработанный исходя из принципов переносимости и модульности. Основные особенности языка Netwide Assembler: поддерживает широкий диапазон форматов объектных файлов; способность создавать простые бинарные файлы; язык состоит из четырех исполняемых файлов.

Кен Томпсон ( ) Денис Ритчи ( ) Си – стандартизированный процедурный язык программирования, разработанный в начале 70-х годов сотрудниками Bell Labs Кеном Томпсоном (Kenneth Thompson) и Денисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX. Основные особенности языка С: язык отличает лаконичность и минимализм; предоставляет современный набор конструкций и структур данных; имеет обширный набор операций; имеет возможность прямой работы с памятью; высокоскоростной, однопроходный компилятор; программы отличаются компактностью и высокой скоростью исполнения; требует высокой квалификации программиста; известен широкому кругу программистов.

Бьерн Страуструп ( ) Появился в начале 80-х годов, является стандартизированным объектно-ориентированным языком. Создан Бьерном Страуструпом (дат. Bjarne Stroustrup) на базе языка Си с целью избавиться от программирования на ассемблере, Си и других языках высокого уровня. Основные отличия языка С++ от С: поддерживает принципы объектно-ориентированного программирования; добавлены новые конструкции позволяющие повысить эффективность труда программистов; включает стандартную библиотеку STL (Standard template library – стандартная библиотека шаблонов); возможно создание шаблонов функций и классов позволяющие определять тип на этапе выполнения программы; появились ссылки и операторы управления свободно распределяемой памятью; появилась возможность перегружать стандартные операторы и операции.

Андерс Хейлсберг (хх.12.60) C# (произносится си-шарп) – объектно- ориентированный язык программирования. Разработан в годах группой инженеров под руководством Андерса Хейлсберга (дат. Anders Hejlsberg) в компании Microsoft как основной язык разработки приложений для платформы Microsoft.NET. Основные особенности языка С#: поддерживает принципы объектно-ориентированного программирования; не поддерживает множественное наследование; имеется возможность объявлять анонимные функции (не имеют уникального имени), обеспечивающие функциональность замыкания; поддерживает технологию «сборки мусора» (автоматически освобождается неиспользуемая память); хорошая совместимость с CLR (Common language runtime – общеязыковая исполняющая среда); поддерживает технологию LINQ (Language Integrated Query – язык интегрированных запросов), которая предоставляет мощный набор инструментов составления запросов для работы с БД.

Ларри Уолл ( ) Perl (Practical extraction and report language – язык для практического извлечения данных и составления отчётов) является высокоуровневым интерпретируемым языком общего назначения. Создан американским программистом Ларри Уоллом (Larry Wall) в 1986 году. Основные особенности языка Perl: исполняет программы (сценарии) на стороне сервера; позволяет динамически формировать HTML-страницы; поддерживается на большинстве серверных платформах: MS-DOS; семейства UNIX и Windows; OS/2; Macintosh; имеет мощные инструменты обработки строк (регулярные выражения); эффективен для написания программ по работе с БД; поддерживает принципы объектно-ориентированного программирования; позволяет создавать синтаксически мощные конструкции.

Расмус Лердорф ( ) PHP (Personal home page tools – инструменты для создания персональных веб-страниц) является скриптовым языком программирования общего назначения. Создан датским программистом Расмусом Лердорфом (Rasmus Lerdorf) в 1994 году. Основные особенности языка PHP: является лидером среди языков, применяющихся для создания динамических веб-сайтов; используется для исполнения скриптов на стороне сервера; поддерживает принципы объектно-ориентированного программирования; автоматическое извлечение POST и GET-параметров, а также переменных окружения веб-сервера в предопределенные массивы; прост в изучении, высокая скорость исполнения программ, богатая функциональность, кроссплатформенность; широкий набор инструментов, позволяющий работать с БД сервера.

Билл Гейтс ( ) ASP (Active server pages – активные серверные страницы) является технологией от компании Майкрософт (Microsoft), которая позволяет динамически создавать веб-страницы на стороне сервера. ASP.NET является развитием технологии ASP, предназначена для создания веб- приложений и веб-сервисов. Основные особенности ASP.NET: высокая скорость написания веб-приложений; простота используемых языков сценариев (VBScript или JScript); возможность использования внешних COM-компонентов; совместимость с пакетом Microsoft.NET Framework; языки программирования ASP.NET имеют строгую типизацию; возможность компиляции проекта; качественное сопровождение ПО и доступность расширенного справочного руководства.

Томас Курц (слева) – Джон Кемени (справа) – BASIC (Beginners all-purpose symbolic instruction code – универсальный код символических инструкций для начинающих или от англ. basic – основной, базовый) является высокоуровневым процедурным языком программирования. Был разработан в 1963 году профессорами Дартмутского колледжа Томасом Курцом (Thomas E. Kurtz) и Джоном Кемени (John G. Kemeny). Основные особенности Basic: прост в использовании для начинающих; предоставляет расширенные возможности для профессионалов; не требует понимания работы аппаратного обеспечения; простота и бесструктурность поощряют порочные методики и привычки программирования, которые способны привести к краху крупных проектов; поздние версии обладают полным функционалом присуще современным языкам высокого уровня; является базовым языком для изучения современных языков (VBScript, Visual Basic и т.д.) поддерживаемых фирмой Microsoft.

VB – процедурный, объектно- ориентированный язык программирования разработанный фирмой Microsoft. Первая версия была разработана в 1991г. VB имеет различные реализации, например: VBA (Visual basic for applications); VBScript (Visual basic scripting edition). Основные достоинства VB: высокая скорость создания приложений для ОС Windows; возможность компиляции как в машинный код, так и P-код (аппаратно- независимый код); возможность использования большинства WinAPI функций. Основные недостатки VB: поддержка только ОС семейства Windows и Mac OS X; отсутствие механизма наследования классов; медленная скорость работы приложений; отсутствие указателей, низкоуровневого доступа к памяти, ASM-вставок.

Никлаус Вирт ( ) Pascal (назван в честь фр. математика Блеза Паскаля) – структурированный, процедурный язык общего назначения. Создан швейцарским ученым Никлаусом Виртом г. с целью лишить недостатков язык Algol. Паскаль был создан как язык для обучения процедурному программированию. Основные особенности языка Pascal: строгая типизация (позволяет исключить дополнительные ошибки); наличие средств структурного (процедурного) и модульного программирования; популярный язык для начального обучения языкам программирования; принципы языка схоже с языком Си, в следствии этого Pascal используется для начального обучения с целью перехода на язык Си; достаточно много семантических и синтаксических ошибок исключается на этапе компиляции; не эффективен для разработки больших проектов; развитие языка (в Delphi) не успевает за новыми технологиями.

Delphi (от древнегреческого города Дельфы) является структурированным, объектно-ориентированным языком программирования. Разработан фирмой Borland в 1993г. на базе языка Object Pascal. 1 июля 2008 года права на Delphi проданы компании Embarcadero Technologies. Основные особенности языка Delphi: поддерживает принципы объектно-ориентированного программирования; среда Delphi предназначена только для ОС семейства Windows, для платформ Linux имеется язык Kylix (из-за убыточности проекта в 2002 г. фирма Borland прекратила поддержку); в отличие от С++ все объекты по умолчанию располагаются в динамической памяти; поддерживает делегирование и метаклассы; инструменты для работы с БД отличаются своей низкой надежностью; используется для быстрого создания небольших приложений.

Java – интерпретируемый, объектно- ориентированный язык программирования. Изначально язык назывался Oak (дуб) и разрабатывался Джеймсом Гослингом для программирования бытовых электронных устройств. Началась разработка в 1990г. программистами компании Sun Microsystems, в 1996г. вышла первая версия. Основные особенности языка Java: программы транслируются в байт-код, который интерпретируется виртуальной машиной Java (JVM), за счет этого достигается независимость от ОС и оборудования; низкая скорость выполнения программ из-за интерпретируемости; идеи заложенные в Java были взяты фирмой Microsoft и реализовались в платформе.NET; эти идеи имеют большое будущее; простые средства создания сетевых приложений; автоматическое управление памятью (сборщики мусора); имеет расширенный набор коллекций (массивы, списки, стеки и т.д.); имеет средства создания многопоточных приложений.

Гвидо ван Россум ( ) Python – объектно-ориентированный, функциональный высокоуровневый язык программирования общего назначения с акцентом на производительность разработчика и читаемость кода. Создан в 1991г. голландским программистом Гвидо ван Россумом (нидерл. Guido van Rossum). Основные особенности языка Python: динамическая типизация (тип переменной определяется в момент присваивания значения); автоматическое управление памятью; полная интроспекция (тип и структура объекта определяется во время выполнения программы); высокоуровневые структуры данных; поддержка многопоточных вычислений; портируем на все известные платформы от КПК до мейнфреймов; классы являются одновременно объектами; низкая скорость выполнения программ; отсутствие статической типизации; глобальная блокировка интерпретатора (GIL).

Алан Кольмероэ ( ) Prolog (PROgramming in LOGic) – язык и система логического программирования, основанные на языке предикатов математической логики дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка. Разработан в 1970 г. Аланом Кольмероэ (Alain Colmerauer) и Филиппом Русселом (Philip Russell). Основные особенности языка Prolog: программа на языке Prolog состоит из набора фактов, определенных отношений между объектами данных (фактами) и набором правил (образцами отношений между объектами базы данных); пользователь вводит запрос (набор термов, которые все должны быть истинны) и получает результат, в соответствии с заданными фактами и правилами; используется для логического программирования; получил развитие в языке OWL применяемый для описания онтологий.

OWL (Web ontology language) – язык описания онтологий для семантической паутины. Онтология – это попытка всеобъемлющей и детальной формализации некоторой области знаний с помощью концептуальной схемы. Язык разработан компанией W3C (World wide web consortium) в 2004г. Основные особенности языка OWL: позволяет описывать классы и отношения между ними, присущие для веб-документов и приложений; в основе языка – представление действительности в модели данных «объект – свойство»; язык носит характер рекомендаций обязательных для исполнения; имеются разновидности языка: OWL Lite – классификационная иерархия и простые ограничения; OWL DL – максимальная выразительность при сохранении полноты вычислений и разрешаемости; OWL Full –максимальная выразительность и синтаксическая свобода RDF без гарантий вычисления; в 2009 году появилась новый язык – OWL2.

SQL (Structured query language – язык структурированных запросов) универсальный язык программирования, применяемый для создания, модификации и управления данными в реляционных базах данных. Создан в начале 70-х годов в одной из исследовательских лабораторий компании IBM. В 1986г. был принят первый стандарт языка SQL. Основные особенности языка SQL: основывается на реляционной алгебре; является стандартом управления данными в реляционных БД; широкая известность и распространенность; поддерживается популярными СУБД: MySQL, MSSQL Server, Oracle, а также и другими СУБД; независимость от конкретной СУБД; хорошая формализация языка, наличие стандартов; сложность работы с иерархическими структурами.

Тим Бернерс-Ли ( ) HTML (Hypertext markup language – язык разметки гипертекста) – стандартный язык разметки документов во Всемирной паутине. Разработан британским учёным Тимом Бернерсом-Ли приблизительно в 1991 – 1992 годах в стенах Европейского совета по ядерным исследованиям в Женеве (Швейцария). Основные особенности языка HTML: большинство веб-страниц создаются при помощи HTML или XHTML; любой документ на языке HTML представляет собой набор элементов, причём начало и конец каждого элемента обозначается специальными пометками – тегами; элементы могут иметь атрибуты, определяющие какие-либо их свойства (например, размер шрифта для элемента font); веб-страница, написанная на HTML, интерпретируется браузером; позволяет внедрять в веб-страницу мультимедийную информацию; высокая интеграция с другими языками и технологиями программирования.

Ада – язык программирования, созданный в годах в результате проекта, предпринятого Министерством обороны США с целью разработать единый язык программирования для встраиваемых систем. Язык назван в честь Ады Лавлейс. Особенности языка Ada: язык регистро-независимый; программы модульные, механизм контроля импорта-экспорта описаний между модулями включает две разные директивы: одну для подключения другого модуля (with), другую для импорта его описаний (use); поддерживается механизм обобщённых (настраиваемых) модулей; развитая система типов; поддерживается переопределение процедур, функций и операторов.

Эдсгер Дейкстра ( ) Алгол – название ряда языков программирования, применяемых при составлении программ для решения научно- технических задач на ЭВМ. Алгол был разработан в 1958 году, на недельной конференции в ETH. Особенности языка Algol: введены структурные управляющие конструкции (ветвления, циклы, последовательные участки); возможность организации рекурсивных процедур; два способа передачи параметров в подпрограмму по имени и по значению.

Пример программы на языке 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

Пример программы на языке С ++ #include // это необходимо для std::cout и std::endl int main() { std::cout

Пример программы на языке 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.

Пример программы на языке С# using System; namespace Example { class Program { static void Main() { Console.WriteLine("Hello, World!"); Console.ReadKey(true); }

Пример программы на языке 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!"); }