![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 6 Всего: 118 |
Т.к. последнее время я неоднократно встречал вопросы «Что же такое .NET» то, IMHO, единственным правильным решением было написание заметки о том, что же это такое - .NET.
В данной статье я не буду использовать всевозможные рекламные словечки типа "распределенные", "Internet", "высокопродуктивная", "безопасная" и прочая. Это оставим на совести продавцов. Постараюсь коснуться именно главного – из чего состоит и как работает. Дальнейшие статьи (а я надеюсь, что я буду делать это более регулярно, чем раньше) буду посвящать различным аспектам программирования под .NET. Само собой все ваши замечания будут приняты с благодарностью и учтены в дальнейшей работе. Итак, начнем. Из чего состоит .NET Framework. .NET Framework состоит из двух основных частей: 1. Среда исполнения 2. Библиотека классов Среда исполнения Наверно самое простое объяснение будет выглядеть так – это программа, которая выполняет команды Вашей программы. По сути это интерпретатор. Когда с помощью компилятора какого-либо языка для .NET вы собираете (компилируете) Вашу программу Вы получаете не реальные команды процессора, а некие абстрактные команды, байт-код, промежуточный ассемблер – как Вам удобнее понимать. Т.е. кто помнит QBasic, тот должен помнить, что там команды исполнялись по строчкам. Строка сразу интерпретировалась и исполнялась. В .NET это несколько оптимизировано – среда исполнения работает не с текстом программы, а с уже оптимизированным байт-кодом на языке MSIL - Microsoft Intermediate Language. На само деле все несколько сложнее – Ваше приложение загружает библиотеку mscorlib.dll и передает управление ей. И уже эта библиотека (которая работает само собой не на MSIL, а на реальных командах процессора)выполняет Ваш код. Кроме этой библиотеки в каталоге с установленной средой исполнения находится еще немало библиотек, но о них речь сегодня мы вести не будем. После загрузки Вашего приложения в память начинается его исполнение. Но и здесь продолжается оптимизация его работы – используется JIT компилятор (Just In Time). Этот компилятор занимается тем, что при первой загрузке кода на MSIL, преобразует его в реальные команды процессора и в дальнейшем Ваше приложение будет использовать уже не MSIL, а полученный код. Такое поведение особенно хорошо видно, когда вы открываете форму с большим количество компонентов, потом закрываете ее и после открываете опять. Первый раз, даже на глаз видно, что система работает гораздо медленнее, чем в последующие. Как Вы наверно уже поняли, для того, что бы программы написанные под .NET могли быть запущены на другом компьютере, на нем должна быть установлена среда исполнения (устанавливается она в каталог \WINDOWS\Microsoft.NET\Framework\<номер версии>). Если на компьютере, на котором Вы запускаете свою программу .NET Framework не установлена, то будет выдано, что система не может найти библиотеку mscorlib.dll (о которой я уже упоминал) и само собой дальше этого ничего не пойдет. По поводу совместимости - на самом деле нормально все это работает начиная с Windows 2000. Хоть и объявлено, что должно работать на Windows 98, Me и Windows NT 4 SP6, но (во всяком случае первая версия .NET) работало это с большим количеством глюков. Так что используйте 2000 или XP. Что же это нам дает: 1. Возможность повышенной безопасности – Ваша программа не может делать больше того, что ей разрешается. Вы можете с меньшими опасениями использовать незнакомые программы из Internet. 2. Возможность использовать любые языки программирования, которые подпадают под спецификацию - Common Language Specification (CLS) в одном проекте. Почему такое возможно должно быть достаточно очевидно – компилятор любого высокоуровневого языка, удовлетворяющий спецификации, может породить корректный код на MSIL, который в свою очередь без каких-либо проблем будет интерпретироваться средой выполнения. 3. Т.к. код является управляемым, то возникают дополнительные возможности типа метаданных, т.е. данных о самих данных. Вы можете на лету определить тип данных, и даже создать новый тип, скомпилировать и выполнить его. 4. Исчезает «ад dll». Кто уже писал много программ или хотя бы устанавливал много программ, знает, что часто динамические библиотеки могут иметь разные версии, могут быть вообще разными, но иметь одно имя. И все они почему-то хотят стоять в каталоге WINDOWS\System32. Чтобы уметь управлять всем этим хаосом надо немало потрудится. В .NET предполагается, что все, что относится к Вашему приложению должно лежать в одном каталоге и никаких противоречий быть не должно. Мало того, используя механизм метаданных, Вы можете установить точно – какой версии dll будет использоваться Вашим приложением. И никакая другая версия ему не подойдет. 5. Из вышеизложенного должно быть понятно, что система исполнения работает поверх ОС. Таким образом Ваша программа не должна работать с ОС напрямую. Это обеспечивает устойчивость и безопасность системы в целом. Но тем не менее без каких-либо особых затрат Вы можете писать приложения, которые будут работать в операционной системой напрямую. Это может быть обращение к обычным dll или использование так называемого «неуправляемого кода», который будет выполняться как обычный код. Думаю, что этого объяснения должно быть достаточно для понимания того, что из себя представляет среда исполнения. Рассмотрим Библиотеку классов Библиотека классов охватывает просто огромные объемы всевозможных классов и компонент, которые служат для облегчения работы со всевозможными системами и технологиями. Это XML и базы данных, работа с сетевыми ресурсами, технологии SOAP, графическая подсистема. Используя эту библиотеку, Вы можете писать всевозможные виды приложений. Вот список от Microsoft: - Console applications. - Windows GUI applications (Windows Forms). - ASP.NET applications. - XML Web services. - Windows services Как видите, выбор покрывает практически все, что только можно себе представить. На нашем форуме уже есть темы, где рассматриваются некоторые классы этой огромной библиотеки. Наверно на этом можно закончить предварительное знакомство с .NET. До скорых встреч. |
|||
|
||||
Kurt |
|
|||
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: 20 Всего: 36 |
Никак не могу понять - является ли .NET просто оболочкой над WinAPI?
Мне кажется, что весь этот байт-код в конечном итоге ДЛЯ Windows переводится все в те же вызовы API. Т.е виртуальная машина работает с API.. Или я не прав? Тут все функции переписаны?.. ![]() -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
Paradox |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1135 Регистрация: 18.11.2002 Где: Россия Репутация: 2 Всего: 1 |
Оболочкой для WinAPI является MFC
При программировании с использованием FCL забудьте об API,MFC,COM,CORBA и так далее это совет от MICROSOFT -------------------- --- |
|||
|
||||
Dana |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 3.6.2004 Репутация: нет Всего: нет |
А как на счет Linux'a? |
|||
|
||||
Kurt |
|
|||
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: 20 Всего: 36 |
Под Linux?
Тяжко, хотя теоретически реализуемо. Под Linux есть проект mono. Но за 3 (по-моему..) года они не смогли обеспечить работу Windows Forms, а вот консольные приложения работают.. Оно и понятно, ведь поддержки толком никакой. Вот если б M$ позаботился об этом также как Sun о Java.. ![]() З.Ы. Сам еще не пробовал.. ![]() -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
chipset |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 1 Всего: 164 |
Слышал что приложения .NET под Линухом бегают очень быстро...
К сожалению сам не опровергнуть не потвердить информацию не могу... ![]() --------------------
|
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
На текущей платформе Windows .NET действительно в конечном итоге вызывает WinAPI. А вот когда выйдет Longhorn, все станет наоборот - WinAPI будет эмулироваться средствами .NET. В MS говорят, что WinAPI развиваться дальше не будет, а вся ОС будет работать в managed среде. |
|||
|
||||
Deeoni$ |
|
|||
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 24.2.2003 Репутация: нет Всего: нет |
а что будеь с ассемблером когда выйдет Longhorn??? как на нем будет писать под .NET не используя эмуляции WinAPI |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
Deeoni$
Честно говоря, даже не знаю, как-то не задумывался о судьбе ассемблера. Наверное, IL придет ему на замену ![]() |
|||
|
||||
ReSeT |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 17.8.2004 Репутация: нет Всего: нет |
Цмтата с одного инф сервера:
Но вот вопрос насколко хорошо будет реализована эмуляция??? Кстати, скажите ,плз, что такое IL? |
|||
|
||||
arilou |
|
||||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
Насчет качества эмуляции не знаю, но наверное хуже чем Win 95 - Win 3.11 не будет ![]() А нсчет MSIL -
|
||||
|
|||||
DeeZ |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 26.11.2004 Репутация: нет Всего: нет |
У меня уже стоИт Longhorn build 4074, эмуляция эта работает ч\з раз, а то и ч\з два - некоторые программы (в частности, использующие RASAPI, IMAP и т.п.) иногда вообще не запускаются, т.е. процесс создается, а форма не рисуется - может программа и работает, но отсутствие GUI делает общение с приложением весьма затруднительным ![]() Что касается ассемблера, то fasm программы у меня работают нормально (правда ничего серьезного не запускал, так - свои побрякушки). IL придет на смену API, скорее всего придется нам учить этот новый "Microsoft Intermediate Language" и в include пхать модули с описанием IL констант и функций. Ну а за судьбу чистого асма (ч\з прерывания, стэк, регистры и т.д. работающего) я спокоен ![]() Если только M$ не прикупит вслед за Borland еще и Intel с AMD ![]() - Надо срочно искать D8. |
||||
|
|||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Не совсем согласен. Интерпретатор исполняет текстовые команды, а в .НЕЕЕЕЕЕТ сначала происходит JIT-компиляция. Т.е. при вызове какогонить метода Just-In-Time компилятор сначала компилит IL-код а потом исполняет уже откомпиленный код. |
|||
|
||||
AntonSaburov |
|
||||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 6 Всего: 118 |
А внимательнее читать не пробовал ?
|
||||
|
|||||
Петрович |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: нет Всего: 55 |
Интересно посмотреть как высокоуровневыми средствами можно эмулировать низкоуровневый WinAPI. -------------------- Все знать невозможно, но хочется |
|||
|
||||
Vex |
|
||||
![]() кацапосрачмученiкъ ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3103 Регистрация: 28.3.2002 Где: strawberry fields Репутация: нет Всего: 88 |
Они вроде собираются полностью переписать весь API, вроде будет называться WinFX.
Ну приложение обращается к .NET, а .NET в свою очередь к API, что мешает "интегрировать" в среде исполнения .NET функции, которые дает WinAPI... ![]() -------------------- Слава Україні. |
||||
|
|||||
[Last]Wizard |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 20.7.2004 Где: Минск, Беларусь Репутация: 4 Всего: 10 |
Да, а еще будет такая штука, как Avalon - замена стандартному GDI. Декларативное программирование и все такое... |
|||
|
||||
Exception |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Сам себе противоречишь:
Библиотека НЕ ИСПОЛНЯЕТ IL-код. Она его компилирует. Хоть и JIT. Если я не прав не злись а объясни, ОК? |
||||||
|
|||||||
Петрович |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: нет Всего: 55 |
Дык речь шла о
-------------------- Все знать невозможно, но хочется |
||||
|
|||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Тогда ОС надо бы назвать Windows .NET
![]() |
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: 2 Всего: 22 |
Вся эта затея с Windows.NET (привет, Run-time error) мне кажется довольно стремной: полностью менять внутренности системы, эмулировать WinAPI и т.п. будет очень сложно даже самому Биллу
![]() Как мне кажется, такие извращения приведут к следующему: * Все программы, кроме .NET, уже написанные на настоящий момент (и по-любому использующие WinAPI), особенно игры, будут работать значительно медленнее (покупайте новый компьютер! ??? ![]() * Эмуляция естественно будет глючить (любая программа содержит ошибку, при ее устранении появляются еще две ![]() * Эмуляция может не поддерживать очень сложных программ (как это было когда-то с эмуляцией MS DOS) * Так как код .NET полностью защитить (в настоящее время) нельзя, то воровства кода и крякинга (MSIL - это не ASM) будет еще больше (Неужели наступает пришествие Open source) Вот, вроде бы, все. Будет что-то еще - дополняйте. Кстати, Мелкософт может эмуляцию эту сделать по принципу VirtualPC (который они когда-то купили ![]() Это сообщение отредактировал(а) $tatic - 28.2.2005, 19:06 |
|||
|
||||
chipset |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 1 Всего: 164 |
А кто тебе сказал что это будут делать? ![]() --------------------
|
||||
|
|||||
Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 9 Всего: 172 |
Так будут или нe будут? ![]() -------------------- |
|||
|
||||
$tatic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 651 Регистрация: 28.1.2005 Репутация: 2 Всего: 22 |
Это лчно мое мнение. Скорее всего - нет.
|
|||
|
||||
WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: нет Всего: 8 |
тут даже вопрос не в сложности [вполне реально], а впроизводительности, те старые преложения замедляться как минимум на 20% ![]() |
|||
|
||||
РКК |
|
|||
Unregistered |
Господа, а все же что будет с асемблером?
|
|||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: 9 Всего: 62 |
Скорее .НЕТ исчезнет, чем ассемблер!
|
|||
|
||||
stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 22 Всего: 48 |
Мне кажется, что ни чего во внутренностях переделывать не будут, просто, сверху навесят .NET и в дальнейшем будут наращивать только его возможности, все новые API публично будут доступны только через .NET сборки, например, тот же Avalon, который уже сейчас работает под Windows XP и которой будет частью Longhorn. Не ясно откуда вобще появилась идея эмуляции Win32 API, технология .NET под Windows опирается на Win32 API, а это тонны отлаженного кода, полученного большой кровью, сомневаюсь, что кто-то будет рубить сук на котором сидит. -------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
NixoL |
|
|||
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 2.6.2005 Репутация: нет Всего: нет |
2Петрович : низкоуровневый WinAPI !!!????
![]() |
|||
|
||||
nikf |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 127 Регистрация: 6.6.2005 Где: город-герой Жирно вск Репутация: нет Всего: 1 |
если писать прогу под DOS она будет работать везде и без API. вот только одна эмуляция от доса к сожалению осталась, DirectDraw работает без GDI. Эмуляция GDI в частности, и APi в целом не такая уж кощунственная идея... асм пока никуда не денется, а вот все надстройки над апи(VCL MFC) уже сейчас не так актуальны, в большинстве случаев они нужны для поддержки старых проектов. Сейчас нет смысла использовать эти библиотеки в новых проектах, при возможности использования сретств дотнет..
|
|||
|
||||
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 3 Всего: 62 |
Не понимаю...
На .NET Framework не может быть сделана ОС => эмулировать (интерпретировать) будут именно байт-код, а не API. API останется и никакой эмуляции не будет. И вообще не надо пользоваться API, иначе ваши приложения будут не кросплатформенными. Кстати, что там с .NET в Linux и в MacOS? Мне кажется воняет мертвичиной. Надо переходить на Java. Там реальная кросплатформенность, а не ее подражание. Чего стоит .NET без нее? -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: 9 Всего: 62 |
Во-во! Правильно говоришь. Я про енто чудо-юдо МелкоНЕТ уже забыл давно.
|
|||
|
||||
Denn |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 6.8.2005 Репутация: нет Всего: 2 |
Цитата из Рихтера: в далеком будущем планируется, что процессор будет поддерживать IL. ЖУТЬ!
|
|||
|
||||
neutrino |
|
|||
![]() Gothic soul ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3041 Регистрация: 25.3.2002 Где: Верхняя Галилея, Кармиэль Репутация: 3 Всего: 62 |
ИМХО не реально. В IL переменные, а не адреса. ЦП не может оперировать данными в такой абстрактной (относительно) форме. -------------------- The truth comes from within ... Покойся с миром, Vit |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Что такое переменная ? Адрес в памяти. -------------------- ![]() |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
Во-первых,
Не ну можно было почитать немного прежде чем выражать сомнение и непонимание? Не надо называть IL байт-кодом, потому что
IL - это не p-code из VB6, который интерпретировался при помощи VBRUNx00.DLL. Во-вторых, На .NET framework никто ОС писать не собирается. Вы слышали про такое понятие "уровень абстракции" ? Вы писали бизнес-приложения для платформы Windows, которые бы работали с COM+, SQL Server, BizTalk и другими серверными платформами? API - метрв. Он не будет расширяться и дорабатываться. Он останется, как режим совместимости для старых программ. MFC, VCL и проч. упрощали работу с WinAPI, за что им большое спасибо. Как сейчас помню программы из тысяч строк кода на C, которые окно отрисовывали и мышкой в нем линии выводить позволяли под Win 3.0. Нельзя бесконечно тюнинговать Запорожец - рано или поздно это перестанет приносить выгоду. Так же и в программировании. А решать умозрительные задачи, типа реализовать синглтон без статиков, это пусть на олимпиадах студенты делают, алгоритмизацию свою прокачивают. В реальном мире, где программер зарабатывает созданием бизнес-приложений, это не нужно. Нужно уметь в сроки укладываться и программы стабильные выпускать. Так вот такой уровень абстракции над сервисами ОСи и дает эту возможность. Вот. |
|||
|
||||
Denn |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 6.8.2005 Репутация: нет Всего: 2 |
Это возможно, но только не в ближайшем будущем. Для того, чтобы .NET стала действительно стОящей системой, ее еще развивать и вазвивать. Я год пишу под нее и слишком много обнаруживаю недоделок, багов, тормозов... Ждем .NET framework 2.0, можт будет по-лучше. |
|||
|
||||
Дрон |
|
||||||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 24 Всего: 92 |
Да ню? Списочек пожалуйста ![]() Я не говорю, что .НЕТ идеален, но всё-таки пока реальных недостатков я не видел. Добавлено @ 12:38
Точно подмечено.
У Windows есть такая вещь как ядро, которое выставляет наружу свой интерфейс -- WinAPI. Теперь интерфейсом к ядру будет .NET. По-моему, очевидно ![]() -------------------- Да. Именно так. |
||||||
|
|||||||
Denn |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 6.8.2005 Репутация: нет Всего: 2 |
Да сейчас только некорректно наследуется форма, контролы невозможно нормально разместить на наследованной - они располагаются непонятно как после компиляции. Тормозит. MFC очевидно быстрее в большинстве случаев. В C# нет некоторых вещей - шаблонов, например, вроде как есть 2.0. Некоторые исключения не ловятся - например, обращение по null указателю иногда продолжает выполнение. ![]() Продолжу позже... Когда всплывет очередное... |
|||
|
||||
Дрон |
|
||||||||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 24 Всего: 92 |
Хмм... Маловероятно. Единственное, где я видел, что исключения не ловятся вообще -- так это в обработчике событий ActiveX объекта. Помню долго не мог найти этот глюк, а потом пришлось принять как факт.
Вот именно. Будет. Они особо-то и не нужны. Типизированные контейнеры делаются очень легко и без них ![]()
Это совсем разные вещи. Нечего сравнивать.
Переустанавливаем драйвера рук и головы -- всё будет Ок ![]() Добавлено @ 13:34 По поводу последнего. Загляни Windows Form Designer Generated Code и посмотри внимательно каким именно способом в .NET создаются формы. Тогда и поймёшь ![]() -------------------- Да. Именно так. |
||||||||
|
|||||||||
Denn |
|
||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 6.8.2005 Репутация: нет Всего: 2 |
Что не было такого - отлаживаешь строчка за строчкой, а на строке, где указатель null отладка прерывается и выполнение приложения продолжается?
Мда ждем...
А почему бы и не сравнить скорость выполнения однотипных приложений?
Я понимаю как создаются формы. А ты пробовал когда-нить менять этот сгенеренный код? Лучше не пытаться. И не редактировать имена сгенеренных переменных в начале исходника. |
||||||||
|
|||||||||
Дрон |
|
||||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 24 Всего: 92 |
А мне это никогда не было нужно ![]() Зачем извращаться-то. Наоборот, я как-то долго матерился, когда увидел, что один из моего проекта вручную отредактировал сгенерённый код. Вообще надо стараться не злоупотреблять дизайнером форм, а генерировать в рантайме.
Заказчика волнует больше скорость разработки, а не скорость выполнения. Тут MFC нельзя сравнивать с .NET Что-то мы наоффтопили тут... ![]() Это сообщение отредактировал(а) Дрон - 1.9.2005, 14:40 -------------------- Да. Именно так. |
||||
|
|||||
arilou |
|
||||||||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
Много раз так делал и никогда не было проблем.
Что такое указатель ![]()
А вот этого никогда не стоит делать. На то код и сгенерированный. Если тебе надо что-то поменять в сгенерированном классе - наследуешься от него и меняешь. Вот так вот. Кстати, и в MFC лезть руками в сгенерированный код - себе дороже выйдет.
Согласен. |
||||||||
|
|||||||||
Denn |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 6.8.2005 Репутация: нет Всего: 2 |
Это вылазит иногда, если форма нагружена контролами.
Да, ссылка. Скомпиленные, конечно. В run-time такое видно, как если бы функция не отработала.
Я знаю, что не надо. А зачем тогда этот код, сгенеренный компилятором, лежит в исходнике? Пусть тогда в .resx будет. |
||||||
|
|||||||
mr.DUDA |
|
||||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Бред полный. Код, сгенерированный дизайнером, отлаживается точно так же как и любой другой код.
Если и бывают подобные проблемы - всё дело в том, что в директории с исполняемой программой отсутствуют PDB-файлы для исходников, в которых возникло исключение. Лечится сие выставлением опции "отлавливать все .NET-исключения" (сочетание клавиш Ctrl+Alt+E, поставить красный крестик напротив "Common Language Runtime Exceptions"), и "подкидыванием" pdb-файлов для всех длл-ок в директорию с программой. В этом случае, если уж приаттачишься к процессу - точно не пропустишь ни одного исключения. З.Ы. приаттачитсья к процессу можно с пом. Ctrl+Alt+P. -------------------- ![]() |
||||
|
|||||
Denn |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 6.8.2005 Репутация: нет Всего: 2 |
если он предназначен только для отладки, его можно было бы как-нить защитить от редактирования.
спасибо, посмотрю. Ладно. На это надо тему отдельную заводить. Это сообщение отредактировал(а) Denn - 2.9.2005, 10:07 |
||||
|
|||||
Hidrag |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: 2 Всего: 25 |
Интересно а что будет с драйверами? Будут новые драйвера под .NET или подойдут старые виндовские в новой винде... или тоже в эмуляции будет все? )
-------------------- ![]() |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
По крайней мере эта версия Windows (Vista aka Longhorn) построена на старом ядре (WinXP), поэтому и дрова будут старые, вроде. -------------------- ![]() |
|||
|
||||
Guest |
|
|||
Unregistered |
Народ, присоветуйте...
![]() Я немного программирую на Visual C++ 6.0, на какую систему мне лучше переходить: на С++.NET или на C#.NET А то я уже весь в растерянности ![]() Кстати, это правда, что на С++.NET легче работть с контролами диалогами и т.д и т.п. |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
1. на с#.
2. мс++.нет умрёт. 3. неправда, наоборот сложнее 4. один топик - один вопрос 5. это уже неоднократно обсуждалось |
|||
|
||||
Diless |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 6.3.2006 Репутация: нет Всего: нет |
Понять то поняли, но тормозим как это с делать.. подскажите пожалуйста. где ее взять как ее устанавливать?)) |
|||
|
||||
kobra |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 730 Регистрация: 15.6.2005 Где: Грузия, Тбилиси Репутация: 1 Всего: 9 |
||||
|
||||
Calve |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.7.2005 Репутация: нет Всего: нет |
OS на C#:
Singularity OS будущее шарпа: Phoenix Framework Advanced Compiler Technology Polyphonic C# C omega Spec# Как вам такие наработки? |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Главное - не красивое название, а практическая польза. Пока что ничего нового не предлагается (разве что датасеты превратили в часть языка и обозвали Linq-ом ![]() -------------------- ![]() |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
mr.DUDA, не скажи. Например, Singularity OS - это другой подход к разработке ОСи
|
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
я грю про "C omega", XLinq, DLinq, blablabla-Linq... ![]() -------------------- ![]() |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
||||
|
||||
Calve |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.7.2005 Репутация: нет Всего: нет |
В этих языках интересен не только LINQ. Там есть такие штуки как асинхронные вызовы функций и свойств, ключевые слова requires ... otherwise ..., ensures, expose, assert и т.п. Это я про Spec#, остальное еще не смотрел
![]() |
|||
|
||||
chipset |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: 1 Всего: 164 |
Однако-ж ты меня заинтриговал! Качаю ![]() --------------------
|
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
На самом деле функциональность Spec# реализуется штатными средствами С#, но более коряво.
|
|||
|
||||
Calve |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 12.7.2005 Репутация: нет Всего: нет |
||||
|
||||
Lord Dagger |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 14.8.2004 Где: Москва Репутация: 2 Всего: 3 |
Бред какой, драйверы на .Net... Долго смеялсо ![]() ![]() Шучу, шучу;) Обычные там драйверы, на C\С++ написанные, как и вся ОС ![]() --------------------
(+) |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
||||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
Exception, я так и знал, что ты это скажешь
![]() |
|||
|
||||
nettitan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 9.6.2006 Где: г. Хмельницкий Репутация: нет Всего: нет |
Привет всем !!!
Насколько я знаю и слышал есть два вида програмирования под .NET: 1. Windows Form 2. програмирование под WEB Я шас пишу на С# (под Windows), но меня также интересует второй пункт, так как над первым пунктом я сейчас работаю... Хотелось бы узнать побольше о програмировании под WEB, что это такое и с чем его едят..... Так как на С# можно писать и под WEB, хочу о нем узнать больше, может в будущем займусь всем этим. Зарание благодарен !!! |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
||||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: 9 Всего: 62 |
nettitan
Для начала изучи HTML и JavaScript, потому что без них "програмирование под WEB" как сапожник без сапог. ![]() |
|||
|
||||
kaa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 817 Регистрация: 5.11.2005 Репутация: нет Всего: 2 |
А у мя такой аопрос: можноли компилить программу на C# не в IL-код а в native сразу? любапытно ж черт возьми
![]() |
|||
|
||||
VisualProgrammerNET |
|
|||
![]() Почётный халявщик ![]() ![]() Профиль Группа: Участник Сообщений: 461 Регистрация: 30.10.2005 Где: Зеленоград Репутация: 4 Всего: 6 |
Мнэээ... внутренний голос подсказывает, что только из MC++ можно компилить native код
![]() -------------------- 3 ГОДА НА ![]() |
|||
|
||||
Ch0bits |
|
|||
![]() Python Dev. ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2124 Регистрация: 21.2.2005 Где: Казань Репутация: 9 Всего: 62 |
kaa
Низя. |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
-------------------- ![]() |
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
||||
|
||||
VisualProgrammerNET |
|
|||
![]() Почётный халявщик ![]() ![]() Профиль Группа: Участник Сообщений: 461 Регистрация: 30.10.2005 Где: Зеленоград Репутация: 4 Всего: 6 |
А как же MC++?
![]() -------------------- 3 ГОДА НА ![]() |
|||
|
||||
Exception |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
||||
|
||||
nettitan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 9.6.2006 Где: г. Хмельницкий Репутация: нет Всего: нет |
Вот это я новость нашел, радуйтесь братья мои.....
![]() "Мне кажется, что переименование WinFX в .NET v3.0 вполне разумно, но я ни встречал ни одного упоминания, значит ли это, что в состав пакета будут включены C# 3.0 и LINQ, не говоря уже о DLINQ и ADO.NET v3.0. Похоже, что .NET v3.0 выйдет скорее, нежели C# 3.0 и ADO.NET v3.0, и не похоже, чтобы последние были выпущены раньше; итого, значит ли все это очередную задержку WinFX, или надо ли нам ожидать, что все другие продукты будут переименованы в 3.х или вообще в 4.0? Извиняюсь за игнорирование VB, но с тех пор как он не носит имени 3.0, то и не возникает проблемы с переименованием или задержкой выхода." |
|||
|
||||
Exception |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 4525 Регистрация: 26.12.2004 Репутация: 29 Всего: 186 |
Он носит имя VB 9.0 Добавлено @ 17:53
Это почему же? |
||||
|
|||||
kaa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 817 Регистрация: 5.11.2005 Репутация: нет Всего: 2 |
А вот возник вопрос. Существует-ли в C#.NET вариант компиляции сразу в бинарный код с включением внего всех необходимых библиотек и функций?
|
|||
|
||||
Evghenii |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 64 Регистрация: 25.6.2006 Где: Молдова, Кишинёв Репутация: нет Всего: нет |
Насколько мне известно нет. |
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
![]() ![]() P.S. Уже тысячу раз обсуждалось!!!!! P.P.S. Модераторы: Предлогаю попросить у Вовы (илу у кого там просят, dm9? ) добавить в шапку раздела большими буквами: ![]() ![]() Красными, жирным.... |
|||
|
||||
kaa |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 817 Регистрация: 5.11.2005 Репутация: нет Всего: 2 |
Понял
![]() Добавлено @ 12:39 А насчет того что сто раз обсуждалось - так я пытался найти поиском и ничё невышло, может у мя конечно руки кривые, а может... ![]() ![]() |
|||
|
||||
sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: нет Всего: 10 |
Опарафинились Microsoft? -------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
Врятли, это такой маркетинговый ход --- типа все устанавливаем FrameWork и баста sgi1981, неужели ты думаешь, что MS не могла написать компилятор IL в native-код ![]() Тем более это делает JIT-компилер при запуске проги |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
http://www.xenocode.com/
И подобные ему позволяют создавать .NET приложения, не требующие установки Framework. З.Ы. насчёт "микрософт опарафинилась", sgi1981, SUN что тоже опарафинилась с Java ??? -------------------- ![]() |
|||
|
||||
sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: нет Всего: 10 |
Ну, знаешь ли. Джава первоначально был предназначен совсем не для того, для чего его применяют сейчас - в то время и не думали даже... А насчет исполняемых файлов под .NET - есть свои преимущества и недостатки. Первое преимущество, которое я заметил - маленький размер "*.exe" - весь машинный код по инициализации окна теперь в ОС (включая .NET). А недостаток - много ограничений в программировании. Ну хотя бы кто-нибудь мне ответит на вопрос: как мне вставить мной составленную последовательность инструкций процессора на C# ? Никак. А почему я должен всегда подчиняться NET ? Она умнее моего мозга ? Или комп должен права качать ? Компилятор никогда не создаст код эффективнее чем это может сделать человек. А почему я должен использовать средства WINDOWS только через NET постоянно ? А может я могу эффективнее использовать АПИ в некоторых случаях ! Да, а как там вообще SSE2 инструкции процессора - чё, только .NET их будет генерить ? Она самая умная да ? А как же мне обрабатывать графические изображения с применением инструкций SSE2 собственным алгоритмом. Ну неужели все алгоритмы по обработке графики исчепываются ОС ? НИКОГДА ! Потому что их бесконечное множество. Так я непонимаю - у меня есть шанс на применение собственного машинного кода в C# ? Как мне добавить в прогу исходный код на асме (помните меня на АСМ-форуме, если не помните - просмотрите мои сообщения) ? Может можно составить DLL а потом подключить. Так чего то я не нахожу неи в одной книге из двух книг как подключить DLL к проекту. Да, надо же вспомнить, что вызываться могут только те подпрограммы, которые являются методами класса. А если DLL не экспортирует классов, то вообще тогда непонятно... Как мне использовать DLL-библиотеки в своей программе на C# ? -------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 24 Всего: 92 |
Гражданин, sgi1981, поменьше эмоций, пожалуйста. Вас никто не заставляет писать на .NET
Никто и не запрещает ![]() Легко. Поиск на форуме по слову DllImport А почему бы и нет... ![]() Это сообщение отредактировал(а) Дрон - 14.7.2006, 15:45 -------------------- Да. Именно так. |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Если только в этом вопрос... ![]() Пишем любую длл с любыми экспортируемыми функциями. Затем на C# пишем класс, в котором объявляем метод с модификаторами public static extern и ставим над методом атрибут [DllImport("имя dll")]. Всё, при вызове метода будет вызвана длл-функция с тем же именем, что имя метода. Добавлено @ 15:52 Иногда, к сожалению, наоборот. З.Ы, а native код никогда не умрёт, ИМХО. Не будут же САПРы и движки баз данных писать на .NET -------------------- ![]() |
|||
|
||||
sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: нет Всего: 10 |
Первоначально мне понравился маленький размер *.exe файла по сравнению с исполняемым файлом, сгенерированным C++ Builder. В общем кажется странным, почему размер "*.exe" такой сравнительно большой получается на C++ Builder даже если просто пустую форму создать. То бишь если так сделать, чтобы программа могла выполняться на других машинах и ничего не поместить на форму, то и тогда количество кода будет в полметра. Может я не знаю способа как уменьшить объем генерируемого кода С++ Builder ?
По поводу DLL. Да, я просто хотел спросить как можно подключить DLL. А динамически никак ? И чего то оно странно. Могла бы Майкрософт и предусмотреть возможность вставки native-кода в "*.exe". Допустим предшествует в файле некая директива, которая означает что следующие байты будут просто native-кодом. Неужели такая нужна супер-безопасность кода ? Они че думают, что хакеры накроют в скором будушем их WINDOWS ? ![]() Это сообщение отредактировал(а) sgi1981 - 14.7.2006, 16:40 -------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
А какой смысл тогда был бы в промежуточном языке ? Вместо IL можно было бы компилировать прямо в native-код, и делать вставки на асме в C#. Задумано всё было ради переносимости: JIT в рантайме переводит IL в исполняемый код, оптимизированный под конкретную платформу, под процессор и т.д. Кстати, поэтому .NET-приложение скомпилированное под x86, по идее должно без перекомпиляции работать под x64 (не проверял). -------------------- ![]() |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
||||
|
||||
sgi1981 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 16.3.2006 Репутация: нет Всего: 10 |
А знаете, в HELPе Borland Developer Studio по поводу использования DLL написан пример использования АПИ из User32.dll
![]() ![]() ![]()
-------------------- Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства. |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Замечательно ! Об этом я и говорил выше. -------------------- ![]() |
|||
|
||||
Freelancer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 29 Регистрация: 18.8.2006 Репутация: нет Всего: нет |
Моё мнение по поводу .НЕТ:
Майкрософты как всегда стремяться урвать все более-менее хорошие идеи дабы в будущем предоставлять пользователям большую свободу (в плане что всё уже включено). Типичный пример технология Флеш. Как она набрала популярнгость её активХ включили в пакет ОС. Чтоб юзер сразу после установки ОС мог выйти в нет и не чувствовать каких либо неудобств. Сейчас они идут по пути натоптаному Явой. И у них все получиться больше чем уверен. Так как денег у них и не на то еще хватит. .НЕТ это конкурент яве причем мощный. Прикинте подержку .НЕТ на мобилах! В плане безопасности тоже .НЕТ рулит в плане того что чо попало не напишиш. Это конечно сужает возмжности. Так же зделали те же Макромедия кода не стали включать в свой интерпритатор возможность работы с файлами... Хочеш чото сохранить на винте? Будь добр использовать спецальный метод. Который сам куда нада что нада запишет... А вообще это "Бизнес"! Как продать старую конфету? Правильно... завернуть её в новую обертку. Тут кондитерам(программистам) придеться покупать новые инструменты, а юзерам... ОС. И все счастливы... Все радуються прогрессу : ) |
|||
|
||||
Yama |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 2.8.2006 Репутация: 2 Всего: 2 |
sgi1981, по моему, Майкрософт решила сделать .нет фреймворк исключительно для того, что бы защитить свою ОС, т.к. постоянно фиксить глюки и баги просто невозможно(на моей памяти более-менее стабильно работала только win2kSP4), они решили придумать "принципиально новую технологию" и еще на этом прилично заработать. При компиляции сразу в native-код можно было сделать многочего как хорошего, так и не совсем
![]() По сути .нет фреймворком Майкросовт решила свои проблемы за счет энд-юзеров. +1 их маркетинговому отделу ![]() --------------------
Если бы строители строили дома так же, как программисты пишут программы, то первый же залетевший в форточку дятел разрушил бы всю нашу цивилизацию. |
|||
|
||||
Deja_Vu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 88 Регистрация: 15.6.2007 Где: Казань Репутация: нет Всего: 2 |
Сколько воды утекло с далекого 2001 года?!
.NET растет - цветет. Не так быстро, как хотелось MS, но все же. .NET программисты все больше и больше требуются, а Internet технологии уже полностью переходят под .NET. ASP.NET - загляденье ... используй понравившийся тебе язык. Я за .NET, ведь тогда никто не сможет ничего плохо сделатьмоему компьюторику -)) Это сообщение отредактировал(а) Deja_Vu - 28.9.2007, 21:58 |
|||
|
||||
Geolog |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 18.3.2005 Репутация: нет Всего: 1 |
Здравствуйте.
Я пользователь, и мне хочется узнать ответы на следующие вопросы: 1) Vista уже более года как вышла - работает она на платформе NET Framework (эмулируя при этом Win32) или всё работает также как и в WinXP? 2) Какие из NET Framework в Vista уже предустановленны, а какие необходимо ставить? 3) В чем отличия между NET Framework 3.0, NET Framework 2.0, NET Framework 1.1 (аккумулируют ли более новые версии более старые версии )? 4)Почему, если стоит NET Framework 3.0, и пробуешь ставить Google SketchUP (ему нужна NET Framework 1.1), он не ставиться требует установки NET Framework 1.1? (к стати под Vista SketchUP тоже отказался ставить) 5) На сегодняшний день есть удачные проекты по реализации работы приложений .NET на Linux (сама Microsoft в этом направлении работает)? Это сообщение отредактировал(а) Geolog - 11.2.2008, 13:46 |
|||
|
||||
kemiisto |
|
||||||||||||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 4 Всего: 160 |
Скорее так: платформа .NET работает поверх платформы Win32 (ну или Win64). А в самой Win32 по сравнению с XP были сделаны существенные изменения. Все таки как никак новая ОС.
Версии 1.1, 2.0 и 3.0. По поводу 3.5 не уверен, видимо надо ставить.
Отличий много, главное то что новые версиии не аккумулируют старые, и вот поэтому то и
Может банальная несовместимость. Google все таки конкурент ![]()
M$ сотрудничает с Novell, которая разрабатывает платформу Mono (.NET может устанавливаться только поверх Win32 или Win64? а у Mono - кросплатформенность (Win, Linux, MacOS,...)). Есть даже IDE MonoDevelop (пока, imho, продукт сыроват). -------------------- |
||||||||||||
|
|||||||||||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
||||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 4 Всего: 160 |
arilou, их море:
http://www.novell.com/linux/microsoft/faq.html (предпоследний вопрос касательно mono) Сделке уже больше года! http://www.nixp.ru/news/7924 Это сообщение отредактировал(а) kemiisto - 11.2.2008, 15:46 -------------------- |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 21 Всего: 61 |
kemiisto, о я не знал. думал новел это всё сам делает.
|
|||
|
||||
kemiisto |
|
|||
![]() Дикий Кот. =^.^= ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Участник Клуба Сообщений: 3292 Регистрация: 29.7.2007 Репутация: 4 Всего: 160 |
arilou, Novell имеет к Mono вообще очень интересное отношение. Была такая компания Ximian - вот она то все и разработала, а потом... Novell ее купила! Сейчас Ximian - часть Novell.
http://www.novell.com/linux/ximian.html -------------------- |
|||
|
||||
Geolog |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 18.3.2005 Репутация: нет Всего: 1 |
Спасибо за ответ.
Меня смутил тот факт, что в Vista в разделе компоненты системы явно висит только NET Framework 3.0, ну и SketchUP отказался устанавливаться пока я не установил на висту NET Framework 1.1 - обидно всё таки, что даже под висту приходиться ставить пакет обновления многолетней давности. |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |