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

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


igor:istoria

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
Следующая версияСледующая версия справа и слева
igor:istoria [2019/07/12 23:40] – [Программирование в новое время] igorigor:istoria [2019/09/02 22:36] – [До середины ХХ века - первобытная эпоха] igor
Строка 12: Строка 12:
 Леонардо да Винчи около 1500 года предложил счетную машинку с колесами. В последующие века было создано множество моделей машин, которые содержали колеса с нанесенными на них цифрами и по сути были потомками машинки Леонардо да Винчи. В XVII веке немец В. Шиккард, француз Б. Паскаль, голландец Г. Лейбниц предложили свои образцы механических калькуляторов, способных выполнять арифметические действия с многоразрядными числами. \\ Леонардо да Винчи около 1500 года предложил счетную машинку с колесами. В последующие века было создано множество моделей машин, которые содержали колеса с нанесенными на них цифрами и по сути были потомками машинки Леонардо да Винчи. В XVII веке немец В. Шиккард, француз Б. Паскаль, голландец Г. Лейбниц предложили свои образцы механических калькуляторов, способных выполнять арифметические действия с многоразрядными числами. \\
 Сейчас я хочу подвести читателя к мысли, которая будет лейтмотивом всей этой статьи. Эта мысль кажется очевидной для экономически грамотного человека, но раньше ни в каких книгах и статьях по вычислительной технике мне не встречалась. Мысль такая: вычислительная техника не живет в каком-то своем, отдельном, замкнутом мирке - она существует в мире, населенном людьми. А людям свойственно совершать поступки, руководствуясь не хочуками-нехочуками, а __коммерческим интересом__. В истории человечества новая техника появлялась много раз, и каждый раз она появлялась там и тогда, где и когда совпадали два условия: у людей накапливался для этой техники значительный объем работы, и за эту работу они были готовы платить. Так в XIX веке пароходы и железные дороги появились потому, что лошади больше не справлялись с возросшим объемом торговых грузоперевозок. А в XX веке автомобили и самолеты появились потому, что уже пароходы и железные дороги не справлялись... Но мы сейчас говорим о XVII веке, когда люди ездили на лошадях, дрались на шпагах, мололи хлеб на водяных мельницах, а по морю ходили под парусами. 90% населения голубого шарика были совершенно неграмотны, стало быть считать не умели, но жили без этого спокойно и ни в какой вычислительной технике не ощущали нужды. И замысловатые машинки с множеством прецизионных металлических деталей смотрелись как курьезы и могли заинтересовать только таких же чудаков, как и их создатели. Мы увидим, что и позже уровень развития вычислительной техники и ее распространенность на планете прямо коррелируются с уровнем грамотности населения. \\ Сейчас я хочу подвести читателя к мысли, которая будет лейтмотивом всей этой статьи. Эта мысль кажется очевидной для экономически грамотного человека, но раньше ни в каких книгах и статьях по вычислительной технике мне не встречалась. Мысль такая: вычислительная техника не живет в каком-то своем, отдельном, замкнутом мирке - она существует в мире, населенном людьми. А людям свойственно совершать поступки, руководствуясь не хочуками-нехочуками, а __коммерческим интересом__. В истории человечества новая техника появлялась много раз, и каждый раз она появлялась там и тогда, где и когда совпадали два условия: у людей накапливался для этой техники значительный объем работы, и за эту работу они были готовы платить. Так в XIX веке пароходы и железные дороги появились потому, что лошади больше не справлялись с возросшим объемом торговых грузоперевозок. А в XX веке автомобили и самолеты появились потому, что уже пароходы и железные дороги не справлялись... Но мы сейчас говорим о XVII веке, когда люди ездили на лошадях, дрались на шпагах, мололи хлеб на водяных мельницах, а по морю ходили под парусами. 90% населения голубого шарика были совершенно неграмотны, стало быть считать не умели, но жили без этого спокойно и ни в какой вычислительной технике не ощущали нужды. И замысловатые машинки с множеством прецизионных металлических деталей смотрелись как курьезы и могли заинтересовать только таких же чудаков, как и их создатели. Мы увидим, что и позже уровень развития вычислительной техники и ее распространенность на планете прямо коррелируются с уровнем грамотности населения. \\
-**//Компьютерный палеолит//** - эпоха, когда никакие вычислительные устройства не имели перспектив ни промышленного производства, ни промышленного применения. Эта эпоха продолжалась до 1820 г., пока Т. де Кальмар во Франции не наладил промышленный выпуск колесных вычислительных машин, получивших название арифмометров. Основной областью применения арифмометров до самого окончания их выпуска была и осталась бухгалтерия. Позже арифмометры стали строиться и в других странах. В нашей стране новейшая модель "Феликс" производилась миллионными тиражами и продавалась года примерно до 1980-го. А вот любопытный экспонат петербургского Музея связи - счетно-суммирующая машина СДУ-138, датируемая серединой XX века. По большому счету, тот же арифмометр: \\+**//Компьютерный палеолит//** - эпоха, когда никакие вычислительные устройства не имели перспектив ни промышленного производства, ни промышленного применения. Эта эпоха продолжалась до 1820 г., пока Т. де Кальмар во Франции не наладил промышленный выпуск колесных вычислительных машин, получивших название арифмометров. Основной областью применения арифмометров до самого окончания их выпуска была и осталась бухгалтерия. Позже арифмометры стали строиться и в других странах. В нашей стране новейшая модель "Феликс" производилась миллионными тиражами с 1929 по 1978 гг. А вот любопытный экспонат петербургского Музея связи - счетно-суммирующая машина СДУ-138, датируемая серединой XX века. По большому счету, тот же арифмометр: \\
 {{igor:istoria-sdu138.jpg?400}} \\ {{igor:istoria-sdu138.jpg?400}} \\
 Среди арифмометров были немногочисленные "умные" образцы, но большинство было попроще: они могли выполнять только сложение и вычитание. \\ Среди арифмометров были немногочисленные "умные" образцы, но большинство было попроще: они могли выполнять только сложение и вычитание. \\
Строка 437: Строка 437:
 ==== Программирование в новое время ==== ==== Программирование в новое время ====
 Рассматривая программирование в __древние__ времена, мы заметили, что компьютеры имели мало оперативной памяти, из-за чего программист должен был писать программу так, чтобы количество команд в ней было минимальным, а польза от каждой команды - максимальной. Это требование никак невозможно было обойти, поэтому мы назвали его категорическим императивом программирования. Компьютеры __средних веков__ имели гораздо больше оперативной памяти и прощали некоторую избыточность команд, но мечта программистов о райской жизни на земле не сбылась (в очередной раз, и можно не сомневаться - не в последний): средневековые задачи требовали программ большого объема. В __новое время__ компьютеров стало реально много, задач для них - тоже, так что объем работ для программистов еще прибавился. Как решить проблему нехватки рабочих рук в программировании? С наших сегодняшних позиций просматриваются следующие варианты: \\ Рассматривая программирование в __древние__ времена, мы заметили, что компьютеры имели мало оперативной памяти, из-за чего программист должен был писать программу так, чтобы количество команд в ней было минимальным, а польза от каждой команды - максимальной. Это требование никак невозможно было обойти, поэтому мы назвали его категорическим императивом программирования. Компьютеры __средних веков__ имели гораздо больше оперативной памяти и прощали некоторую избыточность команд, но мечта программистов о райской жизни на земле не сбылась (в очередной раз, и можно не сомневаться - не в последний): средневековые задачи требовали программ большого объема. В __новое время__ компьютеров стало реально много, задач для них - тоже, так что объем работ для программистов еще прибавился. Как решить проблему нехватки рабочих рук в программировании? С наших сегодняшних позиций просматриваются следующие варианты: \\
-* Разрабатывать новые технологии, повышающие производительность труда программистов. Если продолжить нашу аналогию с паровозами, то на железнодорожном транспорте прогрессивной технологией является электрификация дорог: электровоз, по размерам и весу сходный с паровозом, может иметь бОльшую мощность, а значит везти бОльший груз... А что у нас? Похоже, что ничего. Вопрос о создании прогрессивных технологий на смену старому +* Разработка новых технологий, повышающих производительность труда программистов. Если продолжить нашу аналогию с паровозами, то на железнодорожном транспорте прогрессивной технологией является электрификация дорог: электровоз, по размерам и весу сходный с паровозом, может иметь бОльшую мощность, а значит везти бОльший груз... А что у нас? Похоже, что ничего. Вопрос о создании прогрессивных технологий на смену старому 
 верному Алголу никогда и никем даже не ставился, а если вопрос не ставить, то и ответа на него ждать не приходится (еще раз акцентирую внимание на том, что язык Си прогрессивной технологией по отношению к Алголу не является). \\ верному Алголу никогда и никем даже не ставился, а если вопрос не ставить, то и ответа на него ждать не приходится (еще раз акцентирую внимание на том, что язык Си прогрессивной технологией по отношению к Алголу не является). \\
-* Наращивать количество учебных мест в институтах, готовящих программистов. Решение вроде бы очевидное, но есть подводный камень: сколько бы мы ни создавали учебных мест, на них будут приходить люди, при всем достаточном IQ не обладающие нужными деловыми качествами. Вложить в них профессиональные знания не проблема, а вот научить их самостоятельно разрабатывать качественный продукт - к этому институтские преподаватели не готовы в принципе. В других профессиях, как рабочих, так и инженерных, деловые качества не играют такой важной роли, как у нас. \\+* Наращивание количества учебных мест в институтах, готовящих программистов. Решение вроде бы очевидное, но есть подводный камень: сколько бы мы ни создавали учебных мест, на них будут приходить люди, при всем достаточном IQ не обладающие нужными деловыми качествами. Вложить в них профессиональные знания не проблема, а вот научить их самостоятельно разрабатывать качественный продукт - к этому институтские преподаватели не готовы в принципе. В других профессиях, как рабочих, так и инженерных, деловые качества не играют такой важной роли, как у нас. \\ 
 +* Коммерческая (и некоммерческая) разработка программ: хотя пользователей очень много, среди них совсем немного таких, которые решают какие-то свои, совершенно индивидуальные задачи. У большинства пользователей задачи абсолютно типовые. \\
 * "Программирование без программирования": создать сейчас такую программу, с помощью которой конечный пользователь впоследствии мог бы решать новые задачи, не прибегая к услугам программиста. \\ * "Программирование без программирования": создать сейчас такую программу, с помощью которой конечный пользователь впоследствии мог бы решать новые задачи, не прибегая к услугам программиста. \\
 * Вовлечь в разработку программ людей, не обладающих высокой профессиональной подготовкой, путем разработки "суррогатных" технологий программирования. \\ * Вовлечь в разработку программ людей, не обладающих высокой профессиональной подготовкой, путем разработки "суррогатных" технологий программирования. \\
igor/istoria.txt · Последнее изменение: 2022/05/01 18:15 — igor