Почему в мире не хватает программистов? Потому же, почему не хватает труженников и для других производств с поправкой на производимый продукт. Большая часть создаваемого кода — это либо непосредственно мусор, либо нужно для производства мусора в конечном итоге. Нормальные потребности человечества в случае разумного подхода можно было бы удовлетворить такими ресурсами, что всех бы хватало с избытком.
Страницы
▼
Пожелания по программному обеспечению
- Не стоит писать инструкции для человека, которые он должен выполнять на компьютере. Лучше создавать инструкции для компьютера, понятные человеку. Человек должен контролировать процесс, а не служить прокладкой между программами. Следует выбирать и создавайть ПО, которое позволяет это наилучшим образом.
- Следует избегать подхода, когда программируемая сущность программы сначала старательно прячется, а затем с трудом и криво натягивается вновь, так как потребность в автоматизации остаётся практически всегда. Причина появления подхода закономерна - в основе разработки используются языки, являющиеся эзотерическими для нормальных пользователей.
- Не нужно создавать новые платформы (пусть и под задачу и без именования платформой) под предлогом создания якобы платформонезависимого кода, которого не существует по определению. Следует создавать платформы, улучшающие или предоставляющие новые полезные качества, или не создавать вовсе.
- Высокий уровень стандартности решения и его опоры на другие стандартные решения является преимуществом, поэтому для перевеса в пользу нестандартных они должны давать существенные улучшения.
- Пользовательский интерфейс должен быть тонкой надстройкой над основным кодом. Желательно, чтобы он создавался из описания на уровне, близком к автоматическому.
- Совместимость лучше обеспечивать не накоплением устаревших черт, а автоматическим переводом из устаревшего в новое и наоборот.
- Программисты порой любят переусложнять. Простые решения лучше сложных кроме случаев, когда цели в необходимом качестве недостижимы в простом решении. Но совокупная оценка учитывает не только простоту результата, но и простоту пути к этому результату.