Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что же такое .NET ? Краткое описание 
:(
    Опции темы
AntonSaburov
Дата 3.2.2004, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 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. До скорых встреч.
PM MAIL WWW ICQ   Вверх
Kurt
Дата 26.2.2004, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


Профиль
Группа: Участник Клуба
Сообщений: 1662
Регистрация: 22.8.2003
Где: Краснодар

Репутация: 20
Всего: 36



Никак не могу понять - является ли .NET просто оболочкой над WinAPI?
Мне кажется, что весь этот байт-код в конечном итоге ДЛЯ Windows переводится все в те же вызовы API. Т.е виртуальная машина работает с API..
Или я не прав? Тут все функции переписаны?.. confused.gif


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
Paradox
Дата 27.2.2004, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1135
Регистрация: 18.11.2002
Где: Россия

Репутация: 2
Всего: 1



Оболочкой для WinAPI является MFC
При программировании с использованием FCL забудьте об API,MFC,COM,CORBA и так далее
это совет от MICROSOFT



--------------------
---
PM MAIL WWW   Вверх
Dana
Дата 4.6.2004, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 3.6.2004

Репутация: нет
Всего: нет



Цитата(AntonSaburov @ 3.2.2004, 17:44)
По поводу совместимости - на самом деле нормально все это работает начиная с Windows 2000. Хоть и объявлено, что должно работать на Windows 98, Me и Windows NT 4 SP6, но (во всяком случае первая версия .NET) работало это с большим количеством глюков. Так что используйте 2000 или XP.


А как на счет Linux'a?
PM MAIL   Вверх
Kurt
Дата 4.6.2004, 01:08 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


Профиль
Группа: Участник Клуба
Сообщений: 1662
Регистрация: 22.8.2003
Где: Краснодар

Репутация: 20
Всего: 36



Под Linux?
Тяжко, хотя теоретически реализуемо.
Под Linux есть проект mono.
Но за 3 (по-моему..) года они не смогли обеспечить работу Windows Forms, а вот консольные приложения работают..
Оно и понятно, ведь поддержки толком никакой.
Вот если б M$ позаботился об этом также как Sun о Java.. rolleyes.gif

З.Ы. Сам еще не пробовал.. rolleyes.gif


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
chipset
Дата 4.6.2004, 07:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 1
Всего: 164



Слышал что приложения .NET под Линухом бегают очень быстро...
К сожалению сам не опровергнуть не потвердить информацию не могу... sad.gif


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
arilou
Дата 16.7.2004, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



Цитата(Kurt @ 26.2.2004, 20:00)
Никак не могу понять - является ли .NET просто оболочкой над WinAPI?
Мне кажется, что весь этот байт-код в конечном итоге ДЛЯ Windows переводится все в те же вызовы API. Т.е виртуальная машина работает с API..
Или я не прав? Тут все функции переписаны?.. ???

На текущей платформе Windows .NET действительно в конечном итоге вызывает WinAPI. А вот когда выйдет Longhorn, все станет наоборот - WinAPI будет эмулироваться средствами .NET. В MS говорят, что WinAPI развиваться дальше не будет, а вся ОС будет работать в managed среде.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Deeoni$
Дата 5.8.2004, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 24.2.2003

Репутация: нет
Всего: нет



Цитата(arilou @ 16.7.2004, 05:37)
На текущей платформе Windows .NET действительно в конечном итоге вызывает WinAPI. А вот когда выйдет Longhorn, все станет наоборот - WinAPI будет эмулироваться средствами .NET. В MS говорят, что WinAPI развиваться дальше не будет, а вся ОС будет работать в managed среде.

а что будеь с ассемблером когда выйдет Longhorn??? как на нем будет писать под .NET не используя эмуляции WinAPI
PM ICQ   Вверх
arilou
Дата 6.8.2004, 12:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



Deeoni$
Честно говоря, даже не знаю, как-то не задумывался о судьбе ассемблера. Наверное, IL придет ему на замену wink.gif


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
ReSeT
Дата 19.8.2004, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 25
Регистрация: 17.8.2004

Репутация: нет
Всего: нет



Цмтата с одного инф сервера:
Цитата
...Windows Longhorn будет основан на технологии .NET, а приложения Win32(API) будут выполняться в режиме эмуляции...

Но вот вопрос насколко хорошо будет реализована эмуляция???
Кстати, скажите ,плз, что такое IL?

PM MAIL   Вверх
arilou
Дата 19.8.2004, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



Цитата(ReSeT @ 19.8.2004, 14:46)
Но вот вопрос насколко хорошо будет реализована эмуляция???
Кстати, скажите ,плз, что такое IL?


Насчет качества эмуляции не знаю, но наверное хуже чем Win 95 - Win 3.11 не будет smile.gif
А нсчет MSIL -
Цитата(AntonSaburov @ 3.2.2004, 17:44)
Среда исполнения
Наверно самое простое объяснение будет выглядеть так – это программа, которая выполняет команды Вашей программы. По сути это интерпретатор. Когда с помощью компилятора какого-либо языка для .NET вы собираете (компилируете) Вашу программу Вы получаете не реальные команды процессора, а некие абстрактные команды, байт-код, промежуточный ассемблер – как Вам удобнее понимать. Т.е. кто помнит QBasic, тот должен помнить, что там команды исполнялись по строчкам. Строка сразу интерпретировалась и исполнялась. В .NET это несколько оптимизировано – среда исполнения работает не с текстом программы, а с уже оптимизированным байт-кодом на языке MSIL - Microsoft Intermediate Language.




--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
DeeZ
Дата 26.11.2004, 01:55 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 26.11.2004

Репутация: нет
Всего: нет



Цитата

На текущей платформе Windows .NET действительно в конечном итоге вызывает WinAPI. А вот когда выйдет Longhorn, все станет наоборот - WinAPI будет эмулироваться средствами .NET.

Цитата

Честно говоря, даже не знаю, как-то не задумывался о судьбе ассемблера. Наверное, IL придет ему на замену

У меня уже стоИт Longhorn build 4074, эмуляция эта работает ч\з раз, а то и ч\з два - некоторые программы (в частности, использующие RASAPI, IMAP и т.п.) иногда вообще не запускаются, т.е. процесс создается, а форма не рисуется - может программа и работает, но отсутствие GUI делает общение с приложением весьма затруднительным smile ... а иногда все нормально пашет.
Что касается ассемблера, то fasm программы у меня работают нормально (правда ничего серьезного не запускал, так - свои побрякушки). IL придет на смену API, скорее всего придется нам учить этот новый "Microsoft Intermediate Language" и в include пхать модули с описанием IL констант и функций.
Ну а за судьбу чистого асма (ч\з прерывания, стэк, регистры и т.д. работающего) я спокоен smile
Если только M$ не прикупит вслед за Borland еще и Intel с AMD smile
-
Надо срочно искать D8.
PM MAIL   Вверх
Exception
Дата 9.2.2005, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Цитата
По сути это интерпретатор

Не совсем согласен. Интерпретатор исполняет текстовые команды, а в .НЕЕЕЕЕЕТ сначала происходит JIT-компиляция. Т.е. при вызове какогонить метода Just-In-Time компилятор сначала компилит IL-код а потом исполняет уже откомпиленный код.
PM   Вверх
AntonSaburov
Дата 9.2.2005, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 6
Всего: 118



Цитата(Run @ 9.2.2005, 12:20)
Не совсем согласен. Интерпретатор исполняет текстовые команды, а в .НЕЕЕЕЕЕТ сначала происходит JIT-компиляция.


А внимательнее читать не пробовал ?

Цитата(AntonSaburov @ 3.2.2004, 17:44)
После загрузки Вашего приложения в память начинается его исполнение. Но и здесь продолжается оптимизация его работы – используется JIT компилятор (Just In Time). Этот компилятор занимается тем, что при первой загрузке кода на MSIL, преобразует его в реальные команды процессора и в дальнейшем Ваше приложение будет использовать уже не MSIL, а полученный код.


PM MAIL WWW ICQ   Вверх
Петрович
Дата 9.2.2005, 22:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: нет
Всего: 55



Цитата(arilou @ 16.7.2004, 14:37)
На текущей платформе Windows .NET действительно в конечном итоге вызывает WinAPI. А вот когда выйдет Longhorn, все станет наоборот - WinAPI будет эмулироваться средствами .NET.

Интересно посмотреть как высокоуровневыми средствами можно эмулировать низкоуровневый WinAPI.


--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Vex
Дата 10.2.2005, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


кацапосрачмученiкъ
****


Профиль
Группа: Экс. модератор
Сообщений: 3103
Регистрация: 28.3.2002
Где: strawberry fields

Репутация: нет
Всего: 88



Цитата(arilou)
что WinAPI развиваться дальше не будет, а вся ОС будет работать в managed среде.

Они вроде собираются полностью переписать весь API, вроде будет называться WinFX.

Цитата
Интересно посмотреть как высокоуровневыми средствами можно эмулировать низкоуровневый WinAPI.

Ну приложение обращается к .NET, а .NET в свою очередь к API, что мешает "интегрировать" в среде исполнения .NET функции, которые дает WinAPI... smile


--------------------
Слава Україні.
PM   Вверх
[Last]Wizard
Дата 10.2.2005, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 20.7.2004
Где: Минск, Беларусь

Репутация: 4
Всего: 10



Цитата(Vex @ 9.2.2005, 23:11)
Они вроде собираются полностью переписать весь API, вроде будет называться WinFX

Да, а еще будет такая штука, как Avalon - замена стандартному GDI. Декларативное программирование и все такое...

PM ICQ   Вверх
Exception
Дата 10.2.2005, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Цитата
А внимательнее читать не пробовал ?

Сам себе противоречишь:

Цитата(AntonSaburov @ 3.2.2004, 18:44)
И уже эта библиотека (которая работает само собой не на MSIL, а на реальных командах процессора)выполняет Ваш код.


Цитата(AntonSaburov @ 3.2.2004, 18:44)
используется JIT компилятор


Библиотека НЕ ИСПОЛНЯЕТ IL-код. Она его компилирует. Хоть и JIT.
Если я не прав не злись а объясни, ОК?
PM   Вверх
Петрович
Дата 10.2.2005, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1000
Регистрация: 2.12.2003
Где: Москва

Репутация: нет
Всего: 55



Цитата(Vex @ 10.2.2005, 01:11)
Ну приложение обращается к .NET, а .NET в свою очередь к API, что мешает "интегрировать" в среде исполнения .NET функции, которые дает WinAPI... 

Дык речь шла о
Цитата(arilou @ 16.7.2004, 14:37)
WinAPI будет эмулироваться средствами .NET.




--------------------
Все знать невозможно, но хочется
PM ICQ   Вверх
Exception
Дата 11.2.2005, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Тогда ОС надо бы назвать Windows .NET smile
PM   Вверх
$tatic
Дата 28.2.2005, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: 2
Всего: 22



Вся эта затея с Windows.NET (привет, Run-time error) мне кажется довольно стремной: полностью менять внутренности системы, эмулировать WinAPI и т.п. будет очень сложно даже самому Биллу smile
Как мне кажется, такие извращения приведут к следующему:

* Все программы, кроме .NET, уже написанные на настоящий момент (и по-любому использующие WinAPI), особенно игры, будут работать значительно медленнее (покупайте новый компьютер! ??? smile )

* Эмуляция естественно будет глючить (любая программа содержит ошибку, при ее устранении появляются еще две smile ), а значит почти все программы (см. пункт выше) по принципу наследования будут глючить (в т.ч. и Винда - еще больше)

* Эмуляция может не поддерживать очень сложных программ (как это было когда-то с эмуляцией MS DOS)

* Так как код .NET полностью защитить (в настоящее время) нельзя, то воровства кода и крякинга (MSIL - это не ASM) будет еще больше (Неужели наступает пришествие Open source)


Вот, вроде бы, все. Будет что-то еще - дополняйте.

Кстати, Мелкософт может эмуляцию эту сделать по принципу VirtualPC (который они когда-то купили smile ). Т.е. фактически в отдельной тормозной (поскольку виртуальной) Винде.

Это сообщение отредактировал(а) $tatic - 28.2.2005, 19:06
PM MAIL   Вверх
chipset
Дата 28.2.2005, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 1
Всего: 164



Цитата
полностью менять внутренности системы, эмулировать WinAPI и т.п. будет очень сложно даже самому Биллу smile

А кто тебе сказал что это будут делать? smile


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Domestic Cat
Дата 28.2.2005, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 9
Всего: 172



Цитата
А кто тебе сказал что это будут делать?

Так будут или нe будут? smile


--------------------

PM   Вверх
$tatic
Дата 1.3.2005, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 28.1.2005

Репутация: 2
Всего: 22



Это лчно мое мнение. Скорее всего - нет.
PM MAIL   Вверх
WolfON
Дата 6.5.2005, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: нет
Всего: 8



Цитата
эмулировать WinAPI и т.п. будет очень сложно даже самому Биллу

тут даже вопрос не в сложности [вполне реально], а впроизводительности, те старые преложения замедляться как минимум на 20% smile
PM MAIL ICQ   Вверх
РКК
Дата 28.5.2005, 22:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Господа, а все же что будет с асемблером?
  Вверх
Ch0bits
Дата 29.5.2005, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: 9
Всего: 62



Скорее .НЕТ исчезнет, чем ассемблер!
PM WWW   Вверх
stab
Дата 29.5.2005, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

Репутация: 22
Всего: 48



Цитата(Domestic @ 28.2.2005, 16:40)
Так будут или нe будут?

Мне кажется, что ни чего во внутренностях переделывать не будут, просто, сверху навесят .NET и в дальнейшем будут наращивать только его возможности, все новые API публично будут доступны только через .NET сборки, например, тот же Avalon, который уже сейчас работает под Windows XP и которой будет частью Longhorn. Не ясно откуда вобще появилась идея эмуляции Win32 API, технология .NET под Windows опирается на Win32 API, а это тонны отлаженного кода, полученного большой кровью, сомневаюсь, что кто-то будет рубить сук на котором сидит.


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
NixoL
Дата 8.6.2005, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 2.6.2005

Репутация: нет
Всего: нет



2Петрович : низкоуровневый WinAPI !!!???? smile
PM MAIL   Вверх
nikf
Дата 8.6.2005, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 127
Регистрация: 6.6.2005
Где: город-герой Жирно вск

Репутация: нет
Всего: 1



если писать прогу под DOS она будет работать везде и без API. вот только одна эмуляция от доса к сожалению осталась, DirectDraw работает без GDI. Эмуляция GDI в частности, и APi в целом не такая уж кощунственная идея... асм пока никуда не денется, а вот все надстройки над апи(VCL MFC) уже сейчас не так актуальны, в большинстве случаев они нужны для поддержки старых проектов. Сейчас нет смысла использовать эти библиотеки в новых проектах, при возможности использования сретств дотнет..
PM MAIL   Вверх
neutrino
Дата 31.8.2005, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 3
Всего: 62



Не понимаю...

На .NET Framework не может быть сделана ОС => эмулировать (интерпретировать) будут именно байт-код, а не API. API останется и никакой эмуляции не будет. И вообще не надо пользоваться API, иначе ваши приложения будут не кросплатформенными.

Кстати, что там с .NET в Linux и в MacOS? Мне кажется воняет мертвичиной. Надо переходить на Java. Там реальная кросплатформенность, а не ее подражание. Чего стоит .NET без нее?


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
Ch0bits
Дата 1.9.2005, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: 9
Всего: 62



Во-во! Правильно говоришь. Я про енто чудо-юдо МелкоНЕТ уже забыл давно.
PM WWW   Вверх
Denn
Дата 1.9.2005, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 6.8.2005

Репутация: нет
Всего: 2



Цитата из Рихтера: в далеком будущем планируется, что процессор будет поддерживать IL. ЖУТЬ!
PM MAIL ICQ   Вверх
neutrino
Дата 1.9.2005, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: 3
Всего: 62



Цитата(Denn @ 1.9.2005, 08:08)
Цитата из Рихтера: в далеком будущем планируется, что процессор будет поддерживать IL. ЖУТЬ!

ИМХО не реально. В IL переменные, а не адреса. ЦП не может оперировать данными в такой абстрактной (относительно) форме.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
mr.DUDA
Дата 1.9.2005, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(neutrino @ 1.9.2005, 09:30)
ИМХО не реально. В IL переменные, а не адреса. ЦП не может оперировать данными в такой абстрактной (относительно) форме.

Что такое переменная ? Адрес в памяти.


--------------------
user posted image
PM MAIL WWW   Вверх
arilou
Дата 1.9.2005, 11:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



Во-первых,

Цитата(neutrino @ 31.8.2005, 23:30)
На .NET Framework не может быть сделана ОС => эмулировать (интерпретировать) будут именно байт-код, а не API.

Не ну можно было почитать немного прежде чем выражать сомнение и непонимание? Не надо называть IL байт-кодом, потому что
  • 1) это разные вещи
  • 2) байт-код интерпретируется, IL - компилируется! в native

IL - это не p-code из VB6, который интерпретировался при помощи VBRUNx00.DLL.

Во-вторых,
На .NET framework никто ОС писать не собирается. Вы слышали про такое понятие "уровень абстракции" ? Вы писали бизнес-приложения для платформы Windows, которые бы работали с COM+, SQL Server, BizTalk и другими серверными платформами?

API - метрв. Он не будет расширяться и дорабатываться. Он останется, как режим совместимости для старых программ. MFC, VCL и проч. упрощали работу с WinAPI, за что им большое спасибо. Как сейчас помню программы из тысяч строк кода на C, которые окно отрисовывали и мышкой в нем линии выводить позволяли под Win 3.0.

Нельзя бесконечно тюнинговать Запорожец - рано или поздно это перестанет приносить выгоду. Так же и в программировании.

А решать умозрительные задачи, типа реализовать синглтон без статиков, это пусть на олимпиадах студенты делают, алгоритмизацию свою прокачивают. В реальном мире, где программер зарабатывает созданием бизнес-приложений, это не нужно. Нужно уметь в сроки укладываться и программы стабильные выпускать. Так вот такой уровень абстракции над сервисами ОСи и дает эту возможность.

Вот.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Denn
Дата 1.9.2005, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 6.8.2005

Репутация: нет
Всего: 2



