рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

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

История языков программирования - раздел Информатика, ИНФОРМАТИКА   Программы Для Первых Компьютеров Писали На «Машинном» Языке, ...

 

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

В начале 50-х годов появился язык ассемблер*1 (или автокод). Каждая команда этого языка соответствовала одной машинной команде, но в отличие от машинного языка в команде ассемблера использовались мнемонические обозначения кодов операций и адресов данных.

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

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

Первый язык высокого уровня Фортран*2 был разработан в 1958 году. Этот язык был ориентирован на решение научно-технических задач. Благодаря мощной библиотеке подпрограмм, разработанных в течение ряда лет, этот язык всё ещё применяется.

В 60-х годах появились универсальные языки высокого уровня, с их помощью удается решать задачи из любых областей. Относительная простота структуры этих языков и одновременно возможность использования мощных синтаксических конструкций позволили резко повысить производительность труда программистов. Подавляющее большинство языков этого поколения успешно применяется и сегодня. К ним относятся, в частности, Кобол*3, Алгол*4 и Бейсик*5.

С начала 70-х годов разрабатываются языки, предназначенные для реализации крупных проектов, повышения их надежности и скорости создания. Эти языки часто ориентированы на специализированные области применения, где хороших результатов можно добиться, используя не универсальные, а проблемно - ориентированные языки, оперирующие конкретными понятиями узкой предметной области. Как правило, в эти языки встраиваются мощные операторы, позволяющие одной строкой описать такую функциональность, для реализации которой на языках младших поколений потребовались бы тысячи строк исходного текста. В это же время создаются наиболее распространённые и сегодня языки Паскаль*6, Си*7, а затем и Си++*8 , основанный на новых идеях – идеях объектного программирования.

В середине 90-х годов разрабатываются также системы автоматического создания прикладных программ с помощью визуальных средств разработки, без знания программирования. Главная идея, которая закладывается в эти языки, – возможность автоматического формирования результирующего текста на универсальных языках программирования (который потом требуется откомпилировать). Инструкции же вводятся в компьютер в максимально наглядном виде с помощью методов, наиболее удобных для человека, не знакомого с программированием. В это же время создаются Джава*9, СиШарп*10 и др.

 

Определения:

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

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

*3Кобол (COBOL). Это компилируемый язык для применения в экономической области и решения бизнес-задач, разработанный в начале 60-х годов. Он отличается большой "многословностью" – его операторы иногда выглядят как обычные английские фразы. В Коболе были реализованы очень мощные средства работы с большими объемами данных, хранящимися на различных внешних носителях. На этом языке создано очень много приложений, которые активно эксплуатируются и сегодня.

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

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

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

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

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

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

*10СиШарп (С#). В конце 90-х годов в компании Microsoft под руководством Андерса Хейльсберга был разработан язык С#. В нем воплотились лучшие идеи Си и Си++, а также достоинства Java. Правда, С# , как и другие технологии Microsoft, ориентирован на платформу Windows. Однако формально он не отличается от прочих универсальных языков, а корпорация даже планирует его стандартизацию. Язык С# предназначен для быстрой разработки .Net содержит множество особенностей, привязывающих С# к внутренней архитектуре Windows и платформы .Net.

 

– Конец работы –

Эта тема принадлежит разделу:

ИНФОРМАТИКА

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ... ПУТЕЙ СООБЩЕНИЯ МИИТ... Кафедра Вычислительные системы и сети...

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

Что будем делать с полученным материалом:

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

Все темы данного раздела:

Предшественники электронных вычислительных машин
Первое автоматическое устройство для выполнения операции сложения было создано в 1623 году в Германии Вильгельмом Шикардом на базе механических часов.

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

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

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

Основные характеристики компьютеров
Важнейшими эксплуатационными характеристиками ЭВМ являются ее производительность Р и общий коэффициент эффективности машины Э: Э = Р/ (Сэвм + Сэк), Сэвм – стоимос

МикроЭВМ
С появлением в 70х годах прошлого века сверхбольших интегральных схем стало возможным создавать на одной микросхеме упрощенный вариант процессора – микропроцессор с числом разрядов в слове 8-16 и б

Персональные компьютеры
  Первые персональные компьютеры появились в середине 70-х годов. Их разработали независимо друг от друга фирмы IBM и Apple. Однако стоимость компьютеров была слишком высока, и поэтом

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

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

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

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

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

Представление чисел в форме с фиксированной и плавающей точкой
В ЭВМ применяют две формы представления чисел: с фиксированной точкой (естественная форма) и плавающей точкой. При представлении чисел с фиксированной точкой положение точки фиксируется в

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

Прямой код
Прямой код двоичного числа G, представляемого в n - разрядной сетке, определяется как   G , при G>=0; G

Обратный код
Обратный код двоичного числа G, представляемого в n - разрядной сетке, определяется как   G , при G>=0;

Дополнительный код
Дополнительный код двоичного числа G, представляемого в n - разрядной сетке, определяется как     G ,

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

Сложение чисел в форме с плавающей точкой
Сложение двух чисел, представленных в форме с плавающей точкой осуществляется по следующему алгоритму: Определение разности R (с помощью алгебраического сложения) порядков заданных чисел с

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

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

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

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

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

Режимы и технологии работы с базами данных
Система управления базами данных имеет два режима работы: проектировочный и пользовательский. Первый режим предназначен для создания или изменения структуры базы данных и создания инструментов для

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

Структура документа на языке HTML
1) Документ HTML всегда должен начинаться с тега <HTML> и заканчиваться соответствующим закрывающимся тегом </HTML>. 2) Внутри документа выделяются два основных раздела: раздел

Функциональные блочные элементы
Основными функциональными элементами являются заголовки и абзацы. Язык HTML поддерживает шесть уровней заголовков. Они задаются при помощи парных тегов <H1> до <H6>. Эти элементы отобра

Web-графика
Графические элементы Web-страниц используют два основных формата – GIF и JPEG (допустим формат PNG). Файлы формата GIF (Graphic Interchange Format) – файл упакован и занимает меньше места,

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

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

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

Понятие электронной подписи
  Итак, клиент может переслать организации свои конфиденциальные данные (например, номер электронного счёта). Точно так же он может общаться и с банком, отдавая ему распоряжения о пер

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

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

Основы булевой алгебры. Булевы функции
Переменные, принимающие два значения: 0 и 1 (ложь и истина), называются булевыми (двоичными, логическими). Основными операциями булевой алгебры является инверсия, конъюнкция и дизъюнкция.

Законы булевой алгебры.
Законы булевой алгебры можно выразить в виде формул: Удобно выделить законы, облегчающие преобразования формул к более пр

Основы автоматных преобразований
Цифровой (конечный) автомат – это образ элемента с конечной памятью, который реализуется через механизм «смены состояний», каждое из которых отражает некоторую предысторию поступления входных сигна

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги