Semenalidery.com

IT Новости из мира ПК
8 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

Поколение языков программирования. обзор языков программирования высокого уровня.

Машинный код процессора. Понятие программы. Уровни языков программирования.

Машинный код – последовательность чисел, в которых закодирована программа для исполнения процессором.

Машинный код (платформенно-ориентированный код), машинный язык — система команд (набор кодов операций) конкретной вычислительной машины, которая интерпретируется непосредственно процессором или микропрограммами этой вычислительной машины.

Машинный код можно рассматривать как примитивный язык программирования или как самый низкий уровень представления скомпилированных или ассемблированных компьютерных программ. Большинство программ пишется на языках более высокого уровня и транслируется в машинный код компиляторами. Машинный код иногда называют нативным кодом (также собственным или родным кодом — от англ. native code), когда говорят о платформенно-зависимых частях языка или библиотек.

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

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

Для разработки программ используются специальные языки.

Язык программирования – это формальная знаковая система, которая предназначена для написания программ, понятных для исполнителя (в нашем рассмотрении – это компьютер).

Уровни языков программирования: Если язык программирования ориентирован на конкретный тип процессора и учитывает его особенности, то он называется языком программирования низкого уровня (операторы языка близки к машинному коду и ориентированы на конкретные команды процессора (язык ассемблера)). Языки программирования высокого уровня значительно ближе и понятнее человеку, нежели компьютеру.

Поколение языков программирования. Обзор языков программирования высокого уровня.

Иногда различают пять поколений языков программирования, правда данное разделение является спорным:

I поколение: Начало 1950-х годов — язык первых компьютеров. Первый язык ассемблера, созданный по принципу «одна инструкция — одна строка». Основная отличительная особенность: ориентирование на конкретный компьютер.

II поколение: Конец 1950-х — начало 1960-х гг. В язык Assembler введено понятие переменной, то есть стало возможным создание программ без принадлежности к отдельным адресам памяти.

III поколение: 1960-е гг. — Языки программирования высокого уровня. Их характеристики: относительная простота; независимость от конкретного компьютера; возможность использования мощных синтаксических конструкций. Простота языка позволяет писать небольшие программы и людям, которые не являются профессиональными программистами. Основная отличительная особенность языка третьего поколения: ориентирование на алгоритм (алгоритмические языки). Примеры: Си, Паскаль, Джава, Бейсик, и многие другие. Всего в мире существует около 200 популярных языков программирования третьего уровня.

IV поколение: Начало 1970-х гг. до сегодняшнего времени. Непроцедурные, объектно-ориентированные, языки запросов, параллельные. Часто относят: SQL, SGML (HTML, XML), Prolog, и многие другие узкоспециализированных декларативных языков. Основная отличительная особенность языка четвертого поколения: приближение к человеческой речи (декларативные языки). Некоторые языки имеют черты одновременно и третьего и четвертого поколений.

V поколение: Языки искусственного интеллекта, экспертных систем и баз знаний, естественные языки. Ориентированы на повышение интеллектуального уровня ЭВМ и интерфейса с языками.

Fortran (Фортран). Это первый компилируемый язык, созданный Джимом Бэкусом в 50-е годы. Основным критерием при разработке компиляторов Фортрана являлась эффективность исполняемого кода. Хотя в Фортране впервые был реализован ряд важнейших понятий программирования, удобство создания программ было принесено в жертву возможности получения эффективного машинного кода. Однако для этого языка было создано огромное количество библиотек, начиная от статистических комплексов и кончая пакетами управления спутниками, поэтому Фортран продолжает активно использоваться во многих организациях, а сейчас ведутся работы над очередным стандартом Фортрана F2k, который появился в 2000 году. Имеется стандартная версия Фортрана HPF (High Performance Fortran) для параллельных суперкомпьютеров с множеством процессоров.

Cobol (Кобол). Это компилируемый язык для применения в экономической области и решения бизнес задач, разработанный в начале 60-х годов. Он отличается большой «многословностью» — его операторы иногда выглядят как обычные английские фразы. В Коболе были реализованы очень мощные средства работы с большими объемами данных, хранящимися на различных внешних носителях. На этом языке создано очень много приложений, которые активно эксплуатируются и сегодня. Достаточно сказать, что наибольшую зарплату в СИГА получают программисты на Коболе.

Algol (Алгол). Компилируемый язык, созданный в 1960 году. Он был призван заменить Фортран, но из-за более сложной структуры не получил широкого распространения. В 1968 году была создана версия Алгол 68, по своим возможностям и сегодня опережающая многие языки программирования, однако из-за отсутствия достаточно эффективных компьютеров для нее не удалось своевременно создать хорошие компиляторы.

Pascal (Паскаль). Язык Паскаль, созданный в конце 70-х годов основоположником множества идей современного программирования Никлаусом Виртом, во многом напоминает Алгол, но в нем ужесточен ряд требований к структуре программы и имеются возможности, позволяющие успешно применять его при создании крупных проектов.

Basic (Бейсик). Для этого языка имеются и компиляторы, и интерпретаторы, а по популярности он занимает первое место в мире. Он создавался в 60-х годах в качестве учебного языка и очень прост в изучении.

С (Си). Данный язык был создан в лаборатории Bell и первоначально не рассматривался как массовый. Он планировался для замены ассемблера, чтобы иметь возможность создавать столь же эффективные и компактные программы, и в то же время не зависеть от конкретного типа процессора.

Си во многом похож на Паскаль и имеет дополнительные средства для прямой работы с памятью (указатели). На этом языке в 70-е годы написано множество прикладных и системных программ и ряд известных операционных систем (Unix).

C++ (Си++). Си++ — это объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980 году. Множество новых мощных возможностей, позволивших резко повысить производительность программистов, наложилось на унаследованную от языка Си определенную низкоуровневость, в результате чего создание сложных и надежных программ потребовало от разработчиков высокого уровня профессиональной подготовки.

Java (Джава, Ява). Этот язык был создан компанией Sun в начале 90-х годов на основе Си++. Он призван упростить разработку приложений на основе Си++ путем исключения из него всех низкоуровневых возможностей. Но главная особенность этого языка — компиляция не в машинный код, а в платформно — независимый байт-код (каждая команда занимает один байт). Этот байт-код может выполняться с помощью интерпретатора — виртуальной Java-машины/УМ (Java Virtual Machine), версии которой созданы сегодня для любых платформ. Благодаря наличию множества Java-машин программы на Java можно переносить не только на уровне исходных текстов, но и на уровне двоичного байт-кода, поэтому по популярности язык Ява сегодня занимает второе место в мире после Бейсика.

Особое внимание в развитии этого языка уделяется двум направлениям: поддержке всевозможных мобильных устройств и микрокомпьютеров, встраиваемых в бытовую технику (технология Jini) и созданию платформно — независимых программных модулей, способных работать на серверах в глобальных и локальных сетях с различными операционными системами (технология Java Beans). Пока основной недостаток этого языка — невысокое быстродействие, так как язык Ява интерпретируемый.

3. Понятия: алгоритм, семантика, синтаксис, отладка и тестирование программы.

Алгоритм – это точное предписание, которое создает процесс, который начинается с некоторых исходных данных и направлен на получение результата, полностью определенного этими исходными данными.

Синтаксис –совокупность правил и требований записи команд (операторов).

Семантика –смысл каждой команды и других конструкций языка.

Отладка –процесс устранения ошибок.

Тестирование –процесс поиска ошибок в программе.

Статьи к прочтению:

Классификация языков программирования

Похожие статьи:

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

Рассматривают пять поколений языков программирования (ЯП). Первые три поколения ЖЕ характеризовались более сложным набором зарезервированных слов и…

З. Поколения и классификация языков программирования

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

Поколения ЯП

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

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

Читать еще:  Модуль в программировании

Третье поколение ЯП начинается с появления в 1956 г. первого языка высокого уровня — Fortran. Первоначально Fortran обладал весьма ограниченными средствами обеспечения работы с символьной информацией и с системой ввода-вывода. Однако постоянное развитие языка сделало его одним из самых распространенных ЯВУ.

Вскоре после языка Fortran появились такие ныне широко известные языки, как Algol, Cobol, Basic, PL/1, Pascal, APL, ADA, C, Forth, Lisp, и др. В настоящее время насчитывается свыше 2000 различных языков высокого уровня.

Языки четвертого поколения носят ярко выраженный непроцедурный характер, определяемый тем, что программы на таких языках описывают только что, а не как надо сделать. Типичными примерами непроцедурных языков являются языки, используемые для задач искусственного интеллекта (например, Prolog, Langin). Так как непроцедурные языки имеют минимальное число син­таксических правил, они значительно более пригодны для применения непрофессионалами в области программирования.

Второй тенденцией развития ЯП четвертого поколения являются объектно-
ориентированные
языки, базирующиеся на понятии программного объекта,
который состоит из структур данных и алгоритмов, при этом каждый объект знает, как выполнять операции со своими собственными данными. Такими свойствами обладают объектно-ориентированные Pascal, Basic, C++, SmallTalk, Simula, Actor и ряд дру­гих языков программирования.

Третьим направлением развития языков четвертого поколения можно считать языки запросов, позволяющих пользователю получать информацию из баз данных. Среди языков запросов фактическим стандартом стал язык SQL (Structured Query Language).

И, наконец, четвертым направлением развития являются языки параллельного программирования (модификация ЯВУ Fortran, языки Occam, SISAL, FP и др.), которые ориентированы на создание программного обеспечения для вычислительных средств параллельной архитектуры (многомашинные, мультипроцессорные среды и др.).

К интенсивно развивающемуся в настоящее время пятому поколению относятся языки искусственного интеллекта, экспертных систем, баз знаний (InterLisp, ExpertLisp, IQLisp, SAIL и др.), а также естественные языки, не требующие освоения какого-либо специального синтаксиса (в настоящее время успешно используются естественные ЯП с ограниченными возможностями — Clout, Q&A, HAL и др.).

Классификация ЯП. Изучение ЯП часто начинают с их классификации. Опи­шем наиболее часто применяемые факторы для классификации ЯП.

Pascal, Fortran, 1C: почему умирают старые языки программирования

По разным оценкам, на сегодняшний день в мире существует от 2,5 до 10 тыс. языков программирования различного уровня и типа. На них только в России пишут около 500 тыс. человек, а точное количество программистов по всему миру до конца неизвестно — цифры расходятся от 18 до 25 млн разработчиков. Они работают в разных сферах — одни занимаются бэкенд-разработкой, другие — фронтенд, третьи пишут нейросети и работают с большими данными. «Хайтек» составил список языков программирования, на которых практически перестали работать уже сейчас либо которые забудутся уже в ближайшие годы.

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

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

Язык ассемблера

Физические принципы работы электронных устройств ЭВМ таковы, что компьютер может воспринимать только команды, которые состоят из единиц и нулей — последовательность перепада напряжения, машинный код.

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

Именно в качестве автоматизации машинного языка (на котором и сейчас периодически пишут код, но специалистов такого плана в мире осталось очень и очень немного) появился первый язык низкого уровня — ассемблер. С его помощью можно было представлять машинный код в более понятном для человека виде — именно тут появляются первые команды, которые отражают суть задачи. Например, команда сложения двух цифр на машинном коде выглядела как 000010, а на ассемблере — add.

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

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

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

Все языки программирования делятся на условные пять типов:

Низкого уровня. К ним, в первую очередь, относят машинные языки, которые реализуются непосредственно на аппаратном уровне. Это первое существующее поколение языков программирования.

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

Высокого уровня. К 1970-м годам сложность программ на языках ассемблера увеличилась настолько, что программисты перестали с ними справляться. В итоге появились языки программирования высокого уровня. Они намного легче переносятся с компьютера на другой и модифицируются, а программистам работать на них намного проще, чем раньше. В эту категорию входят практически все самые распространенные сейчас языки — C, C++, Python, Java, JavaScript, PHP.

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

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

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

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

Именно первый язык высокого уровня Fortran пришел на смену ассемблеру в 1957 году. Название Fortran является сокращением от FORmula TRANslator — «переводчик формул». Несмотря на критику, его быстро приняли в компьютерном обществе, особенно в научной среде.

Читать еще:  Темы курсовых проектов по программированию

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

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

1С — редкий язык программирования, использующий кириллицу

Язык программирования 1C практически не выбирают молодые программисты — средний возраст разработчиков на этом языке составляет более 35 лет. Средой исполнения языка 1С является платформа «1С:Предприятие», при этом все команды и вообще вся разработка ведутся на русском языке.

Во время проектирования этого языка в середине 90-х годов такой подход был разумным, поскольку 1С стал одним из самых массовых языков программирования на территории стран СНГ. Однако в дальнейшем именно использование кириллицы ограничило рост языка, и постепенно он начал терять свою популярность. Да, разработчики добавили возможность написания кода и на английском языке, однако это не сильно повлияло на интеграцию языка в мировое сообщество.

Даже несмотря на то, что платформы 1С являются практически монополистами бухгалтерского рынка стран СНГ, язык, на котором работают все внутренние платформы, не является универсальным. В связи с этим либо языку придется сильно измениться, либо компании 1С постепенно переходить на другие, более перспективные языки программирования.

Objective-C — фирменный язык Apple

Язык программирования Objective-C появился еще в 1980-х годах, однако широкую популярность приобрел только в 2009 году — после выхода культового смартфона iPhone 3G. Сам язык Objective-C совмещал в себе идеи C и Smalltalk — применения систем с оконным управлением.

Несмотря на востребованность языка, Apple пришлось отказаться от его использования из-за большого количества критических ошибок, а также ограниченности его использования.

Вместо Objective-C разработчики Apple представили язык программирования Swift, на котором теперь работают все приложения, написанные под iPhone. Сейчас компания Apple почти перестала поддерживать Objective-C.

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

J# от Microsoft

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

J# в итоге оказался недоделанным и с практически полностью скопированным синтаксисом у Java. Даже для поддержки .NET Framework языку J# пришлось использовать дополнительные библиотеки — это еще больше усложняло работу с ним.

Сейчас J# перестал поддерживаться Microsoft и исключен из пакета Visual Studio, поэтому его изучение для программистов стало абсолютно бессмысленным.

ActionScript и Flash Player

Достаточно популярный еще пять лет назад язык программирования ActionScript от компании Adobe. Он имеет достаточно узкую направленность — именно с его помощью работает веб-плеер Flash Player, а его скорость и эффективность оказались намного выше, чем у JavaScript.

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

Поэтому многие ИТ-компании постепенно отказались от поддержки Flash Player, оставив его альтернативой HTML 5. В итоге и Adobe решила отказаться от поддержки этого языка к 2020 году. До конца непонятно, собирается ли компания представить какой-то аналог этого языка или работа веб-плеера полностью перейдет на формат HTML 5.

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

Электронная энциклопедия «Компьютер»

Компьютер-лучший друг человека…:-)))

Поколения ЭВМ

Первое поколение ЭВМ 1950-1960-е годы

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

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

В середине 1950-х годов появились машинно-ориентированные языки типа языков символического кодирования (ЯСК), позволявшие вместо двоичной записи команд и адресов использовать их сокращенную словесную (буквенную) запись и десятичные числа. В 1956 году был создан первый язык программирования высокого уровня для математических задач — язык Фортран, а в 1958 году — универсальный язык программирования Алгол.

ЭВМ, начиная от UNIVAC и заканчивая БЭСМ-2 и первыми моделями ЭВМ «Минск» и «Урал», относятся к первому поколению вычислительных машин.

29 апреля 1952 г. появилась первая ЭВМ фирмы IBM. В качестве памяти использовался магнитный барабан. Емкость ОЗУ — 20480 байт Производительность 8000 операций в секунду.

Второе поколение ЭВМ: 1960-1970-е годы

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

Стали применяться внешние накопители на жестких магнитных дисках и на флоппи-дисках — промежуточный уровень памяти между накопителями на магнитных лентах и оперативной памятью.

В 1964 году появился первый монитор для компьютеров — IBM 2250. Это был монохромный дисплей с экраном 12 х 12 дюймов и разрешением 1024 х 1024 пикселов. Он имел частоту кадровой развертки 40 Гц.

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

В машинах второго поколения были впервые реализованы режимы пакетной обработки и телеобработки информации.

Первой ЭВМ, в которой частично использовались полупроводниковые приборы вместо электронных ламп, была машина SEAC (Standarts Eastern Automatic Computer), созданная в 1951 году. В начале 60-х годов полупроводниковые машины стали производиться и в СССР.

Пример: IBM 360-40

Изготовлена в 1964 г. Для разных моделей комбинируется из 19 блоков центрального процессора и 40 типов периферии. Емкость ОЗУ 256 Кбайт. Производительность 246 тыс. опер/сек.

Третье поколение ЭВМ: 1970-1980-е годы

В 1958 году Роберт Нойс изобрел малую кремниевую интегральную схему, в которой на небольшой площади можно было размещать десятки транзисторов. Эти схемы позже стали называться схемами с малой степенью интеграции (Small Scale Integrated circuits — SSI). А уже в конце 60-х годов интегральные схемы стали применяться в компьютерах.

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

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

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

Начиная с момента широкого использования интегральных схем в компьютерах, технологический прогресс в вычислительных машинах можно наблюдать, используя широко известный закон Мура. Один из основателей компании Intel Гордон Мур в 1965 году открыл закон, согласно которому количество транзисторов в одной микросхеме удваивается через каждые 1,5 года. Ввиду существенного усложнения как аппаратной, так и логической структуры ЭВМ 3-го поколения часто стали называть системами.

Так, первыми ЭВМ этого поколения стали модели систем IBM (ряд моделей IBM 360) и PDP (PDP 1). В Советском Союзе в содружестве со странами Совета Экономической Взаимопомощи (Польша, Венгрия, Болгария, ГДР и др1.) стали выпускаться модели единой системы (ЕС) и системы малых (СМ) ЭВМ.

Читать еще:  Как запустить среду программирования turbo c

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

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

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

Четвертое поколение ЭВМ: 1980-1990-е годы

Революционным событием в развитии компьютерных технологий третьего поколения машин было создание больших и сверхбольших интегральных схем (Large Scale Integration — LSI и Very Large Scale Integration — VLSI), микропроцессора (1969 г.) и персонального компьютера. Начиная с 1980 года практически все ЭВМ стали создаваться на основе микропроцессоров. Самым востребованным компьютером стал персональный.

Логические интегральные схемы в компьютерах стали создаваться на основе униполярных полевых CMOS-транзисторов с непосредственными связями, работающими с меньшими амплитудами электрических напряжений (единицы вольт), потребляющими меньше мощности, нежели биполярные, и тем самым позволяющими реализовать более прогрессивные нанотехнологии (в те годы — масштаба единиц микрон).

Оперативная память стала строиться не на ферритовых сердечниках, а также на интегральных CMOS-транзисторных схемах, причем непосредственно запоминающим элементом в них служила паразитная емкость между электродами (затвором и истоком) этих транзисторов.

Первый персональный компьютер создали в апреле 1976 года два друга, Стив Джобе (1955 г. р.) — сотрудник фирмы Atari, и Стефан Возняк (1950 г. р.), работавший на фирме Hewlett-Packard. На базе интегрального 8-битного контроллера жестко запаянной схемы популярной электронной игры, работая вечерами в автомобильном гараже, они сделали простенький программируемый на языке Бейсик игровой компьютер «Apple», имевший бешеный успех. В начале 1977 года была зарегистрирована Apple Сотр., и началось производство первого в мире персонального компьютера Apple

Пятое поколение ЭВМ: 1990—…

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

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

Основные требования к компьютерам 5-го поколения: Создание развитого человеко-машинного интерфейса (распознавание речи, образов); Развитие логического программирования для создания баз знаний и систем искусственного интеллекта; Создание новых технологий в производстве вычислительной техники; Создание новых архитектур компьютеров и вычислительных комплексов.

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

Пример: IBM eServer z990. Изготовлен в 2003 г.

Физические параметры: вес 2000 кг., потребляемая мощность 21 КВт., площадь 2,5 кв. м., высота 1,94 м., емкость ОЗУ 256 ГБайт, производительность — 9 млрд. инструкций/сек.

Шестое и последующие поколения ЭВМ

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

Мёртвые языки программирования

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

Английский математик Чарлз Бэббидж (1791—1871 гг.). В 20-х годах XIX века ему пришла идея создать механическую машину для вычислений, что порядок ее действий можно было предварительно записывать и впоследствии выполнять эти действия на машине автоматически. Это была идея, положившая начало программированию. Ч. Бэббидж посвятил реализации этой идеи всю жизнь. Он не добился успеха и признания современников при жизни, но оказал огромное влияние на современное развитие информатики.

Первые языки программирования. Особенности первых языков программирования

Вспомним первые компьютеры и программы для них. Это была эра программирования непосредственно в машинных кодах, а основным носителем информации были перфокарты и перфоленты. Программисты обязаны были знать архитектуру машины досконально. Программы были достаточно простыми, что обуславливалось, во-первых, весьма ограниченными возможностями этих машин, и, во-вторых, большой сложностью разработки и, главное, отладки программ непосредственно на машинном языке. Основоположником программирования можно считать английского математика Чарлза Бэббиджа (1791—1871 гг.). В 20-х годах XIX века ему пришла идея создать такую механическую машину для вычислений, что порядок ее действий можно было предварительно записывать и впоследствии выполнять эти действия на машине автоматически. Это была идея, положившая начало программированию. Ч. Бэббидж посвятил реализации этой идеи всю жизнь. Он не добился успеха и признания современников при жизни, но оказал огромное влияние на современное развитие информатики. Хотя использованный Бэббиджем способ записи программы на перфокартах, не имеет ничего общего с современными технологиями хранения и выполнения программ компьютерами, принцип остался тем же. Компилятоp (от англ. Compile — собирать вместе, составлять) — системная программа, выполняющая преобразование программы, написанной на одном алгоритмическом языке, в программу на языке, близком к машинному, и в определенном смысле эквивалентную первой. В 1954 г. группа под руководством Г. Хоппер разработала систему, включающую язык программирования и компилятор, которая в дальнейшем получила название MATH-MATIC. После удачного завершения работ по созданию MATH-MATIC Г. Хоппер и ее группа принялись за разработку нового языка и компилятора, который позволил бы пользователям программировать на языке, близком к обычному английскому. В 1958 г. появился компилятор FLOW-MATIC, он был первым языком для задач обработки коммерческих данных. Работы в этом направлении привели к созданию языка КОБОЛ. Одним из основных консультантов при его создании была Грейс Мюррей Хоппер. Середина 50-х годов XX века характеризуется стремительным прогрессом в области программирования. Для записи программ начали применять мнемонический язык – язык assembly. Язык ассемблера позволил представить машинный код в более удобной для человека форме: для обозначения команд и объектов, над которыми эти команды выполняются, вместо двоичных кодов использовались буквы или сокращенные слова, которые отражали суть команды. Появление этого языка на свет, очень облегчало жизнь программистов. Теперь вместо рябящих в глазах нулей и единиц, они могли писать программу командами, состоящими из символов приближенных к обычному языку. Для того времени этот язык был новшеством и пользовался популярностью т.к. позволял писать программы небольшого размера, что при тех машинах критерий значительный. Но сложность разработки в нём больших программных комплексов привела к появлению языков третьего поколения – языков высокого уровня. Но на этом жизнь ассемблера не закончилась, он жив и посей день и не только жив, но и пользуется популярностью в узких кругах. Не стоит забывать, что у хакеров этот язык так же пользуется популярностью, да ещё какой! Но что же им так нравиться в нём? Конечно же, то, что скорость работы полученной программы значительно выше скорости программы написанной на языке программирования высокого уровня. Это объясняется тем, что получившийся размер программы очень мал. А как же разработчики антивирусных программ? Они тоже не лыком шиты и так же используют ассемблер в некоторых модулях своих программ, что так же обеспечивает их быстродействие. А если бы не ассемблер некоторые программы загружались бы около часа! Языки программирования сохраняют свое предназначение для решения задач определенных типов. Выбор языка определяется удобствами для программистов, их предпочтениями в силу опыта и образования, а также пригодностью для данного компьютера и данной задачи. А задачи, решаемые с помощью компьютера, бывают самые разнообразные. Такая разнотипность решаемых компьютером задач и приводит к многообразию языков программирования.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×