Цитата(arilou @ 1.9.2005, 11:48)
API - метрв. Он не будет расширяться и дорабатываться. Он останется, как режим совместимости для старых программ.

Это возможно, но только не в ближайшем будущем. Для того, чтобы .NET стала действительно стОящей системой, ее еще развивать и вазвивать. Я год пишу под нее и слишком много обнаруживаю недоделок, багов, тормозов... Ждем .NET framework 2.0, можт будет по-лучше.
PM MAIL ICQ   Вверх
Дрон
Дата 1.9.2005, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 24
Всего: 92



Цитата(Denn @ 1.9.2005, 13:28)
Я год пишу под нее и слишком много обнаруживаю недоделок, багов, тормозов...

Да ню?
Списочек пожалуйста smile

Я не говорю, что .НЕТ идеален, но всё-таки пока реальных недостатков я не видел.
Добавлено @ 12:38
Цитата(neutrino @ 1.9.2005, 00:30)
Не понимаю...

Точно подмечено.

Цитата(neutrino @ 1.9.2005, 00:30)
На .NET Framework не может быть сделана ОС => эмулировать (интерпретировать) будут именно байт-код, а не API. API останется и никакой эмуляции не будет. И вообще не надо пользоваться API, иначе ваши приложения будут не кросплатформенными.

У Windows есть такая вещь как ядро, которое выставляет наружу свой интерфейс -- WinAPI.
Теперь интерфейсом к ядру будет .NET.
По-моему, очевидно smile


--------------------
Да. Именно так.
PM   Вверх
Denn
Дата 1.9.2005, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 6.8.2005

Репутация: нет
Всего: 2



Цитата
Списочек пожалуйста

Да сейчас только некорректно наследуется форма, контролы невозможно нормально разместить на наследованной - они располагаются непонятно как после компиляции.

Тормозит. MFC очевидно быстрее в большинстве случаев.

В C# нет некоторых вещей - шаблонов, например, вроде как есть 2.0.

Некоторые исключения не ловятся - например, обращение по null указателю иногда продолжает выполнение.

smile
Продолжу позже... Когда всплывет очередное...
PM MAIL ICQ   Вверх
Дрон
Дата 1.9.2005, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 24
Всего: 92



Цитата(Denn @ 1.9.2005, 14:27)
Некоторые исключения не ловятся - например, обращение по null указателю иногда продолжает выполнение.

Хмм... Маловероятно.

Единственное, где я видел, что исключения не ловятся вообще -- так это в обработчике событий ActiveX объекта. Помню долго не мог найти этот глюк, а потом пришлось принять как факт.

Цитата(Denn @ 1.9.2005, 14:27)
В C# нет некоторых вещей - шаблонов, например, вроде как есть 2.0.

Вот именно. Будет. Они особо-то и не нужны. Типизированные контейнеры делаются очень легко и без них smile

Цитата(Denn @ 1.9.2005, 14:27)
Тормозит. MFC очевидно быстрее в большинстве случаев.

Это совсем разные вещи. Нечего сравнивать.

Цитата(Denn @ 1.9.2005, 14:27)
Да сейчас только некорректно наследуется форма, контролы невозможно нормально разместить на наследованной - они располагаются непонятно как после компиляции.

Переустанавливаем драйвера рук и головы -- всё будет Ок smile
Добавлено @ 13:34
По поводу последнего.
Загляни Windows Form Designer Generated Code и посмотри внимательно каким именно способом в .NET создаются формы. Тогда и поймёшь smile


--------------------
Да. Именно так.
PM   Вверх
Denn
Дата 1.9.2005, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 6.8.2005

Репутация: нет
Всего: 2



Цитата
Хмм... Маловероятно.

Что не было такого - отлаживаешь строчка за строчкой, а на строке, где указатель null отладка прерывается и выполнение приложения продолжается?

Цитата
Вот именно. Будет.

Мда ждем...

Цитата
Это совсем разные вещи. Нечего сравнивать.

А почему бы и не сравнить скорость выполнения однотипных приложений?

Цитата
Загляни Windows Form Designer Generated Code и посмотри внимательно каким именно способом в .NET создаются формы. Тогда и поймёшь

Я понимаю как создаются формы. А ты пробовал когда-нить менять этот сгенеренный код? Лучше не пытаться. И не редактировать имена сгенеренных переменных в начале исходника.
PM MAIL ICQ   Вверх
Дрон
Дата 1.9.2005, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 24
Всего: 92



Цитата(Denn @ 1.9.2005, 15:31)
Я понимаю как создаются формы. А ты пробовал когда-нить менять этот сгенеренный код? Лучше не пытаться. И не редактировать имена сгенеренных переменных в начале исходника.

А мне это никогда не было нужно smile
Зачем извращаться-то. Наоборот, я как-то долго матерился, когда увидел, что один из моего проекта вручную отредактировал сгенерённый код.
Вообще надо стараться не злоупотреблять дизайнером форм, а генерировать в рантайме.

Цитата(Denn @ 1.9.2005, 15:31)
А почему бы и не сравнить скорость выполнения однотипных приложений?

Заказчика волнует больше скорость разработки, а не скорость выполнения. Тут MFC нельзя сравнивать с .NET


Что-то мы наоффтопили тут... smile

Это сообщение отредактировал(а) Дрон - 1.9.2005, 14:40


--------------------
Да. Именно так.
PM   Вверх
arilou
Дата 1.9.2005, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



Цитата(Denn @ 1.9.2005, 13:27)
Да сейчас только некорректно наследуется форма, контролы невозможно нормально разместить на наследованной - они располагаются непонятно как после компиляции.

Много раз так делал и никогда не было проблем.

Цитата(Denn @ 1.9.2005, 14:31)
где указатель null отладка прерывается и выполнение приложения продолжается?

Что такое указатель smile ? Ты имеешь ввиду ссылку? Тож не видел. Скорее всего, сырцы были модифицированы, но не было перекомпиляции.

Цитата(Denn @ 1.9.2005, 14:31)
А ты пробовал когда-нить менять этот сгенеренный код?

А вот этого никогда не стоит делать. На то код и сгенерированный. Если тебе надо что-то поменять в сгенерированном классе - наследуешься от него и меняешь. Вот так вот.

Кстати, и в MFC лезть руками в сгенерированный код - себе дороже выйдет.

Цитата
Заказчика волнует больше скорость разработки, а не скорость выполнения

Согласен.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Denn
Дата 1.9.2005, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 6.8.2005

Репутация: нет
Всего: 2



Цитата(arilou @ 1.9.2005, 16:49)
Много раз так делал и никогда не было проблем.

Это вылазит иногда, если форма нагружена контролами.

Цитата(arilou @ 1.9.2005, 16:49)
Что такое указатель smile ? Ты имеешь ввиду ссылку? Тож не видел. Скорее всего, сырцы были модифицированы, но не было перекомпиляции.

Да, ссылка. Скомпиленные, конечно. В run-time такое видно, как если бы функция не отработала.

Цитата(arilou @ 1.9.2005, 16:49)
А вот этого никогда не стоит делать. На то код и сгенерированный. Если тебе надо что-то поменять в сгенерированном классе - наследуешься от него и меняешь. Вот так вот.

Я знаю, что не надо. А зачем тогда этот код, сгенеренный компилятором, лежит в исходнике? Пусть тогда в .resx будет.
PM MAIL ICQ   Вверх
mr.DUDA
Дата 1.9.2005, 23:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Denn @ 1.9.2005, 20:12)
Я знаю, что не надо. А зачем тогда этот код, сгенеренный компилятором, лежит в исходнике? Пусть тогда в .resx будет.

Бред полный. Код, сгенерированный дизайнером, отлаживается точно так же как и любой другой код.

Цитата
Что не было такого - отлаживаешь строчка за строчкой, а на строке, где указатель null отладка прерывается и выполнение приложения продолжается?

Если и бывают подобные проблемы - всё дело в том, что в директории с исполняемой программой отсутствуют PDB-файлы для исходников, в которых возникло исключение. Лечится сие выставлением опции "отлавливать все .NET-исключения" (сочетание клавиш Ctrl+Alt+E, поставить красный крестик напротив "Common Language Runtime Exceptions"), и "подкидыванием" pdb-файлов для всех длл-ок в директорию с программой. В этом случае, если уж приаттачишься к процессу - точно не пропустишь ни одного исключения.

З.Ы. приаттачитсья к процессу можно с пом. Ctrl+Alt+P.


