Инструменты пользователя

Инструменты сайта


igor:istoria

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
Следующая версияСледующая версия справа и слева
igor:istoria [2021/08/07 12:58] – [Микропроцессоры, калькуляторы и персональные компьютеры] igorigor:istoria [2022/03/01 18:44] – [Программирование в древние времена] igor
Строка 191: Строка 191:
 Программирование на ассемблере сохраняет все преимущества программирования в кодах, но избавляет от основного недостатка: исходный текст на языке ассемблера хотя и выглядит ужасно сложно, но все же может быть прочитан человеком (а если можно прочитать, то отчего бы не попробовать написать?). И все-таки эта работа сложна и трудоемка, и доступна не всем. Отсюда появилась идея создать **//язык программирования высокого уровня//** (проблемно-ориентированный язык). Транслятор с языка высокого уровня сейчас обычно называют **//компилятором//**, но этот термин утвердился в более поздние времена. \\ Программирование на ассемблере сохраняет все преимущества программирования в кодах, но избавляет от основного недостатка: исходный текст на языке ассемблера хотя и выглядит ужасно сложно, но все же может быть прочитан человеком (а если можно прочитать, то отчего бы не попробовать написать?). И все-таки эта работа сложна и трудоемка, и доступна не всем. Отсюда появилась идея создать **//язык программирования высокого уровня//** (проблемно-ориентированный язык). Транслятор с языка высокого уровня сейчас обычно называют **//компилятором//**, но этот термин утвердился в более поздние времена. \\
 Подобные языки - Алгол и Фортран - появились уже в 50-е годы, затем в этой отрасли имело место достаточно долгое и сложное развитие. \\ Подобные языки - Алгол и Фортран - появились уже в 50-е годы, затем в этой отрасли имело место достаточно долгое и сложное развитие. \\
