Первым устройством, предназначенным для облегчения счета, были счеты. С помощью костяшек счетов можно было совершать операции сложения и вычитания и несложные умножения.
1642 г. — французский математик Блез Паскаль сконструировал первую механическую счетную машину «Паскалина», которая могла механически выполнять сложение чисел.
1673 г. — Готфрид Вильгельм Лейбниц сконструировал арифмометр, позволяющий механически выполнять четыре арифметических действия.
Первая половина XIX в. — английский математик Чарльз Бэббидж попытался построить универсальное вычислительное устройство, то есть компьютер. Бэббидж называл его аналитической машиной. Он определил, что компьютер должен содержать память и управляться с помощью программы. Компьютер по Бэббиджу — это механическое устройство, программы для которого задаются посредством перфокарт — карт из плотной бумаги с информацией, наносимой с помощью отверстий (они в то время уже широко употреблялись в ткацких станках).
1941 г. — немецкий инженер Конрад Цузе построил небольшой компьютер на основе нескольких электромеханических реле.
История появления и развития программирования и ЭВМ
1943 г. — в США на одном из предприятий фирмы IBM Говард Эйкен создал компьютер под названием «Марк-1». Он позволял проводить вычисления в сотни раз быстрее, чем вручную (с помощью арифмометра), и использовался для военных расчетов. В нем использовалось сочетание электрических сигналов и механических приводов. «Марк-1» имел размеры: 15 * 2—5 м и содержал 750 000 деталей. Машина была способна перемножить два 32-разрядных числа за 4 с.
1943 г. — в США группа специалистов под руководством Джона Мочли и Проспера Экерта начала конструировать компьютер ENIAC на основе электронных ламп.
1945 г. — к работе над ENIAC был привлечен математик Джон фон Нейман, который подготовил доклад об этом компьютере. В своем докладе фон Нейман сформулировал общие принципы функционирования компьютеров, т. е. универсальных вычислительных устройств. До сих пор подавляющее большинство компьютеров сделано в соответствии с теми принципами, которые изложил Джон фон Нейман.
1947 г. — Экертом и Мочли начата разработка первой электронной серийной машины UNIVAC (Universal Automatic Computer). Первый образец машины (UNIVAC-1) был построен для бюро переписи США и пущен в эксплуатацию весной 1951 г. Синхронная, последовательного действия вычислительная машина UNIVAC-1 была создана на базе ЭВМ ENIAC и EDVAC. Работала она с тактовой частотой 2,25 МГц и содержала около 5000 электронных ламп. Внутреннее запоминающее устройство емкостью 1000 12-разрядных десятичных чисел было выполнено на 100 ртутных линиях задержки.
1949 г. — английским исследователем Морнсом Уилксом построен первый компьютер, в котором были воплощены принципы фон Неймана.
1951 г. — Дж. Форрестер опубликовал статью о применении магнитных сердечников для хранения цифровой информации, В машине «Whirlwind-1» впервые была применена память на магнитных сердечниках. Она представляла собой 2 куба с 32-32-17 сердечниками, которые обеспечивали хранение 2048 слов для 16-разрядных двоичных чисел с одним разрядом контроля на четность.
С чего началось программирование? Первые программы до появления кода
1952 г. — фирма IBM выпустила свой первый промышленный электронный компьютер IBM 701, который представлял собой синхронную ЭВМ параллельного действия, содержащую 4000 электронных ламп и 12 000 диодов. Усовершенствованный вариант машины IBM 704 отличался высокой скоростью работы, в нем использовались индексные регистры и данные представлялись в форме с плавающей запятой.
После ЭВМ IBM 704 была выпущена машина IBM 709, которая в архитектурном плане приближалась к машинам второго и третьего поколений. В этой машине впервые была применена косвенная адресация и впервые появились каналы ввода — вывода.
1952 г. — фирма Remington Rand выпустила ЭВМ UNIVAC-t 103, в которой впервые были применены программные прерывания. Сотрудники фирмы Remington Rand использовали алгебраическую форму записи алгоритмов под названием «Short Code» (первый интерпретатор, созданный в 1949 г. Джоном Мочли).
1956 г. — фирмой IBM были разработаны плавающие магнитные головки на воздушной подушке. Изобретение их позволило создать новый тип памяти — дисковые запоминающие устройства (ЗУ), значимость которых была в полной мере оценена в последующие десятилетия развития вычислительной техники. Первые ЗУ на дисках появились в машинах IBM 305 и RAMAC. Последняя имела пакет, состоявший из 50 металлических дисков с магнитным покрытием, которые вращались со скоростью 12000 об. /мин. На поверхности диска размещалось 100 дорожек для записи данных, по 10 000 знаков каждая.
1956 г. — фирма Ferranti выпустила ЭВМ «Pegasus», в которой впервые нашла воплощение концепция регистров общего назначения (РОН). С появлением РОН устранено различие между индексными регистрами и аккумуляторами, и в распоряжении программиста оказался не один, а несколько регистров-аккумуляторов.
1957 г. — группа под руководством Д. Бэкуса завершила работу над первым языком программирования высокого уровня, получившим название ФОРТРАН. Язык, реализованный впервые на ЭВМ IBM 704, способствовал расширению сферы применения компьютеров.
1960-е гг. — 2-е поколение ЭВМ, логические элементы ЭВМ реализовываются на базе полупроводниковых приборов-транзисторов, развиваются алгоритмические языки программирования, такие как Алгол, Паскаль и другие.
1970-е гг. — 3-е поколение ЭВМ, интегральные микросхемы, содержащие на одной полупроводниковой пластине тысячи транзисторов. Начали создаваться ОС, языки структурного программирования.
1974 г. — несколько фирм объявили о создании на основе микропроцессора Intel-8008 персонального компьютера — устройства, выполняющего те же функции, что и большой компьютер, но рассчитанного на одного пользователя.
1975 г. — появился первый коммерчески распространяемый персональный компьютер Альтаир-8800 на основе микропроцессора Intel-8080. Этот компьютер имел оперативную память всего 256 байт, клавиатура и экран отсутствовали.
Конец 1975 г. — Пол Аллен и Билл Гейтс (будущие основатели фирмы Microsoft) создали для компьютера «Альтаир» интерпретатор языка Basic, позволивший пользователям просто общаться с компьютером и легко писать для него программы.
Август 1981 г. — компания IBM представила персональный компьютер IBM PC. В качестве основного микропроцессора компьютера использовался 16-разрядный микропроцессор Intel-8088, который позволял работать с 1 мегабайтом памяти.
1980-е гг. — 4-е поколение ЭВМ, построенное на больших интегральных схемах. Микропроцессоры реализовываются в виде единой микросхемы, Массовое производство персональных компьютеров.
1990-е гг. — 5-е поколение ЭВМ, сверхбольшие интегральные схемы. Процессоры содержат миллионы транзисторов. Появление глобальных компьютерных сетей массового пользования.
2000-е гг. — 6-е поколение ЭВМ. Интеграция ЭВМ и бытовой техники, встраиваемые компьютеры, развитие сетевых вычислений.
Источник: shkolo.ru
С чего началось программирование и причем тут жаккард?
Сегодня мало кого удивит, если по телевизору вы увидите новость о том, что какой-то школьных написал программу, к примеру, для защиты личных данных. А вот ещё совсем недавно это было просто фантастикой. Просто поражает сила человеческой мысли, которая не только смогла придумать первый ЭВМ, так раньше называли компьютер, но и создать для общения с ним новые языки.
А вот как вы думаете, когда появился первый язык программирования? Я вот лично раньше думал, что где-то в 40-х – 50-х годах 20 века, но узнав истинную дату, испытал настоящий шок.
У истоков программирования
А началось всё в далеком 1804 году, когда Жозеф Мари Жаккард сам того не ведая стал первым программистом. Он создал необычный ткацкий станок, который использовал для своей работы двоичный код. В нем картонная перфокатка несла информацию о положении каждой нити, а реализовано это было посредством наличия специальных отверстий.
Первым же официальным программистом принято считать Аду Лавлейс, английского математика, которая написала первую программу для вычислительной машины, математически созданную другим выдающимся ученым Чарльзом Бэббиджом. Он предположил, что аналитическую машину можно запрограммировать с помощь определенных алгоритмов и взял за основу изобретение созданное Жаккардом, об этом, кстати, в своей статье про Аду Левайс написал Стивен Вольфрам, британский физик, математик, и программист:
“Сперва он представлял себе машину, которая вычисляет какие-то определенные формулы, однако в дальнейшем он добавлял новые возможности, как, к примеру, условия, и объяснял, зачастую предлагая весьма изящные пути, как с помощью механизмов реализовать тот или иной функционал. Но, что самое главное, он понял, как контролировать шаги вычислений с помощью перфокарт, подобных тем, что были изобретены в 1804 году Жакардом для задания шаблонов шитья на ткацких станках.”
Но здесь нужно понимать, что аналитическая машина Бэббиджом так и не была создана, даже симулирующая её модель. То есть, все изыскания Ады Лавлейс и Чарльза Бэббиджа были выполнены на бумаге.
Альфред Шалон «Портрет Ады Лавлейс»
Всё новое это хорошо забытое старое
Имена этих выдающихся людей были почти забыты до того момента, пока эту тему в 1936 году не затронул в своей работе Алан Тьюринг, придумав абстрактную вычислительную машину. Если интересно, что это за машина, то можете прочитать о ней в Департаменте компьютерных наук и технологий.
Тьюринг использовал в своей машине первый язык программирования, основанный всё на том же жаккардовом принципе нулей и единиц, то есть так называемый машинный язык или язык первого уровня, но данный подход был крайне неудобен. Дело в том, что при записи программисту нужно быть очень внимательным, ведь так просто допустить ошибку, написав, к примеру, вместо (0001000 0000101 0000001), что-то вроде (0100100 0000101 0000001). Я думаю, суть вы уловили. Ещё этот язык накладывает определённые компетенции на человека в виде знания структуры самой ЭВМ, а код в итоге становится просто огромным и должен быть написан отдельно под каждую машину с нуля.
И вот эту назревшую проблему задумал решить Конрад Цузе, создатель Планкалкюль. Этот язык, созданный в 1943-1945 годах в нацистской Германии, мог бы стать новым витком в программировании, но так как его работа была полностью опубликована лишь в 1972 году, программирование пошло по другому пути. В итоге в 1949 году появляется ещё один язык, так сказать второго уровня — Ассемблер, но в отличие от предыдущего — общедоступный.
Честно говоря, насколько я понимаю, ассемблер — это не совсем язык, а скорее группа языков или даже программ, которые собирают другую программу на языке всё того же простого машинного кода.
Источник: dzen.ru
Распространение эвм
Большой вклад в развитие электронно-вычислительной техники внес один из крупнейших американских математиков Джон фон Нейман. Он родился в 1903 г. вБудапеште, а в 1930 г. переехал в США. В 1946 г. была опубликована весьма важная для дальнейшего развития вычислительной техники статья Дж.
Фон Неймана, Г. Голдстайна и А. Беркса «Предварительное рассмотрение логической конструкции электронного вычислительного устройства». В этой статье были высказаны два основных принципа, получивших практическое применение во всех современных электронных вычислительных машинах: переход к двоичной системе счисления для представления чисел и использование хранимой программы.
Хранимая в памяти программа позволяла преодолеть важнейший недостаток ЭНИАКа — затраты времени на набор и подготовку программы на коммутационной доске. Программу, как и исходные числа, предлагалось хранить в памяти машины. Отдельные команды вызывались из памяти устройством управления, расшифровывались и использовались для извлечения чисел из памяти, выполнения требуемых операций и отсылки результатов в память. Статья также содержала ряд важных рекомендаций по конструированию машин и методике программирования.
Вскоре идеи Неймана нашли практическое воплощение. Уже в 1949 г. под руководством профессора М. В. Уилкса в Кембриджском университете была построена английская машина ЭДСАК, которая оказалась первой электронной вычислительной машиной с хранимой программой и промежуточной внутренней памятью. Скорость выполнения арифметических операций составляла: для сложения — 0,07 миллисекунды, умножения — 8,5 миллисекунды. Ввод данных в машину производился с помощью перфоленты, вывод с помощью пишущей машинки. Годом позже было завершено создание американской машины ЭДВАК.
О первой программе и ее авторе
Всем известно имя великого английского поэта Джорджа Байрона. Но мало кто знает о его дочери Аде Августе (леди Лавлейс), разработавшей первый язык общения с вычислительной машиной и ставшей первой программисткой.
Десятки поэтических произведений сделали бессмертным имя Байрона. И всего 50 страниц математической прозы, опубликованной в виде малозаметных «Приложений переводчика» к книге Л. Ф. Менабреа «Очерк аналитической машины, изобретенной Чарльзом Бэббиджем», прославили имя Ады Лавлейс. Ее математические способности проявились довольно рано.
Юная Ада посещала мастерскую Бэббиджа, увлеченно изучала возможности его интересной идеи. Она написала программу для вычисления чисел Бернулли, первую программу для вычислительной машины. Эта программа вызвала восторг Бэббиджа. Интересно также отметить, что терминология, которую ввела леди Лавлейс, в некоторой степени используется и современными программистами. Так, ей принадлежат термины: рабочей ячейки, цикл и др.
Двоичная система и булева алгебра,
В такой системе счисления числа записываются с помощью двух символов (1 и 0).
Полный набор из 8 триграмм и 64 гексаграмм, аналог 3-битных и 6-битных цифр, был известен в древнем Китае в классических текстах книги Перемен. Порядок гексаграмм в книге Перемен, расположенных в соответствии со значениями соответствующих двоичных цифр (от 0 до 63), и метод их получения был разработан китайским учёным и философом Шао Юн в XI веке. Однако нет доказательств, свидетельствующих о том, что Шао Юн понимал правила двоичной арифметики, располагая двухсимвольные кортежи в лексикографическом порядке.
Индийский математик Пингала (200 год до н. э.) разработал математические основы для описания поэзии с использованием первого известного применения двоичной системы счисления.
Прообразом баз данных, широко использовавшихся в Центральных Андах (Перу, Боливия) в государственных и общественных целях в I—II тысячелетии н. э., была узелковая письменность Инков— кипу, состоявшая как из числовых записей десятичной системы, так и не числовых записей в двоичной системе кодирования. В кипу применялись первичные и дополнительные ключи, позиционные числа, кодирование цветом и образование серий повторяющихся данных. Кипу впервые в истории человечества использовалось для применения такого способа ведения бухгалтерского учёта как двойная запись.
Наборы, представляющие собой комбинации двоичных цифр, использовались африканцами в традиционных гаданиях (таких как Ифа) наряду со средневековой геомантией.
В 1605 году Френсис Бэкон описал систему, буквы алфавита которой могут быть сведены к последовательностям двоичных цифр, которые в свою очередь могут быть закодированы как едва заметные изменения шрифта в любых случайных текстах. Важным шагом в становлении общей теории двоичного кодирования является замечание о том, что указанный метод может быть использован применительно к любым объектам.
Современная двоичная система была полностью описана Лейбницем в XVII веке в работе Explication de l’Arithmétique Binaire. В системе счисления Лейбница были использованы цифры 0 и 1, как и в современной двоичной системе. Как человек, увлекающийся китайской культурой, Лейбниц знал о книге Перемен и заметил, что гексаграммы соответствуют двоичным числам от 0 до 111111. Он восхищался тем, что это отображение является свидетельством крупных китайских достижений в философской математике того времени.
В 1854 году английский математик Джордж Буль опубликовал знаковую работу, описывающую алгебраические системы применительно к логике, которая в настоящее время известна как Булева алгебра или алгебра логики. Его логическому исчислению было суждено сыграть важную роль в разработке современных цифровых электронных схем.
В 1937 году Клод Шеннон предствил к защите кандидатскую диссертацию Символический анализ релейных и переключательных схем в MIT, в которой булева алгебра и двоичная арифметика были использованы применительно к электронным реле и переключателям. На диссертации Шеннона по существу основана вся современная цифровая техника.
В ноябре 1937 года Джордж Штибиц, впоследствии работавший в Bell Labs, создал на базе реле компьютер «Model K» (от англ. «Kitchen», кухня, где производилась сборка), который выполнял двоичное сложение. В конце 1938 года Bell Labs развернула исследовательскую программу во главе со Штибицом.
Созданный под его руководством компьютер, завершённый 8 января 1940 года, умел выполнять операции с комплексными числами. Во время демонстрации на конференции American Mathematical Society в Дартмутском колледже 11 сентября 1940 года Штибиц продемонстрировал возможность посылки команд удалённому калькулятору комплексных чисел по телефонной линии с использованием телетайпа. Это была первая попытка использования удалённой вычислительной машины посредством телефонной линии. Среди участников конференции, бывших свидетелями демонстрации, были Джон фон Нейман, Джон Мокли и Норберт Винер, впоследствии писавшие об этом в своих мемуарах.
Источник: studfile.net