История развития вычислительной техники 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

История развития вычислительной техники



Люди с древних времен использовали для счета различные приспособления. Первым таким "приспособлением" были собственные пальцы. Полное описание пальцевого счета составил в средневековой Европе ирландский монах Беда Достопочтенный (7 век н.э.). Различные приемы пальцевого счета использовались до 18 века.

В качестве средств инструментального счета использовались веревки с узелками.

Наиболее широкое распространение в древности получил абак, сведения о котором известны с V в до н.э. Числа в нем представлялись камешками, раскладываемые по столбцам. В древнем Риме камешки обозначались словом «Calculus», отсюда произошли слова, обозначающие счет (английское «calculate» – считать).

Счеты, широко использовавшиеся на Руси, по принципу действия похожи на абак.

Необходимость использования различных устройств для счета объяснялись тем, что письменный счет был затруднен. Во-первых, это было связанно со сложной системой записи чисел, во-вторых, писать умели немногие, в-третьих, средства для записи (пергамент) были очень дороги. С распространением арабских цифр и изобретением бумаги (12-13 век) стал широко развиваться письменный счет, и абак стал не нужен.

Первым устройством, механизирующий счет в привычном для нас понимании, стала счетная машинка (Рис. 1), построенная в 1642 году французским ученым Блезом Паскалем. Она содержала набор вертикально расположенных колес с нанесенными на них цифрами 0-9. Если такое колесо совершало полный оборот, оно сцеплялось с соседним колесом и проворачивало его одно деление, обеспечивая перенос из одного разряда в другой. Такая машина могла складывать и вычитать числа и использовалась в конторе отца Паскаля для подсчета сумм собираемых налогов.

 

 

 

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

В 1673г. немецкий философ и математик Готфрид Лейбниц создал механическое счетное устройство (Рис. 2), которое не только складывало и вычитало, но и умножало и делило. Эта машина стала основой массовых счетных приборов - арифмометров. Выпуск механических счетных машин был налажен в США в 1887, в России в 1894. Но эти машины были ручными, то есть требовали постоянного участия человека. Они не автоматизировали, а лишь механизировала счет.

 

Большое значение в истории вычислительной техники занимают попытки "заставить" технические устройства выполнять какие-либо действия без участия человека, автоматически.

Большое развитие такие механические автоматы, построенные на основе часовых механизмов, получили в 17-18 веках. Особенно были известны автоматы французского механизма Жака де Вокансона, среди которых была игрушка-флейтист, внешне выглядевшая как обычный человек. Но это были всего лишь игрушки.

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

Отцом вычислительной техники считается английский ученый 19 века Чарльз Бэббидж, который впервые предпринял попытку построить счетную машину (Рис. 3), работающую по программе. Машина предназначалась для помощи Британском морскому ведомству в составлении мореходных таблиц. Бэббидж считал, что машина должна иметь устройство, где будут храниться числа, предназначенные для вычислений ("память"). Одновременно там же должны находиться команды о том, что с этими числами делать ("принцип хранимой программы"). Для выполнения операций над числами в машине должно быть специальное устройство, которое Беббидж назвал "мельницей", а в современных компьютерах ему соответствует АЛУ. Вводиться в машину числа должны были вручную, а выводиться на печатающее устройство ("устройства ввода/вывода"). И наконец, должно было быть устройство, управляющее работой всей машины ("УУ"). Машина Бэббиджа была механической и работала с числами, представленными в десятичной системе.

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

 

 

Следующий важный шаг на пути автоматизации вычислений сделал примерно через 20 лет после смерти Беббиджа американец Герман Холлерит, который изобрел электромеханическую машину для вычислений с помощью перфокарт (Рис. 4). Машина использовалась для обработки данных переписи населения. На перфокартах вручную пробивались отверстия в зависимости от ответов на вопросы переписи; сортировальная машина позволяла распределять карты на группы в зависимости от места пробитых отверстий, а табулятор подсчитывал число карт в каждой группе. Благодаря этой машине обработку результатов переписи населения Соединенных Штатов Америки 1890г удалось провести втрое быстрее предыдущей.

 

 

В 1944 году в США под руководством Говарда Айкина была построена электромеханическая вычислительная машинка, известная как "Марк–1 ", а затем и "Марк–2 ". Эта машина была основана на реле. Поскольку реле имеют два устойчивых состояния, а идея отказаться от десятичной системы еще не приходила в голову конструкторам, то числа представлялись в двоично-десятичной системе: каждая десятичная цифра представлялась четырьмя двоичными и хранилась в группе их четырех реле. Скорость работы составляла около 4х операций в секунду. Тогда же было создано еще несколько релейных машин, в том числе советская релейная вычислительная машина РВМ–1, сконструированная в 1956г Бессоновым и успешно работавшая до 1966г.

За точку отсчета эры ЭВМ обычно принимают 15 февраля 1946г, когда ученые Пенсильванского университета ввели в строй первый в мире компьютер на электронных лампах – ЭНИАК (Рис. 5). Первым применением ЭНИАК было решение задач для сверхсекретного проекта атомной бомбы, да и затем он использовался в основном в военных целях. В ЭНИАК не существовало программы, хранимой в памяти; "программирование" осуществлялось с помощью установки проводов-перемычек между отдельными элементами.

 

 

 

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

Появились ЭВМ и в СССР. В 1952 г под руководством академика Лебедева была создана самая быстродействующая ЭВМ в Европе – БЭСМ, в 1953г начат выпуск серийной ЭВМ "Стрела". Серийные советские машины были на уровне лучших мировых образцов.

Началось бурное развитие вычислительной техники.

Первая вычислительная машина на электронных лампах (ЭНИАК) насчитывала около 20 тыс. электронных ламп, размещалась в огромном зале, потребляла десятки кВт электроэнергии и была очень ненадежна в работе – фактически работала только небольшие промежутки времени между ремонтами.

С тех пор развитие вычислительной техники прошло огромный путь. Выделяют несколько поколений ЭВМ. Под поколением понимается определенный этап развития аппаратуры, характеризующийся ее параметрами, технологией изготовления составных частей и т.д.

1 поколение – начало 50х годов (БЭСМ, Стрела, Урал). Основаны на электронных лампах. Большая потребляемая мощность, малая надежность, низкое быстродействие (2000 оп/с), малый объем памяти (несколько килобайт); отсутствовали средства организации вычислительных процессов, оператор работал непосредственно за пультом.

2 поколение – конец 50х годов (Минск – 2, Раздан, Наири). Полупроводниковые элементы, печатный монтаж, быстродействие (50-60 тыс. оп/с); появление внешних магнитных запоминающих устройств, появились примитивные операционные системы и трансляторы с алгоритмических языков.

3 поколение – середина 60х годов. Построены на основы интегральных микросхем, использовались стандартные электронные блоки; быстродействие до 1,5 млн. оп/с; появились развитые программные средства.

4 поколение – построены на основе микропроцессоров. Компьютеры специализируются, появляются их различные типы: супер ЭВМ – для решения очень сложных вычислительных задач; мэйнфреймы – для решения экономических и расчетных задач в рамках предприятия, ПК – для индивидуальной работы пользования. Сейчас ПК занимают преобладающую часть рынка компьютеров, а их возможности в миллионы раз превосходят возможности первых ЭВМ.

Первый ПК Altair 8800 появился в 1975г в фирме MITS, однако возможности его были весьма ограничены, и коренного перелома в использовании компьютеров не произошло. Революция в индустрии ПК была совершена двумя другими фирмами – IBM и Apple Computer, соперничество которых способствовало бурному развитию высоких технологий, улучшению технических и пользовательских качеств ПК. В результате этого состязания компьютер превратился в неотъемлемую часть повседневной жизни.

История фирмы Apple начался в 1976г, когда в гараже города Лос–Альмос штата Калифорния Стивен Джобс и Стивен Возняк (обоим было чуть за 20) собрали свой первый ПК (Рис. 6). Однако настоящий успех пришел к фирме благодаря выпуску компьютера Apple–II, который был создан на основе микропроцессора фирмы Motorolla, внешним видом напоминал обычный бытовой прибор, а по цене был доступен рядовому американцу.

 

 

 

Фирма IBM родилась в 1914 году и специализировалась на выпуске канцелярских товаров пишущих машинок. В пятидесятые годы основатель фирмы Томас Уотсон переориентировал ее на выпуск больших ЭВМ. В области ПК фирма вначале заняла выжидательную позицию. Бешенный успех Apple насторожил гиганта, и в кратчайшие сроки был создан первый IBM PC, представленный в 1981г. Используя свои огромные ресурсы, корпорация буквально наводнила рынок своими ПК, ориентируясь на самую емкую сферу их применения – деловой мир. IBM PC был основан на новейшем микропроцессоре фирмами Intel, позволившими значительно расширить возможности нового компьютера.

