Может ли быть софт без ошибок?
Новости Вокруг софта
В статье «Софт как новый опиум для народа» Софтодром уже рассматривал проблему того, что в популярном программном обеспечении регулярно обнаруживаются ошибки и уязвимости. Это уже стало привычным явлением и никого не удивляет.
Разработчики операционных систем, антивирусов, браузеров, мессенджеров и прочих популярных приложений, которыми пользуются миллионы людей, регулярно рапортуют в своих корпоративных блогах о том, что в их программных продуктах обнаружены очередные ошибки и уязвимости, которые они (разработчики) оперативно устранили. Во многих случаях такое оперативное устранение происходит спустя месяцы после того, как была обнаружена уязвимость. Иначе говоря, программа, которой пользуются миллионы людей, месяцами остается уязвимой для хакерских атак, пока разработчик не выпустит патч, устраняющий эту уязвимость.
Разработчики исправляют ошибки, когда им это удобно. Корпорация Microsoft, например, традиционно исправляет ошибки и устраняет уязвимости в своих программных продуктах в так называемый «вторник патчей» — каждый второй вторник каждого месяца.
Существует расхожее мнение о том, что софта без ошибок не бывает в принципе: якобы, чем сложнее программа, тем выше вероятность того, что в этой программе будут присутствовать ошибки. По этой логике, если программа состоит из тысяч или миллионов строк кода, то в ней обязательно будут ошибки.
То есть, по аналогии, можно утверждать: «чем длиннее текст на русском языке, тем больше вероятность того, что в этом тексте будут ошибки». Справедливо ли это утверждение? Видимо, да. Особенно, если автор текста — малограмотный человек, плохо знающий русский язык. В этом случае в тексте действительно будут присутствовать множественные орфографические и грамматические ошибки, которые автор просто не заметил ввиду своей безграмотности.
Можно сказать, что в этом и заключается разница между Львом Толстым, пишущим шедевры, и малограмотным писателем-двоечником: один может написать «Войну и мир», а другой не способен написать и пару предложений без ошибок в каждом слове.
Конечно, компьютерная программа — это не просто текст на определенном языке программирования. Целью написания любой программы является получение конечного результата, который программа выдает как итог выполнения инструкций, написанных программистом. Собственно, любая компьютерная программа — это набор инструкций для компьютера, написанных на определенном языке программирования. Для написания таких инструкций или команд требуется определенная логика, и именно ошибки в логике, которые допустил программист, являются одной из наиболее частых причин возникновения программных ошибок: программист что-то не учел, и поэтому программа работает не так, как он предполагал.
Некоторые разработчики софта пытаются оправдываться тем, что у них очень большие программы, в которых так много кода, что сами авторы программы не могут в этом коде разобраться. То есть программисты написали для компьютера так много инструкций и команд, что они уже сами запутались в том, что они написали. По аналогии, плохой руководитель, отдающий своим подчиненным ошибочные приказы, регулярно приводящие к негативным последствиям, мог бы привести такой аргумент: «дело в том, что я отдаю очень много приказов, поэтому вполне естественно, что одни мои приказы ошибочны, а другие противоречат друг другу, и вообще — чем больше я отдаю приказов, тем больше среди них неправильных». Если бы у вас был такой начальник, то, наверное, вы бы усомнились в его адекватности и способности быть эффективным руководителем.
Если программист пишет так много кода, что он в нем запутался и не может разобраться, это означает только одно: такой программист некомпетентен и взялся за задачу, с которой он не способен справиться.
Большой объем написанного кода не может служить оправданием того, что в этом коде содержатся ошибки. Представьте такую аналогию. Деревенский плотник, умеющий строить одноэтажные избушки, взялся за строительство городского небоскреба. После того, как его сооружение рухнуло, горе-строитель начал бы оправдываться: здание упало потому, что было слишком большое. Нет, оно упало не потому, что было слишком большим, а потому, что деревенский строитель не умеет строить ничего, кроме избушек и взялся за непосильную для себя задачу.
По теме: Нужен ли S.T.A.L.K.E.R. 2?
19.11.2024 16:16
Минюст США потребует от Google продать Chrome
Антимонопольное управление Минюста США также планирует предложить корпорации отделить операционную систему Android от других продуктов, включая поисковик и магазин приложений Google Play
|
Ищете, где скачать бесплатные программы?
Скачать бесплатные программы для компьютера на Windows и смартфона на iOS или Android можно на Софтодроме. На данный момент в каталоге Софтодрома представлено более 13 000 бесплатных программ для Windows, iOS, Android и Linux.
|
|