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

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


igor:istoria

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
igor:istoria [2019/07/12 23:40]
igor [Программирование в новое время]
igor:istoria [2019/07/12 23:47] (текущий)
igor [Программирование в новое время]
Строка 437: Строка 437:
 ==== Программирование в новое время ==== ==== Программирование в новое время ====
 Рассматривая программирование в __древние__ времена,​ мы заметили,​ что компьютеры имели мало оперативной памяти,​ из-за чего программист должен был писать программу так, чтобы количество команд в ней было минимальным,​ а польза от каждой команды - максимальной. Это требование никак невозможно было обойти,​ поэтому мы назвали его категорическим императивом программирования. Компьютеры __средних веков__ имели гораздо больше оперативной памяти и прощали некоторую избыточность команд,​ но мечта программистов о райской жизни на земле не сбылась (в очередной раз, и можно не сомневаться - не в последний):​ средневековые задачи требовали программ большого объема. В __новое время__ компьютеров стало реально много, задач для них - тоже, так что объем работ для программистов еще прибавился. Как решить проблему нехватки рабочих рук в программировании?​ С наших сегодняшних позиций просматриваются следующие варианты:​ \\ Рассматривая программирование в __древние__ времена,​ мы заметили,​ что компьютеры имели мало оперативной памяти,​ из-за чего программист должен был писать программу так, чтобы количество команд в ней было минимальным,​ а польза от каждой команды - максимальной. Это требование никак невозможно было обойти,​ поэтому мы назвали его категорическим императивом программирования. Компьютеры __средних веков__ имели гораздо больше оперативной памяти и прощали некоторую избыточность команд,​ но мечта программистов о райской жизни на земле не сбылась (в очередной раз, и можно не сомневаться - не в последний):​ средневековые задачи требовали программ большого объема. В __новое время__ компьютеров стало реально много, задач для них - тоже, так что объем работ для программистов еще прибавился. Как решить проблему нехватки рабочих рук в программировании?​ С наших сегодняшних позиций просматриваются следующие варианты:​ \\
-* Разрабатывать новые технологии, повышающие производительность труда программистов. Если продолжить нашу аналогию с паровозами,​ то на железнодорожном транспорте прогрессивной технологией является электрификация дорог: электровоз,​ по размерам и весу сходный с паровозом,​ может иметь бОльшую мощность,​ а значит везти бОльший груз... А что у нас? Похоже,​ что ничего. Вопрос о создании прогрессивных технологий на смену старому ​+* Разработка новых технологий, повышающих производительность труда программистов. Если продолжить нашу аналогию с паровозами,​ то на железнодорожном транспорте прогрессивной технологией является электрификация дорог: электровоз,​ по размерам и весу сходный с паровозом,​ может иметь бОльшую мощность,​ а значит везти бОльший груз... А что у нас? Похоже,​ что ничего. Вопрос о создании прогрессивных технологий на смену старому ​
 верному Алголу никогда и никем даже не ставился,​ а если вопрос не ставить,​ то и ответа на него ждать не приходится (еще раз акцентирую внимание на том, что язык Си прогрессивной технологией по отношению к Алголу не является). \\ верному Алголу никогда и никем даже не ставился,​ а если вопрос не ставить,​ то и ответа на него ждать не приходится (еще раз акцентирую внимание на том, что язык Си прогрессивной технологией по отношению к Алголу не является). \\
-* Наращивать количество учебных мест в институтах,​ готовящих программистов. Решение вроде бы очевидное,​ но есть подводный камень:​ сколько бы мы ни создавали учебных мест, на них будут приходить люди, при всем достаточном IQ не обладающие нужными деловыми качествами. Вложить в них профессиональные знания не проблема,​ а вот научить их самостоятельно разрабатывать качественный продукт - к этому институтские преподаватели не готовы в принципе. В других профессиях,​ как рабочих,​ так и инженерных,​ деловые качества не играют такой важной роли, как у нас. \\+* Наращивание ​количества учебных мест в институтах,​ готовящих программистов. Решение вроде бы очевидное,​ но есть подводный камень:​ сколько бы мы ни создавали учебных мест, на них будут приходить люди, при всем достаточном IQ не обладающие нужными деловыми качествами. Вложить в них профессиональные знания не проблема,​ а вот научить их самостоятельно разрабатывать качественный продукт - к этому институтские преподаватели не готовы в принципе. В других профессиях,​ как рабочих,​ так и инженерных,​ деловые качества не играют такой важной роли, как у нас. \\ 
 +* Коммерческая (и некоммерческая) разработка программ:​ хотя пользователей очень много, среди них совсем немного таких, которые решают какие-то свои, совершенно индивидуальные задачи. У большинства пользователей задачи абсолютно типовые. \\
 * "​Программирование без программирования":​ создать сейчас такую программу,​ с помощью которой конечный пользователь впоследствии мог бы решать новые задачи,​ не прибегая к услугам программиста. \\ * "​Программирование без программирования":​ создать сейчас такую программу,​ с помощью которой конечный пользователь впоследствии мог бы решать новые задачи,​ не прибегая к услугам программиста. \\
 * Вовлечь в разработку программ людей, не обладающих высокой профессиональной подготовкой,​ путем разработки "​суррогатных"​ технологий программирования. \\ * Вовлечь в разработку программ людей, не обладающих высокой профессиональной подготовкой,​ путем разработки "​суррогатных"​ технологий программирования. \\
igor/istoria.txt · Последние изменения: 2019/07/12 23:47 — igor