Участок программного кода ECC
Размышления о родном, о разработке программ. Как понаписать много хорошего кода доступным числом кадров.
Программное обеспечение (ПО) разрабатывается, зачастую, в интересах конкретной организации. При этом мы существуем в условиях, когда нормой является быстрый выпуск версий. Компаниям-разработчикам, а пользователями востребовано, если ПО быстрее получает новые функции, а не отлаживается как следует.
Все больше наслаивается количество избыточных абстракций. Слишком универсальные библиотеки, типовые, но неиспользуемые цепочки зависимостей и многое-многое другое.
В результате ПО, за исключением крупных открытых проектов, разрабатывается с несколькими проблемами: с большим количеством ошибок, не оптимальное по производительности, с неоптимальным с точки зрения поддержки и развития кодом, с избыточным задействованием трудовых ресурсов.
Так происходит потому, что множество компаний занято решением практически одинаковых задач, результаты решения которых почему-либо не хотят потом выкладывать в виде свободных библиотек. Если общество живет по закону грызни всех против всех рынка с государством - «ночным сторожем», то такая ситуация закономерна.
Она, в частности, и порождает избыточную нагрузку на программистские ресурсы. Дело не в том, что программисты перерабатывают. Это вовсе не так. Но действуя в отраслевых или общегосударственных масштабах можно было получить намного больший выхлоп.
Да, это уже не рыночный капитализм с минимальным участием государства. По мне, так и правильно, не нужен этот рыночный капитализм, кроме как на периферии.
Ситуация ведь не про кого-нибудь когда-нибудь, а про Россию сегодня. Преодоление ее даст нам (России) преимущество в сфере разработки ПО, что немаловажно с точки зрения большинства отраслей. Поэтому решения этой большой задачи имеет смысл продумывать.
Сформулирую свое решение «вилами на воде»
Необходимо создать государственный институт, либо несколько институтов, которые бы занялись качественной - со всеми этапами оптимизации и тестирования, с привлечением научных кадров, разработкой компонентной базы (библиотек, встраиваемого ПО, системных утилит, компонентов операционных систем и т.д.) в интересах всего государства. На двух-троех-четырех наиболее используемых языках. В первую очередь, на C.
При этом код на все некритичные с точки зрения информационной безопасности инфраструктуры вещи открыть. Использование сделать свободным для компаний и людей из России и союзных государств - аналог лицензии MIT, например. Компании с большим участием иностранного капитала отсечь от свободного доступа. Для всех остальных оставить открытым только для некоммерческой деятельности.
Документацию составлять только на русском. Техподдержку вести на русском. И активно взаимодействовать со всеми отраслями. При должной организации, эффект будет давать уже через несколько лет.