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

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


igor:istoria

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
Следующая версияСледующая версия справа и слева
igor:istoria [2022/04/15 22:43] – [Программирование в древние времена] igorigor:istoria [2022/04/15 23:14] – [Специализированные и проблемно-ориентированные компьютеры] igor
Строка 211: Строка 211:
 Заметим, что при программировании на бесструктурных языках типа Фортрана нам никто не запрещает придерживаться структурного принципа (в современных версиях языка введены даже соответствующие операторы). Но на Фортране это вопрос самодисциплины. В конечном счете - вопрос культуры каждого конкретного программиста. А на Алголе этот принцип возведен в ранг обязательного, поэтому все мало-мальски современные языки, начиная со средневекового Паскаля, построены на структурном принципе и таким образом являются потомками Алгола. \\ Заметим, что при программировании на бесструктурных языках типа Фортрана нам никто не запрещает придерживаться структурного принципа (в современных версиях языка введены даже соответствующие операторы). Но на Фортране это вопрос самодисциплины. В конечном счете - вопрос культуры каждого конкретного программиста. А на Алголе этот принцип возведен в ранг обязательного, поэтому все мало-мальски современные языки, начиная со средневекового Паскаля, построены на структурном принципе и таким образом являются потомками Алгола. \\
 На смену Алголу был предложен **ПЛ-1** (PL/1, 1964 г., фирма "ИБМ" в рамках проекта IBM/360), затем появилось множество других языков. "Иных уж нет, а те далече"... \\ На смену Алголу был предложен **ПЛ-1** (PL/1, 1964 г., фирма "ИБМ" в рамках проекта IBM/360), затем появилось множество других языков. "Иных уж нет, а те далече"... \\
-Появление ПЛ-1 поначалу было принято программистами, мягко говоря, прохладно: они думали, что теперь их заставят все прежние программы переписывать на новый язык. Однако этот психологический барьер был преодолен, и новые языки стали создаваться один за другим, как новые сорта тюльпанов. Аналогия с тюльпанами особенно уместна потому, что большинство вновь создаваемых языков не представляло собой ничего принципиально нового. Вот и ПЛ-1 не стал новой ступенью эволюции по отношению к Алголу (а по каким, собственно, основаниям от него этого ожидали?) и сошел со сцены еще раньше своего прототипа. И поделом: с запозданием осознав преимущества Алгола, ИБМ, вместо того чтобы признать свою неправоту и скорректировать курс, затеяла разработку чисто конкурентного языка, не предлагавшего ничего нового в сравнении с прототипом. В средние века ИБМ повторит эту стратегическую ошибку: будет разрабатывать операционную систему ОС-2 (OS/2), которая призвана заменить ДОС, по сути не предлагая ничего нового взамен... \\ +Появление ПЛ-1 поначалу было принято программистами, мягко говоря, прохладно: они думали, что теперь их заставят все прежние программы переписывать на новый язык. Однако этот психологический барьер был преодолен, и новые языки стали создаваться один за другим, как новые сорта тюльпанов. Аналогия с тюльпанами особенно уместна потому, что большинство вновь создаваемых языков не представляло собой ничего принципиально нового. Вот и ПЛ-1 не стал новой ступенью эволюции по отношению к Алголу (а по каким, собственно, основаниям от него этого ожидали?) и сошел со сцены еще раньше своего прототипа. И поделом: с запозданием осознав преимущества Алгола, ИБМ, вместо того чтобы признать свою неправоту и скорректировать курс, затеяла разработку чисто конкурентного языка, не предлагавшего ничего нового в сравнении с прототипом. В средние века ИБМ повторит эту стратегическую ошибку: будет разрабатывать операционную систему ОС-2 (OS/2), которая была призвана заменить ДОС, по сути не предлагая ничего нового взамен... \\ 
-Язык высокого уровня, в противоположность ассемблеру, всегда - математическая абстракция, описывающая некоторый "компьютер вообще". В нем нет (по крайней мере не должно быть) элементов, связанных с особенностями устройства какой-либо машины. Соответственно от программы, написанной на таком языке, мы ждем //переносимости//, т. е. возможности исполнять ее на любом компьютере, а не только на том, для которого она была изначально написана. На практике переносимость чаще всего бывает лишь частичной, т. к. не все компиляторы и не все операционные системы строго однозначно понимают все, что может быть записано в программе. Переносимость - чрезвычайно важное свойство программы, но оно не бесплатно: при написании программы на языке высокого уровня программист не может использовать тонкие возможности конкретного компьютера, так что программа выполняется медленнее и зачастую требует больше памяти, чем аналогичная программа на ассемблере. \\+Язык высокого уровня, в противоположность ассемблеру, всегда - математическая абстракция, описывающая некоторый "компьютер вообще". В нем нет (по крайней мере не должно быть) элементов, связанных с особенностями устройства какой-либо машины. Соответственно от программы, написанной на таком языке, мы ждем //переносимости//, или //кроссплатформенности//, т. е. возможности исполнять ее на любом компьютере, а не только на том, для которого она была изначально написана. На практике переносимость чаще всего бывает лишь частичной, т. к. не все компиляторы и не все операционные системы строго однозначно понимают все, что может быть записано в программе. Переносимость - чрезвычайно важное свойство программы, но оно не бесплатно: при написании программы на языке высокого уровня программист не может использовать тонкие возможности конкретного компьютера, так что программа выполняется медленнее и зачастую требует больше памяти, чем аналогичная программа на ассемблере. \\
 Алгол, Кобол и Фортран знаменуют собой древнекомпьютерную цивилизацию. Вот я это написал и соображаю: не забыл ли чего? Очень похоже, что не забыл. Древние люди отнюдь не стремились к разнообразию языков. Более того: они были ПРОТИВ разнообразия, потому что у них были в жизни другие приоритеты. И если мы серьезные историки, то мы просто обязаны в этих приоритетах разобраться. \\ Алгол, Кобол и Фортран знаменуют собой древнекомпьютерную цивилизацию. Вот я это написал и соображаю: не забыл ли чего? Очень похоже, что не забыл. Древние люди отнюдь не стремились к разнообразию языков. Более того: они были ПРОТИВ разнообразия, потому что у них были в жизни другие приоритеты. И если мы серьезные историки, то мы просто обязаны в этих приоритетах разобраться. \\
 Во-первых, поскольку основные пользователи Фортрана - ученые, то Фортран для них - инструмент научного познания. В науке ни одно достижение не утверждается само собой: оно требует обсуждения, обоснования, доказательств. Соответственно программа должна быть написана так, чтобы была понятна коллегам-ученым. А поскольку большинство коллег - не профессиональные программисты (да еще и инглиш в школе не все хорошо учили, да и не всем его хорошо преподавали), изучение множества языков для них было бы совершенно непопутно. Нужен такой язык, чтобы один на всех, язык как средство международного общения. Фортран, будучи предельно простым для изучения (в сравнении с другими языками), этому требованию удовлетворял. \\ Во-первых, поскольку основные пользователи Фортрана - ученые, то Фортран для них - инструмент научного познания. В науке ни одно достижение не утверждается само собой: оно требует обсуждения, обоснования, доказательств. Соответственно программа должна быть написана так, чтобы была понятна коллегам-ученым. А поскольку большинство коллег - не профессиональные программисты (да еще и инглиш в школе не все хорошо учили, да и не всем его хорошо преподавали), изучение множества языков для них было бы совершенно непопутно. Нужен такой язык, чтобы один на всех, язык как средство международного общения. Фортран, будучи предельно простым для изучения (в сравнении с другими языками), этому требованию удовлетворял. \\
