Слайд 1История развития программирования, тенденции развития ПО
Слайд 2Идея о предварительной записи порядка действия машины для последующей автоматической реализации
вычислений - программе, высказанная в 20-х гг. XIX в. Чарльзом Бэббиджем, была одной из самых революционных идей, приведших к созданию цифровых вычислительных машин.
Чарльз Бэббидж
Слайд 3Бэббидж предложил использовать запись программы на перфокартах, придуманных для управления ткацкими
станками французским изобретателем Жозефом Мари Жаккаром.
Слайд 4Аду Лавлейс, одну из немногих современников Чарльза Бэббиджа, кто сумел по
достоинству оценить аналитическую машину, называют первым в мире программистом. Она теоретически разработала некоторые приемы управления последовательностью вычислений, которые используются в программировании и по сей день, описала одну из важнейших конструкций практически любого современного языка программирования - цикл.
Ада Лавлейс
Слайд 5Революционным моментом в истории языков программирования стало появление системы кодирования машинных
команд с помощью специальных символов, предложенной Джоном Моучли. Эта система под названием Short Code являлась примитивным языком программирования высокого уровня.
Слайд 6Система кодирования, предложенная Моучли, увлекла одну из сотрудниц его компании -
Грейс Мюррей Хоппер, которая посвятила всю свою жизнь компьютерам и программированию. Она вспоминает, что стала «третьим в мире программистом первого в мире большого цифрового компьютера».
Г.М. Хоппер
Слайд 7При работе на компьютере «Марк-1» Г.Хоппер и ее группе пришлось столкнуться
со многими проблемами и все, что ими придумано, было впервые. В частности, они придумали подпрограммы. И еще одно фундаментальное понятие техники программирования впервые ввели Г.Хоппер и ее группа - «отладка».
Слайд 8В 1951 г. Хоппер создала первый в мире компилятор и ею
же был введен сам этот термин. Компилятор Хоппер осуществлял функцию объединения команд и в ходе трансляции производил организацию подпрограмм, выделение памяти компьютера, преобразование команд высокого уровня (в то время псевдокодов) в машинные команды.
Слайд 9В 1954 г. группа под руководством Г.Хоппер разработала систему, включающую язык
программирования и компилятор, которая в дальнейшем получила название MATH-MATIC. После удачного завершения работ по созданию MATH-MATIC Г.Хоппер и ее группа принялись за разработку нового языка и компилятора, который позволил бы пользователям программировать на языке, близком к обычному английскому.
Слайд 10Необходимость появления подобной системы Хоппер объясняла следующим образом:
«Существует много различных
людей, которым нужно решать разные задачи. Некоторые из них связаны с обработкой символов, другие - с обработкой слов, и им нужны языки другого типа, а не наши попытки превратить их всех в математиков»
Слайд 11Середина 1950-х гг. характеризуется стремительным прогрессом в области программирования. Роль программирования
в машинных командах стала уменьшаться. Начали появляться языки программирования нового типа, выступающие в роли посредника между машинами и программистами. Первым и одним из наиболее распространенных был Фортран (FORTRAN от FORmula TRANslator – переводчик формул), разработанный группой программистов фирмы IBM в 1954 г. Под руководством Дж Бэкус
Слайд 12В конце 1950-х гг. плодом международного сотрудничества в области программирования явился
Алгол (ALGOL – от ALGOrithmic Language – алгоритмический язык). Алгол предназначен для записи алгоритмов, которые строятся в виде последовательности процедур, применяемых для решения поставленных задач.
Слайд 13Фрагмент подпрограммы на языке Algol-60
Алгоритм Евклида
(нахождение наибольшего общего делителя)
integer procedure
NOD (X,Y);
integer X,Y;
begin
while X#Y do
if X
Слайд 14В 1958 г. появился компилятор FLOW-MATIC. В отличие от ФОРТРАНа -
языка для научных приложений - FLOW-MATIC был первым языком для задач обработки коммерческих данных. Работы в этом направлении привели к созданию языка КОБОЛ (COBOL - Common Business Oriented Language). Одним из основных консультантов при создании этого языка была Грейс Мюррей Хоппер.
Слайд 15В середине 60-х годов сотрудники математического факультета Дартмутского колледжа Томас Курц
и Джон Кемени создали специализированный язык программирования, который состоял из простых слов английского языка. Новый язык назвали «универсальным символическим кодом для начинающих» (Beginners All-Purpose Symbolic Instruction Code - BASIC). Годом рождения нового языка можно считать 1964 г.
Слайд 16
Изображение отрезка
LINE (x1,y1)-(x2,y2)
Например:
SCREEN 7
LINE
(50,100)-(80,30),5
Изображение прямоугольника
LINE(x1,y1)-(x2,y2)
Например:
SCREEN 7
LINE
(50,100)-(80,30),5,B
Изображение закрашенного
прямоугольника
LINE(x1,y1)-(x2,y2),
Бейсик – это продукт Новой Англии. Cозданный в 1964г., как язык обучения программированию. Бейсик является общепринятым акронимом от"Beginner's All-purpose Symbolic Insruction Code" (BASIC) - Многоцелевой Символический Обучающий Код для Начинающих".
Слайд 17Специализированный язык ЛОГО (от греческого logos - слово), созданный для обучения
программированию школьников профессором математики и педагогики Сеймуром Пейпертом из Массачусетского технологического института. Обучаясь программированию на ЛОГО, дети задают простые команды, которые управляют игрушечной черепашкой, снабженной карандашиком. Отметим и еще один достаточно популярный специализированный язык - Пролог (Prolog -PROgramming in LOGic), разработанный как язык программирования для создания систем искусственного интеллекта.
Слайд 18Развитие идеи Алгола о структуризации разработки алгоритмов нашло наивысшее отражение при
создании в начале 70-х годов языка Паскаль швейцарским ученым Никлаусом Виртом. Язык Паскаль первоначально разрабатывался как учебный, и, действительно, сейчас он является одним из основных языков обучения программированию в школах и вузах.
Никлаус Вирт
Слайд 19Фрагмент программы на языке Pascal
Алгоритм Евклида
(нахождение наибольшего общего делителя двух
чисел)
function NOD (X,Y: integer): integer;
begin
while X<>Y do
if X>Y then
X:=X-Y
else
Y:=Y-X;
NOD:=X;
end;
Слайд 20Не менее впечатляющей, в том числе и финансовой, удачи добился джазист
Филип Кан, француз, разработавший систему Турбо-Паскаль. Суть его идеи состояла в объединении последовательных этапов обработки программы - компиляции, редактирования связей, отладки и диагностики ошибок - в едином интерфейсе.
Слайд 21Период с конца 60-х и до начала 80-х годов характеризуется бурным
ростом числа различных языков программирования, сопровождавшим, как это ни парадоксально, кризис программного обеспечения. Этот кризис особо остро переживало военное ведомство США. В январе 1975 г. Пентагон решил навести порядок в хаосе трансляторов и учредит комитет, которому было предписано разработать один универсальный язык.
Слайд 22На конкурсной основе комитет проработал сотни проектов и, когда стало ясно,
что ни один из существующих языков не может их удовлетворить, принял два проекта для окончательного рассмотрения. В мае 1979 г. был объявлен победитeль - группа ученых во главе с Жаном Ихбиа. Победивший язык окрестили АДА, в честь Огасты Ады Лавлейс.
Слайд 23Большой отпечаток на современное программирование наложил язык Си (первая версия -
1972 г.), являющийся очень популярным в среде разработчиков систем программного обеспечения (включая операционные системы). Си сочетает в себе черты как языка высокого уровня, так и машинно-ориентированного языка, допуская программиста ко всем машинным ресурсам. Деннис Ритчи
Слайд 24Языки программирования на платформе .NET.
на языке Visual Basic .Net (
на основе Visual Basic) - 2003 г.;
на языке Visual C# (С-шарп) – на основе языков С++ и J – 2003 г.;
на языке Visual J# (J-шарп) – на основе Java и JavaScript – 2003 г.