Здравствуйте WolfHound, вы писали:
WH>Даже HI! без class'а не написать. WH>А class'ы я не уважаю т.к. +тормоза +глюки... WH>вобщем одни минусы рскажите про плюсы плиз
Ну, если в двух словах, то шоб було.
За чем задумываться над темой бытия...
А на счет "А class'ы я не уважаю...".
Так это не аргумент. Лично я знаю мно людей которые неуважают программистов неумеющих создавать быстрые и качественные (без неприличного количества ошибок) программы с применением объектно-ориентированного подхода, но ни один из них не спросил: "А зачем такие люди на свете живут?".
Рассказать про плюсы? Ну, плюсов много... Например, среда (IDE) грузится долго. За время ее загрузки можно почитать книжки про объектно-ориентированному анализу и программированию или алгоритм тщательно обдумать (шоб не глучил).
Еще анмэнеджед код есть. То есть можно смело окучивать память занятую другими компонентами... Еще возможность API-шные вызовы делать (ну, шоб вирусы можно было писать).
В общем много хорошего...
PS
Я тут пару раз нарвался на людей без чувства юмора. Так вот, все что написано выше — это :))
;)
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Да. Если не секрет. Можно по подробнее:
1. Об остальных минусах.
2. О предпочитаемом вами языке (держу пари их два C и асм).
3. Пробовали Вы использовать .Net?
4. Сколько вам лет? (наверняка али больше 40 или меньше 18)
5. Как вы думаете, для чего во многих WinAPI-функциях нужен параметр HANDLE (HWND, например)? И что быстрей some.f1(); или f1(&some); ?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте VladD2, вы писали:
VD>Здравствуйте WolfHound.
VD>Да. Если не секрет. Можно по подробнее: VD>1. Об остальных минусах. VD>2. О предпочитаемом вами языке (держу пари их два C и асм). VD>3. Пробовали Вы использовать .Net? VD>4. Сколько вам лет? (наверняка али больше 40 или меньше 18) VD>5. Как вы думаете, для чего во многих WinAPI-функциях нужен параметр HANDLE (HWND, например)? И что быстрей some.f1(); или f1(&some); ?
Мне всегда казалось, что Win32 API был написан на объектно-ориентированном С++, а потом ему просто поменяли интерфейс на C-style, назвав *this умным словом HANDLE.
Кстати, по поводу защиты в .NET. Сам не разбирался, но говорили что там довольно продвинутая система защиты. Вплоть до пермишенов на отдельные вызовы. Это так? Если да, то какие проблемы с вызовом API функций?
Здравствуйте Ярослав Говорунов, вы писали:
ЯГ>Мне всегда казалось, что Win32 API был написан на объектно-ориентированном С++, а потом ему просто поменяли интерфейс на C-style, назвав *this умным словом HANDLE.
WinAPI вещь древнюю. Писалась когда у MS еще не было C++-компилятора. Кстати, первые версии WinAPI были написаны на Паскале (причем MS-ном, было у MS и такое извращение) отсюда и соглашения о вызовах...
Но и сейчас WinAPI и некоторые другие пишутся на C-ях (не на C++). И объяснение здесь простое, C, на сегодня, самый простой и убогий язык программирования. Убогий — означает, что любой другой язык сможет понять описания сделанные на C, также имеется давно сформировавшийся стандарт (и все компиляторы ему соответствуют). Простой — означает, что его компиляция проходит быстрее, отсутствуют тяжелые для оптимизации конструкции.
Но, на сегодня компилятор C++ ни чем не уступает своему родителю, а в некоторых аспектах даже превосходит. Например, директива inline позволяет значительно лучше оптимизировать код, и при этом не иметь проблем из-за использования макросов.
ЯГ>Кстати, по поводу защиты в .NET. Сам не разбирался, но говорили что там довольно продвинутая система защиты. Вплоть до пермишенов на отдельные вызовы. Это так? Если да, то какие проблемы с вызовом API функций?
Может я тоже мелко копал, но "пермишенов на отдельные вызовы" я там не видел. Там есть несколько фичь защиты. Первая — малость расширенные операторы public:, private... Второе – менэджед- компиляция и исполнение оберегающее от ошибок кода (проходы по памяти, не инициализированные переменные...). Третье — возможность (подчеркну — *возможность, реального примера я не видел) верификации кода при джит-компиляции. Последняя фича гипотетически дает возможность делать не простенькую защиту на уровне пермишенов на отдельные методы (это уже доступно через COM+), но и запрет вызовов нежелательных (в некоторых случаях) библиотек (или их отдельных объектов, а может быть и методов), и защита от вызова опасных системных вызовов...
Проблем с вызовом API-функций нет (ну, если не считать, того, что все нэндлены объявляются как 1nt32). Если контейнер этого не запрещает, например, отдельный exe- или dll-модуль, то вызывай сколько хочешь. Если контейнеру нужно (например, аплеты в броузере), то можно их и запретить. Короче додуманная Ява-ная модель. К стати если апплету нужны некоторые компоненты независимых поставщиков, то их можно положить в тот же каталог, где лежит сам создаваемый компонент, и пользоваться ими (верификация проверит и их). В этом каталоге можно будет даже файлы создавать (насколько я знаю, в Яве с этим были проблемы).
Влад.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте VladD2, вы писали:
VD>Здравствуйте Ярослав Говорунов, вы писали:
VD>Может я тоже мелко копал, но "пермишенов на отдельные вызовы" я там не видел. Там есть несколько фичь защиты. Первая — малость расширенные операторы public:, private... Второе – менэджед- компиляция и исполнение оберегающее от ошибок кода (проходы по памяти, не инициализированные переменные...). Третье — возможность (подчеркну — *возможность, реального примера я не видел) верификации кода при джит-компиляции. Последняя фича гипотетически дает возможность делать не простенькую защиту на уровне пермишенов на отдельные методы (это уже доступно через COM+), но и запрет вызовов нежелательных (в некоторых случаях) библиотек (или их отдельных объектов, а может быть и методов), и защита от вызова опасных системных вызовов...
Вот тут я не понял. Мне попадались в руки всего три вида защиты: защита на уровне зон (а ля IE), отсутствие функциональности (а ля Java) и защита на уровне пользователей и ролей (а ля СОМ+, IMHO — самая продвинутая из всех трех). Защита проверкой кода при компиляции на мой взгляд — чушь. Зачем его проверять, когда можно поставить объекту контекст защиты и запретить определенные вызовы. В основном меня интересует такой вопрос: есть ли в .NET аналог защиты на уровне пользователей и ролей. Для меня это эквивалентно: "Подходит ли .NET для построения законченных распределенных интранет приложений?". Я видел что там есть зоны, а более продвинутого — не видел. Можно ли там например запретить доступ к диску (файлу) для конкретного объекта, приложения или assembly? Есть ли там такие фичи как имперсонация, делегирование и т.п.?
Сразу оговорюсь, что все, что я скажу дальше, может быть не правдой, потому как я могу ошибаться.
ЯГ>Вот тут я не понял. Мне попадались в руки всего три вида защиты: защита на уровне зон (а ля IE), отсутствие функциональности (а ля Java) и защита на уровне пользователей и ролей (а ля СОМ+, IMHO — самая продвинутая из всех трех). Защита проверкой кода при компиляции на мой взгляд — чушь.
Вы просто не сильно углублялись Java-ы. То чно Вы называете "отсутствие функциональности (а ля Java)" достигается за счет верификации. Верификация не всегда означает — полная проверка текстов. В .Net в отражение (новый вариант информации о типах) включается не только внешняя (public) информация, но и информация о внутренностях программы. В том числе и о используемых внешних типах (объектах). С ее помощью можно (и видимо это будет в релизе) реализовать нечто похожее на улучшенную версию Явовской песочницы.
А верификация это круто. Надеюсь (если весь трем MS превратится в дела), что в скором времени Вы это поймете и оцените.
ЯГ> Зачем его проверять, когда можно поставить объекту контекст защиты и запретить определенные вызовы.
Поставить и запретить можно, только если есть прокси. Объект — это не более чем переменная в памяти. Если ловить все вызовы, ни каких процессоров не хватит (оверхэд будет такой, что Ява Вам покажется суперпроизводительным средством).
ЯГ> В основном меня интересует такой вопрос: есть ли в .NET аналог защиты на уровне пользователей и ролей. Для меня это эквивалентно: "Подходит ли .NET для построения законченных распределенных интранет приложений?". Я видел, что там есть зоны, а более продвинутого — не видел.
Исходя из сказанного выше, можно сказать, что защита на уровне вызова возможна только при меж-ххх вызовах (вместо ххх подставьте поток, процесс или компьютер). Такие технологии есть в .Net-е, (если я не ошибаюсь называются system.remouting) я их только глянул (мельком) и сказать насколько качественно там реализована защита не могу. Сама технология еще сырая и резко уступает COM+-у практически во-всем, кроме того, что там есть возможность работать через HTTP.
ЯГ> Можно ли там например запретить доступ к диску (файлу) для конкретного объекта, приложения или assembly?
Приложению, несомненно, можно, но к .Net, это не будет иметь ни какого отношения. Защита NT (или Уних-а, если вдруг перенесут) и без нета позволяет ограничить доступ потока (как минимального насителя отрибутов защиты) к ресурсам машины и сети. Верификация позволит делать и защиту от вызовов запрещенных методов и доступа во вне локации приложения, но скорее всего как и в Яве это будет даступно только исполняющему энжину и программе его запускающей. Так что если Вы встраеваете .Net в свое приложение, то скорее всего Вы такой сервис получите, а иначе нет. Кстати встраивать видимо прийдется на старых добрых C/C++ через COM.
ЯГ> Есть ли там такие фичи как имперсонация, делегирование и т.п.?
.Net штука большая и под этим словом можно понимать многое. Если понимать исполняющую подсистему CLR, то видимо ответ будет — нет. Если возможность реализации, то — да.
.Net позволяет создавать COM-объекты, так что имперсонация, делегирование точно будут доступны через COM.
Так же .Net позволяет создавать Web-сервисы. Web-сервисы — это базирующаяся на SOAP технология призванная превратить Web-сайты в провайдеров программных сервисов. Там конечно реализована защита, но вот про имперсонация, делегирование я сказать не могу. Скорее всего, этих фичь (по-крайней мере на первых порах) там не будет. Представляю себе делегацию прав десятком Веб-серверов при покупке через Интернет. Вам может и самому не понравиться, если от вашего имени (но без вашего поручения) сделают лишнюю покупку. А, права на вызов методов том должны быть точно.
В общем, на Ваш вопрос можно ответить так – Internet/Intranet/Сетевые приложения на .Net делать будет можно, но функциональности COM-а/CORBA-ы/Web-сервера там искать не следует. Net будет пользоваться современными службами и механизмами защиты, но в его ядре их можно будет найти только начитавшись пресс-релизов. :)
PS.
С точки зрения защиты .Net вряд ли превзойдет современные языки и технологии, ну, если только простотой использования.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: .NET зачем оно надо?
От:
Аноним
Дата:
26.06.01 07:11
Оценка:
Здравствуйте VladD2, вы писали:
VD>Здравствуйте WolfHound.
VD>Да. Если не секрет. Можно по подробнее: VD>1. Об остальных минусах. VD>2. О предпочитаемом вами языке (держу пари их два C и асм). VD>3. Пробовали Вы использовать .Net? VD>4. Сколько вам лет? (наверняка али больше 40 или меньше 18) VD>5. Как вы думаете, для чего во многих WinAPI-функциях нужен параметр HANDLE (HWND, например)? И что быстрей some.f1(); или f1(&some); ?
Добавлю еще вопрос в вышеприведенный список: сколько сторок занимала самая большая Ваша разработка?
Здравствуйте Аноним, вы писали:
А>Здравствуйте VladD2, вы писали:
VD>>Здравствуйте WolfHound.
VD>>Да. Если не секрет. Можно по подробнее: VD>>1. Об остальных минусах.
Не искал не знаю. VD>>2. О предпочитаемом вами языке (держу пари их два C и асм).
C++ с assembler'ными вставками. VD>>3. Пробовали Вы использовать .Net?
Нет. VD>>4. Сколько вам лет? (наверняка али больше 40 или меньше 18)
19 VD>>5. Как вы думаете, для чего во многих WinAPI-функциях нужен параметр HANDLE (HWND, например)? И что быстрей some.f1(); или f1(&some); ?
HANDLE=POINTER1->POINTER2->OBJECT
Нужно для того чтобы windows мог двигать OBJECT в памяти не сообщая программе.
class some{
...
void f1();
...
}
some.f1() вызов f1 по укозателю и передача укозателя на some через стек.
class some{
...
virtual void f1();
...
}
some.f1() вызов f1 по укозателю который ищут в таблице виртуальных функцый во время выполнения программы и передача укозателя на some через стек.
f1(&some) статический вызов f1 и передача укозателя на some через стек.
А>Добавлю еще вопрос в вышеприведенный список: сколько сторок занимала самая большая Ваша разработка? >10000
PS.Ребята давайте жить дружно.
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте WolfHound, вы писали:
WH>PS.Ребята давайте жить дружно.
Вы погорячились, мы погорячились ... Короче поддерживаю предложение :)
VD>>>2. О предпочитаемом вами языке (держу пари их два C и асм). WH>C++ с assembler'ными вставками.
:)) почитали бы Вы форум "работа" несколько дней тому назад.
А если серьезно, то непонятен такой враждебный настрой к классам? Почему class'ы == +тормоза +глюки? Особенно непонятно почему "глюки"???
Ауу Antony.
VD>>>3. Пробовали Вы использовать .Net? WH>Нет.
Ну, тогда о каких минусах может идти речь. Не делайте поспешных выводов (особенно с чужих слов). .Net – это неоднозначная, но очень интересная концепция.
Запомните на бедующее! Прежде чем осуждать надо попробовать!
Писать на C# проще, чем на современном VB! И при этом Вам доступны возможности, которые ранее Вы не могли получить из языков класса VB. Есть, конечно, недостатки, но главное понимать, что C# не замена C++. C# это выжимка лучшего из таких языков как Ява, Delphi, VB, С++, SmallTalk. Главная проблема .Net это производительность. Причем главным образом не прямая, а при вызовах COM- и API-кода. Если интересна эта тема, читайте http://www.optim.ru/cs/2001/1/ms_vs/ms_vs.asp.
VD>>>5. Как вы думаете, для чего во многих WinAPI-функциях нужен параметр HANDLE (HWND, например)? И что быстрей some.f1(); или f1(&some); ?
WH>HANDLE=POINTER1->>POINTER2->OBJECT
Скорее HANDLE (по крайней мере, когда речь идет об объектах ядра) это – смещение (в байтах) в таблице дескрипторов.
. WH>Нужно для того чтобы windows мог двигать OBJECT в памяти не сообщая программе.
Windows, по крайней мере, с версии 4 ненужно "двигать OBJECT в памяти"! На это есть виртуальная память. Читайте Рихтера "Windows для профессионалов" (Advanced Windows) третье издание (или более позднее, если такое есть).
Windows действительно пытается скрыть истинное значение HANDLE-лов от программистов, но главное для нашего вопроса, что HANDLE – это как минимум не быстрее чем простой указатель. И уж точно не прибавляет программе устойчивости.
WH>class some{ WH>... WH>void f1(); WH>... WH>} WH>some.f1() вызов f1 по укозателю и передача укозателя на some через стек.
Здесь Вы один раз ошиблись железно и один раз ошиблись потенциально.
При прочих равных условиях some.f1(); и f1(&some); приводят к генерации одинакового кода. Конструкция some.f1() не приводит ни к какому "вызову по указателю". Просто во втором примере указатель на структуру/класс передается в явном виде, а в первом неявно. Вторая (потенциальная ошибка) заключается в том, что указатель не обязательно передается через стек. То как передается указатель определяется явными или умолчальными установками соглашения о вызове. Например, если задать, что по умолчанию функции описываются как __fastcall, то параметры будут передаваться через регистры. Многие ООЯП (например, Delphi) используют по умолчанию именно __fastcall (или аналогичные) декларацию. Кто Вам сказал, что .Net использует именно передачу через стек? Лично я этого не знаю.
WH>class some{ WH>... WH>virtual void f1(); WH>... WH>} WH>some.f1() вызов f1 по укозателю который ищут в таблице виртуальных функцый во время выполнения программы и передача укозателя на some через стек.
Все верно. Вы задавались вопросом, сколько процессорных команд нужно для вызова функции по указателю? Не спорю, даже одна команда может стать критичной, если вызов делается миллионы раз, но кто Вас заставляет делать все вызовы виртуальными? Критичные участки кода можно или вообще не разбивать на функции или объявлять такие функции как inline. Правда inline доступен только в C++, но грамотный компилятор может делать функции inline и по своему усмотрению. Так что говорить о "тормознутости" и глючности классов – неправильно. Можно говорить только о кривой или о недостаточно грамотной реализации. Например, сравните C++-компиляторы от Microsoft и Borland.
WH>f1(&some) статический вызов f1 и передача укозателя на some через стек.
Да такой же обыкновенный вызов как и some.f1();. Сгенерируйте asm-листинг и убедитесь сами.
А>>Добавлю еще вопрос в вышеприведенный список: сколько сторок занимала самая большая Ваша разработка?
WH>10000
А вот этот вопрос как раз похоже вы не поняли. Дело в том, что при создании больших приложений (не важно будут это низкоуровневые библиотеки или система автоматизации корпорации) надо писать много кода описывающего не примитивные алгоритмы, а реализующего сложную логику с большим количеством взаимозависимостей. Такую логику проще описывать в терминах ООП. Пытаясь написать ее, применяя только конструкции и принципы структурного программирования, Вы или зашьетесь или начнете не вольно эмулировать ОО механизмы, но менее выразительными методами. Например, передавая структуры по указателю. При этом в Вашем коде будет больше ошибок. Попробуйте неправильно вызвать some.f1();! А вот такой код спокойно пройдет: f1((some*)12345);. Грамотный компилятор пытается перевести ОО-код в его машинный эквивалент. В большинстве случаев этот код не хуже чем вы можете сделать с помощью голого C и сходного по качеству компилятора. На asm-е иногда можно выиграть в скорости, но в глобальном масштабе можно и проиграть. Современный оптимизирующий компилятор это мощное и гибкое средство. MS обладает одним из лучших компиляторов C++, деньгами и желанием сделать компилятор для .Net-языков не хуже чем компилятор C++. Программировать на C# значительно проще и быстрей, чем на C++, а критичный к производительности код можно вынести в DLL или COM-объекты. Хотя писать драйверы я бы на C# не стал. Кстати, к релизу, в качестве одного из примеров должен появиться компилятор управляемого (managed) C++. Интересно то, что он должен компилироваться как на нормальном C++, так и на управляемом. Вот тогда, подсунув совместимый с управляемым C++ листинг, можно будет говорить о скорости.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Чтобы дядя Билли заработал побольше денежек.
Не знаю как вам, но мне уже вправду начинает надоедать
стремление майкрософт навязать нам "всё самое кульное"
по их мнению.
A>Чтобы дядя Билли заработал побольше денежек. A>Не знаю как вам, но мне уже вправду начинает надоедать A>стремление майкрософт навязать нам "всё самое кульное" A>по их мнению.
A>Чтобы дядя Билли заработал побольше денежек. A>Не знаю как вам, но мне уже вправду начинает надоедать A>стремление майкрософт навязать нам "всё самое кульное" A>по их мнению.
А что? У M$ здоровая маркетинговая позиция — они деньги зарабатывают, а не пользователей от бед спасают. Идеологически небольшая фишка превращается в "чудовищно огромный COOL!". Ты сам правильно подметил, что "'все самое кульное' по их мнению" — неужели в рекламе может быть упоминание о том, что новый продукт — не "самый COOL!"? Это же реклама! А навязывает она свои решения замечательно пользуясь своей силой (числом инсталляций). И никакого резона обеспечивать нормальное функционирование конкурентов у нее нет, ну во всяком случае — не более, чем это необходимо, чтобы не спровоцировать очередной антимонопольный скандал.
С уважением,
Геннадий
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
А я вот тоже книжки читал, теорию вроде знаю. Тут на днях попробовал что-то реальное сделать. Задача была следующая: есть ядро, есть много модулей (формы + бизнес логика), которые подключаются по мере надобности, есть желание написать эти модули один раз, и потом не переписывать при переносе с Windows в Web, али ещё куда .NET перенесут. Интересно то, что после того, как написал ядро и тестовые модули для Windows, перенос в Web (ASP.NET) занял 2 часа. И это притом, что я для Web никогда не писал. Простота — вот главный плюс. И это оказывается ещё большим плюсом в тех проектах, где важно количество (форм, отчётов и пр.), а не качество. Пример — 1С:Предприятие. Медленная, немаштабируемая, но классная штука для быстрого создания огромного количества форм.
Да, design patterns тоже использовались, а то фигушки так просто было бы осуществить перенос ;)
Здравствуйте, VladD2, Вы писали:
VD>Можно говорить только о кривой или о недостаточно грамотной реализации. Например, сравните C++-компиляторы от Microsoft и Borland.
И правда хорошо бы. Есть, где почитать, кроме тех статей про сравнение скоростей?
Кстати о скорости и бажности: про янус, как пример использования .нет, что скажешь?
Здравствуйте, VladD2, Вы писали:
ЯГ>>Кстати, по поводу защиты в .NET. Сам не разбирался, но говорили что там довольно продвинутая система защиты. Вплоть до пермишенов на отдельные вызовы. Это так? Если да, то какие проблемы с вызовом API функций?
VD>Может я тоже мелко копал, но "пермишенов на отдельные вызовы" я там не видел. Там есть несколько фичь защиты. Первая — малость расширенные операторы public:, private... Второе – менэджед- компиляция и исполнение оберегающее от ошибок кода (проходы по памяти, не инициализированные переменные...). Третье — возможность (подчеркну — *возможность, реального примера я не видел) верификации кода при джит-компиляции. Последняя фича гипотетически дает возможность делать не простенькую защиту на уровне пермишенов на отдельные методы (это уже доступно через COM+), но и запрет вызовов нежелательных (в некоторых случаях) библиотек (или их отдельных объектов, а может быть и методов), и защита от вызова опасных системных вызовов...
Почему гипотетически? Есть реальный пример ее использования — Terrarium.
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Немного перефразируем вопрос...
Смысл вот в чем. Когда-нибудь (вероятно скоро) Microsoft выпустит новую версию Windows, поддерживающую .NET. Конечно, эта технология имеет много преимуществ, но... Все ли программы нужно писать с помощью нее?
Возьмем хотя бы для примера ту же 1С-бухгалтерию или массу других бухгалтерских, мультимедийных и т.д. программ. Даст ли новая технология здесь что-нибудь? Напишут ли когда нибудь, напр. WinAmp, используя эту технологию? Или Photoshop? Или Access?
Т.е. данная технология нужна далеко не всем, так же, как напр. Internet Explorer не нужен пользователям, не имеющим интернета. Но почему-то многие программы при своей установке требуют наличия Internet Explorer такой-то версии... Почему? Потому что Microsoft решила, что наличие Internet Explorer (и/или его компонентов) в Windows обязательно. Потому-то и началось в свое время всем известное судебное разбирательство...
Итак, даст ли что-нибудь технология .NET разработчику обычных программ, не имеющих ничего общего с интернет?
Здравствуйте, econt, Вы писали:
E>Смысл вот в чем. Когда-нибудь (вероятно скоро) Microsoft выпустит новую версию Windows, поддерживающую .NET.
Все версии виндов, начиная с 98 и NT4 поддерживают .NET
E>Возьмем хотя бы для примера ту же 1С-бухгалтерию или массу других бухгалтерских,
Самое оно
E>мультимедийных и т.д. программ. Даст ли новая технология здесь что-нибудь? Напишут ли когда нибудь, напр. WinAmp, используя эту технологию? Или Photoshop? Или Access?
Почему бы нет?
E>Т.е. данная технология нужна далеко не всем, так же, как напр. Internet Explorer не нужен пользователям, не имеющим интернета.
Ты не прав, IE нужен к примеру для просмотра msdn.
E> Но почему-то многие программы при своей установке требуют наличия Internet Explorer такой-то версии... Почему? Потому что Microsoft решила, что наличие Internet Explorer (и/или его компонентов) в Windows обязательно. Потому-то и началось в свое время всем известное судебное разбирательство...
Бред ты говоришь. Янус тоже требует наличия IE, странички он не показывает, вполне работает с готовой базой и без инета. Нам наверное MS заплатила чтобы мы так сделали?
E>Итак, даст ли что-нибудь технология .NET разработчику обычных программ, не имеющих ничего общего с интернет?
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, econt, Вы писали:
E>>Смысл вот в чем. Когда-нибудь (вероятно скоро) Microsoft выпустит новую версию Windows, поддерживающую .NET. AVK>Все версии виндов, начиная с 98 и NT4 поддерживают .NET
Я имел в виду, что новая версия Windows будет уже иметь внутри себя .NET. А в существующх версиях .NET можно использовать, установив .NET дополнительно.
E>>Возьмем хотя бы для примера ту же 1С-бухгалтерию или массу других бухгалтерских, AVK>Самое оно
А подробнее можно? Я правда не понимаю. В чем заключается "оно"?
E>>мультимедийных и т.д. программ. Даст ли новая технология здесь что-нибудь? Напишут ли когда нибудь, напр. WinAmp, используя эту технологию? Или Photoshop? Или Access? AVK>Почему бы нет?
А смысл? Это будет проще, чем с помощью того же VC++6.00 или скажем Delphi? Это будет лучше работать или как? Это будет занимать меньше места, требовать меньше ресурсов, быстродействие будет выше?
E>>Т.е. данная технология нужна далеко не всем, так же, как напр. Internet Explorer не нужен пользователям, не имеющим интернета. AVK>Ты не прав, IE нужен к примеру для просмотра msdn.
А зачем рядовому пользователю (не программисту) msdn? Даже программисты могли бы обходиться hlp-форматом, если бы не стремление MS переводить все в HTML...
E>> Но почему-то многие программы при своей установке требуют наличия Internet Explorer такой-то версии... Почему? Потому что Microsoft решила, что наличие Internet Explorer (и/или его компонентов) в Windows обязательно. Потому-то и началось в свое время всем известное судебное разбирательство... AVK>Бред ты говоришь. Янус тоже требует наличия IE, странички он не показывает, вполне работает с готовой базой и без инета. Нам наверное MS заплатила чтобы мы так сделали?
Я конечно не считаю, что MS вам заплатила
Но, кстати, ваш Янус все же имеет отношение к интернету. Цитирую: "RSDN@Home предназначен для доступа к форумам www.rsdn.ru в оффлайн режиме. То есть за один сеанс связи вы забираете все новые сообщения, после этого можно продолжить чтение форумов и создание своих сообщений без наличия связи с Интернетом. При следующем сеансе связи все изменения будут отправлены на сервер."
Просто я не понимаю стремления многих использовать эту новую технологию везде и всюду. "Не понимаю" не означает, что я отвергаю эту технологию. Я просто не понимаю выгоды в ее использовании. Windows и так занимает сотни мегабайт на жестком диске, добавим сюда еще ОБЯЗАТЕЛЬНОЕ наличие .NET в ближайшем будущем (я так понимаю), и компьютер превратится в машину, выполняющую в-основном операционную систему (а не прикладные программы).
E>>Итак, даст ли что-нибудь технология .NET разработчику обычных программ, не имеющих ничего общего с интернет?
AVK>Даст.
ЧТО ИМЕННО? Я ведь не ради спора задал этот вопрос. Я хотел бы получить ответ.