-Язык программирования **Фортран** (англ. FORmula TRANslation - перевод формул) создан в 1954 г. - он современник паровозов! Для программистов того времени он стал тем же, чем были первые крупносерийные тепловозы ТЭ3 для наших железнодорожников: он принес с собой комфорт и скорость, прежде всего за счет исключения самой грязной и утомительной работы, каковой на паровозе была работа кочегара, а в вычислительной технике написание машинных кодов. Программа на Фортране имела вид не кодов, а формул, которые любому программисту привычны по школьной и институтской математике. Фортран превосходен как язык ученых, которые чаще всего сами не являются программистами, но ощущают потребность быстро создавать компактные программы для сложных числовых расчетов. Основной недостаток Фортрана - его непригодность для решения иных задач, кроме вычислений по формулам, поэтому сейчас он имеет ограниченное применение: главным образом там, где от программы требуются учебно-демонстрационные свойства. Будучи ПЕРВЫМ В ИСТОРИИ языком высокого уровня, Фортран жив и сейчас (последняя ревизия стандарта была в 2008 г.). За долгие годы на нем было написано множество программ математического назначения, которые хорошо отлажены, эффективны и доступны в виде исходных текстов - без преувеличения это достояние человечества! \\+Язык программирования **Фортран** (англ. FORmula TRANslation - перевод формул) создан в 1954 г. - он современник паровозов! Для программистов того времени он стал тем же, чем были первые крупносерийные тепловозы ТЭ3 для наших железнодорожников: он принес с собой комфорт и скорость, прежде всего за счет исключения самой грязной и утомительной работы, каковой на паровозе была работа кочегара, а в вычислительной технике написание машинных кодов. Программа на Фортране имела вид не кодов, а формул, которые любому программисту привычны по школьной и институтской математике. Примерно таких: \\ 
 +<code>VES = JBJEM * PLOTNOST</code> \\ 
 +Фортран превосходен как язык ученых, которые чаще всего сами не являются программистами, но ощущают потребность быстро создавать компактные программы для сложных числовых расчетов. Основной недостаток Фортрана - его непригодность для решения иных задач, кроме вычислений по формулам, поэтому сейчас он имеет ограниченное применение: главным образом там, где от программы требуются учебно-демонстрационные свойства. Будучи ПЕРВЫМ В ИСТОРИИ официально принятым на вооружение языком высокого уровня, Фортран жив и сейчас (последняя ревизия стандарта была в 2008 г.). За долгие годы на нем было написано множество программ математического назначения, которые хорошо отлажены, эффективны и доступны в виде исходных текстов - без преувеличения это достояние человечества! \\
 **Кобол** (Common Business-Oriented Language - всеобщий бизнес-ориентированный язык, Грейс Хоппер, 1959 г.), в противоположность Фортрану, предназначен не для математиков и физиков, а для работников финансово-экономической сферы. В западном мире еще в 2000-е годы считалось, что на этом языке написано больше всего строк исходного текста, но в СССР эта сфера всегда недооценивалась, так что Кобол у нас остался практически неизвестен. \\ **Кобол** (Common Business-Oriented Language - всеобщий бизнес-ориентированный язык, Грейс Хоппер, 1959 г.), в противоположность Фортрану, предназначен не для математиков и физиков, а для работников финансово-экономической сферы. В западном мире еще в 2000-е годы считалось, что на этом языке написано больше всего строк исходного текста, но в СССР эта сфера всегда недооценивалась, так что Кобол у нас остался практически неизвестен. \\
 Вот еще в качестве информации к размышлению на тему Кобола: [[https://zen.yandex.ru/media/habr/75letnii-programmist-osnoval-kompaniiu-po-obslujivaniiu-kompiuternyh-sistem-na-cobol-5de5fe9a5ba2b500adf0a001?&secdata=CL3P39jsLSABMIKAAQ%3D%3D]] \\ Вот еще в качестве информации к размышлению на тему Кобола: [[https://zen.yandex.ru/media/habr/75letnii-programmist-osnoval-kompaniiu-po-obslujivaniiu-kompiuternyh-sistem-na-cobol-5de5fe9a5ba2b500adf0a001?&secdata=CL3P39jsLSABMIKAAQ%3D%3D]] \\
 Технический прогресс никогда не задерживается на какой-либо ступени - он развивается согласно присущей ему логике, которую нам совсем не трудно понять. Время от времени в интересующей нас области техники появляется изделие (машина, инструмент..), ломающий все наши прежние представления о данной работе: как ТЭ3 в сравнении с паровозами, как Фортран в сравнении с машинными кодами... Но когда это изделие вступает в повседневную эксплуатацию, мы начинаем замечать, что оно не лишено определенных недостатков, и испытываем труднопреодолимое желание эти недостатки исправить. Так __революция__ сменяется __эволюцией__. Чуть позже, рассматривая языки программирования Паскаль и Си, мы увидим, что эта тенденция иногда нарушается. Но это будет другая история - история средних веков, а сейчас мы вернемся на рубеж 50-х-60-х годов XX века: в эти годы железнодорожники получили ТЭП60, а программисты **Алгол**. Для непосвященного человека разницы нет, но разница весьма ощутима для того, кто каждое утро садится за баранку этого пылесоса. Тепловозы мы сейчас оставим в покое. Они нам нужны лишь для того, чтобы проиллюстрировать одну мысль: различные области техники развиваются по схожим законам. А вот разницу между Алголом и Фортраном хотелось бы рассмотреть более подробно. \\ Технический прогресс никогда не задерживается на какой-либо ступени - он развивается согласно присущей ему логике, которую нам совсем не трудно понять. Время от времени в интересующей нас области техники появляется изделие (машина, инструмент..), ломающий все наши прежние представления о данной работе: как ТЭ3 в сравнении с паровозами, как Фортран в сравнении с машинными кодами... Но когда это изделие вступает в повседневную эксплуатацию, мы начинаем замечать, что оно не лишено определенных недостатков, и испытываем труднопреодолимое желание эти недостатки исправить. Так __революция__ сменяется __эволюцией__. Чуть позже, рассматривая языки программирования Паскаль и Си, мы увидим, что эта тенденция иногда нарушается. Но это будет другая история - история средних веков, а сейчас мы вернемся на рубеж 50-х-60-х годов XX века: в эти годы железнодорожники получили ТЭП60, а программисты **Алгол**. Для непосвященного человека разницы нет, но разница весьма ощутима для того, кто каждое утро садится за баранку этого пылесоса. Тепловозы мы сейчас оставим в покое. Они нам нужны лишь для того, чтобы проиллюстрировать одну мысль: различные области техники развиваются по схожим законам. А вот разницу между Алголом и Фортраном хотелось бы рассмотреть более подробно. \\
 Фортран в его классическом виде - //бесструктурный// язык. Для условных переходов в нем используется запись типа: \\ Фортран в его классическом виде - //бесструктурный// язык. Для условных переходов в нем используется запись типа: \\
-<code>IF X<0 THEN GOTO 5</code>+<code>IF X<0 THEN GOTO 5</code> \\
 где 5 - метка оператора, к которому совершается переход. И оператор GOTO, и метка, на которую он нацелен, могут находиться в любом месте программы. Это не важно, если программа не очень большая. По мере разработки сложной программы множество условных переходов может создать нешуточную путаницу. На это еще около 1958 г. (т. е. почти сразу после массового внедрения Фортрана) обратил внимание голландец Э. Дейкстра, ставший идейным вдохновителем разработки Алгола. В Алголе, в отличие от Фортрана, меток вообще нет, а условные переходы и циклы программируются в виде //структур//, содержащих то или иное количество блоков: условный переход возможен только по правилам структуры и только в пределах "своего" блока, а "далекие" переходы, создающие наибольшую опасность путаницы, отменены вообще как класс. Это позволяет сделать программу более логичной и ясной и, как следствие, несколько уменьшить трудоемкость разработки. Вроде бы мелочь, но если структурному принципу следует множество программистов, работающих год за годом, то экономический эффект может быть весьма значительным. Во что это выльется "в тугриках", никто не считал и считать не собирается, да это и непринципиально. Для нас принципиально то, что древние люди к таким вещам относились серьезно и принимали грамотные инженерные решения, не дожидаясь подсчета прибылей и убытков. \\ где 5 - метка оператора, к которому совершается переход. И оператор GOTO, и метка, на которую он нацелен, могут находиться в любом месте программы. Это не важно, если программа не очень большая. По мере разработки сложной программы множество условных переходов может создать нешуточную путаницу. На это еще около 1958 г. (т. е. почти сразу после массового внедрения Фортрана) обратил внимание голландец Э. Дейкстра, ставший идейным вдохновителем разработки Алгола. В Алголе, в отличие от Фортрана, меток вообще нет, а условные переходы и циклы программируются в виде //структур//, содержащих то или иное количество блоков: условный переход возможен только по правилам структуры и только в пределах "своего" блока, а "далекие" переходы, создающие наибольшую опасность путаницы, отменены вообще как класс. Это позволяет сделать программу более логичной и ясной и, как следствие, несколько уменьшить трудоемкость разработки. Вроде бы мелочь, но если структурному принципу следует множество программистов, работающих год за годом, то экономический эффект может быть весьма значительным. Во что это выльется "в тугриках", никто не считал и считать не собирается, да это и непринципиально. Для нас принципиально то, что древние люди к таким вещам относились серьезно и принимали грамотные инженерные решения, не дожидаясь подсчета прибылей и убытков. \\
 Заметим, что при программировании на бесструктурных языках типа Фортрана нам никто не запрещает придерживаться структурного принципа (в современных версиях языка введены даже соответствующие операторы). Но на Фортране это вопрос самодисциплины. В конечном счете - вопрос культуры каждого конкретного программиста. А на Алголе этот принцип возведен в ранг обязательного, поэтому все мало-мальски современные языки, начиная со средневекового Паскаля, построены на структурном принципе и таким образом являются потомками Алгола. \\ Заметим, что при программировании на бесструктурных языках типа Фортрана нам никто не запрещает придерживаться структурного принципа (в современных версиях языка введены даже соответствующие операторы). Но на Фортране это вопрос самодисциплины. В конечном счете - вопрос культуры каждого конкретного программиста. А на Алголе этот принцип возведен в ранг обязательного, поэтому все мало-мальски современные языки, начиная со средневекового Паскаля, построены на структурном принципе и таким образом являются потомками Алгола. \\
igor/istoria.txt · Последнее изменение: 2022/05/01 18:15 — igor