forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Болтовня (http://forum.boolean.name/forumdisplay.php?f=25)
-   -   Отказоустойчивость и надежность систем на основе .net и тд (http://forum.boolean.name/showthread.php?t=12765)

jimon 29.06.2010 13:17

Отказоустойчивость и надежность систем на основе .net и тд
 
тема не для срача :)

Болтали тут на днях с одним программистом, он рассказал что его знакомый делал энтерпрайз проект на C# целых два года, большая ответственность и всё подобное, потом обновился .net и всё сломалось, после этого он перешел на C++ и не мучается

в основах теории отказоустойчивости есть понятие что чем сложнее система ПО тем больше в ней ошибок, но тут мы еще встречаемся с тем что ПО написанное на .NET состоит не только из нашего кода, а из кода других людей, потому нам приходится поддерживать ошибки чужого кода, проблема даже не в том что чужой код содержит ошибки, а в том что они могут добавляться в течении времени, или вообще вся система видоизменится :crazy:

в C++ стандартного кода очень мало и он открытый, если что можно переделать C Runtime Library под себя и написать свой STL, в итоге присутствие ошибок извне сводится к нулю, и они не добавляются в течении времени, потратив всего 1-3 месяца мы создаем надежную инфраструктуру для проектов любого уровня

тут схожее сравнение с unix и windows : многие ошибки unix были найдены и принципиально новых ошибок эта ОС не принесет, когда windows может сделать не понятно какие ошибки, да и исходник не посмотришь чтобы понять что к чему

я вижу как решение тупо морозить версию используемых библиотек и не обновлять их в будущем, в принципе такой вариант и используется для встраиваемого софта, так же схожий принцип используется в iphone os sdk, программа скомпиленая с 3.0 sdk запустится на аппарате с 4.0 операционкой, но не обязательно такая программа сможет скомпилироватся с 4.0 sdk

ps. а вы не задумывались почему google имеет свою версию ядра линукс и очень медленно вводит изменения извне в него, почему он имеет уже даже свой язык программирования ? :)

pax 29.06.2010 13:36

Ответ: Отказоустойчивость и надежность систем на основе .net и тд
 
Во первых мне интересно что что же там сломалось такого, что двухлетний труд полетел к чертям?
Во вторых не слышал нигде подобных критик в сторону .Net.
В третьих http://www.hanselman.com/blog/NETFra...Viewing.a spx
И вот еще: http://mphome.dp.ua/isxodniki-net/

UPD: Еще хочется добавить, что лучше использовать набор библиотек, оттестированных миллионами программистов по всему миру, чем изобретать свой велосипед.
Устойчивость приложений на Net по большей части зависит от кривизны рук программиста. Если бы приложения на Net были бы не стабильны с изменением версий, то никто-бы не пользовался этими библиотеками.

И наконец если не нравится .Net Framework, то берите исходники Mono и используйте в своем проекте только определенную версию, как это сделал юнитек, включив в Unity версию библиотек Mono 1.2.5


А вообще требую конкретных примеров того, что не работало и при переходе с какой версии Net Framework на какую, а не со слов что друг какого-то программиста напрограммировал "энтерпрайз проект" за два года и вдруг решил сменить вресию фреймворка и не заработало.

Phantom 29.06.2010 14:53

Ответ: Отказоустойчивость и надежность систем на основе .net и тд
 
Цитата:

проблема даже не в том что чужой код содержит ошибки, а в том что они могут добавляться в течении времени
А ещё, как ни странно, они могут исправляться. Напомнило мне создание костылей под разные версии IE при вёрстке. :-D

SBJoker 29.06.2010 14:56

Ответ: Отказоустойчивость и надежность систем на основе .net и тд
 
Могу лишь сказать что C# (без отнесения с фреймворку и производителю) был создан для создания именно отказоустойчивых приложений. Этому способствуют жесткая типизация, запрет указателей в с++ стиле, замена указателей на делегаты и на умные указатели.
Моё личное ИМХО, кривые руки неисправит никакой язык и никакая платформа.
Также писать на C# как на C++ это порочная практика, будет неудобно сложно и коряво, язык нужно знать и использовать его как было задумано. Переносить все приёмы из языка в язык неправильно.

HolyDel 29.06.2010 15:44

Ответ: Отказоустойчивость и надежность систем на основе .net и тд
 
мне кажется система написанная на .net будет в целом надежнее чем система, аналогичная по функциональности, написанная без .net.
потому, как уже было замечено, код самого .net отлаживается миллионами программистов.
смена версии фреймворка должна расцениваться как смена языка, движка, ГАПИ, скриптового языка с луа на питон например или платформы. занятее впринципе возможное - но далеко не легкое.
менять версию фреймворка во время разработки одного проекта - мне кажется очень опрометчиво и совсем не стоит.

impersonalis 30.06.2010 15:50

Ответ: Отказоустойчивость и надежность систем на основе .net и тд
 
http://forum.boolean.name/showpost.p...&postcount=283
ДядяДима вас всех предупреждал ещё в 2007 году!


Часовой пояс GMT +4, время: 08:50.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot