Что качественнее - свободный или проприентарный код? (прочитайте пояснение пожалуйста перед кликом) - страница 4

 
George Merts:

И что ?

В самолетах ответственность значительно выше, соответственно, и подход другой.

Кроме того, на мой взгляд, MQL4 оказал немалую медвежью услугу начинающим программистам, неявно заполняя переменные нулями при создании, допуская выходы индекса за пределы массива (это то, с чем я сталкивался, наверно, есть и что-то подобное) - все это расхолаживает программистов. Мне категорически не нравится подход С# со "сборщиком мусора", когда можно плевать на запрошенные ресурсы, я как олдскульный программер, считаю, что освобождение ресурсов - это важная часть кода.

Но, с другой стороны - зачем лишние телодвижения, если можно продавать советники с делением на ноль ???


Угу, у меня тут рядом школа, когда учился сын (сейчас взрослый) говорил, пап, у нас в школе толкают наркоту. Я тогда быстро связался с ментами, организовали закупку, больше не было. Ну и я просто п****ил на улице людей, которых знал по этой теме. Зато мой сын не нарк.

Теперь школы и дет.садики в Питере (по крайней мере у меня в районе) все в ограде, это правильно.

Так что потихоньку прогресс идет, глядишь, и МК начнут тестировать помойки, которые скидывают в Маркет )) Чудо уже рядом!

 
Alexey Volchanskiy:


Правило первое - за качество открытого кода никто не отвечает.

Я не даром привел саркастический пример свободного ПО в управлении самолетом. На Хабре было несколько статей от разработчика ПО авионики. Очень четко описан цикл модульного тестирования, сколько требуется усилий, чтобы приняли изменения/улучшения в оттестированное ПО. Найдите, реально другой мир.

Тут у нас в маркете советники в тестере валятся с делением на ноль и хоть бы хны кому. Ну, завалилась очередная какашка, ну и что, ведь никто, кроме трейдеров, не пострадал. А вот самолеты с сотнями пассажиров - тут уже подход професионалов!


По поводу самолета - отвечает, тот кто пишет по для управления самолетом. Такое ПО свободным не бывает, а вот использовать в своих кодах свободные библиотеки может.

За качество в данном случае и отвечают тестировщики, они же QA или контроль качества, так и называются.

 
Stanislav Aksenov:


По поводу самолета - отвечает, тот кто пишет по для управления самолетом. Такое ПО свободным не бывает, а вот использовать в своих кодах свободные библиотеки может.

За качество в данном случае и отвечают тестировщики, они же QA или контроль качества, так и называются.


Как вы считаете, какова вероятность проникновения неумышленной ошибки в коде? Я не про здешние советники, я про системы.
 
понятия не имею, это вопрос к QA. Думаю одинаковое, что в свободном, что в несвободном, если вы об этом.
 
Stanislav Aksenov:
понятия не имею, это вопрос к QA. Думаю одинаковое, что в свободном, что в несвободном, если вы об этом.


Я как-то очень давно делал опрос у себя на работе среди реальных програмеров, потом закинул сюда, точнее, наверное на прежний mql4

Вопрос был такой (в курилке болтали)  - ты бы согласился написать программу в 1000 строк. Но без проверки на компиляцию и чтбы не было ни единой ошибки в тексте и  логике работы.

Приз - $лям, минус - твоя жизнь

Я помню, ни один не согласился. Ибо народ не индикаторы писал, а рил-проги для железки, а там столько нюансов..

И ни одно QA не поможет. Очень многие нюансы выясняются на месте

 
Alexey Volchanskiy:

Как вы считаете, какова вероятность проникновения неумышленной ошибки в коде? Я не про здешние советники, я про системы.
Не бывает программ без ошибок. Просто не наступают состояния, которые вызывают эти ошибки.
 
Vasiliy Sokolov:
Не бывает программ без ошибок. Просто не наступают состояния, которые вызывают эти ошибки.


Я тут уже писал, лень искать, повторю.

В бытовухе состояния вообще пофик, ну завис смарт - скинул и все.

В промышленности все сложнее, надо четко представлять, что происходит в непредвиденной ситуации. 

Пример непредвиденной:  Примерно 2003 г, Вязьма. Я в командировке, на диспетчерской в Смоленске(один участок), поступает сигнал на странное поведение одного КП (ну такие будки управления по всей ж/д)

Ок, мне выделяют тепловоз, мчусь на разборы, по дороге цепляем телемехаников (такая должность - отвечают за все, что ниже 27 Кв: ).

Приехал, по будке (ну такая коробка 1.5х2.5 по памяти) постреляли из ружжа, пробита коробка, повреждена аппаратура. Не тарракт, просто местные упыри спьяну.

Вызываю ментуру, начинаю ремонт. В это время все стоит. То есть стоят поезда, электрички... все матерятся и курят в тамбурах. А у нас авария.

Ок, говорю Главному диспетчеру - прозвон цепей. Еще минут 15. Потом подаем напругу 27 Кв на линию, вроде все поехало.

---------------

А уродцев менты потом нашли

 
Alexey Volchanskiy:


Самое смешное, меня Таня-главный телемеханик тогда не хотела допускать к работе, т.к. у меня нахнах не было допуска для работы с аппаратурой, которая мяукает на 27 Кв. Говорю, Танюх, ты у меня в Питере была? (в командировке)

Нечего мне на напряжение цыкать, я не дурак, пашем без предъяв )) Ну, расписку ей накатал, что в случае чего прошу сжечь и развеять по ветру вредного кота)) 

 
Alexey Volchanskiy:

Приехал, по будке (ну такая коробка 1.5х2.5 по памяти) постреляли из ружжа, пробита коробка, повреждена аппаратура. Не тарракт, просто местные упыри спьяну.

---------------

А уродцев менты потом нашли


Мораль сей истории какова? В том что как ошибки не лови и не обрабатывай в стиле "Если ошибка №2392 то... если ошибка №8938 то..." - все равно не застрахуешься от всех возможных состояний. Ну нельзя придумать обработчик ошибки возникающей от удара лома дяди Васи об электронный пульт управления:) Т.е. объективно существуют события, повлиять на которые программа не может. Существует бесконечно количество неправильных состояний и только одно правильное. Значит нужно следить лишь за тем, что бы мы в каждый момент времени находились именно в этом правильном состоянии и в каждый момент времени имели непротиворечивую модель данных.

 
Vasiliy Sokolov:


Мораль сей истории какова? В том что как ошибки не лови и не обрабатывай в стиле "Если ошибка №2392 то... если ошибка №8938 то..." - все равно не застрахуешься от всех возможных состояний. Ну нельзя придумать обработчик ошибки возникающей от удара лома дяди Васи об электронный пульт управления:) Т.е. объективно существуют события, повлиять на которые программа не может. Существует бесконечно количество неправильных состояний и только одно правильное. Значит нужно следить лишь за тем, что бы мы в каждый момент времени находились именно в этом правильном состоянии и в каждый момент времени имели непротиворечивую модель данных.


Абсолютно верно. Я уже писал тут, на пульт новой аппаратуры бабушка-диспетчер положила валенки и телогрейку зимой. Сработала защита от неправильных команд. А бабушка знала, что на пульт можно кидать все, там были такие кнопки времен 1945 гг., усилие нажатия пол-человека ))
Причина обращения: