Языки программирования третьего поколения: Фортран, Кобол, Бейсик, Паскаль и Си
Инструкции языков третьего поколения — это короткие конструкции, которые больше напоминают обычный разговорный язык, чем язык ассемблера. Эти языки менее эффективны в использовании компьютерных ресурсов, чем более ранние языки; они более просты для написания и понимания и сделали возможным создание программного обеспечения, направленного на решение деловых и научных проблем. Основные языки третьего поколения — Фортран, Кобол, Си (С), Бейсик и Паскаль.
Язык Фортран(FORmula TRANslator, FORTRAN) (рис. 6.6) был разработан в 1956 г. и предназначался для обеспечения более простого способа создания научных и инженерных приложений. Этот язык особенно полезен при обработке числовых данных. С его помощью можно разрабатывать многие бизнес-приложения, а его современные версии поддерживают сложные структуры, обеспечивающие эффективный контроль логики выполняемой программы. Фортран не слишком хорошо подходит для обеспечения эффективного ввода/вывода данных, печати или работы со списками. Синтаксис языка содержит серьезные ограничения, вследствие чего распространены ошибки при вводе данных, что приводит к различным трудностям в процессе отладки программ.
Язык Кобол(COmmon Business Oriented Language, COBOL) (рис. 6.7) начал использоваться в начале 60-х гг. прошлого века. Этот язык был разработан комитетом, представляющим интересы правительственных и промышленных кругов. Ключевым членом комитета был адмирал запаса Грейс М. Хоппер, и именно он играл главную роль в процессе создания Кобола. При разработке языка ставилась цель его применения в задачах бизнес-администрирования, для обработки больших файлов данных с алфавитно-цифровыми символами (смешанных алфавитных и числовых данных) и для выполнения таких однообразных задач, как формирование платежных ведомостей. Кобол малопригоден для выполнения сложных математических вычислений. Существует множество версий Кобола, и не все они совместимы между собой.
Бейсики Паскальиспользуются преимущественно в образовании в целях обучения программированию. Язык программирования Бейсик (Beginners All-purpose Symbolic Instruction Code, BASIC) был разработан в 1964 г. Джоном Ке-мени (John Kemeny) и Томасом Курцем (Thomas Kurtz) для обучения студентов Дартмутского колледжа основам работы с компьютерами. Этот язык прост в применении, наглядно демонстрирует возможности компьютера и выполняется под управлением компактной программы-интерпретатора. Существуют несколько версий Бейсика, причем следует отметить тот факт, что этот язьн

