Лекция 1 (Лекции (2009) (Саша Федорова)), страница 2

2019-09-19СтудИзба

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

Файл "Лекция 1" внутри архива находится в папке "Лекции (2009) (Саша Федорова)". Документ из архива "Лекции (2009) (Саша Федорова)", который расположен в категории "". Всё это находится в предмете "языки программирования" из 7 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Онлайн просмотр документа "Лекция 1"

Текст 2 страницы из документа "Лекция 1"

Пример. Создание PL-1. Возьмем Фортран(модульности – что в нем хорошо), Алгол и Кобол.( «С миру по нитке – кафтан»). Взяли конструкции из различных ЯП, отточили синтаксис, и получили «Язык -монстр» PL-1.

Нельзя безоглядно внедрять в конструкции нового ЯП старые компоненты, ведь внедрение одного понятия затрагивает остальные.

Проще начинать делать ЯП с нуля.

Вообще говоря, создать ЯП – легко. Труднее потом найти идиотов, которые будут на нем программировать. 

С этой точки зрения ЯП – совокупность довольно тяжелых компромиссов.

Можно еще взять существующий ЯП и расширить его(так появился Object Pascal).

Иной пример – С++. Изначально поставлена была технологическая потребность «снизу вверх».Механизм раздельной трансляции в СИ взят из Ассемблера(вот ужас-то). С++ в результате стал менее красивым.

Технологическая потребность описывает, КАК это сделано, авторская – ПОЧЕМУ это сделано.

Реализаторская позиция

Данной позицией обладает человек, который пишет компиляторы.

В чем причина популярности языка Фортран? Стандарт этого языка был создан в 1966 году, и этому стандарту удовлетворяют все последующие . У пишущих на Фортране никогда не было нужды переучиваться(«добрый старый Фортран»).Он работал как на ПК, так и на суперЭВМ.  реализаторская точка зрения не должна быть главной.(понимание хорошего ЯП должно достигаться без реализации). Однако для понимания некоторых вещей ссылка на реализацию может быть полезной. Пример тому: типизация динамичсеких ссылок в С++ у виртуальных функций.Она помогает понять некоторые виртуальные механизмы. Для понимания надо иногда опуститься до уровня реализации.

Семиотическая позиция

Семиотика – наука о знаковых системах. Это прежде всего некоторые тексты. У знаковых систем существуют общие закономерности развития. С семиотической точки зрения в курсе мы ничего рассматривать не будем.

Социальная позиция

ЯП надо не только спроектировать и реализовать. Им еще надо и пользоваться. Нельзя оценить те или иные факты без понимания социальной стороны.

Любой выдающийся ЯП имеет своего автора.

Фортран – Джон Бекус.

С++ - Страуструп.

Java – Джеймсом Гослингом

Delphi- Андерс Кельзберг.

Турбо Паскаль – Филипп Кант создал Борланд. А всю работу сделала Андерс Кельзберг. Был борцом-идеологом Visual Basic, а впоследствии разработал Дельфи.

Андерс Клеьзберг в 1997 году ушел (Дельфи 3 – последняя работа с его участием).

Убили хорошую систему...

Кельзберг сначала участвовал в проекте J++ (Java с участием Microsoft)., а затем придумал Си #

Если взять середину и конец 90-х ггг, то VisualBasic и Delphi –родственные системы – принадлежат RAD(rapidly application development). У них одна и та же ниша. Прикладное программирование.

Но с точки зрения первых трех позиций нашей классификации, Delphi - язык на порядок более красивый. Visual Basic создавался на основе Basic, который предназначался для игрового программирования. Delphi был намного технологичнее, а с реализаторской точки зрения программы на нем были более эффективны, чем на Visual Basic. Однако поддерживался он намного меньше. Почему же так вышло?

VB – удачнее. Потому что он бял продуктом Microsoft. Тут сыграла роль именно социальная ситуация.

Basic пропагандировался как первый ЯП, и его освоение якобы было легче, чем освоение Pascal. (заблуждение). Почему именно Basic? Да Билл Гейтс его любил! 

Фортран первый попал в свою нишу. Человек изучил его. И иные ЯП он учить не станет(об экологических нишах см чуть ниже).

Социальная точка зрения, как выясняется, менее важна. Но от нее очень многое зависит.

Пункт 3

Исторический очерк в развитие ЯП

Собеста(2глава) – генеалогическое древо ЯП.

Первый период -1954 год – начало 60-х гг- эмбриональный пеиод развития ЯП.

Первый язык программирования - проект под руководством Джона Бекуса- Фортра.
Его социальная роль.Как написано в одной из публикаций, проект добился всех целей которые поставил.
Что же представлял из себя данный проект?
Существовало 2 разновидности программирования:
1. расчет задач математической физики на компьютерах.(IBM/7090)
2. коммерческое.

