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

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


igor:istoria

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
Следующая версияСледующая версия справа и слева
igor:istoria [2019/07/10 00:43] – [Советские цифровые ЭВМ 1950-х-1960-х годов] igorigor:istoria [2019/07/10 23:01] – [Компьютеризированные расчетно-платежные системы] igor
Строка 436: Строка 436:
 Заканчивая разговор об операционных системах нового времени, я хотел бы обратить внимание читателей вот на какой аспект. Ни Столлман, ни Торвальдс не были бунтарями или новаторами. Они только хотели сделать программное обеспечение доступным для всех, и они это сделали, но не ставили перед собой амбициозных задач типа перелома исторических эпох - они шли в кильватере UNIX. Так идеология операционной системы, разрабатывавшаяся еще в 70-е годы XX века, оказалась законсервирована в новых изделиях. Чуть позже мы будем рассматривать новейшее компьютерное время, практически совпадающее с XXI веком, но в области операционных систем никакого новейшего времени мы не наблюдаем, и в главе "Новейшее компьютерное время" разговора об операционных системах не будет. \\ \\ Заканчивая разговор об операционных системах нового времени, я хотел бы обратить внимание читателей вот на какой аспект. Ни Столлман, ни Торвальдс не были бунтарями или новаторами. Они только хотели сделать программное обеспечение доступным для всех, и они это сделали, но не ставили перед собой амбициозных задач типа перелома исторических эпох - они шли в кильватере UNIX. Так идеология операционной системы, разрабатывавшаяся еще в 70-е годы XX века, оказалась законсервирована в новых изделиях. Чуть позже мы будем рассматривать новейшее компьютерное время, практически совпадающее с XXI веком, но в области операционных систем никакого новейшего времени мы не наблюдаем, и в главе "Новейшее компьютерное время" разговора об операционных системах не будет. \\ \\
 ==== Программирование в новое время ==== ==== Программирование в новое время ====
-Рассматривая программирование в __древние__ времена, мы заметили, что компьютеры имели мало оперативной памяти, из-за чего программист должен был писать программу так, чтобы количество команд в ней было минимальным, а польза от каждой команды - максимальной. Это требование никак невозможно было обойти, поэтому мы назвали его категорическим императивом программирования. Компьютеры __средних веков__ имели гораздо больше оперативной памяти и прощали некоторую избыточность команд, но мечта программистов о райской жизни на земле в очередной раз не сбылась (и можно не сомневаться - не в последний): средневековые задачи требовали программ большого объема.  +Рассматривая программирование в __древние__ времена, мы заметили, что компьютеры имели мало оперативной памяти, из-за чего программист должен был писать программу так, чтобы количество команд в ней было минимальным, а польза от каждой команды - максимальной. Это требование никак невозможно было обойти, поэтому мы назвали его категорическим императивом программирования. Компьютеры __средних веков__ имели гораздо больше оперативной памяти и прощали некоторую избыточность команд, но мечта программистов о райской жизни на земле не сбылась (в очередной рази можно не сомневаться - не в последний): средневековые задачи требовали программ большого объема. В __новое время__ компьютеров стало реально много, задач для них тоже, так что объем работ для программистов еще прибавился. Как решить проблему нехватки рабочих рук в программировании? С наших сегодняшних позиций просматриваются следующие варианты: \\ 
-В __новое время__ компьютеров стало реально много, задач для них тоже меньше не стало, так что объем работ для программистов еще прибавился. Как решить проблему нехватки рабочих рук в программировании? С наших сегодняшних позиций просматриваются следующие варианты: \\ +* Разрабатывать новые технологии, повышающие производительность труда программистов. Если продолжить нашу аналогию с паровозами, то на железнодорожном транспорте прогрессивной технологией является электрификация дорог: электровоз, по размерам и весу сходный с паровозом, может иметь бОльшую мощность, а значит везти бОльший груз... А что у нас? Похожечто ничего. Вопрос о создании прогрессивных технологий на смену старому 
-* Разрабатывать новые технологии, повышающие производительность труда программистов. Если продолжить нашу аналогию с паровозами, то на железнодорожном транспорте прогрессивной технологией является электрификация дорог. А что у нас? Похоже что ничего. Вопрос о создании прогрессивных технологий на смену старому +
 верному Алголу никогда и никем даже не ставился, а если вопрос не ставить, то и ответа на него ждать не приходится (еще раз акцентирую внимание на том, что язык Си прогрессивной технологией по отношению к Алголу не является). \\ верному Алголу никогда и никем даже не ставился, а если вопрос не ставить, то и ответа на него ждать не приходится (еще раз акцентирую внимание на том, что язык Си прогрессивной технологией по отношению к Алголу не является). \\
 * Наращивать количество учебных мест в институтах, готовящих программистов. Решение вроде бы очевидное, но есть подводный камень: сколько бы мы ни создавали учебных мест, на них будут приходить люди, при всем достаточном IQ не обладающие нужными деловыми качествами. Вложить в них профессиональные знания не проблема, а вот научить их самостоятельно разрабатывать качественный продукт - к этому институтские преподаватели не готовы в принципе. В других профессиях, как рабочих, так и инженерных, деловые качества не играют такой важной роли, как у нас. \\ * Наращивать количество учебных мест в институтах, готовящих программистов. Решение вроде бы очевидное, но есть подводный камень: сколько бы мы ни создавали учебных мест, на них будут приходить люди, при всем достаточном IQ не обладающие нужными деловыми качествами. Вложить в них профессиональные знания не проблема, а вот научить их самостоятельно разрабатывать качественный продукт - к этому институтские преподаватели не готовы в принципе. В других профессиях, как рабочих, так и инженерных, деловые качества не играют такой важной роли, как у нас. \\
-* "Программирование без программирования": создать сейчас такую программу, с помощью которой конечный пользователь впоследствии мог бы решать новые задачи, не обращаясь к программисту. \\+* "Программирование без программирования": создать сейчас такую программу, с помощью которой конечный пользователь впоследствии мог бы решать новые задачи, не прибегая к услугам программиста. \\
 * Вовлечь в разработку программ людей, не обладающих высокой профессиональной подготовкой, путем разработки "суррогатных" технологий программирования. \\ * Вовлечь в разработку программ людей, не обладающих высокой профессиональной подготовкой, путем разработки "суррогатных" технологий программирования. \\
-=== Задачи, языки и технологии программирования===+=== Задачи, языки и технологии программирования ===
 В новое время программирование как единая профессия, по большому счету, перестало существовать. Вместо одной мы получили множество профессий, для каждой из которых характерны свои инструменты и свои приемы работы, зачастую настолько различные, что переход из одной области программирования в другую может оказаться весьма затруднительным. \\ В новое время программирование как единая профессия, по большому счету, перестало существовать. Вместо одной мы получили множество профессий, для каждой из которых характерны свои инструменты и свои приемы работы, зачастую настолько различные, что переход из одной области программирования в другую может оказаться весьма затруднительным. \\
 **Программирование мелкокаменное и крупнокаменное**. В обиходе камнем называют процессор, а мелко - по-гречески микро, так что мелкокаменная техника - это микропроцессоры и микроконтроллеры, и мелкокаменное программирование соответственно. \\ **Программирование мелкокаменное и крупнокаменное**. В обиходе камнем называют процессор, а мелко - по-гречески микро, так что мелкокаменная техника - это микропроцессоры и микроконтроллеры, и мелкокаменное программирование соответственно. \\
Строка 449: Строка 448:
 киповцев и электриков специальный, притом машино-независимый, язык - идея очевидно вполне здравая... Но чтобы здравая идея получила столь же здравое воплощение в металл, нужны соответствующие научные исследования и опытно-конструкторские разработки, а вот тут у кого-то что-то не сконтачилось. Международная электротехническая комиссия (МЭК), вместо того чтобы __разрабатывать__ стандарт мелкокаменного языка (а разработка стандартов - ее непосредственная трудовая функция), слепила его из того, что было, а потом, как это обычно и бывает в жизни, "что было, то и полюбила": в стандарт вошли не один, а целых 5 языков (мы их рассмотрим чуть подробнее в главе "Микроконтроллеры"). Они появились стихийно в разное время в разных странах, каждый из них (при всей несомненной пользе) имел свои кривоватости и шероховатости, а когда 5 языков попытались объединить в нечто целое, эти шероховатости никуда не исчезли - наоборот, проявились еще сильнее. Неудивительно, что до конца нового времени МЭКовские языки так и не составили сколько-нибудь серьезной альтернативы ассемблеру. И даже в новейшую эпоху, когда все программирующее человечество уже послало ассемблеру последний прощальный поцелуй, МЭКовские языки так и не заняли преобладающего положения на рынке, уступив место языку Си. \\ киповцев и электриков специальный, притом машино-независимый, язык - идея очевидно вполне здравая... Но чтобы здравая идея получила столь же здравое воплощение в металл, нужны соответствующие научные исследования и опытно-конструкторские разработки, а вот тут у кого-то что-то не сконтачилось. Международная электротехническая комиссия (МЭК), вместо того чтобы __разрабатывать__ стандарт мелкокаменного языка (а разработка стандартов - ее непосредственная трудовая функция), слепила его из того, что было, а потом, как это обычно и бывает в жизни, "что было, то и полюбила": в стандарт вошли не один, а целых 5 языков (мы их рассмотрим чуть подробнее в главе "Микроконтроллеры"). Они появились стихийно в разное время в разных странах, каждый из них (при всей несомненной пользе) имел свои кривоватости и шероховатости, а когда 5 языков попытались объединить в нечто целое, эти шероховатости никуда не исчезли - наоборот, проявились еще сильнее. Неудивительно, что до конца нового времени МЭКовские языки так и не составили сколько-нибудь серьезной альтернативы ассемблеру. И даже в новейшую эпоху, когда все программирующее человечество уже послало ассемблеру последний прощальный поцелуй, МЭКовские языки так и не заняли преобладающего положения на рынке, уступив место языку Си. \\
 Про технологии крупнокаменного программирования буквально пара слов. Новое время отмечено окончательным отказом как от древних технологий, основанных на потоковом вводе данных, так и от средневековых, ориентированных на использование телетайпов и пишущих машинок. На языках остановимся более подробно, но чуть ниже. \\ Про технологии крупнокаменного программирования буквально пара слов. Новое время отмечено окончательным отказом как от древних технологий, основанных на потоковом вводе данных, так и от средневековых, ориентированных на использование телетайпов и пишущих машинок. На языках остановимся более подробно, но чуть ниже. \\
-**Программирование системное и прикладное**. В главе "Компьютерные средние века" мы рассмотрели целый ряд языков и отметили, что с тех пор и до наших дней в этой области не произошло никаких революционных изменений. Сказанное не означает, что никаких событий вообще не произошло. \\+**Программирование системное и прикладное**. В главе "Компьютерные средние века" мы рассмотрели целый ряд языков и отметили, что с тех пор и до наших дней в этой области не произошло революционных изменений. Сказанное не означает, что никаких событий вообще не произошло. \\
 В 90-е годы XX века имела место коренная ревизия языкового "арсенала". Если языком N1 в древности был Фортран, а в средние века Бэйсик, то к началу нового времени из всех ранее известных языков остался, по большому счету, только Си. Подчеркиваю: по большому счету, потому что Кобол, Ада и даже Фортран никуда не исчезали, просто их доля в общем объеме разработок программного обеспечения значительно уменьшилась, а ПЛ-1, Паскаль и много других языков практически вышли из употребления. \\ В 90-е годы XX века имела место коренная ревизия языкового "арсенала". Если языком N1 в древности был Фортран, а в средние века Бэйсик, то к началу нового времени из всех ранее известных языков остался, по большому счету, только Си. Подчеркиваю: по большому счету, потому что Кобол, Ада и даже Фортран никуда не исчезали, просто их доля в общем объеме разработок программного обеспечения значительно уменьшилась, а ПЛ-1, Паскаль и много других языков практически вышли из употребления. \\
 В чем секрет долгожительства тех или иных языков? \\ В чем секрет долгожительства тех или иных языков? \\
Строка 521: Строка 520:
 ==== Компьютеризированные расчетно-платежные системы ==== ==== Компьютеризированные расчетно-платежные системы ====
 Когда мы говорим о компьютеризированных расчетно-платежных системах, первое, что приходит на ум непрофессиональному читателю, - это банковские карты, однако это неправильно: карты - это только верхушка айсберга. \\ Когда мы говорим о компьютеризированных расчетно-платежных системах, первое, что приходит на ум непрофессиональному читателю, - это банковские карты, однако это неправильно: карты - это только верхушка айсберга. \\
-Первые банковские карты появились в США и других экономически передовых странах еще в 50-е годы XX века, но, как это всегда и бывает, до поры-до времени они были экзотикой. В СССР ничего подобного, разумеется, быть не могло. Массовому распространению карт препятствовала высокая стоимость как самих карт, так и оборудования для их чтения, а также трудности подключения к компьютерным сетям в большинстве мест, где люди хотели бы такими картами пользоваться (магазины, автозаправочные станции...). Мировой компьютерной Сети в те времена еще не было, не было единого стандарта конструкции карт, не было согласия между банками по поводу построения единой расчетно-платежной системы. С годами, однако, эти мешающие факторы были постепенно преодолены. \\+Первые банковские карты появились еще в 50-е годы XX века в США и других экономически передовых странах, но, как это всегда и бывает, до поры-до времени они были экзотикой. Массовому распространению карт препятствовала высокая стоимость как самих карт, так и оборудования для их чтения, а также трудности подключения к компьютерным сетям в большинстве мест, где люди хотели бы такими картами пользоваться (магазины, автозаправочные станции...). Мировой компьютерной Сети в те времена еще не было, не было единого стандарта конструкции карт, не было согласия между банками по поводу построения единой расчетно-платежной системы. С годами, однако, эти мешающие факторы были постепенно преодолены. \\ 
 +В СССР ничего подобного, разумеется, быть не могло. \\
 Как работает банковская карта? \\ Как работает банковская карта? \\
 Прежде всего оговоримся, что карта, точно так же как использовавшаяся ранее чековая книжка, - не кошелек, деньги хранятся не в ней. Они хранятся в банке, на нашем банковском счете. Соответственно потеря карты не означает потери денег, а попадание карты в руки постороннего человека, вообще говоря, не гарантирует ему возможности присвоить наши деньги. Это очень важно, потому что если мы держим наличные деньги в кошельке и кошелек достается постороннему человеку, то и с самим кошельком, и с его содержимым нам придется распрощаться. Если же мы хотим расплатиться, допустим, за бензин на автозаправке, то мы вставляем карту в имеющийся там  Прежде всего оговоримся, что карта, точно так же как использовавшаяся ранее чековая книжка, - не кошелек, деньги хранятся не в ней. Они хранятся в банке, на нашем банковском счете. Соответственно потеря карты не означает потери денег, а попадание карты в руки постороннего человека, вообще говоря, не гарантирует ему возможности присвоить наши деньги. Это очень важно, потому что если мы держим наличные деньги в кошельке и кошелек достается постороннему человеку, то и с самим кошельком, и с его содержимым нам придется распрощаться. Если же мы хотим расплатиться, допустим, за бензин на автозаправке, то мы вставляем карту в имеющийся там 
igor/istoria.txt · Последнее изменение: 2022/05/01 18:15 — igor