Язык программирования, состоящий из единиц и нулей двоичного кода.
Assembly language (язык Ассемблер)
Язык программирования, разработанный в 1950-х гг. прошлого столетия, который имеет сходство с машинным языком; отличие заключается в том, что вместо чисел применяются мнемонические коды.
FORTRAN (formula translator) (Фортран)
Язык программирования, разработанный в 1956 г., предназначается для выполнения научных и математических приложений.
COBOL (common business oriented language) (Кобол)
Основной язык программирования для бизнес-приложений, обладающий возможностями по обработке больших файлов данных, включающих алфавитно-цифровые символы.
BASIC (beginners all-purpose symbolic instruction code) (Бейсик)
Универсальный язык программирования, применяющийся при работе на ПК, а также для обучения программированию.
Pascal (Паскаль)
Язык программирования, используемый в среде ПК, который применяется для обучения классической практике программирования на курсах информатики и вычислительной техники.
С (Си)
Мощный язык программирования, обеспечивающий точный контроль, а также являющийся эффективным. Он хорошо совместим с различными типами микропроцессоров и используется преимущественно на ПК.
Объектно-ориентированная версия языка программирования С.
Названный в честь Блеза Паскаля (Blaise Pascal), математика и философа XVII в., язык программирования Паскаль был разработан шведским профессором информатики и вычислительной техники Николасом Виртом (Niklaus Wirth) из Цюриха в конце 60-х гг. прошлого века. Обладая сложными структурами для контролирования программной логики, а также набором простых и мощных команд, Паскаль используется преимущественно в курсах информатики и вычислительной техники в процессе обучения студентов практике программирования.
Язык программирования С (Си) является мощным и эффективным языком, разработанным в Bell Labs AT&T в начале 70-х гг. прошлого столетия. Этот язык сочетает свойства переносимости, а также точный контроль и эффективное использование вычислительных ресурсов. Существуют компиляторы этого языка, предназначенные для различных вычислительных платформ. Язык Си применяется, как правило, профессиональными программистами для разработки системных программ и приложений (ориентирован преимущественно на ПК).
Язык C++ является усовершенствованной версией Си и является объектно-ориентированным (раздел 6.4). Этот язык обладает всеми возможностями Си плюс дополнительными свойствами, предназначенными для работы с программными объектами. С его помощью осуществляется разработка прикладных программ.
История языков программирования
Первый язык программирования
Знаете ли вы, что первый в мире язык компьютерного программирования был изобретен еще в 1843 году? Ада Лавлейс изобрела первый в истории машинный алгоритм для одной из первых вычислительных машин, который она записала на листе бумаги, потому что в то время компьютеров не существовало! С тех пор языки программирования, очевидно, прошли долгий путь, но для того, чтобы понять историю языков, нужно сначала понять их происхождение.
История языков программирования: хронология
Ниже приведен график истории языков программирования. Первые известные языки были сложными машинными кодами, которые вручную вводились в первые вычислительные машины. Как вы понимаете, компьютерное программирование быстро превратилось из машинных кодов в полностью автоматизированный, читаемый человеком код.
1843: Машинный алгоритм Ады Лавлейс
Ада Лавлейс изобретает первый в истории машинный алгоритм для разностной машины Чарльза Бэббиджа, который закладывает основу для всех языков программирования.
1944-45: Планкалкюль
Где-то между 1944-45 годами Конрад Цузе разработал первый «настоящий» язык программирования под названием Plankalkül (Расчет плана). Язык Zeus (помимо прочего) позволял создавать процедуры, в которых хранятся фрагменты кода, которые можно было вызывать снова и снова для выполнения рутинных операций.
1949: Язык Ассемблера
Ассемблер использовался в автоматическом калькуляторе с электронным запоминанием задержки (EDSAC). Ассемблер был разновидностью низкоуровневого языка программирования, который упростил язык машинного кода. Другими словами, конкретные инструкции, необходимые для работы с компьютером.
1949: Shortcode
Шорткод (или сокращенный код) был первым языком высокого уровня (HLL), предложенным Джоном Макколи в 1949 году. Однако именно Уильям Шмитт реализовал его для компьютера BINAC в том же году и для UNIVAC в 1950 году.
1952: Автокодирование
Автокод был общим термином, используемым для семейства языков программирования. Autocode, впервые разработанный Аликом Гленни для компьютера Mark 1 в Университете Манчестера, был первым в истории скомпилированным языком, который был реализован, что означает, что он может быть переведен непосредственно в машинный код с помощью программы, называемой компилятором. Автокод использовался на первых вычислительных машинах Ferranti Pegasus и Sirius в дополнение к Mark 1.
1957: Fortran
FORmula TRANslation или FORTRAN был создан Джоном Бэкусом и считается старейшим языком программирования, используемым сегодня. Язык программирования был создан для научных, математических и статистических вычислений высокого уровня. FORTRAN до сих пор используется в некоторых из самых передовых суперкомпьютеров в мире.
1958: ALGOL (Алгоритмический язык)
Алгоритмический язык или АЛГОЛ был создан совместным комитетом американских и европейских компьютерных ученых. Алгол послужил отправной точкой для разработки некоторых из наиболее важных языков программирования, включая Pascal, C, C ++ и Java.
1958: LISP (обработчик списков)
Процессор списков или LISP был изобретен Джоном Маккарти в Массачусетском технологическом институте (MIT). Первоначально предназначенный для искусственного интеллекта, LISP является одним из старейших языков программирования, которые все еще используются сегодня, и его можно использовать вместо Ruby или Python. Такие компании, как Acceleration, Boeing и Genworks, по-прежнему используют LISP в своих технических стеках.
1964: BASIC (универсальный символьный код инструкций для начинающих)
Универсальный код символических инструкций для начинающих или BASIC был разработан группой студентов Дартмутского колледжа. Этот язык был написан для студентов, которые плохо разбирались в математике или компьютерах. Этот язык был разработан основателями Microsoft Биллом Гейтсом и Полом Алленом и стал первым товарным продуктом компании.
1970: ПАСКАЛЬ
Названный в честь французского математика Блеза Паскаля, Никлаус Вирт разработал язык программирования в его честь. Он был разработан как средство обучения компьютерному программированию, что означало, что его легко освоить. Apple предпочитала его на заре своей деятельности из-за простоты использования и мощности.
1972: Smalltalk
Smalltalk, разработанный в исследовательском центре Xerox в Пало-Альто Аланом Кей, Адель Голдберг и Дэном Ингаллсом, позволял программистам изменять код на лету. Он представил множество аспектов языка программирования, которые сегодня являются видимыми языками, такими как Python, Java и Ruby. Такие компании, как Leafly, Logitech и CrowdStrike, заявляют, что используют Smalltalk в своих технических стеках.
1972: C (Си)
Разработан Деннисом Ричи из Bell Telephone Laboratories для использования с операционной системой Unix. Он был назван C, потому что был основан на более раннем языке под названием «B». Многие из ведущих в настоящее время языков являются производными от C, включая; C #, Java, JavaScript, Perl, PHP и Python. Он также использовался / до сих пор используется такими крупными компаниями, как Google, Facebook и Apple.
1980/81: Ада
Изначально Ada была разработана командой во главе с Джин Ичбиа из CUU Honeywell Bull по контракту с Министерством обороны США. Названный в честь математика середины 19-го века Ады Лавлейс, Ada представляет собой структурированный, статически типизированный, императивный, объектно-ориентированный язык программирования высокого уровня с широким спектром возможностей. Ада была расширена из других популярных в то время языков программирования, таких как Паскаль. Ada используется в системах управления воздушным движением в таких странах, как Австралия, Бельгия и Германия, а также во многих других транспортных и космических проектах.
1983: Objective-C
Objective-C, разработанный Брэдом Коксом и Томом Лавом, является основным языком программирования, используемым для написания программного обеспечения для операционных систем Apple macOS и iOS.
1991: Python
Названный в честь британской комедийной труппы «Монти Пайтон», Python был разработан Гвидо Ван Россумом. Это универсальный язык программирования высокого уровня, созданный для поддержки различных стилей программирования и приятный в использовании (ряд руководств, примеров и инструкций часто содержат ссылки на Monty Python). Python по сей день является одним из самых популярных языков программирования в мире, который используют такие компании, как Google, Yahoo и Spotify.
1991: Visual Basic
Visual Basic, разработанный Microsoft, позволяет программистам использовать стиль перетаскивания для выбора и изменения предварительно выбранных фрагментов кода через графический интерфейс пользователя (GUI). В наши дни этот язык не используется слишком часто, однако Microsoft частично использовала Visual Basic для ряда своих приложений, таких как Word, Excel и Access.
1995: JavaScript
JavaScript был создан Бренданом Эйхом, этот язык в основном используется для динамической веб-разработки, документов PDF, веб-браузеров и виджетов рабочего стола. Почти каждый крупный веб-сайт использует JavaScript. Gmail, Adobe Photoshop и Mozilla Firefox включают несколько хорошо известных примеров.
2000: C #
Разработанный в Microsoft с надеждой на объединение вычислительных возможностей C ++ с простотой Visual Basic, C # основан на C ++ и имеет много общего с Java. Этот язык используется почти во всех продуктах Microsoft и используется в основном при разработке настольных приложений.
2009: Golang (Go)
Go был разработан Google для решения проблем, возникающих из-за больших программных систем. Благодаря своей простой и современной структуре Go завоевал популярность среди некоторых крупнейших технологических компаний по всему миру, таких как Google, Uber, Twitch и Dropbox.
2014: Swift
Разработанный Apple в качестве замены C, C ++ и Objective-C, Swift был разработан с целью быть проще, чем вышеупомянутые языки, и оставлять меньше места для ошибок. Универсальность Swift означает, что его можно использовать для настольных, мобильных и облачных приложений. Ведущее языковое приложение Duolingo запустило новое приложение, написанное на Swift.
Какие старые языки программирования все еще используются?
Не все языки программирования существуют вечно. Будь то результат развития технологий или просто замена более сложным языком. С учетом сказанного, ИТ специалисты по-прежнему используют некоторые старые языки программирования:
FORTRAN
Первоначальная версия FORTRAN была предложена в IBM Джоном Бэкусом еще в 1953 году. Это был первый компилятор-оптимизатор, который широко использовался в научной работе, поскольку его оптимизированный код выгодно конкурировал с написанным вручную кодом ассемблера. Этот язык до сих пор используется на некоторых из самых быстрых суперкомпьютеров в мире. С 1953 года была выпущена серия обновлений, последняя версия которых была выпущена в 2018 году.
COBOL
COBOL был разработан еще в 1959 году и был одним из первых языков программирования высокого уровня. Несмотря на то, что COBOL был изобретен так давно, он по-прежнему широко распространен. В одних только США 43% банковских систем построены на COBOL, что составляет 95% операций с банкоматами и 80% транзакций, совершаемых лично.
Вывод
История языков программирования увлекательна. Кто бы мог подумать, что алгоритм середины 19 века проложит путь для технологического общества, в котором мы живем сегодня. От ранних машинных кодов до сложного, удобночитаемого кода, на котором сегодня работают наши любимые технологии, языки программирования прошли долгий путь. Несомненно, компьютерное программирование продолжит развиваться, как это происходило в течение последних 150 лет, и интересно смотреть, что принесет будущее.
Ранние языки высокого уровня (ЯВУ)
С середины 1950-х начали появляться языки третьего поколения (3GL), такие как Фортран, Лисп и Кобол, а в конце 1950-х годов появился Алгол.
Обновленные версии перечисленных языков до сих пор имеют хождение в разработке программного обеспечения, и каждый из них оказал определенное влияние на последующее развитие языков программирования. Следует заметить, что на формат и применение ранних языков программирования в значительной степени влияли интерфейсные ограничения. (Из Википедии)
В период 1960-х — 1970-х годов были разработаны основные парадигмы языков программирования, используемые в настоящее время, хотя во многих аспектах этот процесс представлял собой лишь улучшение идей и концепций, заложенных еще в первых языках III поколения:
Разделы страницы о языках программирования высокого уровня:
На основе многих языков третьего поколения были созданы их объектно-ориентированные версии.
Обзоры о языках программирования третьего поколения (3GL)
Предок Бэйсика. Имеет солидную библиотеку математических и других формул. Версии: Фортран-77 и Фортран-90.
Диалектом APL является функциональный векторный язык программирования J. В отличие от APL он не требует специальной раскладки клавиатуры для ввода математических символов, поскольку использует символы ASCII.
Предок Паскаля, Модулы, Ады, т.к. имел красивую и плодотворную идею «правильного» структурного программирования.
Алго́л (англ. Algol от англ. algorithmic — алгоритмический и англ. language — язык) — несколько версий языков программирования, применяемых при составлении программ для решения научно-технических задач на ЭВМ. Разработан комитетом по языку высокого уровня IFIP в 1958—1960 годах (Алгол 58, Алгол 60); усовершенствован в 1964—1968 годах (Алгол 68). Алгол был популярен в Европе, в том числе в СССР, в то время как сравнимый с ним язык Фортран был распространён в США и Канаде. Оказал заметное влияние на все разработанные позднее императивные языки программирования — особенно на язык Pascal.
Обычно названием Алгол именуют Алгол 60, в то время как Алгол 68 рассматривается как самостоятельный язык. (Википедия)
Использование Кобола калечит ум. Его преподавание, следовательно, должно рассматриваться как уголовное преступление. (Дейкстра)
Кобол обычно критикуется за многословность и громоздкость, поскольку одной из целей создателей языка было максимально приблизить конструкции к английскому языку. До сих пор Кобол считается языком программирования, на котором было написано больше всего строк кода. Например, к 1997 году активно использовалось около 240 миллиардов строк кода на Коболе. Около 90 % финансовых транзакций в мире обрабатывается кодом на Коболе, и 75 % коммерческой обработки данных написано на Коболе. Общая стоимость используемого в настоящее время коболовского кода оценивается в 2 триллиона долларов США. И до сих пор ежегодно пишутся миллионы новых строк кода на Коболе.
Практически невозможно научить хорошему стилю программирования студентов, которые раньше имели дело с Бейсиком; в качестве программистов они умственно покалечены без надежды на восстановление. (Edsger Wybe Dijkstra)
Как и любые преимущества, простота Бейсика оборачивалась, особенно в ранних версиях трудностями структурирования; кроме того, Бейсик не допускал рекурсию – интересный прием, позволяющий составлять эффективные и в то же время короткие программы. В первых версиях Бейсика, в 1960-е, 1970-е годы, вначале каждой строки надо было ставить цифровую метку номера оператора (как в Фортране). В последующих версиях это утомительное занятие было устранено. Был исключено ключевое слово LET (взять) в математических операторах.
Попытка скрестить всё лучшее от Фортрана до Алгола. Не прижился и практически и не дал идейных всходов теоретически.
PL/1 содержит все основные конструкции, характерные для так называемых языков высокого уровня, а также ряд специфичных средств, удобных для практического программирования. Язык напоминает конструктор с большим числом деталей – пользователю достаточно освоить только те части языка, которые ему практически необходимы. Его операторы довольно емки, что часто позволяет получить запись программы более компактную, чем на других языках. Знающий PL/1 программист без труда осваивает любой другой язык того же или близкого класса.
Вместе с тем, ПЛ/1 имеет и ряд недостатков, затрудняющих изучение и использование языка. Основные из них таковы. Во-первых, имеется много дублирующих друг друга средств их сложно запомнить, не ясно, что когда применять, кроме того, это снижает как скорость трансляции, так и скорость выполнения программ. Во-вторых, программы получаются не совсем машинно-независимыми.
Все технологии смертны, только язык C вечен!
Популярность этого языка быстро переросла рамки конкретной операционной системы и конкретных задач системного программирования. В настоящее время любая инструментальная и операционная система не может считаться полной, если в ее состав не входит компилятор языка Си.
На Си можно создавать программы, которые делают все, что пожелаешь. Нет другого такого языка, который бы так же стимулировал к программированию. Создается впечатление, что остальные языки программирования воздвигают искусственные препятствия для творчества, а Си – нет. Использование этого языка позволяет сократить затраты времени на создание работающих программ. Си позволяет программировать быстро, эффективно и предсказуемо. Еще одно преимущество Си заключается в том, что он позволяет использовать все возможности вашей ЭВМ. Этот язык создан программистом для использования другими программистами, чего о других языках программирования сказать нельзя.
Однако, язык Си предъявляет достаточно высокие требования к квалификации использующего его программиста. При изучении Си желательно иметь представление о структуре и работе компьютера. Большую помощь и более глубокое понимание идей Си, как языка системного программирования, обеспечат хотя бы минимальное знание языка ассемблер. Уровень старшинства некоторых операторов не является общепринятым, некоторые синтаксические конструкции могли бы быть лучше. Тем не менее, как оказалось Си – чрезвычайно эффективный и выразительный язык, пригодный для широкого класса задач.
Язык программирования Паскаль был разработан профессором кафедры вычислительной техники Швейцарского Федерального института технологии Николасом Виртом в 1968 году как альтернатива существующим и все усложняющимся языкам программирования, таким, как PL/1, Algol, Fortran. Интенсивное развитие Паскаля привело к появлению уже в 1973 году его стандарта в виде пересмотренного сообщения, а число трансляторов с этого языка в 1979 году перевалило за 80.
В начале 80-х годов Паскаль еще более упрочил свои позиции с появлением трансляторов MS-Pascal и Turbo-Pascal для ПЭВМ. С этого времени Паскаль становится одним из наиболее важных и широко используемых языков программирования. Существенно то, что язык давно вышел за рамки академического и узко профессионального интереса и используется в большинстве университетов высокоразвитых стран не только как рабочий инструмент пользователя.
Важнейшей особенностью Паскаля является воплощенная идея структурного программирования. Другой существенной особенностью является концепция структуры данных как одного из фундаментальных понятий.
Язык программирования высокого уровня Ада назван в часть Августы Ады Байрон, графини Лавлейс и дочери английского поэта лорда Байрона. Она была ассистентом, коллегой и сторонницей Чарльза Беббиджа, математика и изобретателя вычислительной машины, названной аналитической машиной. С помощью Ч. Беббиджа в 1830 г. она написала практически законченную программу на аналитической машине для вычисления чисел Бернулли. Поэтому графиню можно назвать первым в мире программистом на вычислительной машине.
Язык Ада возник в результате международного конкурса языковых проектов проходящего в 1978-1979 годах. Участники должны были удовлетворить довольно жестким, детально разработанным требованиям. Интересно, что все языки, дошедшие до последних туров этого конкурса, были основаны на Паскале. В этой связи Аду можно предварительно охарактеризовать как Паскаль, развитый с учетом перечисленных выше требований. При этом авторы пошли в основном по пути расширения Паскаля новыми элементами. В результате получился существенно более сложный язык.
Модульный язык системного программирования Модула (1980 г.) и его потомки
Можно считать, что история языка Модула начинается в 1980 году, когда Никлаус Вирт, один из выдающихся специалистов по теории информации, известный большинству специалистов по вычислительной технике в основном как создатель языка Паскаль, опубликовал описание нового языка программирования, названного им Модула. В отличие от Паскаля, который был по замыслу языком для обучения программирования, Модула с самого начала представлял собой язык для профессиональных системных программистов, продолжая лучшие традиции своего предшественника и обогащая их новыми идеями, соответствующих таким требованиям к языкам программирования, как структурность, модульность и способность к расширению.
Как и множество других языков программирования, Модула подвергалась эволюции, во время которой ее первоначальное название было переделано в имя Модула-2. Одновременно с развитием языка Модула для него создавались новые компиляторы, однако, ни один из них не мог соперничать с лучшими реализациями языков Паскаль и Си, например, разработанных фирмой Борланд. В этот переходный для языка Модула период лучшей считалась реализация фирмы Logitech, которая по своим характеристикам проигрывала Турбо Паскалю и Турбо Си. Только в 1988 году после появления на американском рынке системы Top Speed, Модула-2 заняла достойное место среди процедурных языков, предназначенных для системного программирования.
Объектно-ориентированные потомки Модулы-2 (Оберон, Модула-3)
Важно заметить, что Вирт не признавал необходимость объектно-ориентированного программирования и утверждал, что всё можно сделать Модулой. Вроследствии появились языки Модула-3 и Оберон.
Оберон — язык программирования высокого уровня, разработанный Никлаусом Виртом, для исполнения программ, исполняемых в одноимённой операционной системе, авторами которой являются Никлаус Вирт и Юрг Гуткнехт (1986—1989 годы). Основой для Оберона послужил язык Модула-2. Первоначально систему хотели писать на самой Модуле, но увидели, что её надо доработать и сократить, что и привело к появлению Оберона. Целью проекта было создание с нуля обозримой и надежной операционной системы для персонального компьютера.





