Большой Воронежский Форум
Страница 1 из 2
1 2 >
» Программирование>.NET - зачем нам она?
shader 02:33 27.12.2004
Раньше мне как-то с таким продуктом как .NET иметь дело не приходилось.

И вот, в связи с появлением у меня 3 дисков с Delphi 2005 Architect Edition, возник вопрос - зачем городилась эта городушка? Работают приложения на дотнете в разы медленнее, это заметно даже на глаз, без измерения производительности к примеру, в тиках. Сама дельфя тормозит как черт знает что (это на Athlon 64 2800+/512RAM/WinXPSP1 дома, Athlon XP 1800+/512RAM на работе). Никак не могу увидеть достоинств этой системы. Может, подскажет кто?

И вообще, зачем нам, программистам, .NET? [Ответ]
zss_vrn 06:49 27.12.2004
Не "зачем", а "почему" Потому что так сказал Microsoft. [Ответ]
shader 10:37 27.12.2004
тогда сразу возникает другой вопрос - зачем это нужно Microsoft'у? =) [Ответ]
axel 11:46 27.12.2004
shader Насколько я это представляю -Мультиплатформенность. Когда под НЕТ компилишь - получается что-то вроде набора команд высокого уровня. Сам код по объему получается малым. На разных машинах могут выполняться - если есть интерпретатор. [Ответ]
zss_vrn 13:06 27.12.2004
shader
потому что остали от явы [Ответ]
SHKiN 15:28 27.12.2004
Ну да, типа там есть клевый Microsoft Independent Language (MSIL), в который все и переводится. А потом есть JIT-compiler, который это все и транслирует. В результате простой тест работает в 2 раза медленнее и грузится чуть ли не минуту.

Кроссплатформенность - хмм... между чем и чем? Linux и без дотнета прекрасно себя чувствует. Мобильные платформы - так это ж какие процы в телефоны втыкать придется?

Managed DirectX - вообще очень загадочная вещь. На кой тогда D3DX под SIMD всякие оптимизили? Как без указателей ВБ заполнять??? Я когда в дотнете QueryPerfCounter'а не нашел - удивился сильно. А сколько там еще таких чудес?...

Уйду под *никсы на старости лет... [Ответ]
shader 16:21 27.12.2004
SHKiN во-во. А еще там (в линуксе) оборудование поддерживается на уровне ядра, соответственно при компиляции все это оптимизируется по тот проц, который ты в конфигураторе выберешь. Я что-то не знаю таких линуксоидов, которые компилили бы kernel под i386. Да и в дистрибутивах сейчас ядра под i686 по дефолту скомпилены. Так чта... вывод очевиден. Но непопулярен и невыгоден. [Ответ]
umka 19:03 27.12.2004

Сообщение от :
Мобильные платформы - так это ж какие процы в телефоны втыкать придется?

http://www.windowsfordevices.com/news/NS4666205829.html [Ответ]
zic 08:30 28.12.2004
да не будет windows на мобильных платформах , по крайней мере телефонах и смартфонах .

не пустят его туда , не пустили уже [Ответ]
umka 02:06 29.12.2004
zic а шо будит товарещь экспертаналитик? [Ответ]
axel 09:00 30.12.2004
А как же Windows CE - на КПК? Скоро КПК и смартфоны - будет одно и тоже. [Ответ]
Alex__G 14:19 31.12.2004
shader
А есть какие нибудь другие характеристики кроме скорости, которые вы считаете важными? [Ответ]
shader 16:30 01.01.2005
Alex__G Для меня, как для программиста, работающего в игровой индустрии, другие характеристики при низкой скорости теряют всякое значение.
Речь не об этом. В дотнете, насколько я понял, по части именно функциональности нет ничего такого, чего не хватало бы в win32. Зачем городится эта городушка, да еще и с обещанной отменой нативного win32 в Longhorn (там он будет работать на эмуляторе в том же дотнете) - вот в чем вопрос. [Ответ]
Alex__G 11:59 02.01.2005
Handle
Все правильно. В Longhorn нативной средой будет виртуальная машина NET.

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

Виртуальная мащина здесь дает целый ряд преимуществ, ранее доступных только в мире ява
например
- GC, незаменимая вещь для программирования постоянно работающих приложений
- богатый набор библиотек
- встроенные механизмы работы с распределенными объектами и веб-сервисами
- простая работа с COM
итд

Все эти преимущества важны в первую очередь для прикладных программистов. Тебе .NET пока что мало что даст
[Ответ]
shader 20:15 02.01.2005
Alex__G я боюсь, в будущем тоже. Виртуальная машина в принципе не может работать быстрее нативной среды.
Хотя... Managed DirectX - возможно, для создания игр а-ля TimeZero и пр., то есть работающих через обыкновенный браузер... =) [Ответ]
Alex__G 13:57 03.01.2005
shader
Вообще то может. В сети есть куча тестов где ява обгоняет C по производительности (за достоверность их не поручусь).
в конечном итоге выполняется все тот же машинный код. А засчет динамической оптимизации производительность может быть поднята. [Ответ]
aerin 12:25 04.01.2005
shader

Сообщение от :
Раньше мне как-то с таким продуктом как .NET иметь дело не приходилось.И вот, в связи с появлением у меня 3 дисков с Delphi 2005 Architect Edition, возник вопрос - зачем городилась эта городушка?

Можно задать встречный вопрос: а зачем городилась городушка - VCL, ведь есть же API? Не в последнюю очередь потому, что удобно. В .net MS сподобилась упорядочить API: даже переход от кривых и нелогичных имен функций к стройным именам методов есть огромный прогресс. Но, например для меня, все перечеркивается тем, что это исполняемая среда, а значит по многим причинам для меня эта система не пригодна :-(
SHKiN

Сообщение от :
Ну да, типа там есть клевый Microsoft Independent Language (MSIL), в который все и переводится.

От кого независимый? :-) Фактическая ошибка - Microsoft intermediate language (MSIL).

Сообщение от :
Managed DirectX - вообще очень загадочная вещь. На кой тогда D3DX под SIMD всякие оптимизили? Как без указателей ВБ заполнять??? Я когда в дотнете QueryPerfCounter'а не нашел - удивился сильно. А сколько там еще таких чудес?...
Уйду под *никсы на старости лет...

Угу, продай линуксоидам мультимедийный софт ;-)
shader

Сообщение от :
Для меня, как для программиста, работающего в игровой индустрии, другие характеристики при низкой скорости теряют всякое значение.

Сорри, возможно я чего-то пропустил, рискуя нарваться на холивар: вы на Deplhi пишете игры и говорите о скорости?
Alex__G

Сообщение от :
Виртуальная мащина здесь дает целый ряд преимуществ, ранее доступных только в мире ява.- GC, незаменимая вещь для программирования постоянно работающих приложений
- богатый набор библиотек
- встроенные механизмы работы с распределенными объектами и веб-сервисами
- простая работа с COM
итд

По пунктам: в сфере телекоммуникаций, например, львиная часть софта пишется в расчете на непрерывную работу и никаких джав там и рядом нет. Подозреваю, что и не будет никогда, т.к. там очень часто софт привязывается непосредственно к конкретному железу.
Библиотек навалом любых. Как платных, так и бесплатных. IMHO, это надуманная проблема.
Про веб сервисы и иже с ними, а также COM согласен.

Сообщение от :
Вообще то может. В сети есть куча тестов где ява обгоняет C по производительности (за достоверность их не поручусь).

А вы читали как проводится большинство этих тестов? Замер времени производится прямо из кода, т.е. берем два приложения: одно нативное, второе .net. Один и тот же алгоритм, вроде все честно. Дальше, следите за руками, запускаем нативный экзешник, пара секунд и у нас есть результат. Запускаем оппонента, система на некислом компе, несколько минут шелестит винтом и мигает окошком в пенли задач и наконец выдает результат. Смотрим выходные файлы и, о чудо, видим, что преобразование Фурье на API выполнялось 10 секунд, а в .net - 5! А что же происходило те 10 минут, что мы ходили курить? Правильно, производилась аггресивная оптимизация под конкретный проц. Вопрос, а оно нам нада?

ЗЫ. Ну никак не работается после праздников :-( [Ответ]
shader 13:46 04.01.2005
aerin На дельфи мы пишем, потому что во многом это НЕИЗМЕРИМО удобнее, чем на С/С++. А потери скорости... с чего ты взял, что они вообще имеют место?
Зато скорость разработки тех же утилит с использованием VCL намного быстрее.
По поводу VCL - это, по-твоему, виртуальная машина? =) я это без наездов, просто это несколько несравнимые вещи.
Да, кстати, преобразование фурье на _API_ - это круто. Подскажи винапишную функцию для преобразований Фурье )) [Ответ]
aerin 14:02 04.01.2005
shader По поводу первых трех строчек, давай замнем для ясности, а? Меньше всего хочется 4-го января участвовать в холиваре Pas vs C/C++ :-)
VLC я привел в качестве примера надстройки, существенно облегчающей жизнь разработчика. Разумеется, я представляю разницу между VM и runtime библиотекой. :-)

Сообщение от :
Да, кстати, преобразование фурье на _API_ - это круто. Подскажи винапишную функцию для преобразований Фурье ))

Запросто, QuickFourierCalc(...) :-)
А если серьезно, конечно же, имелось в виду нативное приложение, использующее сишный рантайм.

ЗЫ. Много смайликов... значит, настроение поднимается :-) [Ответ]
Alex__G 13:30 05.01.2005
aerin
Про телекоммуникации правда. Но это специфическая отрасль.
В бизнес приложениях (это может быть портал корпоративный, может быть одб, может быть распределеная географически но с единым центром информационная система предприятия ) работающих в непрерывном режиме с трехзвенной архитектурой утечка памяти в среднем звене является очень большой проблемой

Ненадо "навала любых библиотек". Всего много, а выбрать не из чего.
Нужна одна хорошая стандартная библиотека, разработанная мощным вендором. Как библиотеки java sdk или net sdk. С понятными перспективами и динамично развивающаяся. По котрым есть масса литературы и хелпов. Которая регулярно исправляются и оптимизируются.

Сообщение от :
Вопрос, а оно нам нада?

Один раз подумает, зато потом 100 раз выполнит быстро. [Ответ]
andr 09:04 06.01.2005

Сообщение от :
зачем городилась эта городушка?

всё очень просто.... MS хочет еще и еще рубить бабки и поэтому придумала свое собственное "колесо" в этом сегменте рынка. [Ответ]
B. 17:23 06.01.2005
Мда, MS сильно рискует задерживая выпуск Longhorn. И все задуманные фишечки она вряд ли успеет реализовать.
Это при том, что Linux уже начинает отвоевывать рынок десктопов.
Возможно вся эта возня с NEt и longhorn - начало конца microsoft.
Уж больно сильно они размахнулись. Имея такого конкурента. [Ответ]
Alex__G 17:45 06.01.2005

Сообщение от :
что Linux уже начинает отвоевывать рынок десктопов

Пятый год уже это слышу. Со словом "начинает". [Ответ]
andr 16:11 10.01.2005
Alex__G это потому-что "начинает" - понятие рястяжимое. [Ответ]
relusion 08:30 11.01.2005
1. Самое главное, что это не вещь в себе, как Java, а дальнейшее развитие Win платформы. Можно спокойно использовать в одном проекте, как старый код написанный на C/C++, так и даже при написании новых проектов критические части кода можно написать на C++/ассемблере.

2. Аттрибуты

3. Конкуренция. У Java появился достойный приемник, так что Sun может зашевелится и родит что-нибудь новое.

relusion добавил [date]1105428185[/date]:
а давай те сравнивать в языках программирования. Java — это "Java, Sun Java". К .NET только от MS прилагаются C#, VB, MC++, JScript, Java (!!!). Плюс уже есть с полтора десятка языков от всяких левых производителей. Поэтому, я запросто стогу писать под .NET на Java, а вот сможешь ли ты писать под Java на C#? [Ответ]
Alex__G 10:35 11.01.2005
relusion
А зачем этот зоопарк - огромное количество похожих языков?
Тем более что каждый из них переносится с учетом возможностей виртуальной машины. Например, VB.NET были внесены большие изменения, чтобы он мог работать в CLR. То же самое касается и других языков - отображается фича на MSIL - хорошо, не отображается - фича отсекается либо реализуется обходными путями.

J++ соответствует jdk 1.1.2 если я не ошибаюсь. С ява общий один синтаксис. Поэтому нельзя сказать что можно писать под .NET на ява.

Атрибуты есть JDK 1.5. [Ответ]
relusion 15:58 12.01.2005
Мне кажется, этим самым шагом "платформа для всех языков" Microsoft пытается монополизовать спектр рынка ПО для разработчиков. И свидетельством тому есть то, что язык Java уже "подгребли" под свою .NET платформу...
Если Sun выстоит и начнет антимонополистическую программу разработки мультиязыковой платформы (кстати, это сделать можно было ого-го когда) только тогда все будет хорошо, а если не выстоит, даже не хочется думать и гадать об этом...

Ничего принципиально нового в принципе нету в мультиплатформенности. Об этом задумывались еще раньше,... гораздо раньше,... уж простите меня, не могу назвать примерные даты.

Ты забываешь, что в отличии от Java, .NET != C# и в нём есть место любым языкам. В частности C++, на котором написано всё о чём ты говоришь. Соответственно остаются все доступные методы отпимизации и пр.

Кстати, в рамках виртуальных машин (.Net, JVM и т.д.), если их код это
поддерживает, можно автоматически использовать разные SIMD: MMx, 3DNow, SSE,
SSE3, AltiVec — все что на конкретном железе найдется.
Так что это не факт что VM и вычисления друг другу противопоказаны — когда
как.

кстати почитай http://www.rsdn.ru/article/devtools/perftest.xml там помоему все довольно понятно... [Ответ]
andr 17:31 14.01.2005
relusion
http://www.rsdn.ru/article/devtools/perftest.xml - гыгы
и все то мы в виндах .... ковыряемся ...

Вот интересно что такое "мультиязыковая платформа" - среда разработки что ли??? (кстати, мультиплатформенность - это другое)
[Ответ]
viper 12:13 15.01.2005
Нуу... заявление, что Java подгребли под .NET - это сильно и чересчур смело. Никогда этого не было и не произойдет. Та пародия на Java которая присутствует в .NET - полное фуфло и в принципе не совместима с JVM. К тому же, смешно заявлять, что .NET - кросплатформенная. С единственной реализацией под теже Windows в то время как JVM реализована для более чем 20 ОС... [Ответ]
relusion 23:16 15.01.2005
а mono кто отменил то?
http://www.mono-project.com/about/index.html [Ответ]
Страница 1 из 2
1 2 >
Вверх