Слайд 1Лекция 1
Вычислительная техника и алгоритмические языки программирования
Слайд 2АЯП
Алгоритмический язык — формальный язык, используемый для записи, реализации и
изучения алгоритмов. Всякий язык программирования является алгоритмическим языком, но не
всякий алгоритмический язык пригоден для использования в качестве языка программирования [1]. В узком смысле слова алгоритмическим языком также называют семейство языков программирования Алгол.
Слайд 3АЯП
При изучении информатики в школах для изучения основ алгоритмизации применяется
т. н. школьный алгоритмический язык (учебный алгоритмический язык), использующий понятные
школьнику слова на русском языке. В отличие от большинства языков программирования, алгоритмический язык не привязан к архитектуре компьютера, не содержит деталей, связанных с устройством машины.
Слайд 4АЯП
Алголо-подобный алгоритмический язык с русским синтаксисом был введён в употребление
академиком А. П. Ершовым в середине 1980-х годов, в качестве
основы для «безмашинного» курса информатики. Впервые был опубликован в учебнике «Информатика-9» в 1985 г. Язык также использовался для записи алгоритмов в учебнике А. Г. Кушниренко «Основы информатики и вычислительной техники» для 9-10 классов (издание 1990 года было выпущено тиражом в 7 млн экземпляров).
Слайд 5Классификация языков программирования
Слайд 6Компилируемые и интерпретируемые языки
Если программа написана на интерпретируемом языке,
то интерпретатор непосредственно выполняет (интерпретирует) исходный текст без предварительного перевода.
При этом программа остаётся на исходном языке и не может быть запущена без интерпретатора. Можно сказать, что процессор компьютера — это интерпретатор машинного кода.
Слайд 7Компилируемые и интерпретируемые языки
Кратко говоря, компилятор переводит исходный текст
программы на машинный язык сразу и целиком, создавая при этом
отдельную исполняемую программу, а интерпретатор выполняет исходный текст прямо во время исполнения программы
Слайд 8Компилируемые и интерпретируемые языки
Некоторые языки, например, Java и C#,
находятся между компилируемыми и интерпретируемыми. А именно, программа компилируется не
в машинный язык, а в машинно-независимый код низкого уровня, байт-код. Далее байт-код выполняется виртуальной машиной. Для выполнения байт-кода обычно используется интерпретация, хотя отдельные его части для ускорения работы программы могут быть транслированы в машинный код непосредственно во время выполнения программы по технологии компиляции «на лету» (Just-in-time compilation, JIT). Для Java байт-код исполняется виртуальной машиной Java (Java Virtual Machine, JVM), для C# — Common Language Runtime.
Слайд 9Процедурные языки программирования
Процедурное (императивное) программирование является отражением архитектуры традиционных
ЭВМ, которая была предложена фон Нейманом в 1940-х годах. Теоретической
моделью процедурного программирования служит алгоритмическая система под названием Машина Тьюринга.
Программа на процедурном языке программирования состоит из последовательности операторов (инструкций), задающих процедуру решения задачи. Основным является оператор присваивания, служащий для изменения содержимого областей памяти. Концепция памяти как хранилища значений, содержимое которого может обновляться операторами программы, является фундаментальной в императивном программировании.
Слайд 10Процедурные языки программирования
Выполнение программы сводится к последовательному выполнению операторов
с целью преобразования исходного состояния памяти, то есть значений исходных
данных, в заключительное, то есть в результаты. Таким образом, с точки зрения программиста имеются программа и память, причем первая последовательно обновляет содержимое последней.
Процедурный язык программирования предоставляет возможность программисту определять каждый шаг в процессе решения задачи. Особенность таких языков программирования состоит в том, что задачи разбиваются на шаги и решаются шаг за шагом. Используя процедурный язык, программист определяет языковые конструкции для выполнения последовательности алгоритмических шагов.
Слайд 11Basic
Бейсик (от BASIC, сокращение от англ. Beginner’s All-purpose Symbolic
Instruction Code — универсальный код символических инструкций для начинающих; англ.
basic— основной, базовый) — семейство высокоуровневых языков программирования.
Слайд 12Pascal
Паскаль (англ. Pascal) — высокоуровневый язык программирования общего назначения.
Один из наиболее известных языков программирования, широко применяется в промышленном
программировании, обучении программированию в высшей школе, является базой для большого числа других языков. Был создан Никлаусом Виртом в 1968/9 годах (опубликован в 1970-м) после его участия в работе комитета разработки стандарта языка Алгол-68.
Паскаль был создан как язык для обучения процедурному программированию (хотя, по словам Вирта, язык нельзя считать только учебным, поскольку язык, непригодный для написания реальных программ, для обучения использоваться не должен). Название языку дано в честь выдающегося французского математика, физика, литератора и философа Блеза Паскаля.
Слайд 13Cи
Си (англ. C) — стандартизированный процедурный язык программирования, разработанный
в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и
Денисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX. С тех пор он был импортирован на многие другие операционные системы и стал одним из самых используемых языков программирования. Си ценят за его эффективность; он является самым популярным языком для создания системного программного обеспечения.
Язык программирования Си отличается минимализмом. Авторы языка хотели, чтобы программы на нём легко компилировались с помощью однопроходного компилятора, после компиляции каждой элементарной составляющей программы соответствовало весьма небольшое число машинных команд, а использование базовых элементов языка не задействовало библиотеку времени выполнения.
Слайд 14Объектно-ориентированные языки программирования
ОО-язык — язык, построенный на принципах объектно-ориентированного
программирования.
В основе концепции объектно-ориентированного программирования лежит понятие объекта - некоей
субстанции, которая объединяет в себе поля (данные) и методы (выполняемые объектом действия).
Например, объект "человек" может иметь поля "имя", "фамилия" и иметь методы "есть" и "спать".Соответственно, мы можем использовать в программе операторы Человек. Имя: ="Иван" и Человек. Есть(пища).
Слайд 15Си++
Компилируемый статически типизированный язык программирования общего назначения. Поддерживает разные
парадигмы программирования, но, в сравнении с его предшественником — языком
Си, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.
Название «Си++» происходит от Си, в котором унарный оператор ++ обозначает инкрементпеременной.
В 1990-х годах язык стал одним из наиболее широко применяемых языков программирования общего назначения.
Слайд 16Си++
При создании Си++ стремились сохранить совместимость с языком Си.
Большинство программ на Си будут исправно работать и с компилятором
Си++. Си++ имеет синтаксис, основанный на синтаксисе Си.
Язык возник в начале 1980-х годов, когда сотрудник фирмы Bell Laboratories Бьёрн Страуструп придумал ряд усовершенствований к языку Си под собственные нужды.
Слайд 17JAVA
Java — объектно-ориентированный язык программирования, разрабатываемый компаниейSun Microsystems. Приложения
Java обычно компилируются в специальный байт-код, поэтому они могут работать
на любой виртуальной Java-машине (JVM) независимо откомпьютерной архитектуры. Дата официального выпуска — 23 мая 1995 года.
Java — так называют не только сам язык, но и платформу для создания и исполнения приложений на основе данного языка.
Слайд 20Рейтинг благозвучности языков программирования
http://habrahabr.ru/blogs/personal/82616/
Слайд 21Рейтинг языков программирования (2009)
http://staiki.ukrbb.net/viewtopic.php?f=45&t=2436
Слайд 22Рейтинг языков программирования (2010)
http://svetlogorsk.hh.ru/article.xml?articleId=1100&research
Слайд 23Рейтинг языков
(http://www.tvd-home.ru/main/1532/comment-page-1)
Слайд 24Рейтинг языков
(http://www.tvd-home.ru/main/1532/comment-page-1)
Слайд 25Рейтинг языков
(http://www.tvd-home.ru/main/1532/comment-page-1)
Слайд 26Выводы по рейтингам
1) Высочайшую популярность скриптовых языков (php, JavaScript). Около
четверти всех вакансий требуют их знания.
2) Java она и в
Африке Java. То же с C++ и C#.
3) Delphi у нас несколько более популярен, чем в остальном мире.
4) Basic наоборот – у нас не очень котируется.
5) Буквально в последний год по всему миру набрал силу язык Objective-C. Наш рынок труда на это уже откликнулся заметной долей вакансий с таким требованием. Однако интерес в рунете к данному языку исчезающе мал. 1805 запросов в месяц (0.026% запросов, связанных с языками) – это практически полный ноль.
Слайд 27Теперь можно перейти к практике!!!
Найти лектора можно в аудитории 5-214
или
по
e-mail: eart@ukr.net.
Также могут пригодиться материалы с сайта EART.HO.UA (разделы «Преподаватель\Материалы
для скачивания» и «Полезности»)