Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы про .NET

Модерирует : ShIvADeSt

ShIvADeSt (21-12-2007 03:31): http://forum.ru-board.com/topic.cgi?forum=33&topic=3706  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4

   

vladgangan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
klau
Очень даже правильно .

Всего записей: 761 | Зарегистр. 12-09-2002 | Отправлено: 14:06 30-05-2003
GSMD



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, а в 2х словах: что такое .Net (и где об этом почитать)?

Всего записей: 220 | Зарегистр. 25-01-2004 | Отправлено: 14:35 03-03-2005
oSLikus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
www.gotdotnet.ru

Всего записей: 82 | Зарегистр. 14-12-2004 | Отправлено: 15:45 03-03-2005
knst

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я глупый наверное вопрос задам, но все-таки:раз С++ компилится в промежуточный код если стоит соотв галка в компиляторе, то за каким надо ставить эту галку и  писать под .NET на C++? Вся фишка С++ в том что  откомпиленная прога будет быстрой, если же компилить его в промежуточный код, то этот бонус теряется. То же и с хваленой "гибкостью" все что с ее помощью будет выигрываться , тут же будет теряться за счет более сложной работы в тех местах где идет взаимодействие с платформой (полагаю C# под это лучше заточен)... Так?
 
И сразу еще один вопрос можно ли  написать кусок критичный к скорости выполненя на С++, откомпилить его под win32 получить dll, саму прогу всю написать под .NET и в ней эту dll использовать.
 
Сейчас пишу на BCB думаю переходить  на NET, но еще ее даже не поставил, так что просьба особо не гнобить, а пояснить где и почему я не прав(если не прав)

Всего записей: 46 | Зарегистр. 22-10-2003 | Отправлено: 01:18 04-03-2005
zorrack



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
knst

Цитата:
С++ компилится в промежуточный код  

В архитектуре .NET - все компилится в промежуточный код, который непосредственно при исполнении "компилится" в реальный код и исполняется.
Т.е. отличие от стандартного VB, который интерпретирует код, здесь идет как бы двухпроходная компиляция.
Это, кстати, не зависимо от языка программирования (C++, C#, VB.NET, J.NET и т.д.)
 
Вообще, преимущество .NET - это громадный фреймворк с библиотеками и классами. Разработчику необходимо гораздо меньше времени для разработки продукта, чем, скажем, на стандартном VC++ 6.0.
Базовые это - Windows Forms - Библиотеки стандартных визуальных компонентов, Web Services - мощный SOAP-подобный протокол вызова удаленных процедур, связь с XML, которая позволяет написать распределенное решение за несколько часов и т.д.

Всего записей: 244 | Зарегистр. 16-05-2003 | Отправлено: 16:20 04-03-2005
knst

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 архитектуре .NET - все компилится в промежуточный код, который непосредственно при исполнении "компилится" в реальный код и исполняется.  

об этом и речь, такой подход очевидно ведет к поере в скорости.  В 90% случаев никто этого не заметит, а вот в оставшихся 10%, такая потеря крайне нежелательна. Можно ли написать эти 10% на обычном С++?

Всего записей: 46 | Зарегистр. 22-10-2003 | Отправлено: 18:58 04-03-2005
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
knst
Ну вообще здесь дело не только в галке, которая якобы генерит код то такой, то сякой. Ты не сможешь просто написать на С++ некоторые специфичные для Win32 вещи, и откомпилировать их под .NET. Под .NET в С++ внесены некоторые модификации (расширения), которые позволяют использовать преимущества новой платформы, как то сборшк мусора, например и др. Они и язык теперь называют MC++ (Managed C++). В MC++ можно включать блоки не Managed-кода, в котором, например как раз есть прямой доступ к памяти и нет ограничений .NET по доступу к ней.
 
Не смотря на то что MS декларирует C# как самый лучший и исчерпывающий язык для .NET, сами программисты MS признают, что добиться самой эффективной, исключительной и полной реализации всех возможностей .NET можно только на MC++.
 
Если тебя волнует вопрос перехода с BCB на VS для программирования на С++, то смело переходи, писать чисто Native Win32 приложения там тоже можно, и вызывать такие dll из .NET приложений тоже.
 
Другое дело, что со временем необходимость и желание цепляться за Win32 всё равно скоро отомрёт с развитием Windows и неумолимым ростом производительности компов.

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 19:20 04-03-2005 | Исправлено: EZH, 19:22 04-03-2005
knst

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EZH
мысль понял, но за державу обидно... Опять нас поганый wintel дурит...
 а по поводу
Цитата:
необходимость и желание цепляться за Win32 всё равно скоро отомрёт
.... ну не знаю,  думаю все-равно никто не будет писать на NET  сложную математику. И дело не win32 , его то как раз не жалко, просто тебя послушать получается, что со временем С++ перейдет на позиции асемблера (мол "круто но ну его нафиг"). Опять MS костылей понаделал, ну не дает им покоя успех Java
 

Всего записей: 46 | Зарегистр. 22-10-2003 | Отправлено: 20:34 04-03-2005
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
knst

Цитата:
думаю все-равно никто не будет писать на NET  сложную математику

Да я думаю тебе и не придется её самому писать. Я уверен что много базовой, но в то же время сложной математики будет реализованно на низком уровне, очень оптимизированно, и предоставлено программерам в качестве библиотек. Тебе останется только оперировать этими функциями по нужному тебе алгоритму, фактически не теряя производительности. Как пример, возьми просто DirectX. Никто же не собирается переписывать его на .NET - он просто дан тебе для пользования, и доступен в том числе из .NET...
 

Цитата:
просто тебя послушать получается, что со временем С++ перейдет на позиции асемблера (мол "круто но ну его нафиг")

Хоть убей не пойму где ты это увидел в моем посте. С++ как рулил, так и будет рулить в будущем. Просто тут он развивается в рамках новых концепций программирования - виртуальных машин, что очень даже хорошо. И MS тут не причем, Java тоже ведь на этом успешно выросла, многие языки идут к этому, это эволюция концепции программирования.
 
Да и native C++ не умрет тоже. GCC ведь никто не забрасывает, наоборот - это чуть ли не единственный компилятор, поддерживающий полные стандарты С++. И он тоже развивается, причем как на *nix платформе, так и на win.
 
Просто каждый программер в определенный момент определяется чем он хочет зарабатывать себе на хлеб - системным или прикладным программированием. Отсюда и выбор языка и платформы под него. Хотя можно одним заниматься для работы, а другим для души. Программеры ведь народ такой...

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 00:17 05-03-2005 | Исправлено: EZH, 00:22 05-03-2005
zorrack



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EZH

Цитата:
Ты не сможешь просто написать на С++ некоторые специфичные для Win32 вещи

Тут надо определиться: хотим ли мы писать код с использованием .NET Framework или просто хотим писать C++ прогу используя Visual Studio 7.0(7.x) IDE
Если мы просто создаем приложение на стандартной C++ (ну, возможно с использованием Win32/MFC), но не юзаем .NET Framework - глубоко пожалуйста. Сами компилим и работаем с проектами, написанными на Visual C++ 6.0. В IDE появилось несколько прикольных штучек - вот нам и понравилось. Плюс расширенный MFC (чуть более стандартных классов).
Конечно, некоторые вещи надо немного поменять (например MFC-шный CString немного изменен). Но все остальное - да пожалуйста. Не юзаешь MC++ - все чудесно.
Другой штук - это если ты хочешь написать прогу на C++ с использованием Windows Forms, ADO.NET, Web Services и т.д.
Вот тогда - да, никуда ты не денешься без установки .NET Framework на клиентской машине, CLR (промежуточного кода) и т.д.

Всего записей: 244 | Зарегистр. 16-05-2003 | Отправлено: 16:34 05-03-2005
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
zorrack
Ну я об этом и говорю
Цитата:
дело не только в галке, которая якобы генерит код то такой, то сякой


Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 16:43 05-03-2005
zorrack



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EZH
Просто чуть некорректно изначально поставлен вопрос.
Можно ли писать С++ код под .NET или надо его портировать...
Также и то, что касается преобразования из CLR в Machine Codes.
Если что-то пишется под .NET (сугубо), то есть нормальная возможность написать ту-же сложнную математику под базовым C++ и подключить в виде внешнего COM объекта или что-то в этом роде (понятно, врапперы там разные, но от этого производительность не падает).
Например, глянь на портированный Quake II под .NET - вроде нормально так работает.
А про каких 10% идет речь? Если про людей, которые до сих пор используют Pentium 100. 200MMX - ну не повезло. Но под такие спец.потребности и .NET использовать это убийство пользователя.
Попробуй на жабе или Delphi написать приличную прогу с использованием сторонних компонентов, свинга и т.д. - дык она тормозить будет.
Т.е. могу попробовать подвести суммари:
1. .NET технология очень перспективна и позволяет быстро разрабатывать мощные программные продукты используя стандартный набор библиотек, встроенных в фреймворк
2. Потребность написания на .NET может возникнуть, если:
  а) Нужен пробукт с продвинутым ПИ, но использование сторонних компонентов для C++ не подходит (например - причина лицензирования).
  b) Нужно быстро написать проект с распределенной архитектурой (клиент/сервер, веб-совместимый и т.д.), но опять же, отсутствуют наработки или нет возможности использовать сторонние компоненты.
  c) Необходимо создать сервер веб-сервисов, но нет никакого желания писать десятки тыщ строк кода по формированию/парсингу SOAP запросов, конвертированию данных, разработке своих типов данных и т.д.
3. Выбор, как всегда, за программистом: если есть опыт, наработки, купленные/кракнутые (в случае если подходит) сторонние компоненты, к которым привык (или согласен привыкать) - пиши дальше на Visual C++/Delphi и т.д.
Стандартный Вынь 32 скорее всего не умрет никогда по причине, что это как ни как основа системы. Хотя, вот, обещают что Longhorn будет уже полностью .NET ориентированным и связь со старым Win32 будет чуть-ли не эмулироваться (ну, как всегда коммерческая фишка, чтоб подвинуть людей на использование .NET и отказаться от старого доброго выня32).
 
ЗЫ: Я, лично, до сих пор пишу под стандарт Visual C++ с MFC/ATL
.NET - почти не юзаю. Только IDE

Всего записей: 244 | Зарегистр. 16-05-2003 | Отправлено: 17:17 05-03-2005
AndrewCH

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди а если мне надо написать weblog с использованием технологии .NET - незнаю с чего подойти , на чем же его писать,  чего  имелось ввиду? Подскажите хоть че искать и в чем ковыряться.

Всего записей: 2 | Зарегистр. 26-03-2005 | Отправлено: 23:55 26-03-2005
gl0be

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zorrack
 

Цитата:
Если что-то пишется под .NET (сугубо), то есть нормальная возможность написать ту-же сложнную математику под базовым C++ и подключить в виде внешнего COM объекта или что-то в этом роде (понятно, врапперы там разные, но от этого производительность не падает).  

 
Неверное утверждение.Производительность как раз падает,т.к. managed коду приходится взаимодействовать c unmanaged через маршалинг, что накладно.Кстати мы всегда можем использовать и managed и unmanaged код внутри одной сборки,это и есть бонус mc++.

Всего записей: 21 | Зарегистр. 24-12-2003 | Отправлено: 00:28 30-03-2005
Kovalenko_Alexandr



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа
Кто может вкратце объяснить или дать ссылку, где можно просветиться
 
Как изменилась подсистема сообщений на платформе Microsoft .NET???
 
Заранее спасибо

Всего записей: 31 | Зарегистр. 16-01-2005 | Отправлено: 20:19 10-11-2005
Pinocchio

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
и предоставлено программерам в качестве библиотек

дотНет даёт код независимый от процессора, а не как в яве независимый от системы. Думаю представить себе тулзу которая сохраняет работающий код на диск очень сложно. А оптимизатор после этого представить ещё сложнее. Так что фактически можно получать код для 32 отдельно от кода для 64. Тут не в яве дело, а в том кому это надо.

Всего записей: 683 | Зарегистр. 18-11-2002 | Отправлено: 15:01 11-11-2005
Inochkin

Запрет на пост
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kovalenko_Alexandr

Цитата:
Кто может вкратце объяснить или дать ссылку, где можно просветиться

MSDN, Google, microsoft.com

Цитата:
Как изменилась подсистема сообщений на платформе Microsoft .NET???

В каком смысле? Разве сообщения когда-нибудь зависели от платформы?

Цитата:
Заранее спасибо

Пожалуйста, пожалуйста)
 
gl0be

Цитата:
Кстати мы всегда можем использовать и managed и unmanaged код внутри одной сборки,это и есть бонус mc++

То же самое можно денлать и в C#. Но чревато это невероятнейшими глюками. Во всяком случае в версии 1.1 фреймворка.

Всего записей: 124 | Зарегистр. 05-08-2005 | Отправлено: 21:15 12-11-2005 | Исправлено: Inochkin, 21:19 12-11-2005
Kovalenko_Alexandr



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В каком смысле? Разве сообщения когда-нибудь зависели от платформы?  

 
 
 
Изменений кардинальных конечно нет, но по программе “controlinspector”, которая меня заинтриговала, становится понятно, что система приобрела новые возможности.
 
Сообщество прокомментируйте ее по возможности.  
http://www.codeproject.com/csharp/controlinspector.asp (иходники прилагаются)

Всего записей: 31 | Зарегистр. 16-01-2005 | Отправлено: 13:14 13-11-2005
Pinocchio

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
gl0be

Цитата:
Кстати мы всегда можем использовать и managed и unmanaged код внутри одной сборки,это и есть бонус mc++.  

1)Как это понимать? Вы можете одновременно использовать и неиспользовать два модуля System.Security и System.Runtime.InteropServices? Или бонус в том что имеется возможность использовать директиву компилятору?
2)Почему если mc++ значит Вы круче? Это означает что Вы можете заставить виндовс редактировать видешаровское русское слово нормально? Тогда объясните почему в WinNT сервере буква "й" - это 0x8003 (C3_NONSPACING+C3_DIACRITIC+ C3_ALPHA),
почему в WinXP SP2 эта буква = 0x8002 (C3_DIACRITIC+ C3_ALPHA), а мне всего то надо чтобы при двойном клике на слове выделялось всё слово "сейчас" а не "се" не "й" не "час". Кто вообще интернационализацией заниматься должен? Мы дельфисты чтоли?
 

Всего записей: 683 | Зарегистр. 18-11-2002 | Отправлено: 09:57 14-11-2005 | Исправлено: Pinocchio, 09:54 15-11-2005
Pinocchio

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Наверно речь идёт о бонусах продуктов одной фирмы, а не одной перед другой.
 
Добавлено:
Преимущество.

Всего записей: 683 | Зарегистр. 18-11-2002 | Отправлено: 09:56 15-11-2005
   

Страницы: 1 2 3 4

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы про .NET
ShIvADeSt (21-12-2007 03:31): http://forum.ru-board.com/topic.cgi?forum=33&topic=3706


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru