Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » лекции (2010) (by Ульянов Алексей_ Лихогруд Николай_ Сергеев Николай)

лекции (2010) (by Ульянов Алексей_ Лихогруд Николай_ Сергеев Николай)

PDF-файл лекции (2010) (by Ульянов Алексей_ Лихогруд Николай_ Сергеев Николай) Языки программирования (54186): Лекции - 7 семестрлекции (2010) (by Ульянов Алексей_ Лихогруд Николай_ Сергеев Николай): Языки программирования - PDF (54186) - СтудИзба2019-09-19СтудИзба

Описание файла

PDF-файл из архива "лекции (2010) (by Ульянов Алексей_ Лихогруд Николай_ Сергеев Николай)", который расположен в категории "". Всё это находится в предмете "языки программирования" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

Языки программирования.Лектор:Игорь Геннадьевич ГоловинВыполнили: Ульянов Алексей, 324 гр.Лихогруд Николай, 320 гр.Сергеев Николай, 328 гр.Лекция. Ульянов А.В.Определение языка программирования (далее ЯП).Существуют два типа определений:1) эксенсиональное (через объем). Идет перечисление ЯП – С++, Pascal, Фортран, …2) интенциональное. Определяет понятия по их родовым признакам.Одно из определений ЯП:ЯП – это инструмент планирования поведения исполнителя.Например:PLANNER – необходим для обмена информации некоторых объектов, планирование поведения. (напримерповедение людей).

Реализовать невозможно! Алгоритмически неразрешен.APL – компактный язык для записи математических алгоритмов. Один из первых интерактивных ЯП. (в 1964)Минус – сложность в «читабельности» и понимании.Основа современных языков - «читабельность».HTML – есть исполнитель (браузер). Есть поведение, можно планировать. Но не является ЯП, т.к.

неталгоритмической полноты.Планирование. Что необходимо:1) прогнозировать2) контролироватьВ дальнейшем под исполнителем будем понимать ВС.Основные позиции рассмотрения ЯП.Виды программирования:1) Игровое (тянет компьютеры вперед)2) Научное3) ИндустриальноеИгровое: программирование для себя (как развлечение).Основное требование к игровому ЯП – легкость в изучении и применении (в основном интерпретируемые).1964. Basic – был классикой игрового ЯП.Научное: для научных вычислений и т.п. (В основном на Фортране)Требование – легкость применения. Фортран в основном используют математики.Индустриальное: Программирование не для себя.

Программа отчуждается, т.е. идет создание программногопродукта.Требования:1) Эффективность2) Читаемость3) модифицируемостьКризис в программировании:Впервые это понятие появилось при написании ОС для IBM/360.1961 – начало написания ОС.1964 – вышла на рынок.Спрашивается, что же делали разработчики три года?Оказывается, что все основные задержки были связаны со сложностью программирования – несколькомиллионов строк кода. Выяснилось, что один человек такое создать не может.

(Книга автора ОС –«Мифический человекописец».)Срывались сроки и качество продукта. Росла стоимость проекта.Распределение расходов:Сопровождение – 50% (багги, изменение требований заказчиков/пользователей)Тестирование – 25%Кодирование – 10-12%Остальное – это ТЗ, ТУ и т.п.Основные позиции:1)2)3)4)5)Технологическая (как?)Авторская (почему?)РеализаторскаяСемиотическаяСоциальнаяТехнологическая.Необходима возможность командного создания.ТП -> потребности ЯП.Паскаль хорош для обучения, читабельный, но менее пригоден для индустриального программирования, чемнапример С, С++.

(хотя бы по скорости написания)Авторская.Любой язык программирования, по сути – совокупность компромиссов.Для создания ЯП можно сделать так: взять популярные языки и всунуть что-то дополнительно. (Object Pascal,Object C, C++)Это не самый лучший подход.Реализаторская.С точки зрения программиста. Не должна быть главной при разработке приложений.Семиотическая.Семиотика – наука о знаковых системах.Любой язык может быть выражен в знаковой системе.Социальная.Язык нужно не только спроектировать и создать, им должны пользоваться.Рассмотрим две системы программирования: VB и Delphi.

Delphi по многим параметрам лучше VB, но уступаетв социальном плане, т.к менее разрекламирован.Исторический очерк развития ЯП:1954 – Эмбриональный период.1954 – 57 – Фортран (Д. Бекус). Проект добился всех целей, которые были поставлены.В основном рассчитан для решения уравнений математической физики. Раньше математики рисовали блоксхемы, затем подходили к программисту, который переводил программу в двоичный код, переносил наперфокарту, и только потом запускал ее на машине. И вот если происходила ошибка, приходилось всеповторять сначала, но уже конечно с исправленной (не всегда верно) программой.

Джон Бекус предложилтогда создать программу FT. Программа работала на трехадресной машине. Появился условный оператор if(*) M1,M2,M3 – соответственно переход по больше, меньше, равно нулю.Три качества программистов, которые отличали, да и отличают программистов от других профессий:1) Лень2) Нетерпение3) ВысокомерностьОт того с ними было сложно работать.

Изобретение данного языка позволило математикам самим писатьсвои вычислительные программы. Но изначально хотели эту программу «прогнать», т.к. в то время основнымресурсом было время работы компьютера. А работа с Фортраном заняла бы немало этого времени.+ Эффект мобильности знаний (при переходе на другие компьютеры не нужно переучиваться)1958 – 1960 – Algol 58, Аlgol 60.Язык для обмена алгоритмами.

