Меню

Эволюция программного обеспечения таблица

Эволюция программного обеспечения

физико-математические науки

  • Гавриков Вадим Владимирович , студент
  • Поволжский государственный университет сервиса
  • ООП
  • ПО
  • ОБЪЕКТНОЕ ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
  • ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
  • ПК
  • ЭВОЛЮЦИЯ
  • ПЕРСОНАЛЬНЫЙ КОМПЬЮТЕР
  • РАЗРАБОТЧИК

Похожие материалы

  • Общие сведение о дифракции
  • Нетканые материалы: обзор свойств, пожарная опасность, применение
  • Особенности и динамика киберпреступной деятельности в современном мире
  • Регрессионный анализ выбросов загрязняющих атмосферу веществ от стационарных источников по видам экономической деятельности
  • Программное обеспечение — перспективы развития в образовательной среде

Введение

Для того чтобы разобраться в эволюции ПО надо узнать что обозначает слово, которое лежит в основе ПО, а именно слово «Программа».

С греческого языка это слово можно буквально перевести как пред-запись, программа это предварительное описание некоторых предстоящих событий или действий компьютера. Программное Обеспечение (ПО) — программа/ы, которые используются для управления персонального компьютера. В IT сфере ПО часто называют словом «софт» для сокращения и упрощения произношения, а родоначальником данного сокращения является английское слово «software».

Развитие программного обеспечения

В современном мире информационные технологии стали важными помощниками в повседневной жизни человека. Когда нам нужно найти какую-либо информацию, мы уже привычно достаем смартфон или садимся за компьютер и уже через интернет с использованием поисковых систем и других служб уточняем эту информацию.

Если нам надо систематизировать или передать информацию которая у нас есть, мы также используем различные информационные технологии.

Их можно обрисовать в виде Аппаратного и Программного обеспечения.

Аппаратное обеспечение ( hardware — аппаратное обеспечение. включает в себя все физические части компьютера, но не включает информацию (данные) , которые он хранит и обрабатывает, и программное обеспечение, которое им управляет.

Программное обеспечение (англ. soft ware программное обеспечение, сокращенно «ПО») включает в себе компьютерные программы и данные, предназначенные для решения определённого круга задач и хранящиеся на машинных носителях. Программное обеспечение представляет собой либо данные для использования в других программах, либо алгоритм, реализованный в виде последовательности инструкций для процессора.

Первый разработчик ПО

Весь софт создаётся программистами на различных языках программирования, которые предназначены для записи ПО. Самым первым программистом считается Ада Лавлейс, дочь знаменитого поэта, лорда Джорджа Байрона. В 1843 она перевела лекцию британского изобретателя Чарльза Беббиджа о созданной им вычислительной машине которую тот прочитал в университете Турина с итальянского языка на английский, при переводе текста лекции Ада Лавлейс дополнила его своими подробными комментариями, которые по объему в три раза превышали текст лекции.

Один из этих комментариев содержал набор инструкций для вычисления чисел Бернулли в отношении описанной вычислительной машины, этот набор инструкций и считается первой ПО, однако при жизни Ады Лавлейс, описанная вычислительная машина так и не была сконструирована.

Первые компьютеры и их устройство

Вся работа первых ПК определилась состоянием переключателей и реле, так компьютеру задавались и данные для обработки и программа. Однако, так невозможно было задать длинную программу, ведь количество переключателей всегда была ограничена.

Первым программируемым ПК считается Компьютер z3 созданный в 1943 году немецким ученым Конрадом Цузе.

В период с 1943 по 1945 год Конрадом Цузе для его компьютера был разработан и первый язык программирования Plankalkul, однако из-за второй мировой войны он так и не был реализован.

Так в самом начале, ПО писалось с помощью машинных кодов, числовых инструкций понятных процессору для которого пишется программа, однако написание таких программ было далеко не самым простым занятием. Для того чтобы читать некоторые данные из ячейки оперативной памяти компьютера, требовалось описать около 16 инструкций.

Эволюция написания ПО

В 50-х годах потребность в компьютерных программах возросла и они стали значительно длиннее поэтому они получили распространение ПО: сборщики программы, которые были названы ассемблерами.

Они позволили сделать программы понятнее, однако такие программы все еще зависели от центрального процессора ПК.

В 1954 году началась разработка первого языка программирования высокого уровня ”Фортран”, его 1 работающая версия была реализована в 1957 году. Языки программирования высокого уровня стали настоящим прорывом. То как работают ПО практически перестало зависеть от аппаратного обеспечения компьютера, в то же время сами языки программирования стали имитировать естественные разговорные языки. Таким образом коды программ значительно сократились, а запоминать язык программирования стало значительно проще.

Компьютерные программы имели следующие составляющие:

Первая часть — это данные, они могут храниться на компьютере или задаваться пользователем ПО.

Вторая часть — это модель обработки данных, то есть описание способы их обработки.

Третья часть — это пользовательский интерфейс, совокупность правил обмена информацией между пользователем и ПО.

История изменений составляющих компьютерных программ.

Сложность ПО постепенно увеличивалась, в итоге их стало сложно понимать даже самим программистом, поэтому в конце 60-х годов была разработана “парадигма структурного программирования” и её родоначальником стал нидерландский программист Эдсгер Дейстра. В 1968 году он опубликовал свое письмо” Оператор “go-to” “считается вредным. В этом письме он призвал программистов отказаться от использования в программах оператора безусловного перехода. Что же это значит. Программа представляет собой набор инструкций для управления компьютером, эти инструкции обычно выполняются в том порядке в котором они записаны, с помощью оператора безусловного перехода, программист может продолжить исполнение софта с любой инструкции, не обязательно со следующей такие программы было сложно читать.

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

Также теперь работу ПО стало возможным описать в виде блок-схемы с одной точки начала и одной точкой окончания и элементами нескольких типов. Еще больше упростило структурное программирование использование процедур и функций.

Теперь если в программе необходимо было несколько раз выполнять одни и те же вычисления или же обработать одним и тем же способом разные данные, стала необязательным для этого несколько раз описывать одни и те же инструкции, теперь их можно было объединить функцию или процедуру, которую можно вызывать когда это необходимо.

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

Данные в различных структурах нужно обрабатывать по-разному для этого необходимо описывать свои процедуры и функции, так в программировании появилась еще одна парадигма “объектно-ориентированное программирование (ООП)” при таком программирование структуры и функции для их обработки объединены в класс, а программа это набор взаимодействующих объектов принадлежащих к различным классам. Помимо этого ООП реализовала еще целый ряд своих принципов. На месте не стоял и пользовательский интерфейс программ. Если в начале данные задавались через систему переключателей, то после того как компьютер стал доступен большему количеству людей, изменился и способ обмена информацией между программой и пользователем. Так сначала появился текстовый интерфейс, в нем компьютер выводил информацию на экран в текстовой форме, также и пользователь задавал команды компьютеру с клавиатуры в текстовой форме.

Позже на смену текстовому интерфейсу пришел привычный нам графический пользовательский интерфейс, команды компьютеру стали отдаваться с помощью различных элементов управления, например кнопок, полей ввода, ползунков и других. Эти элементы управления активируются с помощью мыши и клавиатуры и обычно достаточно просты и интуитивно понятны. Были сформулированы некоторые требования к пользовательским интерфейсом программ, например такие, как “дружественность”, “дружественным” интерфейсом называется такой пользовательский интерфейс через который пользователь может максимально быстро научиться работать с программой допуская при этом минимальное количество ошибок. Так как сегодня пользователи компьютерных программ это обычные люди, при написании программ обычно учитывается возможность каких-либо ошибок со стороны пользователя.

Так если пользователь задаст программе некорректные данные то она, скорее всего сообщит ему о некорректном вводе данных и предложит проверить их на правильность, а не завершит свое исполнение ошибкой как это обычно бывало раньше. Также сейчас некоторые ПО помимо графического интерфейса могут поддерживать голосовое управление или даже управление через движение пользователя.

Возможные ветви эволюции ПО

Основными тенденциями развития программного обеспечения являются:

  • унификация конкретных частей программных средств, так и графического оформления между ними, которое позволит эксплуатировать то или иную программу на разных платформах и на разных операционных системах, а также предоставить работу с большим количеством программного обеспечения;
  • нацеленность на ООП программных средств, предполагает в купе с их унификацией перейти к новой технологии
  • технологии «сборки» того или иного приложения, нацеленные на индивидуальные потребности каждого пользователя, из отдельных модулей-«кубиков», избегая тем самым лишние пользователю возможности. При этом сокращаются объем и цена, улучшается надежность полученного данным способом приложения. Единовременно снимается проблематика улучшения приложения при корректировании информационных нужд пользователя. Кроме того, нацеленность на технологии «сборки» приложения в купе с возможным сетевым доступом к этим приложениям, как необходимым программным ресурсам позволит в будущем не покупать в «личное пользование» то или иное ПО, а брать его в «аренду», уменьшая тем самым расходы на ПО:
  • интеллектуализация графического оформления пользователя, его интуитивно понятной, непроцедурной и приближение языка общения с ПК к профессиональному языку пользователя; настройка интерфейса пользователя на особенности и потребности конкретного пользователя при его диалог с ПК; использование средств мультимедиа при реализации интерфейса пользователя;
  • интеллектуализация характеристик программ и программных систем; все шире при проектировании приложений используются методы искусственного интеллекта, что позволяет создать приложения более «умными» и решать более сложные, плохо формализуемые задачи;
  • универсализация отдельных компонентов ПО и постепенный переход этих компонентов, а затем и самих программ из области специализированного прикладного ПО в область универсального прикладного ПО. Подобная ситуация сложилась с текстовыми процессорами, которые в свое время относились к специализированному прикладному ПО;
  • ориентация на совместную, групповую работу пользователей при решении той или иной проблемы при помощи программных средств.
Читайте также:  Как добавить таблицу с автоформатом

Источник



1988-2003: эволюция программирования за последние 15 лет

Полтора десятилетия: много это или мало для программирования? Если вести отсчет от 1952 г., когда в швейцарском Базеле была издана работа Х. Рутисхаузера “Автоматическая разработка плана с помощью программно-управляемых вычислительных машин”, то они составляют почти 1/3 той временной шкалы (табл. 1), где рука об руку шли языки программирования (табл. 2) и операционные системы. В этот период вместилась целая эпоха персональных компьютеров, Интернета и КПК, эпоха графического интерфейса и сценарных языков, эпоха доминирования объектно-ориентированного программирования (ООП).

Таблица 1. Три эпохи программирования.

Годы Языки программирования Операционные системы
1952-1966 Фортран, Алгол-60, Кобол, Лисп, Бейсик, APL, PL/I IBM OS/360, IBM OS/370
1967-1987 Simula-67, Алгол-68, Форт, Пролог, Паскаль, Си, Ada, Modula-2, Smalltalk, C++, Eiffel DEC RT-11, DEC RSX-11, DEC VAX/VMS, UNIX, CP/M, MS-DOS
1988-2003 Оберон, Visual Basic, Java, C#, Perl, PHP, Python Windows, OS/2, Mac OS, Linux, Palm OS, Pocket PC

Чего же удалось добиться за эти годы, насколько мы приблизились к заветной цели и что нас ждет в будущем? Думаю, ответы на эти вопросы можно найти в высказываниях тех, благодаря кому компьютерные науки и программная инженерия достигли наивысшего расцвета в своей истории. Вот как эти выдающиеся деятели оценивают прошлое, настоящее и будущее программирования.

Таблица 2. Хроника развития языков программирования (1988-2003).

Год Язык
1988 Оберон
1988 Modula-3
1988 Borland Object Pascal
1988 Perl 2.00
1988 Tcl/Tk
1989 ANSI C (C89)
1989 Eiffel 2
1989 Perl 3.00
1990 ISO C (C90)
1990 Haskell 1.1
1990 Scheme IEEE
1991 Oak
1991 Oberon-2
1991 Fortran-90 ISO
1991 Visual Basic 1.0
1991 Python 1997
1991 Perl 4.00
1992 PostScript Level 2
1993 Ruby
1994 Common Lisp ANSI
1994 Perl 5.00
1995 Java
1995 ISO C (C95)
1995 Delphi
1995 Eiffel 3
1995 Self 4.0
1995 Sather 1.1
1995 PHP/FI
1995 LiveScript
1995 JavaScript
1996 Eiffel 4
1996 APL 96
1996 PostScript Level 3
1996 Jscript 2002
1997 Modula-2 ISO
1997 Fortran 95 ISO
1997 OO Cobol
1997 Prolog IV
1997 ECMAScript
1997 PHP 2.0
1998 C++ ANSI/ISO
1998 Java 2
1998 Visual Basic 6.0
1998 PHP 3.0
1999 ISO C (C99)
1999 Delphi 5
1999 Haskell 98
2000 C#
2000 Java 2 (1.3)
2000 Python 2.0
2000 PHP 4.0
2001 C# (ECMA)
2001 Delphi 6
2001 Cobol 2002 (draft)
2002 Visual Basic .NET
2002 Delphi 7
2002 Java 2 (1.4.1)
2002 Fortran 2000 (draft)
2002 Perl 5.8.0
2003 C# (ISO)
2003 Zonnon
2003 Java 2 (1.4.2_01)
2003 Python 2.3
2003 PHP 4.3.3
2003 Ruby 1.8

Прошлое

Бертран Мейер (автор языка Eiffel и концепции проектирования по контракту): “Анализируя историю развития ИТ за последние несколько десятилетий, нельзя игнорировать то обстоятельство, что если большая часть новаторских решений в 60-е и 70-е годы были предложены вузами, то в 80-х и 90-х годах вклад небольших фирм и исследовательских лабораторий крупных корпораций оказался значительно весомее. Столь чрезмерное обобщение, которое лишь подтверждается редкими исключениями, может обидеть некоторых читателей. Однако было бы сложно найти среди последних достижений неопровержимые эквиваленты таким широко известным решениям, как Паскаль и Modula-2 Никлауса Вирта, операционная система THE Эдсгера Дейкстры, взаимодействующие последовательные процессы и мониторы Тони Хоара, язык Simula, созданный в университете Осло. Эти и другие фундаментальные изобретения периода становления компьютерной отрасли доказали, что университеты могут предлагать не только прекрасные теории”.

Никлаус Вирт (автор Паскаля, Modula-2 и Оберон): “В программном обеспечении и в программировании вообще часто употребляется термин «кризис программного обеспечения», о котором впервые открыто заговорили в 1968 г. и который сделал популярным структурное программирование. Был признан тот факт, что сложное программное обеспечение может быть понято только тогда, когда оно упорядочено и структурировано. Разработка огромных систем, где задействованы армии «аналитиков», со всей очевидностью доказывает необходимость координации работ, документирования и соблюдения соглашений, которые должны быть представлены в виде спецификаций интерфейсов. Руководство (management) становится доминирующим фактором, и все упомянутые аспекты так или иначе покрываются новой волной, носящей название «программная инженерия» (software engineering). Все это настоятельно требует по-настоящему профессионального подхода” .

Бьерн Страуструп (автор языка C++): “Я — ярый приверженец идеи объектно- ориентированного программирования и связанных с ним принципов и технологий проектирования, впервые появившихся в языке Simula 67. Однако это не единственный эффективный подход. Многие программистские задачи лучше всего решаются с помощью методов, не укладывающихся в узкое определение понятия «объектно-ориентированный»”.

Деннис Ритчи (автор языка Си): “Что меняется, так это роль высокоуровневых языков: по мере роста числа людей, связанных с компьютерами, она становится важнее. Языки, поначалу бывшие лишь симпатичными маленькими инструментами, такие как, скажем, Perl или Python, внезапно переместились ближе к центру мироздания”.

Ларри Уолл (автор языка Perl): “Наиболее революционным изменением в проектировании языков сейчас можно считать тот факт, что мы все больше внимания уделяем более крупным, многофункциональным языкам. Это прямой результат широкого распространения компьютеров. Люди не хотят изучать новый ограниченный язык каждый раз, когда им приходится работать с новым интерфейсом. Сейчас успех будет сопутствовать не маленьким, ограниченным, а большим, многофункциональным языкам, которые могли бы использоваться так, как если бы они были маленькими”.

Настоящее

Эдсгер Дейкстра (патриарх программирования, автор знаменитой книги “Дисциплина программирования”): “Приходится признать, что главная задача компьютерной науки — «не запутать все до неузнаваемости» — так и не была достигнута. Увы, большинство наших систем слишком сложны, чтобы не тревожиться об их состоянии, они слишком хаотичны и запутанны, чтобы с ними можно было чувствовать себя уверенно и спокойно”.

Никлаус Вирт: “Лет 25 тому назад интерактивный текстовый редактор мог быть спроектирован из расчета всего лишь 8000 байт памяти — современные редакторы текстов программ требуют в 100 с лишним раз больше. Операционная система должна была обслуживать 8000 байт, а компилятор умещаться в 32 Кбайт, в то время как их нынешние потомки требуют для своей работы многих мегабайтов. И что же, это раздутое программное обеспечение стало быстрее и эффективнее? Наоборот. Если бы не аппаратура с ее возросшей в тысячи раз производительностью, современные программные средства было бы просто невозможно использовать… Характерной чертой компьютерной индустрии является тот факт, что поставщик, которому удалось первым выбросить продукт на рынок, как правило, получает ощутимые преимущества над конкурентом, чей аналогичный — и лучший по качеству! — продукт появляется вторым. Тенденция принимать первый появившийся продукт в качестве de facto- стандарта — крайне прискорбный феномен, вызванный к жизни все той же спешкой”.

Джеймс Гослинг (автор Java) отвечает на вопрос о повсеместном увлечении разработкой серверного ПО и игнорировании Java в эпоху бурного развития смарт-карт и мобильных телефонов: “Я думаю, это взгляд со стороны американского рынка. Если вы приедете на конференцию в Северную Америку, то там люди будут говорить о корпоративном ПО. Я недавно побывал на Java-встречах в Европе и Японии — и никто не говорил о корпоративных системах. Что же всех волнует? Устройства и мобильные телефоны, а также то, каким образом построить единое целое из отдельных компонентов”.

Читайте также:  Таблица семейного и гражданского права предмет правового регулирования

Никлаус Вирт: “В действительности беды программной инженерии происходят вовсе не из-за отсутствия инструментов или хорошего менеджмента, а от недостатка технической компетентности. Хороший проектировщик должен опираться на опыт, на строгое логическое мышление и на педантичную точность. Никакая чудесная магия не может помочь. В свете всего этого особенно грустно, что во многих университетских программах по информатике «программированием в большом» (programming in the large) пренебрегают. Проектирование не заняло надлежащего места в программах по подготовке специалистов. Как результат, программная инженерия превратилась в эльдорадо для хакеров. Программировать без царя в голове стало условием профессионального выживания: чем более хаотичной выглядит программа, тем меньше опасность, что кто-то возьмет на себя труд проинспектировать этот код и развенчать как саму программу, так и ее автора”.

Будущее

Гради Буч (идеолог объектно-ориентированного проектирования): “Станем ли мы в будущем свидетелями радикальных усовершенствований в процессе программной инженерии? Эл Ахо сомневается в этом (и я горячо поддерживаю его точку зрения): “Поскольку программное обеспечение включает в себя людей, процесс и технологию, мы можем как-то усовершенствовать последние два, но первое остается неизменным. Поэтому я считаю, что нам вряд ли удастся наращивать производительность и качество программного обеспечения теми темпами, которые закон Мура обещает для процессоров, оптики и беспроводных технологий”.

Ларри Уолл: “Такое ощущение, что компьютерная наука ищет некую панацею, которая позволит людям писать корректные программы даже не думая. На самом деле нам необходимо научить людей думать правильно. И именно здесь компьютерная культура оказывается несостоятельной. Мы забыли о важности фонетических методов изучения компьютерных языков”.

Никлаус Вирт: “Я бы не сказал, что распространившаяся практика ООП реализовала все свои потенции. Наша конечная цель — расширяющее программирование (extensible programming). Под этим я понимаю возможность конструирования таких иерархий модулей, когда каждый добавляет новую функциональность в систему. Расширяющее программирование подразумевает, что можно добавлять модуль без необходимости вносить какие-либо изменения в существующие модули — не должно быть необходимости даже их перекомпилировать”.

Деннис Цикритзис (автор бестселлеров по операционным системам): “Программирование выполняется одним человеком или, по крайней мере, тесно координированной группой экспертов. Таково ли понятие программирования в Интернете? Множество программистов не являются экспертами. Большинство программ не имеют четко определенной среды, в которой они должны работать, или четко определенных спецификаций, определяющих, что же они должны делать. Мы уже перешли к другому виду программирования, нежели «дейкстровский». Следует признать этот факт и изменить свои понятия и парадигмы”.

Чарльз Саймони (ведущий программный архитектор Microsoft, руководитель проектов по созданию Microsoft Word и Excel): “Интенциональное программирование (Intentional Programming, IP) — пожалуй, одно из самых замечательных явлений современного программного инжиниринга. IP — не новый язык, как Java, и не новая методика программирования, как объектная ориентация. IP — это просто операционная система для абстракций, новая категория метаинструментария, которая координирует взаимодействие независимо разрабатываемых абстрактных объектов, называемых понятиями (intention), так что программисты смогут помечтать о постоянно расширяемой и совершенствуемой интегрированной среде разработки программ. IP позволяет воплотить эту мечту в жизнь за счет создания программ из экземпляров понятий, точно так же как системы автоматизированного проектирования создают план сложных механизмов из объектов”.

Бьерн Страуструп: “Вряд ли из меня получится хороший предсказатель будущего, поэтому, на мой взгляд, не стоит и заниматься этим. Единственное, что следует отметить: все новое гораздо чаще, чем нам хотелось бы, напоминает хорошо забытое старое. Заметьте, Кобол, Фортран и Си по-прежнему остаются ведущими языками”.

Об авторе: Руслан Богатырев — научный редактор журнала “Мир ПК”, гл. редактор CD-приложения “Мир ПК — диск” и электронного альманаха “Искусство программирования”, bogatyrev@pcworld.ru

Статья опубликована в журнале “Мир ПК” № 10, 2003 г.
Перепечатывается с разрешения автора.

Источник

Уроки 62 — 64
Предыстория информатики
История ЭВМ, программного обеспечения и ИКТ
(§ 22. Предыстория информатики. § 23. История ЭВМ
24. История программного обеспечения и ИКТ)

Содержание урока

§ 22. Предыстория информатики

§ 23. История ЭВМ

§ 24. История программного обеспечения и ИКТ

История программного обеспечения

История программного обеспечения

История систем программирования

imageПервые ЭВМ были доступны исключительно программистам. Поэтому исторически первым типом ПО стали системы программирования.

На машинах первого поколения языков программирования (в современном понимании) не существовало. Программисты работали на языке машинных кодов, что было весьма сложно. ЭВМ первого и второго поколений были приспособлены, прежде всего, для выполнения математических расчетов. А в таких расчетах часто приходится вычислять математические функции: квадратные корни, синусы, логарифмы и пр. Для вычисления этих функций программисты создавали стандартные программы, к которым производили обращения из своих расчетных программ. Стандартные программы хранились все вместе на внешнем носителе (тогда это преимущественно были магнитные ленты). Такое хранилище называлось библиотекой стандартных программ. Библиотеки стандартных программ (БСП) — первый вид программного обеспечения ЭВМ.

Затем в БСП стали включать стандартные программы решения типовых математических задач: вычисления корней уравнений, решения систем линейных уравнений и пр. Поскольку все эти программы носили математический характер, то в тот период чаще употреблялся термин «математическое обеспечение ЭВМ». Библиотеки стандартных программ используются и в современных системах программирования (см. рис. 3.1).

В эпоху второго поколения ЭВМ распространяются языки программирования высокого уровня (ЯПВУ). Об этом уже говорилось в предыдущем параграфе. ЯПВУ сделали программирование доступным не только для профессиональных программистов. Программировать стали многие научные работники, инженеры, студенты различных специальностей и даже школьники, проходящие специальную подготовку по программированию.

В программное обеспечение ЭВМ включаются трансляторы с ЯПВУ. Подробнее о языках программирования и трансляторах читайте в разделе 2.3 материала для дополнительного обучения. Понятие системы программирования в современном виде возникло в период третьего поколения ЭВМ, когда программисты для разработки программ стали пользоваться терминальным вводом (клавиатурой и дисплеем). В состав систем программирования были включены текстовые редакторы для ввода и редактирования программы и отладчики, позволяющие программисту исправлять ошибки в программе в интерактивном режиме.

История системного ПО

imageОперационные системы (ОС). Первые версии ОС появились еще на ЭВМ второго поколения, но массовое распространение операционные системы получают, начиная с машин третьего поколения.

Основная проблема, которую решали разработчики ОС, — повышение эффективности работы компьютера. На первых ЭВМ процессор — основное вычислительное устройство — нередко больше простаивал, чем работал во время выполнения программы. Такое происходило, если выполняемая программа часто обращалась к внешним устройствам: ввода, вывода, внешней памяти. Дело в том, что эти устройства работают в тысячи раз медленнее процессора.

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

С появлением систем коллективного пользования ЭВМ операционные системы стали поддерживать многопользовательский режим работы. В таких системах с одной ЭВМ одновременно работают множество людей через терминальные устройства: клавиатуру и дисплей. ОС обеспечивает режим диалога с пользователями — интерактивный режим общения. При этом у каждого пользователя (программиста) создается впечатление, что он работает с компьютером один на один.

Еще одной важной функцией ОС стала организация работы с файлами. На ЭВМ третьего поколения появились магнитные диски, на которых информация хранится в файловой форме. Файловая система — это компонент ОС, работающий с файлами.

Операционные системы современных ПК также выполняют все эти функции. Особенностью, отличающей их от первых ОС, является дружественный графический интерфейс. А в последнее время — поддержка сетевого режима работы как в локальных, так и в глобальных сетях.

imageСервисные программы. Этот тип ПО возник и начал развиваться в эпоху персональных компьютеров. Сюда входят разнообразные утилиты, антивирусные программы, программы-архиваторы.

imageУтилита — это небольшая программа, выполняющая действия, направленные на улучшение работы компьютера. Например, программа восстановления ошибочно удаленных файлов, программа обслуживания жесткого диска: лечения, дефрагментации и т. д.

Читайте также:  Примеры кислоты с металлами таблица

imageКомпьютерным вирусом является программа, способная внедряться в другие программы. Программы-вирусы выполняют нежелательные и даже опасные для работы компьютера действия: разрушают файловые структуры, «засоряют» диски и даже выводят из строя устройства компьютера. Для защиты от вирусов используются специализированные антивирусные программы (антивирус Касперского A VP, Norton Antivirus и т. д.).

imageПотребность в программах-архиваторах первоначально возникла в 80-90-х годах XX века в связи с небольшими информационными объемами устройств внешней памяти — магнитных дисков. Программа-архиватор (WinRaR, ZipMagic и др.) позволяет сократить объем файла в несколько раз без потери содержащейся в нем информации. В последнее время большое значение приобрело использование архивированных файлов в сетевых технологиях: электронной почте, файловых архивах — FTP-службе Интернета.

История прикладного ПО

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

imageСамым массовым спросом среди прикладных программ пользуются, конечно, текстовые редакторы и текстовые процессоры (например, Microsoft Word). Ушли в прошлое пишущие машинки. Персональный компьютер, оснащенный текстовым редактором, и принтер стали основными инструментами для создания любых текстовых документов.

imageВ 1979 году был создан первый табличный процессор — электронная таблица VisiCalc, ставшая самой популярной программой в среде предпринимателей, менеджеров и бухгалтеров. Идея электронной таблицы принадлежала Дэниелу Бриклину — студенту Гарвардской школы бизнеса. Начиная с 80-х годов прошлого века табличные процессоры входят в число лидирующих категорий программного обеспечения.

imageВ конце 70-х — начале 80-х годов XX века появились первые коммерческие системы управления базами данных (СУБД) — программное обеспечение, которое позволяет пользователям создавать и обслуживать компьютерную базу данных, а также управлять доступом к ней. В зависимости от области применения различают:

настольные СУБД (Access, FoxPro, Paradox и т. д.), предназначенные для работы с небольшими базами данных, хранящимися на локальных дисках ПК или в небольших локальных сетях;
СУБД серверного типа (Oracle, SQL Server, Informix и т. д.), ориентированные на работу с большими базами данных, расположенными на компьютерах-серверах.

В настоящее время все чаще приходится обрабатывать информацию (видео, звук, анимацию), которую невозможно хранить в традиционных базах данных. Jasmine является первой в мире СУБД, ориентированной на разработку баз данных, хранящих мультимедийную информацию.

imageЭлектронный офис — в последнее время часто используемое понятие. Обычно под этим понимают такой метод ведения делопроизводства, при котором всю циркулирующую информацию обрабатывают электронным способом с помощью определенных технических средств и программного обеспечения. Таким программным обеспечением являются интегрированные пакеты, включающие набор приложений, каждое из которых ориентировано на выполнение определенных функций, создание документов определенного типа (текстовых документов, электронных таблиц и т. д.). В процессе работы может происходить обмен информацией между документами, могут создаваться составные документы, включающие в себя объекты разных типов (текст, рисунки, электронные таблицы).

Широко используемым сегодня интегрированным пакетом является офисная система Microsoft Office, базовыми компонентами которой принято считать текстовый редактор Microsoft Word и табличный процессор Microsoft Excel. В состав пакета также включены СУБД Microsoft Access, система подготовки презентаций Microsoft PowerPoint и некоторые другие программы. Все большей популярностью в учебных заведениях пользуются программы, входящие в свободно распространяемый пакет OpenOffice.org. Важным его достоинством является отсутствие лицензионной платы за использование. Пакет включает в себя текстовый процессор Writer, табличный процессор Calc, систему подготовки презентаций Impress, СУБД реляционного типа Base. Существуют версии OpenOffice.org, работающие в средах ОС Windows и ОС Linux.

imageВ 90-е годы XX века появляется термин мультимедиа: в дополнение к традиционным тексту и графике появилась возможность работать с такими видами информации, как видео и звук. Для хранения мультимедиафайлов требуются большие объемы внешней памяти ПК, для обработки — большие процессорные мощности. Создание объемного реалистического изображения обеспечивается современными видеокартами, обработка звука — звуковой картой. Появляются программы редактирования и монтажа звука и видео, предназначенные для профессионалов в области музыки и видео. Наряду с этим создаются программы-проигрыватели мультимедиа файлов (Windows Media Player, Real Media Player и др.), ориентированные на широкий круг пользователей.

imageВ 1991 году сотрудник Женевской лаборатории практической физики Тим Бернерс-Ли разрабатывает систему гипертекстовых страниц Интернета, получившую название World Wide Web (WWW) — Всемирная паутина. Создание собственной Web-страницы и опубликование ее в сети под силу многим пользователям благодаря специальным программам-конструкторам Web-страниц. Наиболее популярными сегодня являются Microsoft FrontPage, входящий в состав пакета Microsoft Office, и Macromedia DreamWeaver. Этими программами пользуются не только любители, но и профессионалы Web-дизайна. В ОС Linux популярна программа OpenOffice.org Write/Web.

imageПрикладное ПО специального назначения. Данный тип программного обеспечения служит информатизации различных профессиональных областей деятельности людей. Трудно дать исчерпывающий обзор для этой области. Сейчас практически в любой профессии, связанной с обработкой информации, существует свое специализированное ПО, свои средства информационных технологий.

imageИнформационная технология — совокупность массовых способов и приемов накопления, передачи и обработки информации с использованием современных технических и программных средств.

Следующая страница § 24. История программного обеспечения и ИКТ. ИКТ и их приложения

Источник

Первое поколение

Дата добавления: 2013-12-23 ; просмотров: 3158 ; Нарушение авторских прав

Этапы развития программного обеспечения

Вопросы для самоконтроля

1. Понятие программного обеспечения

2. Системное программное обеспечение

3. Прикладное программное обеспечение

4. Понятие операционной системы и ее оболочки

5. Понятие пакета прикладных программ

6. Пакеты прикладных программ общего назначения

Стремление расширить возможности ЭВМ и повысить эффективность их использования привело к созданию программного обеспечения (ПО). Эволюция вычислительных машин тесно связана с развитием их программного обеспечения. В истории развития программного обеспечения можно выделить следующие поколения:

Первое поколение – зарождение ПО.

Второе поколение – развитие ПО: использование алгоритмических языков и библиотек стандартных программ.

Третье поколение – широкое использование ПО, появление развитых операционных систем.

Четвертое поколение – ПО, дающее возможность коллективного использования ЭВМ.

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

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

В процессе накопления программ появилась возможность ускорить написание новых программ, благодаря включению в них фрагментов ранее разработанных и реализующих необходимые функции. Развитие этой идеи привело к появлению наборов стандартных программ и правил пользования ими.

Чтобы автоматизировать работу по включению стандартных программ в программу пользователя, были созданы компилирующие и интерпретирующие программы. Компилирующая программа (система) работает однократно при вводе в память основной программы. При этом, в нужных местах вызываются соответствующие стандартные программы и вставляются в общую программу вычислений. Интерпретирующая программаработает всякий раз, когда возникает необходимость обращения к стандартной программе. Существовали и смешанные программы, использующие принципы компиляции и интерпретации.

Чтобы программы, записанные на машинном языке, имели большую наглядность, было предложено символическое кодирование. Затем функции символического кодирования были расширены за счет того, что в адресной части символической записи были допущены выражения – макрокоманды. Так, постепенно, входные языки стали не чисто машинными, а машинно-ориентированными. Однако в основе этих языков продолжала оставаться система команд какой-либо конкретной ЭВМ. Специальные программы-трансляторы переводили программы с символического языка в систему команд машины.

Таким образом, первое поколение программного обеспечения характеризуется программированием на языке машины с использованием стандартных программ, компилирующих и интерпретирующих систем, символического программирования, макрокоманд и ручного режима отладки.
Стандартные программы и системы их использования, появившиеся на первом этапе развития ПО, до сих пор не утратили своего назначения.

К концу первого поколения ЭВМ в цепочке ЭВМ-программист появилась фигура оператора, выполняющего посреднические функции при отладке программ. На оператора легли обязанности по учету заданий программистов, по подбору исходных материалов для программы, по установке требуемых машинных носителей, по прогону программы и передаче результатов решения для последующего анализа.

Источник

Adblock
detector