> Программист это человек, который "создает" компьютерные программы с полным доказательством корректности работы. Более строгое определение чем общепризнанное. Разве не так?Да, это более строгое определение. Это не делает его интересным кому-бы то ни было, кроме тебя. Смотри, я могу еще более строгое определение придумать - "программист это человек, который создает компьютерные программы с полным доказательством корректности работы, при этом жонглируя пятью яйцами Фаберже сидя на уницикле в шкуре убитого им медведя".
> А причем тут планирование?
Ну, ты писал про планирование алгоритма. Тебе же не нравилось что программисты не корпят над одним куском кода по несколько месяцев планируя, производя научные доказательства и верифицируя код, сводя свою продуктивность к нулю. Куски кода ядра не существуют в изоляции, разные куски взаимодействуют друг с другом. Изменения в одной части могут вызывать нужду в изменениях в других частях. Отсюда, чтобы не приходилось изменять написанный код, нужно его спланировать в масштабах ядра.
> А все потому, что "программирование" давно уже не научая область.
Да, давно. Я не уверен, можно ли его вообще когда бы то ни было считать научной областью, но как минимум лет 50 уже как. Добро пожаловать в будущее, мы сделали некогда элитарную вещь обыденной и движемся вперед.
> никакое огромное количество людей не меняет кодовую базу ядра линукса. ТОрвальдс там решает у кого что взять, а кого на три буквы послать.
Во-первых - меняют. Тот факт что для принятия измененного кода в ядро нужно одобрение модератора, не значит что авторы изменений не вносят изменений. Просто эти изменения проходят процедуру одобрения. Во-вторых, система контроля версий это ровно то, что помогает Линусу и разработчикам делать это удобно и с сохранением истории изменений.