Синтаксис и структура были описаны на БНФ. Достиг огромной популярности(первая систематизированная попытка создания ЯП)Algol 60 стал прародителем многих последующих ЯП – Паскаль, Ада…Но был очень существенный минус – ключевые слова нужно было обязательно подчеркивать. А как делопроисходит на перфокартах?Begin -> ‘Begin’ или \Begin/ и т.п. Отсюда неоднозначность и не совместимость – программа, работающая наодном компьютере могла не работать на другом.

Напрашивается вывод, что Algol не подходящий инструментдля программирования.L1/L2 > 1 – время работы программы, написанной на Алголе/ «ручками».1959 – 1961 – Джон Макарти создал язык Lisp.Информацию легче представлять в виде иерархической структуре.Основная операция: eval S – вызов функции.Отсюда появилось понятие функционального программирования.Первая программа с ИИ была написана на Lisp.Не самый удачный пример языка для программирования.1959 – COBOL.

В основном был известен в Европе, в СССР – почти нет.В банках программное обеспечение было написано на COBOL. Никто не думал, что язык доживет до 2000года.1960 – Бурное развитие ЯП.«Каждый уважающий себя ВЦ должен иметь свой ЯП». Причем чаще всего на базе других ЯП. Такое бурноеразвитие – плохая мобильность знаний.ЗаключениеУ любого языка программирования образовалась своя экологическая ниша.Из биологии: Какое место в природе.

Два разных вида не могут существовать в одно время в одной нише (какправило).По теории Дарвина – более совершенный вид выбивает менее совершенный.Но на практика оказалось иначе – «выбить» старый вид сложнее, чем создать все с нуля.Языки программирования ведут себя подобным же образом.Фортран – вычисления.COBOL – банки.Lisp – обработка символьной информации.Лекция. Лихогруд Н.Н.Очерк развития Языков Программирования1954 –начало 60-х60-е - начало 70-х70-е – начало 80-х«Эмбриональный» период развития«Экстенсивное» развитие«Зрелость» языков программированияЭкстенсивное развитие программированияКаждый уважающий себя институт\проект считал своим долгом разработать собственный ЯП)19671972«симула 67»:• введение классов• Объекты классов, расположенные в ОП• Оператор «new»«Small Talk» - первый ОО(объектно-ориентированный) ЯПЯзыки создавались под конкретные задачи и занимали свои экологические ниши, так же как животные вприроде.

Как только язык начинали использовать не по назначению (не в своей нише), возникали ошибкиDO 5 I = 1,3Пробелы в Фортране не рассматриваются/операторы/(нет разделителей)5 continueDO5I=1.3Ошибка: Не было надлежащих определений.(Данная строчка является присваиванием идентификатору значенияDO5I 1.3)Из-за подобной ошибки в своё время погиб американский шаттл1964PL/I (programming language)Первая попытка создания универсального языка(компанией IBM)Содержал огромное количество конструкций, которые иногдавзаимодействовали самым непредсказуемым образомПри разработке языка каждая конструкция должна проверяться навзаимодействие с другими структурами1968Algol-68Вторая попытка создания универсального языка (компанией IFIP)Ортогональность языковых конструкций – взаимонезависимость(везде, где допустима переменная,допустимо и выражение и т.д.)В FORTRANDO 5 I=2, N–1 – ошибка.Правильно будет N1=N1-1DO 5 I=1,N1В Algol-68exp – выражениеexp; - операторВыражение может быть оператором, оператор может стать выражением(V = 5)Для Algol-68 везде где можно использовать выражение можно использовать оператор.

Таким образом, Algol68 практически полностью ортогональный язык.В Algol-68 были формально описаны не только синтаксис, но и семантика. В 1979 вышло пересмотренноесообщение об Algol-68, из-за того что рядовые программисты были не в состояние понять язык. Но и оно непринесло счастья, т.к. использовало двухуровневые W-грамматики, Мета-правила, Прото-правила. Метаправила генерировали Прото-правила. Язык был сложным, строгим и его не поняли рядовые программисты.Компиляторы были невероятно сложны, и их было создано немного.1969Денис Ричи создаёт язык «Си» - машинно-независимый ассемблер.На основе языка «Си» Томсон создал UNIX (в противовес MULTICS)Вирт создаёт язык PascalСи и Паскаль являются простыми языками программирования (по сравнению с PL/1 и Algol68).

С ихпоявлением завершилась пора экстенсивного развития программирования. Паскаль успешно занял своюнишу языка для обучения студентов программированию, а Си вытеснил ассемблер из ниши системногопрограммирования.«Зрелость» языков программирования (70-е – начало 80-х)«Языки программирования нужно проектирования нужно проектировать!»1967Дейкстра опубликовал статью о "о вреде оператора goto", в которой разбилв пух и прах оператор goto. В этой статье Дейстра затронул тему качествапрограммирования.ВходныеданныеЧёрныйящикВыходныеданныеДейкстра предложил подход к программированию как к пошаговой детализациипрограммы. Метод чёрного ящика – известно, что должно передаваться в блок на входе ичто получаться на выходе. Внутренние операции и преобразования данных неизвестны(будут детализированы позднее) Например задача обработки информации выглядит кактри последовательных чёрных ящика( «Подготовить», «Обработать», «Завершитьиспользование»), которые нужно постепенно детализировать, пока программист недойдёт до уровня конструкций языка.Абстракция данныхПрограммист должен концентрироваться на участках и блоках кода, абстрагируясь, т.е.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5258
Авторов
на СтудИзбе
419
Средний доход
с одного платного файла
Обучение Подробнее