«Сопелки (в отличии от ворчалок), это просто сопелки. Сопелки связаны с ворчалками весьма слабым образом. Семантически сопелки близки скорее к такому ранее популярному жанру, как объяснение о невыходе на работу. Не путать с сепульками.»
Энциклопедия «Все за 1$»
«Прежде, чем объединяться, и для того, чтобы объединиться, мы должны сначала решительно и определенно размежеваться».
В.И. Ленин
Я пишу о программировании, при этом, у меня самого возникает вопрос – о каком программировании я пишу?
Программировать можно “Hello, world”, мой сын делает игрушки в Scratch и пишет программки управления роботами, кто-то программирует систему управления АЭС или программу управления полем боя, а кто-то занимается теоретическим программированием.
Так вот, я пишу об основном объеме программирования, в который НЕ входят:
- Программы, которые пишут для изучения чего-нибудь (программы-упражнения)
- Программы, для которых главным является не прикладное использование, а «изюминка» самой программы (олимпиадные программы). Пример: программа, которая печатает свой текст.
- Условно «математические» программы, в которых основой является «математика».
- Супер-программы, требования к которым выходят за рамки обычного программирования, будь то требование быстродействия или сложность задачи или что-то еще. Для разработки таких программ нужна или наука или искусство или и то и другое.
Если отбросить перечисленные крайности, то останется область «обычных» программ, для которых основным критерием является востребованность или нужность. Программа нужна, если она позволяет решить какую-то человеческой задачи или упрощает решение такое задачи.
Я пишу о разработке обычных программ: от простенького to-do list в телефоне, до thunderbird, chrome, компиляторов и почти всего, что есть в этом мире.
Эти программы не требуют большой науки (или эта наука уже стала общепринятой), это программы, разработка которых должна быть производством. Не наукой, не искусством, а производством.
Я думаю, что таких программ не менее 90% из объема всех программ. Скорее всего еще больше, но 90 — это достаточно большой процент, чтобы вкладывать в разработку именно таких программ: в производственное программирование.
Замечу, что если рассмотреть «математические» и «супер» программы, то в каждой такой программе есть обычная часть – и, скорее всего, эта обычная часть по объему не меньше «необычной».
Если мы научимся хорошо делать обычные программы (делать, а не писать):
- делать быстро,
- легко тестировать
- легко развивать
- легко адаптировать
- легко запускать на всех подходящих платформах
- легко выстраивать взаимодействие между программами и компонентами
- легко выстраивать распределенные сети программ
то …. (далее обращаюсь к фантазии читателя).