Пример. Свой первый компьютер IBM хотел "впарить" Пентагону, однако тот не взял, и в результате машину приспособили для расчета зара/платы.(IBM/1401)
Схема работы с ЭВМ была следующая. Математик писал блок-схему и посл этого подходил и показывал ее программисту.(ритическому ресурсу :)), который переводил ее в двочиный код и запусккал программу. Математиков было много, а программистов - мало.
Джон Бекус предложил создать так называемый "Переводчик формул".- Formula Translate.
Для перевода блок-схемы в код программисту надо было реализоватьприсваивания. А любую формулу математик осваивал очень быстро.
Зате в Фортране появился if и 4 разновидности оператора GOTO.(вставить рисунок)- именно многообразие стрелок обязывало их создать, а также операторы ввода/вывода.
В результате математик САМ писал программу, отдавал перфокарты, а затем забирал результаты. Таким образом, время контакта математика с программистом существенно сократилось(большой плюс, если принять во внимание то, что "Программисты никогда не обладали хороим характером", будучи ленивыми, нетерпеливыми и высокомерными)
Работа программиста, таким образом, сводилась к микрооптимизации кодов, написанных математиками(понятно, что бородатый прогер всегда мог "ручками" написать лучше)
Система формальной нотации программистов высокого уровня.(???)
Выяснился главный плюс Фортрана - мобильность знания(кодов?)
Раньше весь опыт программирования, накопленный на одной машине, при переходе на другую оказывался бесполезен.Теперь же человек переходил с 1 компьютера на другой, ничего при этом не теряя.Мобильность программ - это некоторая абстракция. Самым главным с точки зрения мобильности оказалась мобильность знания.
1958-1960 гг - сфабрикован проект Алгол 60. Здадумывался Алгол как язык для обмена алгоритмами. Создан был коллективом ученых под руководством датского специалиста Питера Наура. Участвовал и Джон Бекус. Так родилась БНФ. Первый язык (структура описывалась именно так), совпадающий с формализмом грамматик Хомского -класса2.==>волна исследовний синтаксическоо анализа ЯП. Многие ученые начали заниматься теорией формальных языков.
Алгол получился как язык для обмена алгоритмами.

Был очень популярен в США, а в восточной Европе - и того подавно.(самый популярный язык в СССР)
Кстати, первый язык, который изучали на ВМК на 1 курсе в 1978 году.
Роль Алгола: послужил предшественником Паскаль - первая систематическая попытка создания ЯП. Pаscal и Ada - это алголоподобные языки, с храктерными для них блочной структурой программ, стеком, рекурсией.
Почему же на нем не остановились? Дело в том, что при создании данного языка была проигноривана практическая сторона. Неудобство записи символов.Колода карт могла работать на одной машине и не работать на другой. К тому же человек "ручками" все равно напишет быстрее, чем Алгол.

Формульно это выражается как L1/l2>=1, где l2 – эффективность человека, а L1- эффективность Алгол. Правда, оптимизирующий компилятор Фортран обладаал выдающимся результатом - L1/l2=1.04.

Алгол задумывался для обмена информацией.

Джон Маккарти(автор Лисп) придумал язык, выражающий алгоритм через иерархическую структуру ( (а b c)- с одной стороны (a b c)- с другой. Сама программа на языке Лисп создавалась в такой структуре. В Лиспе основной структурой данных был список, а основной операцией – вызов функции). LISP породил новую парадигму функционального программирования, которая, однако, сразу же отодвинулась на второй план. Прогнозирование в Лиспе было возможно, а вот возможности динамического контроля не было.

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

Единственным минусом Кобола был плохой формат дат: DD. MM. YY

В языке Кобол ввели специальный дастский формат(60-гг – время компьютеризации банков), и в 1961 году никто не представлял, что программы на Коболе доживут до 2000 года. Это свойство языка Кобол породило проблему 2000.

Замечание: ни один ЯП не конкурировал друг с другом. У люого яязыка образовывалась своя экологическая ниша. (Говоря языком биолога, позиция, которую некоторый биологический вид занимает в природе: пищевая цепь, среда обитания. Каждую экологическую нишу занимает только один биологический вид. Если другой вид более приспособлен для данной ниши, он вытеснит этот вид. А в компьютерах оказалось все наоборот). Выбить ЯП из его экологической ниши очень трудно. Очень. Несмотря на то, то техногенные системы обычно ведут себя похоже на биологические системы.

«Системы не внедряются. Они выживают»

У любого ЯП существует своя профессиональная область:

Fortran-научно-техническая область

Cobol-экономические операции

Algol60-ниша обучения, ее вытеснил Паскаль

LISP- ниша обработки символьной информации.

И если бы не проблема 2000, до сих пор программировали на Cobol.

Кстати сказать, переводами программ с Cobol ныне занимаются в основном в Индии.

Часто «ниши» для ЯП отыскиваются путем проб и ошибок.

Пример: Jovial,,созданный на базе Алгол -60 известный как язк для военных примененй . Характерно именно для эмбриоанльного периода. Для программирования любой крупной ситемы придумывался свой ЯG. Военность Jovial состояла лишь в том, что он был придуман для крупного военного проекта.

Итак, как мы видим, 60-е гг – период бурного и экстенсивного развития ЯП. Любой уважающий себя вычислительный центр имел вой ЯП. Зачем? Тогда никто об этом не думал.

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