 |
Болтовня Разговоры на любые темы (думайте, о чем пишите) |
29.06.2010, 13:17
|
#1
|
|
Отказоустойчивость и надежность систем на основе .net и тд
тема не для срача
Болтали тут на днях с одним программистом, он рассказал что его знакомый делал энтерпрайз проект на C# целых два года, большая ответственность и всё подобное, потом обновился .net и всё сломалось, после этого он перешел на C++ и не мучается
в основах теории отказоустойчивости есть понятие что чем сложнее система ПО тем больше в ней ошибок, но тут мы еще встречаемся с тем что ПО написанное на .NET состоит не только из нашего кода, а из кода других людей, потому нам приходится поддерживать ошибки чужого кода, проблема даже не в том что чужой код содержит ошибки, а в том что они могут добавляться в течении времени, или вообще вся система видоизменится
в C++ стандартного кода очень мало и он открытый, если что можно переделать C Runtime Library под себя и написать свой STL, в итоге присутствие ошибок извне сводится к нулю, и они не добавляются в течении времени, потратив всего 1-3 месяца мы создаем надежную инфраструктуру для проектов любого уровня
тут схожее сравнение с unix и windows : многие ошибки unix были найдены и принципиально новых ошибок эта ОС не принесет, когда windows может сделать не понятно какие ошибки, да и исходник не посмотришь чтобы понять что к чему
я вижу как решение тупо морозить версию используемых библиотек и не обновлять их в будущем, в принципе такой вариант и используется для встраиваемого софта, так же схожий принцип используется в iphone os sdk, программа скомпиленая с 3.0 sdk запустится на аппарате с 4.0 операционкой, но не обязательно такая программа сможет скомпилироватся с 4.0 sdk
ps. а вы не задумывались почему google имеет свою версию ядра линукс и очень медленно вводит изменения извне в него, почему он имеет уже даже свой язык программирования ? 
|
|
|
Эти 8 пользователя(ей) сказали Спасибо за это полезное сообщение:
|
|
29.06.2010, 13:36
|
#2
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Отказоустойчивость и надежность систем на основе .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 на какую, а не со слов что друг какого-то программиста напрограммировал "энтерпрайз проект" за два года и вдруг решил сменить вресию фреймворка и не заработало.
|
(Offline)
|
|
29.06.2010, 14:53
|
#3
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: Отказоустойчивость и надежность систем на основе .net и тд
проблема даже не в том что чужой код содержит ошибки, а в том что они могут добавляться в течении времени
|
А ещё, как ни странно, они могут исправляться. Напомнило мне создание костылей под разные версии IE при вёрстке. 
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
29.06.2010, 14:56
|
#4
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Отказоустойчивость и надежность систем на основе .net и тд
Могу лишь сказать что C# (без отнесения с фреймворку и производителю) был создан для создания именно отказоустойчивых приложений. Этому способствуют жесткая типизация, запрет указателей в с++ стиле, замена указателей на делегаты и на умные указатели.
Моё личное ИМХО, кривые руки неисправит никакой язык и никакая платформа.
Также писать на C# как на C++ это порочная практика, будет неудобно сложно и коряво, язык нужно знать и использовать его как было задумано. Переносить все приёмы из языка в язык неправильно.
__________________
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо SBJoker за это полезное сообщение:
|
|
29.06.2010, 15:44
|
#5
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Отказоустойчивость и надежность систем на основе .net и тд
мне кажется система написанная на .net будет в целом надежнее чем система, аналогичная по функциональности, написанная без .net.
потому, как уже было замечено, код самого .net отлаживается миллионами программистов.
смена версии фреймворка должна расцениваться как смена языка, движка, ГАПИ, скриптового языка с луа на питон например или платформы. занятее впринципе возможное - но далеко не легкое.
менять версию фреймворка во время разработки одного проекта - мне кажется очень опрометчиво и совсем не стоит.
|
(Offline)
|
|
30.06.2010, 15:50
|
#6
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Отказоустойчивость и надежность систем на основе .net и тд
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:11.
|