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

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


igor:istoria

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
Следующая версияСледующая версия справа и слева
igor:istoria [2019/07/12 23:34] – [Программирование в новое время] 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 не обладающие нужными деловыми качествами. Вложить в них профессиональные знания не проблема, а вот научить их самостоятельно разрабатывать качественный продукт - к этому институтские преподаватели не готовы в принципе. В других профессиях, как рабочих, так и инженерных, деловые качества не играют такой важной роли, как у нас. \\ 
 +* Коммерческая (и некоммерческая) разработка программ: хотя пользователей очень много, среди них совсем немного таких, которые решают какие-то свои, совершенно индивидуальные задачи. У большинства пользователей задачи абсолютно типовые. \\
 * "Программирование без программирования": создать сейчас такую программу, с помощью которой конечный пользователь впоследствии мог бы решать новые задачи, не прибегая к услугам программиста. \\ * "Программирование без программирования": создать сейчас такую программу, с помощью которой конечный пользователь впоследствии мог бы решать новые задачи, не прибегая к услугам программиста. \\
 * Вовлечь в разработку программ людей, не обладающих высокой профессиональной подготовкой, путем разработки "суррогатных" технологий программирования. \\ * Вовлечь в разработку программ людей, не обладающих высокой профессиональной подготовкой, путем разработки "суррогатных" технологий программирования. \\
Строка 489: Строка 490:
 История учит, что новые технические решения в мире крайне редко появляются просто так, с бухты-барахты. Если какая-то технология появилась и нам кажется, что она никому не нужна, - скорее всего, мы либо чего-то не знаем, либо не придали должного значения. Смысл суррогатных технологий в том, чтобы вовлечь в программирование людей, не обладающих достаточно высокой квалификацией. \\ История учит, что новые технические решения в мире крайне редко появляются просто так, с бухты-барахты. Если какая-то технология появилась и нам кажется, что она никому не нужна, - скорее всего, мы либо чего-то не знаем, либо не придали должного значения. Смысл суррогатных технологий в том, чтобы вовлечь в программирование людей, не обладающих достаточно высокой квалификацией. \\
 Можно ли назвать суррогатной технологией программные продукты семейства DBase/FoxPro/Clipper, которые мы рассмотрели чуть выше? Если строго следовать букве определения, то нет: ведь они имели первоначальную цель вовлечь в программирование не низкоквалифицированных программистов, а конечных пользователей, которые имеют тот или иной уровень квалификации в своей предметной области, а программистами не являются. Однако эти продукты очень легко могут стать суррогатом в руках начальника, навязывающего их своим подчиненным без учета их реальных способностей и качеств. \\ Можно ли назвать суррогатной технологией программные продукты семейства DBase/FoxPro/Clipper, которые мы рассмотрели чуть выше? Если строго следовать букве определения, то нет: ведь они имели первоначальную цель вовлечь в программирование не низкоквалифицированных программистов, а конечных пользователей, которые имеют тот или иной уровень квалификации в своей предметной области, а программистами не являются. Однако эти продукты очень легко могут стать суррогатом в руках начальника, навязывающего их своим подчиненным без учета их реальных способностей и качеств. \\
-Первой суррогатной технологией стал Бэйсик, но, как мы уже отмечали выше, он стал таковой не сразу. Первоначально он создавался как инструмент для начального обучения программированию, и в этом качестве он был вполне адекватен реалиям 60-х годов XX века. Но в 80-е годы даже в советских учебных заведениях уже были машины СМ-4 с видеотерминалами. Такие машины спокойно "переваривали" любой настоящий язык программирования, такой как Алгол, Паскаль или даже Си. Проблема в том, что наши преподы про Алгол и Паскаль знали в лучшем случае понаслышке, а про Си не знали совсем (я свое первое руководство по языку Си прочитал уже после окончания института). И системные администраторы, обслуживавшие эти машины, - аналогично. Учить студентов серьезному программированию от них никто не требовал, вот они и ехали по накатанной колее. Похоже, что в США ситуация была ненамного лучше, потому что фирмы "Микрософт" и "Борланд" в 80-е годы выпустили на рынок интегрированные среды разработки программ (Quick Basic и Turbo Basic соответственно) на основе языка Бэйсик. Впрочем,  +Первой суррогатной технологией стал Бэйсик, но, как мы уже отмечали выше, он стал таковой не сразу. Первоначально он создавался как инструмент для начального обучения программированию, и в этом качестве он был вполне адекватен реалиям 60-х годов XX века. Но в 80-е годы даже в советских учебных заведениях уже были машины СМ-4 с видеотерминалами. Такие машины спокойно "переваривали" любой настоящий язык программирования, такой как Алгол, Паскаль или даже Си. Проблема в том, что наши преподы про Алгол и Паскаль знали в лучшем случае понаслышке, а про Си не знали совсем (я свое первое руководство по языку Си прочитал уже после окончания института). И системные администраторы, обслуживавшие эти машины, - аналогично. Учить студентов серьезному программированию от них никто не требовал, вот они и ехали по накатанной колее. Похоже, что в США ситуация была ненамного лучше, потому что фирмы "Микрософт" и "Борланд" в 80-е годы выпустили на рынок интегрированные среды разработки программ (QuickBasic, он же QBasic, и TurboBasic соответственно) на основе языка Бэйсик. Впрочем, эти продукты были все-таки скорее учебными. Однако даже с натяжкой нельзя назвать учебным инструмент, который та же фирма "Микрософт" уже в 90-е годы внедрила в свой пакет Microsoft Office. Называлась эта штука Visual Basic. Он-то и стал первой по-настоящему суррогатной технологией, получившей большой рынок. \\
-эти продукты были все-таки скорее учебными. Однако даже с натяжкой нельзя назвать учебным инструмент, который та же фирма "Микрософт" уже в 90-е годы внедрила в свой пакет Microsoft Office. Называлась эта штука Visual Basic. Он-то и стал первой по-настоящему суррогатной технологией, получившей большой рынок. \\+
 Чтобы оценить это явление по шкале "хорошо - плохо", мы должны принять во внимание два постулата. Во-первых, в нашей жизни бывают ситуации, когда суррогат реально необходим. И ленинградский хлеб из опилок и отрубей с огнем и кровью пополам был нужен... в свое время и в своем месте. Но потом, когда блокада была прорвана и враг отступил от города, от суррогата нужно было отказываться - и хлеб начали выпекать из пшеницы, как, собственно, и принято у нормальных людей. \\ Чтобы оценить это явление по шкале "хорошо - плохо", мы должны принять во внимание два постулата. Во-первых, в нашей жизни бывают ситуации, когда суррогат реально необходим. И ленинградский хлеб из опилок и отрубей с огнем и кровью пополам был нужен... в свое время и в своем месте. Но потом, когда блокада была прорвана и враг отступил от города, от суррогата нужно было отказываться - и хлеб начали выпекать из пшеницы, как, собственно, и принято у нормальных людей. \\
 Во-вторых, в каждой работе, в каждой профессии есть Мастера, а есть халтурщики-шабашники. И есть, как правило, некая средняя прослойка, причем чаще всего она - самая многочисленная. Для чего вообще нужны Мастера, ведь их работа стоит обычно дороже, чем работа шабашников, и даже середнячков? Есть на свете экономика. Пресволочнейшая штуковина: существует - и ни в зуб ногой! (слова В. Маяковского, первоначально сказанные про поэзию, ну а я приведу их здесь). В экономике есть моменты, которые на первый взгляд кажутся чудом или хуже того - абсурдом. Один из таких моментов как раз и состоит в том, что, хотя Мастер непосредственно за свою работу просит большую плату, конечный результат его работы приносит бОльшую прибыль (напоминаю: прибыль - цель и смысл любой финансово-хозяйственной деятельности, осуществляемой людьми). Как такое может быть? - Элементарно: Мастер на то и Мастер, что он знает, как сделать свое дело с максимально прибыльным результатом, а работники более низкого уровня либо этого не знают, либо сознательно пренебрегают. Но большинство заказчиков  Во-вторых, в каждой работе, в каждой профессии есть Мастера, а есть халтурщики-шабашники. И есть, как правило, некая средняя прослойка, причем чаще всего она - самая многочисленная. Для чего вообще нужны Мастера, ведь их работа стоит обычно дороже, чем работа шабашников, и даже середнячков? Есть на свете экономика. Пресволочнейшая штуковина: существует - и ни в зуб ногой! (слова В. Маяковского, первоначально сказанные про поэзию, ну а я приведу их здесь). В экономике есть моменты, которые на первый взгляд кажутся чудом или хуже того - абсурдом. Один из таких моментов как раз и состоит в том, что, хотя Мастер непосредственно за свою работу просит большую плату, конечный результат его работы приносит бОльшую прибыль (напоминаю: прибыль - цель и смысл любой финансово-хозяйственной деятельности, осуществляемой людьми). Как такое может быть? - Элементарно: Мастер на то и Мастер, что он знает, как сделать свое дело с максимально прибыльным результатом, а работники более низкого уровня либо этого не знают, либо сознательно пренебрегают. Но большинство заказчиков 
igor/istoria.txt · Последнее изменение: 2022/05/01 18:15 — igor