Строка 288: Строка 288:
 {{igor:korabli_-_s189_-_scvm_klejster.jpg?400}} \\ {{igor:korabli_-_s189_-_scvm_klejster.jpg?400}} \\
 На этой лодке эта машина неродная: она датируется концом 1970-х годов, тогда как сама лодка построена в 1950-е. По сути "Клейстер-Н" - это калькулятор, предназначенный в основном для штурманских вычислений. "Клейстер" - ближайший родственник 15-ВСМ-5, о которой мы уже говорили. \\ На этой лодке эта машина неродная: она датируется концом 1970-х годов, тогда как сама лодка построена в 1950-е. По сути "Клейстер-Н" - это калькулятор, предназначенный в основном для штурманских вычислений. "Клейстер" - ближайший родственник 15-ВСМ-5, о которой мы уже говорили. \\
-В 70-е годы в нашей стране построена серия ракетных крейсеров проекта 1164 (в интернете чаще всего можно встретить "Москву" - бывшую "Славу"). На этих кораблях был установлен централизованный вычислительный комплекс, который у моряков получил название БИУС - боевая информационно-управляющая система. "Сердцем" БИУС является ЦВМ "Атака" (строилась серийно на НПО "Агат" в 1976-1990 г., построено 255 шт.). БИУС могла решать несколько десятков типовых задач: как по управлению кораблем, так и по наведению оружия. Круг задач, которые должны были решаться на этой машине, был четко оговорен к началу ее проектирования, поэтому создатели БИУС "заточили" свое изделие под эти задачи, трезво сознавая, что попытка приспособить машину для решения "неродных" задач может оказаться неудачной. Компьютер, проектируемый по такому принципу, называется //специализированным//. Для древней эпохи такие компьютеры были совершенно нехарактерны, а средневековье отмечено их появлением и развитием. С тех давних времен и до наших дней бортовые компьютеры на кораблях и самолетах - всегда специализированные, хотя в наше время они на 3/4 и более собираются из деталей от универсальных компьютеров. \\+В 70-е годы в нашей стране построена серия ракетных крейсеров проекта 1164 (в интернете чаще всего можно встретить "Москву" - бывшую "Славу", увы, погибшую 14 апреля 2022 г.). На этих кораблях был установлен централизованный вычислительный комплекс, который у моряков получил название БИУС - боевая информационно-управляющая система. "Сердцем" БИУС является ЦВМ "Атака" (строилась серийно на НПО "Агат" в 1976-1990 г., построено 255 шт.). БИУС могла решать несколько десятков типовых задач: как по управлению кораблем, так и по наведению оружия. Круг задач, которые должны были решаться на этой машине, был четко оговорен к началу ее проектирования, поэтому создатели БИУС "заточили" свое изделие под эти задачи, трезво сознавая, что попытка приспособить машину для решения "неродных" задач может оказаться неудачной. Компьютер, проектируемый по такому принципу, называется //специализированным//. Для древней эпохи такие компьютеры были совершенно нехарактерны, а средневековье отмечено их появлением и развитием. С тех давних времен и до наших дней бортовые компьютеры на кораблях и самолетах - всегда специализированные, хотя в наше время они на 3/4 и более собираются из деталей от универсальных компьютеров. \\
 Семейство корабельных ЭВМ "Карат" еще даже более интересно, чем "Атака". Разработка была начата еще в 1963 г. в Киевском НИИ радиоэлектроники, но шла небыстро, т. к. требование создать максимально компактную, экономичную и при этом быстродействующую машину было на пределе того, что позволяла тогдашняя элементная база. "Карат" остается едва ли не единственным представителем ЭВМ на больших гибридных микросхемах (нечто похожее было в первых американских IBM/360, но сейчас уже трудно сказать, насколько они были сходны или различны). Машины были 24-разрядные с фиксированной запятой и имели весьма высокое для своего времени быстродействие: позднейшие представители семейства достигали 2.5 миллионов операций в секунду. \\ Семейство корабельных ЭВМ "Карат" еще даже более интересно, чем "Атака". Разработка была начата еще в 1963 г. в Киевском НИИ радиоэлектроники, но шла небыстро, т. к. требование создать максимально компактную, экономичную и при этом быстродействующую машину было на пределе того, что позволяла тогдашняя элементная база. "Карат" остается едва ли не единственным представителем ЭВМ на больших гибридных микросхемах (нечто похожее было в первых американских IBM/360, но сейчас уже трудно сказать, насколько они были сходны или различны). Машины были 24-разрядные с фиксированной запятой и имели весьма высокое для своего времени быстродействие: позднейшие представители семейства достигали 2.5 миллионов операций в секунду. \\
 Характерная черта средневековых бортовых компьютеров - их программное обеспечение. Операционной системы как таковой в них нет. Вместо ОС может быть небольшая программа - диспетчер, функции которой сводятся к запуску прикладных программ на выполнение по команде пользователя. Все программы, нужные для работы, не хранятся на перфокартах и т. п., а записываются в постоянное запоминающее устройство (ПЗУ), емкость которого (так уж по жизни сложилось) обычно в 4..16 раз больше емкости ОЗУ. Ни редакторов, ни компиляторов, ни линковщиков на таких компьютерах не бывает, так что разработка программ может производиться только на //инструментальной машине//, также как для нынешних микроконтроллеров. Средневековые ПЗУ выполнялись на ферритовых сердечниках, и установка новой программы выполнялась вручную путем продевания длинного тонкого провода в отверстия сердечников. Внешне эта работа напоминала шитьё, и с тех пор для этой операции закрепился термин "прошивка". В наше время соответствующая работа производится чисто электрическими методами, легко и быстро, а в то время это была очень трудоемкая работа, и возможна она была только в заводских условиях. \\ Характерная черта средневековых бортовых компьютеров - их программное обеспечение. Операционной системы как таковой в них нет. Вместо ОС может быть небольшая программа - диспетчер, функции которой сводятся к запуску прикладных программ на выполнение по команде пользователя. Все программы, нужные для работы, не хранятся на перфокартах и т. п., а записываются в постоянное запоминающее устройство (ПЗУ), емкость которого (так уж по жизни сложилось) обычно в 4..16 раз больше емкости ОЗУ. Ни редакторов, ни компиляторов, ни линковщиков на таких компьютерах не бывает, так что разработка программ может производиться только на //инструментальной машине//, также как для нынешних микроконтроллеров. Средневековые ПЗУ выполнялись на ферритовых сердечниках, и установка новой программы выполнялась вручную путем продевания длинного тонкого провода в отверстия сердечников. Внешне эта работа напоминала шитьё, и с тех пор для этой операции закрепился термин "прошивка". В наше время соответствующая работа производится чисто электрическими методами, легко и быстро, а в то время это была очень трудоемкая работа, и возможна она была только в заводских условиях. \\
igor/istoria.txt · Последнее изменение: 2022/05/01 18:15 — igor