Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lect5

.pdf
Скачиваний:
8
Добавлен:
27.03.2015
Размер:
487.39 Кб
Скачать

Информатика

Лекция 5.

Языки и технологии программирования

Основные этапы решения задач с помощью компьютера:

Постановка задачи;

Анализ и исследование задачи, модели;

Разработка алгоритма

Пpогpаммиpование (кодирование на языке программирования);

Тестиpование и отладка;

Анализ результатов решения задачи;

• СопровождениеАпрограммы.В.

.

2

Гаврилов

 

Кафедра АППМ, НГТУ

Уровниязыков программированияания

Естественные языки Терминология конкретной предметнойой областиобласти

Высокоуровневые языки программированиярования

Низкоуровневыеязыки программированиявания

(напр. C)

Ассемблер (мнемокоды)

Машинный код (то, чтоисполняет процессороцессор))

А.В.Гаврилов

3

Кафедра АППМ, НГТУ

Языкивысокого/низкого уровняя

Языкивысокогоуровня – максимальноо приближеныкзадаче. Наиболее выраженожено вв предметноориентированныхязыках..

Приоритет – что?

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

Приоритет – как?

А.В.Гаврилов

4

Кафедра АППМ, НГТУ

Разнообразие языков программирования

Со времени создания первых программируемых машин человечество придумало > 8500 языков программирования. Каждый год их число пополняется новыми.

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

Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования.

А.В.Гаврилов

5

Кафедра АППМ, НГТУ

Классификации языков

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

Высокого уровня

 

Низкого уровня:

 

C / C++, Assembler

 

 

Общего назначения:

 

Предметно-ориентированные:

Perl, Java, Python

 

Matlab, PL SQL, AutoLisp

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

Императивные:

 

Декларативные

 

Мультипарадигменные

C, Pascal, Java, Perl

 

 

Ruby

 

 

 

 

Функциональные языки:

 

Языки логического прогр.:

 

 

LISP, Haskell

А.В.Гаврилов

Prolog

6

 

Кафедра

АППМ, НГТУ

 

 

 

 

 

Парадигмы программирования

Парадигма — способ организации программы, то есть принцип ее построения. Наиболее распространенными являются процедурная и объектно-ориентированная парадигмы. Они различаются способом декомпозиции, положенным в основу при создании программы.

Процедурная декомпозиция состоит в том, что задача,

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

Объектно-ориентированная декомпозиция предполагает разбиение предметной области на объекты и реализацию этих объектов и их взаимосвязей в виде программы.

Функциональная и логическая парадигмы.

А.В.Гаврилов

7

Кафедра АППМ, НГТУ

Классификация языков программирования

По стилю (используемая парадигма) или виду организации:

Алгоритмические

Pascal, C, Fortran, Cobol, Basic

Объектно-ориентированные

C++, Object Pascal (в среде Delphi), Java, C#

Логические

Prolog, SmallTalk

Функциональные

LISP

По виду выполнения программы:

Компилируемые

Pascal, C, С++, С#, Pascal, Fortran, Cobol, язык Ассемблера

Интерпретируемые

Basic, Prolog, LISP, Java

Скриптовые

Javascript, PHP, Python, Perl, Ruby

А.В.Гаврилов

8

Кафедра АППМ, НГТУ

Есть еще проблемно-ориентированные (специализированные) языки программирования

Языки для моделирования

Языки программирования для станков с ЧПУ

Языки программирования роботов

Скриптовые языки в играх и в инструментальном ПО для создания игр

А.В.Гаврилов

9

Кафедра АППМ, НГТУ

TIOBE Programming Community Index for February 2009

Position

Position

Programming

Ratings

 

 

Feb

 

 

Feb 2009

Feb 2008

Language

 

 

2009

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

Java

19.4%

 

 

 

 

 

 

 

 

2

2

C

15.8%

 

 

 

 

 

 

 

 

3

5

C++

9.6%

 

 

 

 

 

 

 

 

4

3

(Visual) Basic

8.8%

 

 

 

 

 

 

 

 

5

4

PHP

8.8%

 

 

 

 

 

 

 

 

6

8

C #

5%

 

 

 

 

 

 

 

 

7

7

Python

4.5%

 

 

 

 

 

 

 

 

8

6

Perl

4.1%

 

 

 

 

 

 

 

 

9

9

Delphi

3.6%

 

 

 

 

 

 

 

 

10

10

А.В.Гаврилов

3.5%

 

10

JavaScript

 

 

 

 

Кафедра АППМ, НГТУ

 

 

 

 

 

 

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]