https://gist.githubusercontent.com/anonymous/38017cde68eb4fc94b64c2da256d0cc3/raw/70f45bed94083c715d48b195a5a66638c745aaa9/gistfile1.txt
В IT действительно больше серьезных ошибок, чем в других сферах созидания. И в IT куда чаще эти ошибки приводят к полной неработоспособности программы. Грубо говоря, поломка двигателя автомобиля из-за ошибки инженера (а не из-за условий эксплуатации), да такая, чтобы двигатель полностью перестал работать -- ситуация редкая и из ряда вон выходящая. А с софтом такое случается сплошь и рядом.
В целом, разработка софта и правда более сложная для человеческого мозга вещь, чем, например, инженерия или строительство. В разработке мы ограничены правилами машинного разума, который сильно отличается от нашего. А в других областях ограничены только законами физики.
Но еще очень важный элемент, что софт пишется совершенно разными группами людей. Почти любой компьютер с софтом на нём это своего рода монстр Франкенштейна, сшитый из кусков кода совершенно разных авторов. И сшитых часто довольно спорным образом. Примерно как если бы одна бригада строила стены, а вторая бригада с абсолютно другим руководством, не имеющая возможности общаться с первой, клала бы крышу. Причем, у второй бригады еще бы и не было возможности посмотреть, как устроены стены, из чего они сделаны и по какой технологии. У них был бы доступ только к тем местам, на которые нужно положить крышу.
В этом плане как раз есть два решения, оба из которых хорошо показывают себя на практике.
1. Операционные системы и софт с открытым исходным кодом. В среднем Linux глючит очень редко, и в большинстве случаев по незнанию пользователя, а не из-за ошибки разработчика. Любой баг может быть исправлен очень быстро сообществом.
2. Писать весь софт одной командой, а для любых сторонних решений устанавливать строжайшие ограничения, не дающие доступа почти ни к чему. Самый лучший пример это iOS, которая тоже глючит редко. В принципе любой достаточно новый айфон с минимумом сторонних приложений на нем почти гарантирует тебе полностью безглючную работу.
В целом, разработка софта и правда более сложная для человеческого мозга вещь, чем, например, инженерия или строительство. В разработке мы ограничены правилами машинного разума, который сильно отличается от нашего. А в других областях ограничены только законами физики.
Но еще очень важный элемент, что софт пишется совершенно разными группами людей. Почти любой компьютер с софтом на нём это своего рода монстр Франкенштейна, сшитый из кусков кода совершенно разных авторов. И сшитых часто довольно спорным образом. Примерно как если бы одна бригада строила стены, а вторая бригада с абсолютно другим руководством, не имеющая возможности общаться с первой, клала бы крышу. Причем, у второй бригады еще бы и не было возможности посмотреть, как устроены стены, из чего они сделаны и по какой технологии. У них был бы доступ только к тем местам, на которые нужно положить крышу.
В этом плане как раз есть два решения, оба из которых хорошо показывают себя на практике.
1. Операционные системы и софт с открытым исходным кодом. В среднем Linux глючит очень редко, и в большинстве случаев по незнанию пользователя, а не из-за ошибки разработчика. Любой баг может быть исправлен очень быстро сообществом.
2. Писать весь софт одной командой, а для любых сторонних решений устанавливать строжайшие ограничения, не дающие доступа почти ни к чему. Самый лучший пример это iOS, которая тоже глючит редко. В принципе любой достаточно новый айфон с минимумом сторонних приложений на нем почти гарантирует тебе полностью безглючную работу.
Liked by:
Хаксли
Paulina Oskolskaya