--------------------
user posted image
PM MAIL WWW   Вверх
Denn
Дата 2.9.2005, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 143
Регистрация: 6.8.2005

Репутация: нет
Всего: 2



Цитата(mr @ 1.9.2005, 23:04)
Бред полный. Код, сгенерированный дизайнером, отлаживается точно так же как и любой другой код.

если он предназначен только для отладки, его можно было бы как-нить защитить от редактирования.

Цитата(mr @ 1.9.2005, 23:04)
Лечится сие выставлением опции "отлавливать все .NET-исключения" (сочетание клавиш Ctrl+Alt+E, поставить красный крестик напротив "Common Language Runtime Exceptions"), и "подкидыванием" pdb-файлов для всех длл-ок в директорию с программой

спасибо, посмотрю.

Ладно. На это надо тему отдельную заводить.

Это сообщение отредактировал(а) Denn - 2.9.2005, 10:07
PM MAIL ICQ   Вверх
Hidrag
Дата 11.9.2005, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 877
Регистрация: 9.4.2005
Где: JDK

Репутация: 2
Всего: 25



Интересно а что будет с драйверами? Будут новые драйвера под .NET или подойдут старые виндовские в новой винде... или тоже в эмуляции будет все? )


--------------------
user posted image
PM WWW ICQ   Вверх
mr.DUDA
Дата 11.9.2005, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Hidrag @ 11.9.2005, 07:23)
Интересно а что будет с драйверами? Будут новые драйвера под .NET или подойдут старые виндовские в новой винде... или тоже в эмуляции будет все? )

По крайней мере эта версия Windows (Vista aka Longhorn) построена на старом ядре (WinXP), поэтому и дрова будут старые, вроде.


--------------------
user posted image
PM MAIL WWW   Вверх
Guest
Дата 9.11.2005, 08:49 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Народ, присоветуйте... smile
Я немного программирую на Visual C++ 6.0, на какую систему мне лучше переходить: на С++.NET или на C#.NET А то я уже весь в растерянности smile
Кстати, это правда, что на С++.NET легче работть с контролами диалогами и т.д и т.п.
  Вверх
Exception
Дата 9.11.2005, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



1. на с#.
2. мс++.нет умрёт.
3. неправда, наоборот сложнее
4. один топик - один вопрос
5. это уже неоднократно обсуждалось
PM   Вверх
Diless
Дата 7.3.2006, 07:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 6.3.2006

Репутация: нет
Всего: нет



Цитата

Как Вы наверно уже поняли, для того, что бы программы написанные под .NET могли быть запущены на другом компьютере, на нем должна быть установлена среда исполнения (устанавливается она в каталог \WINDOWS\Microsoft.NET\Framework\<номер версии>).

Понять то поняли, но тормозим как это с делать.. подскажите пожалуйста. где ее взять как ее устанавливать?))
PM MAIL   Вверх
kobra
Дата 7.3.2006, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 1
Всего: 9



Цитата(Diless @ 7.3.2006, 07:04 Найти цитируемый пост)
Понять то поняли, но тормозим как это с делать.. подскажите пожалуйста. где ее взять как ее устанавливать?))
заходим на саит к MS, находим .NET Framework 1,1 (там ещо и обдеиты имеются) и/или 2,0, качаем, инсталируем.

PM MAIL   Вверх
Calve
Дата 10.3.2006, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 12.7.2005

Репутация: нет
Всего: нет



OS на C#:
Singularity OS

будущее шарпа:
Phoenix Framework
Advanced Compiler Technology
Polyphonic C#
C omega
Spec#

Как вам такие наработки?
PM MAIL   Вверх
mr.DUDA
Дата 10.3.2006, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(Calve @ 10.3.2006, 09:25 Найти цитируемый пост)
Как вам такие наработки?

Главное - не красивое название, а практическая польза. Пока что ничего нового не предлагается (разве что датасеты превратили в часть языка и обозвали Linq-ом smile )


--------------------
user posted image
PM MAIL WWW   Вверх
arilou
Дата 10.3.2006, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



mr.DUDA, не скажи. Например, Singularity OS - это другой подход к разработке ОСи


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
mr.DUDA
Дата 10.3.2006, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(arilou @ 10.3.2006, 12:32 Найти цитируемый пост)
mr.DUDA, не скажи. Например, Singularity OS - это другой подход к разработке ОСи

я грю про "C omega", XLinq, DLinq, blablabla-Linq... smile


--------------------
user posted image
PM MAIL WWW   Вверх
Exception
Дата 10.3.2006, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Цитата(mr.DUDA @ 10.3.2006, 14:56 Найти цитируемый пост)
я грю про "C omega", XLinq, DLinq, blablabla-Linq... smile

LINQ не трожь smile . Мне очччень понравился DLinq.
Добавлено @ 14:16
Это гораздо лучше, чем типизованные датасеты, по крайней мере.
PM   Вверх
Calve
Дата 13.3.2006, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 12.7.2005

Репутация: нет
Всего: нет



В этих языках интересен не только LINQ. Там есть такие штуки как асинхронные вызовы функций и свойств, ключевые слова requires ... otherwise ..., ensures, expose, assert и т.п. Это я про Spec#, остальное еще не смотрел smile
PM MAIL   Вверх
chipset
Дата 13.3.2006, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 1
Всего: 164



Цитата(Calve @ 12.3.2006, 21:00 Найти цитируемый пост)
Там есть такие штуки как асинхронные вызовы функций и свойств, ключевые слова requires ... otherwise ..., ensures, expose, assert и т.п. Это я про Spec#, остальное еще не смотрел emo&:)endemo

Однако-ж ты меня заинтриговал! Качаю smile


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Exception
Дата 13.3.2006, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



На самом деле функциональность Spec# реализуется штатными средствами С#, но более коряво.
PM   Вверх
Calve
Дата 14.3.2006, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 12.7.2005

Репутация: нет
Всего: нет



Цитата(Exception @ 13.3.2006, 13:02 Найти цитируемый пост)
На самом деле функциональность Spec# реализуется штатными средствами С#, но более коряво.

Даже более того, средствами асемблера smile))
Вопрос только лишь в стоимости применения того или иного функционала.
PM MAIL   Вверх
Lord Dagger
Дата 15.3.2006, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 14.8.2004
Где: Москва

Репутация: 2
Всего: 3



Цитата(Hidrag @ 11.9.2005, 07:23 Найти цитируемый пост)
Интересно а что будет с драйверами? Будут новые драйвера под .NET или подойдут старые виндовские в новой винде... или тоже в эмуляции будет все? )

Бред какой, драйверы на .Net... Долго смеялсоsmile Вот до чего уже неокрепшие молодые умы додумалисьsmile
Шучу, шучу;)
Обычные там драйверы, на C\С++ написанные, как и вся ОСsmile Старые драйверы(Win XP) подходят прекрасно и к Windows Vista.
--------------------
(+)  
PM MAIL WWW ICQ   Вверх
Exception
Дата 15.3.2006, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Цитата(Lord Dagger @ 15.3.2006, 13:07 Найти цитируемый пост)
Бред какой, драйверы на .Net...

Singularity OS вся на .NET smile
PM   Вверх
arilou
Дата 15.3.2006, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



Exception, я так и знал, что ты это скажешь smile


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
nettitan
Дата 14.6.2006, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 9.6.2006
Где: г. Хмельницкий

Репутация: нет
Всего: нет



Привет всем !!!

Насколько я знаю и слышал есть два вида програмирования под .NET:
1. Windows Form
2. програмирование под WEB

Я шас пишу на С# (под Windows), но меня также интересует второй пункт, так как над первым пунктом я сейчас работаю...
Хотелось бы узнать побольше о програмировании под WEB, что это такое и с чем его едят.....
Так как на С# можно писать и под WEB, хочу о  нем узнать больше, может в будущем займусь всем этим.

Зарание благодарен !!!
 
PM MAIL WWW ICQ Skype   Вверх
arilou
Дата 14.6.2006, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



Цитата(nettitan @  14.6.2006,  15:04 Найти цитируемый пост)
Зарание благодарен !!!

за что?  smile  


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
Ch0bits
Дата 14.6.2006, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: 9
Всего: 62



nettitan
Для начала изучи HTML и JavaScript, потому что без них "програмирование под WEB" как сапожник без сапог.  smile  
PM WWW   Вверх
kaa
Дата 15.6.2006, 00:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: нет
Всего: 2



А у мя такой аопрос: можноли компилить программу на C# не в IL-код а в native сразу? любапытно ж черт возьми  smile  
PM MAIL   Вверх
VisualProgrammerNET
Дата 15.6.2006, 01:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 4
Всего: 6



Мнэээ... внутренний голос подсказывает, что только из MC++ можно компилить native код  smile  


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
Ch0bits
Дата 15.6.2006, 05:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Python Dev.
****


Профиль
Группа: Завсегдатай
Сообщений: 2124
Регистрация: 21.2.2005
Где: Казань

Репутация: 9
Всего: 62



kaa
Низя. 
PM WWW   Вверх
mr.DUDA
Дата 15.6.2006, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



kaa, а зачем ?

Цитата(Ch0bits @  15.6.2006,  04:55 Найти цитируемый пост)
kaa
Низя. 

Воистину так, аминь  smile  


--------------------
user posted image
PM MAIL WWW   Вверх
ivashkanet
Дата 15.6.2006, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(mr.DUDA @  15.6.2006,  10:51 Найти цитируемый пост)
kaa, а зачем ?

Могу предложить массу вариантов ответа. 
PM MAIL WWW ICQ   Вверх
VisualProgrammerNET
Дата 15.6.2006, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Почётный халявщик
**


Профиль
Группа: Участник
Сообщений: 461
Регистрация: 30.10.2005
Где: Зеленоград

Репутация: 4
Всего: 6



А как же MC++?  smile Стопудово где-то читал, что оттуда можно компилить native код 


--------------------
3 ГОДА НА user posted image 
PM MAIL ICQ   Вверх
Exception
Дата 15.6.2006, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Цитата(VisualProgrammerNET @  15.6.2006,  14:58 Найти цитируемый пост)
А как же MC++?   Стопудово где-то читал, что оттуда можно компилить native код  


C++/CLI только. Можно, конечно. 
PM   Вверх
nettitan
Дата 15.6.2006, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 45
Регистрация: 9.6.2006
Где: г. Хмельницкий

Репутация: нет
Всего: нет



Вот это я новость нашел, радуйтесь братья мои.....   smile 

"Мне кажется, что переименование 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, то и не возникает проблемы с переименованием или задержкой выхода."


 
PM MAIL WWW ICQ Skype   Вверх
Exception
Дата 15.6.2006, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 29
Всего: 186



Цитата(nettitan @  15.6.2006,  15:47 Найти цитируемый пост)
Извиняюсь за игнорирование VB, но с тех пор как он не носит имени 3.0, то и не возникает проблемы с переименованием или задержкой выхода


Он носит имя VB 9.0

Добавлено @ 17:53 
Цитата(nettitan @  15.6.2006,  15:47 Найти цитируемый пост)
Похоже, что .NET v3.0 выйдет скорее, нежели C# 3.0 и ADO.NET v3.0, и не похоже, чтобы последние были выпущены раньше


Это почему же? 
PM   Вверх
kaa
Дата 9.7.2006, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: нет
Всего: 2



А вот возник вопрос. Существует-ли в C#.NET вариант компиляции сразу в бинарный код с включением внего всех необходимых библиотек и функций? 
PM MAIL   Вверх
Evghenii
Дата 9.7.2006, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 25.6.2006
Где: Молдова, Кишинёв

Репутация: нет
Всего: нет



Цитата

А вот возник вопрос. Существует-ли в C#.NET вариант компиляции сразу в бинарный код с включением внего всех необходимых библиотек и функций? 


Насколько мне известно нет. 
PM MAIL WWW   Вверх
ivashkanet
Дата 9.7.2006, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(kaa @  9.7.2006,  02:02 Найти цитируемый пост)
Существует-ли в C#.NET вариант компиляции сразу в бинарный код с включением внего всех необходимых библиотек и функций? 

 smile Нет, не существует, не реализовано smile 
P.S. Уже тысячу раз обсуждалось!!!!! 
P.P.S. Модераторы: Предлогаю попросить у Вовы (илу у кого там просят, dm9? ) добавить в шапку раздела большими буквами:
 smile Приложения под .Net НЕ компилятся в бинарный код smile 

Красными, жирным.... 
PM MAIL WWW ICQ   Вверх
kaa
Дата 9.7.2006, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: нет
Всего: 2



Понял  smile

Добавлено @ 12:39 
А насчет того что сто раз обсуждалось - так я пытался найти поиском и ничё невышло, может у мя конечно руки кривые, а может... smile  smile  
PM MAIL   Вверх
sgi1981
Дата 14.7.2006, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: нет
Всего: 10



Цитата(ivashkanet @ 9.7.2006,  11:06)
 smile Приложения под .Net НЕ компилятся в бинарный код smile 

Красными, жирным....

Опарафинились Microsoft? 


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
ivashkanet
Дата 14.7.2006, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



Цитата(sgi1981 @  14.7.2006,  12:20 Найти цитируемый пост)
Опарафинились Microsoft? 

Врятли, это такой маркетинговый ход --- типа все устанавливаем FrameWork и баста
sgi1981, неужели ты думаешь, что MS не могла написать компилятор IL в native-код smile 
Тем более это делает JIT-компилер при запуске проги 
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 14.7.2006, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



http://www.xenocode.com/

И подобные ему позволяют создавать .NET приложения, не требующие установки Framework.

З.Ы. насчёт "микрософт опарафинилась", sgi1981, SUN что тоже опарафинилась с Java ??? 


--------------------
user posted image
PM MAIL WWW   Вверх
sgi1981
Дата 14.7.2006, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: нет
Всего: 10



Цитата(mr.DUDA @ 14.7.2006,  12:54)
http://www.xenocode.com/
З.Ы. насчёт "микрософт опарафинилась", sgi1981, SUN что тоже опарафинилась с Java ???

Ну, знаешь ли. Джава первоначально был предназначен совсем не для того, для чего его применяют сейчас - в то время и не думали даже...

А насчет исполняемых файлов под .NET - есть свои преимущества и недостатки.
Первое преимущество, которое я заметил - маленький размер "*.exe" - весь машинный код по инициализации окна теперь в ОС (включая .NET).

А недостаток - много ограничений в программировании.
Ну хотя бы кто-нибудь мне ответит на вопрос: как мне вставить мной составленную последовательность инструкций процессора на C# ? Никак. А почему я должен всегда подчиняться NET ? Она умнее моего мозга ? Или комп должен права качать ? Компилятор никогда не создаст код эффективнее чем это может сделать человек. А почему я должен использовать средства WINDOWS только через NET постоянно ? А может я могу эффективнее использовать АПИ в некоторых случаях !

Да, а как там вообще SSE2 инструкции процессора - чё, только .NET их будет генерить ? Она самая умная да ? А как же мне обрабатывать графические изображения с применением инструкций SSE2 собственным алгоритмом. Ну неужели все алгоритмы по обработке графики исчепываются ОС ? НИКОГДА ! Потому что их бесконечное множество.

Так я непонимаю - у меня есть шанс на применение собственного машинного кода в C# ? Как мне добавить в прогу исходный код на асме (помните меня на АСМ-форуме, если не помните - просмотрите мои сообщения) ? Может можно составить DLL а потом подключить. Так чего то я не нахожу неи в одной книге из двух книг как подключить DLL к проекту. Да, надо же вспомнить, что вызываться могут только те подпрограммы, которые являются методами класса. А если DLL не экспортирует классов, то вообще тогда непонятно... Как мне использовать DLL-библиотеки в своей программе на C# ? 


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
Дрон
Дата 14.7.2006, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 24
Всего: 92



Гражданин, sgi1981, поменьше эмоций, пожалуйста. Вас никто не заставляет писать на .NET

Цитата(sgi1981 @  14.7.2006,  16:32 Найти цитируемый пост)
А может я могу эффективнее использовать АПИ в некоторых случаях !

Никто и не запрещает smile

Цитата(sgi1981 @  14.7.2006,  16:32 Найти цитируемый пост)
Как мне использовать DLL-библиотеки в своей программе на C# ?  

Легко. Поиск на форуме по слову DllImport

Цитата(sgi1981 @  14.7.2006,  16:32 Найти цитируемый пост)
Она умнее моего мозга ?

А почему бы и нет...  smile   

Это сообщение отредактировал(а) Дрон - 14.7.2006, 15:45


--------------------
Да. Именно так.
PM   Вверх
mr.DUDA
Дата 14.7.2006, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(sgi1981 @  14.7.2006,  15:32 Найти цитируемый пост)
 Так чего то я не нахожу неи в одной книге из двух книг как подключить DLL к проекту. Да, надо же вспомнить, что вызываться могут только те подпрограммы, которые являются методами класса. А если DLL не экспортирует классов, то вообще тогда непонятно... Как мне использовать DLL-библиотеки в своей программе на C# ? 

Если только в этом вопрос... smile

Пишем любую длл с любыми экспортируемыми функциями. Затем на C# пишем класс, в котором объявляем метод с модификаторами public static extern и ставим над методом атрибут [DllImport("имя dll")]. Всё, при вызове метода будет вызвана длл-функция с тем же именем, что имя метода.

Добавлено @ 15:52 
Цитата(Дрон @  14.7.2006,  15:45 Найти цитируемый пост)
А почему бы и нет..

Иногда, к сожалению, наоборот.

З.Ы, а native код никогда не умрёт, ИМХО. Не будут же САПРы и движки баз данных писать на .NET 


--------------------
user posted image
PM MAIL WWW   Вверх
sgi1981
Дата 14.7.2006, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: нет
Всего: 10



Первоначально мне понравился маленький размер *.exe файла по сравнению с исполняемым файлом, сгенерированным C++ Builder. В общем кажется странным, почему размер "*.exe" такой сравнительно большой получается на C++ Builder даже если просто пустую форму создать. То бишь если так сделать, чтобы программа могла выполняться на других машинах и ничего не поместить на форму, то и тогда количество кода будет в полметра. Может я не знаю способа как уменьшить объем генерируемого кода С++ Builder ?

По поводу DLL. Да, я просто хотел спросить как можно подключить DLL. А динамически никак ?

И чего то оно странно. Могла бы Майкрософт и предусмотреть возможность вставки native-кода в "*.exe". Допустим предшествует в файле некая директива, которая означает что следующие байты будут просто native-кодом. Неужели такая нужна супер-безопасность кода ? Они че думают, что хакеры накроют в скором будушем их WINDOWS ?  smile  

Это сообщение отредактировал(а) sgi1981 - 14.7.2006, 16:40


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
mr.DUDA
Дата 14.7.2006, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(sgi1981 @  14.7.2006,  16:39 Найти цитируемый пост)
 Могла бы Майкрософт и предусмотреть возможность вставки native-кода в "*.exe". Допустим предшествует в файле некая директива, которая означает что следующие байты будут просто native-кодом.

А какой смысл тогда был бы в промежуточном языке ? Вместо IL можно было бы компилировать прямо в native-код, и делать вставки на асме в C#. Задумано всё было ради переносимости: JIT в рантайме переводит IL в исполняемый код, оптимизированный под конкретную платформу, под процессор и т.д. Кстати, поэтому .NET-приложение скомпилированное под x86, по идее должно без перекомпиляции работать под x64 (не проверял).
 


--------------------
user posted image
PM MAIL WWW   Вверх
arilou
Дата 14.7.2006, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



Цитата(sgi1981 @  14.7.2006,  16:39 Найти цитируемый пост)
И чего то оно странно. Могла бы Майкрософт и предусмотреть возможность вставки native-кода в "*.exe". 

Visual C++ вам в помошь. Там все это можно сделать. 


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
sgi1981
Дата 14.7.2006, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 284
Регистрация: 16.3.2006

Репутация: нет
Всего: 10



А знаете, в HELPе Borland Developer Studio по поводу использования DLL написан пример использования АПИ из User32.dll smile  smile  smile 

Код

using System;
using System.Runtime.InteropServices;
class MyClass 
{
   [DllImport("User32.dll")]
   public static extern int MessageBox(int h, string m, string c, int type);

   public static int Main() 
   {
      string myString; 
      Console.Write("Enter your message: ");
      myString = Console.ReadLine();
      return MessageBox(0, myString, "My Message Box", 0);
   }
}


 


--------------------
Тело в нашем пространстве - есть часть пространства, в которой пространство обладает дисторсией относительно внешнего пространства.
PM MAIL   Вверх
mr.DUDA
Дата 14.7.2006, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(sgi1981 @  14.7.2006,  18:45 Найти цитируемый пост)
А знаете, в HELPе Borland Developer Studio по поводу использования DLL написан пример использования АПИ из User32.dl

Замечательно ! Об этом я и говорил выше.

  


--------------------
user posted image
PM MAIL WWW   Вверх
Freelancer
Дата 25.12.2006, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 18.8.2006

Репутация: нет
Всего: нет



Моё мнение по поводу .НЕТ:
Майкрософты как всегда стремяться урвать все более-менее хорошие идеи дабы в будущем предоставлять пользователям большую свободу (в плане что всё уже включено). Типичный пример технология Флеш. Как она набрала популярнгость её активХ включили в пакет ОС. Чтоб юзер сразу после установки ОС мог выйти в нет и не чувствовать каких либо неудобств.
Сейчас они идут по пути натоптаному Явой. И у них все получиться больше чем уверен. Так как денег у них и не на то еще хватит. .НЕТ это конкурент яве причем мощный. Прикинте подержку .НЕТ на мобилах! В плане безопасности тоже .НЕТ рулит в плане того что чо попало не напишиш. Это конечно сужает возмжности. Так же зделали те же Макромедия кода не стали включать в свой интерпритатор возможность работы с файлами... Хочеш чото сохранить на винте? Будь добр использовать спецальный метод. Который сам куда нада что нада запишет... А вообще это "Бизнес"! Как продать старую конфету? Правильно... завернуть её в новую обертку. Тут кондитерам(программистам) придеться покупать новые инструменты, а юзерам... ОС. И все счастливы... Все радуються прогрессу : )

PM MAIL   Вверх
Yama
Дата 25.12.2006, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 167
Регистрация: 2.8.2006

Репутация: 2
Всего: 2



sgi1981, по моему, Майкрософт решила сделать .нет фреймворк исключительно для того, что бы защитить свою ОС, т.к. постоянно фиксить глюки и баги просто невозможно(на моей памяти более-менее стабильно работала только win2kSP4), они решили придумать "принципиально новую технологию" и еще на этом прилично заработать. При компиляции сразу в native-код можно было  сделать многочего как хорошего, так и не совсем  smile  с ОС. А под .нет такого просто невозможно сделать - ни хорошего, ни плохого.
По сути .нет фреймворком Майкросовт решила свои проблемы за счет энд-юзеров. +1 их маркетинговому отделу  smile  .
--------------------
Если бы строители строили дома так же, как программисты пишут программы, то первый же залетевший в форточку дятел разрушил бы всю нашу цивилизацию.
PM MAIL   Вверх
Deja_Vu
Дата 28.9.2007, 21:58 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 15.6.2007
Где: Казань

Репутация: нет
Всего: 2



Сколько воды утекло с далекого 2001 года?! 
.NET растет - цветет.

Не так быстро, как хотелось MS, но все же.
.NET программисты все больше и больше требуются, а Internet технолог
ии уже полностью переходят под .NET.
ASP.NET - загляденье ... используй понравившийся тебе язык.

Я за .NET, ведь тогда никто не сможет ничего плохо сделатьмоему компьюторику -))


Это сообщение отредактировал(а) Deja_Vu - 28.9.2007, 21:58
PM Skype   Вверх
Geolog
Дата 11.2.2008, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 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
PM MAIL   Вверх
kemiisto
Дата 11.2.2008, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 4
Всего: 160



Цитата

1) Vista уже более года как вышла - работает она на платформе NET Framework (эмулируя при этом Win32) или всё работает также как и в WinXP?

Скорее так: платформа .NET работает поверх платформы Win32 (ну или Win64). А в самой Win32 по сравнению с XP были сделаны существенные изменения. Все таки как никак новая ОС. 

Цитата

2) Какие из NET Framework в Vista уже предустановленны, а какие необходимо ставить?

Версии 1.1, 2.0 и 3.0. По поводу 3.5 не уверен, видимо надо ставить.

Цитата

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  тоже отказался ставить)

Может банальная несовместимость. Google все таки конкурент  smile  

Цитата

5) На сегодняшний день есть удачные проекты по реализации работы приложений .NET на Linux (сама Microsoft  в этом направлении работает)?

M$ сотрудничает с Novell, которая разрабатывает платформу Mono (.NET может устанавливаться только поверх Win32 или Win64? а у Mono - кросплатформенность (Win, Linux, MacOS,...)). Есть даже IDE MonoDevelop (пока, imho, продукт сыроват).


--------------------
PM MAIL WWW GTalk Jabber   Вверх
arilou
Дата 11.2.2008, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



Цитата(kemiisto @  11.2.2008,  13:59 Найти цитируемый пост)
M$ сотрудничает с Novell,

э-э-э, а ссылку на первоисточник?


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
kemiisto
Дата 11.2.2008, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 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


--------------------
PM MAIL WWW GTalk Jabber   Вверх
arilou
Дата 11.2.2008, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Великий МунаБудвин
****


Профиль
Группа: Экс. модератор
Сообщений: 2646
Регистрация: 15.7.2004
Где: город-герой Минск

Репутация: 21
Всего: 61



kemiisto, о я не знал. думал новел это всё сам делает.


--------------------
user posted imageuser posted image
PM WWW ICQ   Вверх
kemiisto
Дата 11.2.2008, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дикий Кот. =^.^=
****
Награды: 1



Профиль
Группа: Участник Клуба
Сообщений: 3292
Регистрация: 29.7.2007

Репутация: 4
Всего: 160



arilou, Novell имеет к Mono вообще очень интересное отношение. Была такая компания Ximian - вот она то все и разработала, а потом... Novell ее купила! Сейчас Ximian - часть Novell. 
http://www.novell.com/linux/ximian.html


--------------------
PM MAIL WWW GTalk Jabber   Вверх
Geolog
Дата 12.2.2008, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 18.3.2005

Репутация: нет
Всего: 1



Спасибо за ответ.
Меня смутил тот факт, что в Vista в разделе компоненты системы явно висит только NET Framework 3.0, ну и SketchUP  отказался устанавливаться пока я не установил на висту NET Framework 1.1 - обидно всё таки, что даже под висту приходиться ставить пакет обновления многолетней давности.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.2863 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.