Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Расслабся. Разработчики драйверов со светлой головой всегда будут нужны. 13.03.08 18:31 Число просмотров: 2420
Автор: Neznaika <Alex> Статус: Member
|
> > Давайте не будем принимать частное за типичное. > > > > Сколько операционных систем написано на C#? > > Мне было бы гораздо спокойнее если бы у людей вообще не > возникало мысли писать ОС на шарпе. И особенно, если бы > таких мыслей не возникало в Макрософте. > А меня - это не трогает нисколько.
Даже наоборот. Чем больше людей пойдут по этой линии, чем больше будет толщина кода на C#, тем больше будут затребованы люди, которые еще помнят что такое WinAPI, SDK, DDK и WinDbg.
> > > (а какие фишки предоставляет шарп?) > > > > > Навскидку, первое что пришло в голову: LINQ to Objects; LINQ to SQL > > Поверхностно просмотрел про linq. Довольно удобный > syntactic sugar. С другой стороны то же самое довольно > просто делается и в плюсах (хотя вынужден признать не > настолько синтаксически красиво) при помощи > std::remove_copy_if и бустовых лямбда функций. > Ага.
Делается -- или есть уже готовое? Если ты действительно думаешь, что начинающие программисты захотят вникать в эти std::remove_copy_if и лямбда функции -- то я могу только порадоваться твоему оптимизму.
> > > Я экономлю. В смысле был очень не против, если бы > > проги не > > Если я правильно понял, то приложения-то нативные, > нет? > > Не всегда. Суть в том, что если я могу запустить десяток > нативных приложений до того момента, как они начинают > свопить, то я смогу запустить только 2-3 аналогичных > менеджед приложения. > OK, не буду спорить.
> > > Хм. Никаких противоречий не видно? Зачем в > цепочке > > > исходник->байткод->машинный код звено > "байткод", > > если > > > результат один (хотя GC все равно скорее всего > будет > > тормозить) > > > > > Нет, мне не видно. > > После ngen.exe -- код оптимизируется для конкретного > CPU. > > Причем это делается автоматом в процессе инcталляции > .NET > > приложения, а не при его построении. > > А какая разница? Я уже писал, что ни разу не видел проблем > с деплойментом НУЖНЫХ нативных приложений. > Блин, ну ведь все просто - как валенок.
Если есть 10 разных систем - то тебе надо 10 раз перестроить приложение, и 10 раз построить сетап. А мне надо - один раз построить приложение и при инcталляции вызвать "ngen.exe". Почувствуйте разницу.
> > > Для плюсов этого добра еще больше. > > > > > И что - все это встроено прямо в язык? > > Написано и протестировано лучшими разработчиками Microsoft? > > Нет не встроено. И лично я считаю это достоинством, а не недостатком. > Впрочем об этом я уже писал где то в комментариях к этому посту. > Ну значит -- здесь мы с тобой расходимся.
По твоему, гораздо удобнее где-то искать OpenSource компоненты, вытаскивать все это барахло, устанавливать, фиксить ихнии баги, разбираться -- почему не работает, выбирать какой лучше. Пока осознаешь и просветлеешь, поймешь в чем грабли.. Ну-ну.
> > > Скажем так. SxS -- бледный аналог того, как это реализовано в .NET Framework > > Притом что SxS есть только в WinXP SP2 и выше. > > А .NET можно поставить хоть на Win2K. > > SxS есть в XP RTM. Винтукей - порядка 4% рынка. Причем это > очень консервативные пользователи, которые не ставят > практически ничего нового и следовательно dll hell им не > грозит. Кстати, за мою почти 10-летнюю девелоперскую > практику я ни разу не сталкивался с этим самым хеллом (даже > не используя SxS). Скажем так, размеры этой проблемы слегка > преувеличены (примерно как с y2k - ору было больше, чем по > поводу dll hell, а все вылилось пшиком). > Здесь ты глубоко ошибаешься.
Во-первых, ActiveX компоненты в виде *.ocx -- не поддерживаются системой SxS ни в XP RTM, ни в XP SP1. А таких компонент - тысячи.
А во-вторых, и это главное -- SxS требует от разработчиков ручного написания манифест-файлов, со всеми зависимостями, со всеми GUID-ами, и со всеми hash-ми. Так что, на практике -- технологию SxS никто не юзает, кроме самой Microsoft. Посмотри у себя в папке "C:\WINDOWS\WinSxS\Manifests" любой манифест для Microsoft.MSXML2 - и ты сам все поймешь.
> > Я имею в виду систему безопасности .NET Framework, при > > которой неавторизованный код > > не может вызвать Ваш код и не может заставить его > > выполнять какие-либо действия. > > Вот тут возможно мне не хватает кругозора, но я не вижу применения этому. >
Сергей, чего с тобой.
Не выспался что-ли?
Вот есть у тебя DLL/COM/ActiveX, которая делает гениальные вещи.
И любой чурбан, который ее где-то надыбал -- будет ее юзать.
А вот в .NET Framework -- это не прокатит.
> > > Каким образом дотнет спасет от червей? > > > > > Вы -- не совсем поняли. > > Да нет. То что сама виртуальная машина написана на нативе > автоматически делает ее уязвимой (я слышал о нескольких > выходах из периметра безопасности в случае джавы, с > дотнетом не слышал но и не особо интересовался) для всех > тех же проблем, что и скажем с сетевыми программами. Ведь > по сети передаются данные, если "правильно" подготовить эти > данные, то возможно, скажем, сорвать стек сетевой службе. > Точно так же и байткод является данными и если их > "правильно" подготовить, то можно сорвать стек виртуальной > машине. Дотнет никоим образом не снимает проблему > безопасности ибо проблемы с безопасностью всегда были не в > АРХИТЕКТУРЕ, а в РЕАЛИЗАЦИИ. И тут уже не важно, насколько > защищенной ВЫГЛЯДИТ архитектура, главное насколько она > защищенно РЕАЛИЗОВАНА. Safety в случае дотнета это такой же > buzzword как и "монокристаллическая бескислородная медь", > "обычный стиральный порошок" и "духовность". >
> Чисто маркетинговая фишка не имеющая практически никакой связи с > реальностью. А вот падение производительности вещь > объективная и легко наблюдаемая > Насчет "чисто маркетинговая фишки" - опять ошибаешься.
Ты посмотри "Microsoft Security Bulletin" года хотя бы с 2003.
И сразу увидишь, сколько уязвимостей было найдено в native коде, и сколько в .NET
> > Программа злоумышленника, написанная на C/C++ может сделать > > все (или почти все). > > А программа злоумышленника, написанная на C# - может только > > похулиганить в своей песочнице. > > Для этого есть и другие способы. Как минимум вистовый UAC > решает большинство подобных проблем без какого либо > пенальти по производительности. > Ню-ню.
Если он так хорошо решает большинство проблем, то почему же его все стараются отключить при первой же возможности?
Кстати, Vista - у тебя память не жрет, нет?
Вроде как native коде.
> > Одним словом, когда все прикладные программы будут > > выполняться в среде .NET - > > Microsoft будет спать спокойно. Поэтому они усиленно это > > дело продвигают. > > Я не знаю почему они это продвигают, но уж во всяком случае > не из-за безопасности. >
Только из-за безопасности.
Я уже дважды об этом говорил.
Наверно, я как-то плохо объясняю, потому что - даже до тебя - очень туго доходит.
Больше не буду отвечать в этой ветке. Сорри.
|
|
|