Чтобы завоевать рынок, IBM впервые использовала принцип "открытой архитектуры". IBM PC не изготавливался как единое целое, а собирался из отдельных модулей. Любая фирма могла разработать устройство, совместимое с IBM PC. Это принесло IBM огромный коммерческий успех. Но в то же время на рынке стало появляться множество компьютеров – точных копий IBM PC – так называемых клонов. На появление "двойников" фирма ответила резким снижением цен и появлении новых моделей.

В ответ на это фирма Apple создала Apple Macintosh, снабженный мышкой и имеющий высококачественный графический дисплей, а также впервые оснащенный микрофоном и генератором звука. А главное – имелось удобное и легкое в освещении ПО. Мас поступил в продажу и имел определенный успех, но вернуть лидерство на рынке ПК фирме Apple не удалось.

Стремясь приблизиться по удобству использования к компьютерам Apple, фирма IBM стимулировала разработку современного ПО. Огромную роль здесь сыграло создание фирмой Microsoft OC Windows'95.

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

 

 

Языки программирования

Pascal

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

Язык Паскаль был создан Никлаусом Виртом в 1968—1969 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Язык назван в честь французского математика, физика, литератора и философа Блеза Паскаля, который создал первую в мире механическую машину, складывающую два числа. Первая публикация Вирта о языке датирована 1970 годом; представляя язык, автор в качестве цели его создания указывал построение небольшого и эффективного языка, способствующего хорошему стилю программирования, использующему структурное программирование и структурированные данные.

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

Основные достоинства языка:

1) гибкость и универсальность;

2) простота и ясность конструкций;

3) легкость реализации на большинстве современных ЭВМ;

4) возможность достаточно полного контроля правильности программы как на этапе трансляции, так и во время выполнения программы;

5) возможность удовлетворения требованиям структурного программирования;

6) наличие набора структурных типов данных: массивов, записей, записей с вариантами, множеств, файлов и т.д.

Недостатки языка:

1) отсутствие операции возведения в степень;

2) отсутствие средств работы с файлами прямого доступа.

Пример задачи на Pascal (Рис. 7):

 

1.3 C ++

Язык Си++ — компилируемый строго типизированный язык программирования общего назначения. Поддерживает разные парадигмы программирования: процедурную, обобщённую, функциональную; наибольшее внимание уделено поддержке объектно-ориентированного программирования.

Программа на C++ — это набор текстовых файлов (обычно заголовочных и исходных файлов), которые содержат объявления. Они подвергаются трансляции для получения исполняемой программы, которая исполняется, когда ОС вызывает её функцию main.

Некоторые слова программы на C++ несут специальные значения, такие слова известны как ключевые. Другие могут использоваться как идентификаторы. Комментарии игнорируются во время трансляции. Определённые символы в программе должны представляться как экранирующие последовательности.

Сущности программы на C++ — это значения, объекты, ссылки, функции, перечисления, типы, члены класса, шаблоны, специализации шаблонов, пространства имён, наборы параметров, и указатель this. Макросы препроцессора не являются сущностями C++.

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

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

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

Каждый объект, ссылка, функция, выражение в C++ ассоциируется с типом, который может быть фундаментальным, составным или определённым пользователем, полным или неполным и т.д.

Именованные объекты или именованные ссылки на объекты называются переменными.

Пример задачи на C++ (Рис. 8):

 

Matlab

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

Название "MATLAB" произошло от сокращения слов "matrix laboratory". Система MATLAB состоит из пяти основных частей:

1) Язык программирования MATLAB. Это матрично-массивный язык высокого уровня с управлением состоянием, функциями, структурами данных, входом/выходом и объектно-ориентированным программированием.

2) Рабочая среда MATLAB. Это графический интерфейс, с которым работает пользователь. Включает рабочий стол MATLAB, командное окно, редактор и отладчик файлов MATLAB, справочный броузер.

3) Графическая система MATLAB. Содержит команды высокого уровня для двухмерного и трехмерного представления данных, обработки изображений, анимации. Также содержит набор команд низкого уровня, позволяющих пользователю построить собственный интерфейс.

4) Библиотека математических функций MATLAB. Содержит набор вычислительных алгоритмов, начиная с элементарных арифметических функций (сложение/вычитание, тригонометрические функции) и заканчивая сложными функциями, такими как обращение матриц и преобразования Фурье.

5) Интерфейс прикладных программ MATLAB. Эта библиотека позволяет писать программы на языках Си и Фортран, взаимодействующие с MATLAB. Включает в себя устройства вызова из MATLAB (динамической связи), вызова MATLAB как вычислительного механизма, и для работы с MAT-файлами.

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

Пример задачи на MATLAB (Рис. 9):

 

 

Delphi

Delphi – императивный, структурированный, объектно-ориентированный язык программирования со строгой статической типизацией переменных. Основная область использования — написание прикладного программного обеспечения.

Первоначально носил название Object Pascal и исторически восходит к одноимённому диалекту языка, разработанному в фирме Apple в 1986 году группой Ларри Теслера. Однако в настоящее время термин Object Pascal чаще всего употребляется в значении языка среды программирования Delphi. Начиная с Delphi 7, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal.

Изначально среда разработки Delphi была предназначена исключительно для разработки приложений Windows, затем был реализован вариант для платформ Linux (как Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и вскоре было объявлено о поддержке Microsoft.NET, которая, в свою очередь, была прекращена с выходом Delphi 2007.

На сегодняшний день, наряду с поддержкой разработки 32 и 64-разрядных программ для Windows, реализована возможность создавать приложения для Apple Mac OS X (начиная с Embarcadero Delphi XE2), iOS (включая симулятор, начиная с XE4 посредством собственного компилятора), а также, в Delphi XE5, для Google Android (непосредственно исполняемые на ARM-процессоре).

Независимая, сторонняя реализация среды разработки проектом Lazarus (Free Pascal, компиляция в режиме совместимости с Delphi) позволяет использовать его для создания приложений на Delphi для таких платформ, как Linux, Mac OS X и Windows CE.

Также предпринимались попытки использования языка в проектах GNU (например, Notepad GNU) и написания компилятора для GCC.

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

Пример задачи на Delphi (Рис. 10):

 

 

Python

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

Язык программирования Python отличается сильной типизацией, используется динамическая типизация — все типы выясняются уже во время выполнения программы.

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

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

Python имеет достаточно простые средства для интеграции с языками C, C++ (и Java) как путем встраивания (embedding) интерпретатора в программы на этих языках, так и наоборот, посредством использования библиотек, написанных на этих языках, в Python-программах. Язык Pythonподдерживает несколько парадигм программирования: императивное (процедурный, структурный, модульный подходы), объектно-ориентированное и функциональное программирование.

Python - это целая технология для создания программных продуктов (и их прототипов). Она доступна почти на всех современных платформах (как 32-битных, так и на 64-битных) с компилятором C и на платформе Java.

Пример задачи на Python (Рис. 11):

 

 

SQL

SQL – декларативный язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных.

SQL состоит из четырех отдельных частей:

1) Язык определения данных (DDL) используется для определения структур данных, хранящихся в базе данных. Операторы DDL позволяют создавать, изменять и удалять отдельные объекты в БД. Допустимые типы объектов зависят от используемой СУБД и обычно включают базы данных, пользователей, таблицы и ряд более мелких вспомогательных объектов, например, роли и индексы.

2) Язык манипуляции данными (DML) используется для извлечения и изменения данных в БД. Операторы DML позволяют извлекать, вставлять, изменять и удалять данные в таблицах. Иногда операторы select извлечения данных не рассматриваются как часть DML, поскольку они не изменяют состояние данных. Все операторы DML носят декларативный характер.

3) Язык определения доступа к данным (DCL) используется для контроля доступа к данным в БД. Операторы DCL применяются к привилегиям и позволяют выдавать и отбирать права на применение определенных операторов DDL и DML к определенным объектам БД.

4) Язык управления транзакциями (TCL) используется для контроля обработки транзакций в БД. Обычно операторы TCL включают commit для подтверждения изменений, сделанных в ходе транзакции, rollback для их отмены и savepoint для разбиения транзакции на несколько меньших частей.

Следует отметить, что SQL реализует декларативную парадигму программирования: каждый оператор описывает только необходимое действие, а СУБД принимает решение о том, как его выполнить, т.е. планирует элементарные операции, необходимые для выполнения действия и выполняет их. Тем не менее, для эффективного использования возможностей SQL разработчику необходимо понимать то, как СУБД анализирует каждый оператор и создает его план выполнения.

Пример задачи на SQL (Рис. 12):

 

 



Поделиться:


Последнее изменение этой страницы: 2021-06-14; просмотров: 65; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.45.162 (0.078 с.)