Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Мне было бы гораздо спокойнее если бы у людей вообще не... 13.03.08 13:30 Число просмотров: 2216
Автор: amirul <Serge> Статус: The Elderman
|
> Давайте не будем принимать частное за типичное. > > Сколько операционных систем написано на C#?
Мне было бы гораздо спокойнее если бы у людей вообще не возникало мысли писать ОС на шарпе. И особенно, если бы таких мыслей не возникало в Макрософте.
> > (а какие фишки предоставляет шарп?) > > > Навскидку, первое что пришло в голову:LINQ to Objects; LINQ > to SQL
Поверхностно просмотрел про linq. Довольно удобный syntactic sugar. С другой стороны то же самое довольно просто делается и в плюсах (хотя вынужден признать не настолько синтаксически красиво) при помощи std::remove_copy_if и бустовых лямбда функций.
> > Я экономлю. В смысле был очень не против, если бы > проги не > Если я правильно понял, то приложения-то нативные, нет?
Не всегда. Суть в том, что если я могу запустить десяток нативных приложений до того момента, как они начинают свопить, то я смогу запустить только 2-3 аналогичных менеджед приложения.
> > Хм. Никаких противоречий не видно? Зачем в цепочке > > исходник->байткод->машинный код звено "байткод", > если > > результат один (хотя GC все равно скорее всего будет > тормозить) > > > Нет, мне не видно. > После ngen.exe -- код оптимизируется для конкретного CPU. > Причем это делается автоматом в процессе инcталляции .NET > приложения, а не при его построении.
А какая разница? Я уже писал, что ни разу не видел проблем с деплойментом НУЖНЫХ нативных приложений.
> > Для плюсов этого добра еще больше. > > > И что - все это встроено прямо в язык? > Написано и протестировано лучшими разработчиками Microsoft?
Нет не встроено. И лично я считаю это достоинством, а не недостатком.
Впрочем об этом я уже писал где то в комментариях к этому посту.
> Или все-таки надо где-то искать, вытаскивать, прикручивать, > разбираться - как это все работает, выбирать какой из > нескольких компонент лучше. > A?
> Скажем так. SxS -- бледный аналог того, как это реализовано > в .NET Framework > Притом что SxS есть только в WinXP SP2 и выше. > А .NET можно поставить хоть на Win2K.
SxS есть в XP RTM. Винтукей - порядка 4% рынка. Причем это очень консервативные пользователи, которые не ставят практически ничего нового и следовательно dll hell им не грозит. Кстати, за мою почти 10-летнюю девелоперскую практику я ни разу не сталкивался с этим самым хеллом (даже не используя SxS). Скажем так, размеры этой проблемы слегка преувеличены (примерно как с y2k - ору было больше, чем по поводу dll hell, а все вылилось пшиком).
> Я имею в виду систему безопасности .NET Framework, при > которой неавторизованный код > не может вызвать Ваш код и не может заставить его выполнять > какие-либо действия.
Вот тут возможно мне не хватает кругозора, но я не вижу применения этому. Ну то есть конечно такую систему можно реализовать и нативно, но я не представляю зачем это реализовывать. В принципе большинство удачных парадигм из других языков программирования доступны для C++ в виде third-party библиотек.
> > Каким образом дотнет спасет от червей? > > > Вы -- не совсем поняли.
Да нет. То что сама виртуальная машина написана на нативе автоматически делает ее уязвимой (я слышал о нескольких выходах из периметра безопасности в случае джавы, с дотнетом не слышал но и не особо интересовался) для всех тех же проблем, что и скажем с сетевыми программами. Ведь по сети передаются данные, если "правильно" подготовить эти данные, то возможно, скажем, сорвать стек сетевой службе. Точно так же и байткод является данными и если их "правильно" подготовить, то можно сорвать стек виртуальной машине. Дотнет никоим образом не снимает проблему безопасности ибо проблемы с безопасностью всегда были не в АРХИТЕКТУРЕ, а в РЕАЛИЗАЦИИ. И тут уже не важно, насколько защищенной ВЫГЛЯДИТ архитектура, главное насколько она защищенно РЕАЛИЗОВАНА. Safety в случае дотнета это такой же buzzword как и "монокристаллическая бескислородная медь", "обычный стиральный порошок" и "духовность". Чисто маркетинговая фишка не имеющая практически никакой связи с реальностью. А вот падение производительности вещь объективная и легко наблюдаемая
> Программа злоумышленника, написанная на C/C++ может сделать > все (или почти все). > А программа злоумышленника, написанная на C# - может только > похулиганить в своей песочнице.
Для этого есть и другие способы. Как минимум вистовый UAC решает большинство подобных проблем без какого либо пенальти по производительности.
> Одним словом, когда все прикладные программы будут > выполняться в среде .NET - > Microsoft будет спать спокойно. Поэтому они усиленно это > дело продвигают.
Я не знаю почему они это продвигают, но уж во всяком случае не из-за безопасности.
|
|
|