В данном топике предлагаю обсудить плюсы и минусы .NET (c#, vb)? C++ .Net и, собственно, старого - доброго C++ (MFC) / остальных языков до .NET.
Какой месяц уже пытаюсь понять: для чего нам новый велосипед, в котором даже педали крутить не надо
А вообще,если серьезно - интересно познать +- .NET. И сделать вывод - зря я все еще пишу на старом добром C++ или нет.
Немного поковыряв С#, для себя сделал вывод, что это - мастер создания программ какой - то, а не ЯП , VB .NET- перерос в что - то между C++ и Java+VB6. В общем, предлагаю начать с того, чем обусловлен такой переход на .NET. Неужели, только в связи с предстоящим выходом MSWVista, в которой изначально будет зашит Framework 2.2?
.NET - неужели мир сошел с ума? Предлагаю здоровые дебаты.
346500 night eXtreme sha.ENcounter team
tAZAR,
бумаю дело в том, что у MS до появления .NET не было такого мощного RAD инструмента как Delphi. Они, как говорится, решили догнать и перегнать. Кстати создатель в Delphi RTL и C# один и тот же.
Да и C# больше похож на Делфи (Object pascal) чем на C++.
бумаю дело в том, что у MS до появления .NET не было такого мощного RAD инструмента как Delphi. Они, как говорится, решили догнать и перегнать. Кстати создатель в Delphi RTL и C# один и тот же.
Да и C# больше похож на Делфи (Object pascal) чем на C++.
посмотрим после выхода Vist'ы. Кстати Win32 приложения никто ведь не отменял, так что беспокоится не о чем..NET - неужели мир сошел с ума?
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )
Люблю и поработать, особенно поспать )
-
- Новичок
- Сообщения: 33
- Зарегистрирован: Сб авг 23, 2003 13:37
- Откуда: Шахты, Виноградов Михаил
- Контактная информация:
хм, мы уже 3 года на NETе пишем и продаем программы и сайты.
C# - это не мастер создания программ, а довольно приятный язык позволяющий быструю разработку прикладных программ
ASP.NET (особенно 2.0) это вообще небо и земля по сравнению, например, с PHP. Строить на нем динамические сайты - одно удовольствие.
Естественно программы под NET более тормознуты, чем на VC/VB6, но за красивый интерфейс и быструю разработку приходится платить. (у всех небось Ofiice 2003 стоит, а не 97)
И нужно в комплект включить .NET Framework, но это сейчас уже не критично. Разве что в sharewawe NET сейчас редко используется. потому что пользователям может быть влом скачать Framework.
А к Vista это все не имеет особого отношения.
Релиз VS.NET еще в 2003 году был.
А главное - нужно учитывать, что целесообразность использования платформы/языка зависит от задачи.
C# - это не мастер создания программ, а довольно приятный язык позволяющий быструю разработку прикладных программ
ASP.NET (особенно 2.0) это вообще небо и земля по сравнению, например, с PHP. Строить на нем динамические сайты - одно удовольствие.
Естественно программы под NET более тормознуты, чем на VC/VB6, но за красивый интерфейс и быструю разработку приходится платить. (у всех небось Ofiice 2003 стоит, а не 97)
И нужно в комплект включить .NET Framework, но это сейчас уже не критично. Разве что в sharewawe NET сейчас редко используется. потому что пользователям может быть влом скачать Framework.
А к Vista это все не имеет особого отношения.
Релиз VS.NET еще в 2003 году был.
А главное - нужно учитывать, что целесообразность использования платформы/языка зависит от задачи.
VinMike,
согласен.C# - это не мастер создания программ, а довольно приятный язык позволяющий быструю разработку прикладных программ
вот это утверждение не верно, т.к. под .NET код компилируется фрэймворком только один раз, при первом обращении, а потом уже используется готовый откомпилированный код. В теории программы под .NET будут работать быстрее чем не_managed, т.к. будут оптимизированы фрэймворком под конкретную систему/процессор.Естественно программы под NET более тормознуты, чем на VC/VB6
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )
Люблю и поработать, особенно поспать )
Не согласен в корне. Запустите приложение, "один раз откомпилированное под фремворком", на машине, на которой его нет... И вообще, здесь следовало бы уточнить, что вы понимаете под понятием компиляция :Eraser писал(а):VinMike,вот это утверждение не верно, т.к. под .NET код компилируется фрэймворком только один раз, при первом обращении, а потом уже используется готовый откомпилированный код. В теории программы под .NET будут работать быстрее чем не_managed, т.к. будут оптимизированы фрэймворком под конкретную систему/процессор.Естественно программы под NET более тормознуты, чем на VC/VB6
1 - сама компиляция + линковка
2 - или просто компиляция?
.Net - это в какой - то степени интерпретатор со всеми вытекующими. managed code говорит само за себя. За выполнением программы следит как раз Framework, что и ведет за собой дополнительные затраты ресурсов как процессора, так и RAM. Тем более, GDI+...
Насчет компиляции под отдельную платформу - боюсь, что managed программы, "откомпилированные" под конкретную платформу, будут работать быстрее, чем managed программы, откомпилированные под другую (которые могут вообще не запуститься). Поэтому, сравнивать скорость выполнения так: standalone < managed, на мой взгляд, просто неправильно.
Vinmike,
Что касаемо WEB - согласен абсолютно. Средство очень мощное. Используете по назначению
Office 2003 != Framework! Офис не работает под фрейсворком. Это уж точно. А такой красивый интерфейс M$ зашила где - то в библиотеках.. Тем более, что уже существует множество довесок к MFC, позволяющих рисовать красивые элементы управления, окошки и менюшки без притягивания к проекту дополнительных динамических библиотек.
>Разве что в sharewawe NET сейчас редко используется. потому что пользователям может быть влом скачать Framework:
Сам по себе фреймворк, так сказать изначально шараварный, поэтому его дистры можно, в принципе, лепить к любому Shareware проекту, не заставляя пользователя выкачивать зазря и-нет траффик. Вот, что касается Open Source... Но вряд ли серьезные разработчики в M$VS будут делать OpenSource коммерческие проекты... Смысл тогда вообще получать лицензию, и тратить деньги на столь дорогую IDE?
Хотя, я не исключаю и таких вариантов.
>А главное - нужно учитывать, что целесообразность использования платформы/языка зависит от задачи.
Я ждал именно этой фразы!
Имея небольшой опыт разработки в Delphi (сейчас в основном пишу на C++), которого мне хватило, чтобы понять, что язык медленный и лишенный гибкости C/C++... Хотя, не буду пытаться что - то доказать по этому поводу. Очень может быть, что я там что - то неправильно делал.
Кстати, по поводу C# -очень завидую разработчикам на C# - о таком класс - дезайнере, как здесь программистам на C++ остается просто мечтать...
Вообще, сейчас по статистике самым востребованным языком является Java. Сам я немало времени проработал именно в ней. Всем она хороша, но опять же, "псевдо"- интерпретатор. И защищенный код / protected mode, что мне не нравится и в framework. Где нормальная работа с памятью, блин? и удаление объекта именно в том месте, где это нужно. Очень большое количество задач требует от программиста не дожидаться, пока сборщику мусора все таки не заблагорассудится вычистить память..
tAZAR,
ЗЫ практика - критерий истины. в ряде случаев уже сейчас я добивался в .net приложении бОльшей скорости вычислений, чем в не_.net.
фрэм-ворк конечно же должен быть установлен.Не согласен в корне. Запустите приложение, "один раз откомпилированное под фремворком", на машине, на которой его нет...
в нашем контексте это более сложный процесс.И вообще, здесь следовало бы уточнить, что вы понимаете под понятием компиляция :
1 - сама компиляция + линковка
2 - или просто компиляция?
не шароварный, а фриварный.Сам по себе фреймворк, так сказать изначально шараварный
.Net - это в какой - то степени интерпретатор со всеми вытекующими. managed code говорит само за себя. За выполнением программы следит как раз Framework, что и ведет за собой дополнительные затраты ресурсов как процессора, так и RAM.
изучать матчасть, желательно Рихтера... книга не плохая.Насчет компиляции под отдельную платформу - боюсь, что managed программы, "откомпилированные" под конкретную платформу, будут работать быстрее, чем managed программы, откомпилированные под другую (которые могут вообще не запуститься).
ЗЫ практика - критерий истины. в ряде случаев уже сейчас я добивался в .net приложении бОльшей скорости вычислений, чем в не_.net.
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )
Люблю и поработать, особенно поспать )
tAZAR,
весч действительно хорошая, возможно в будущем прийдется переползать именно на Джаву.
я бы добавил "среди инструментов для написания серверных приложений".Вообще, сейчас по статистике самым востребованным языком является Java.
весч действительно хорошая, возможно в будущем прийдется переползать именно на Джаву.
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )
Люблю и поработать, особенно поспать )
Eraser
[/quote]
Согласен, занесло мнея...не шароварный, а фриварный.
Матчасть не поможет процессору выполнять managed codeизучать матчасть, желательно Рихтера... книга не плохая.
Джеффри Рихтер "Программирование на платформе Microsoft .Net Framework" 2-е издание.... Если уж ссылаться на книги. Удивляюсь, почему люди не могут признать, что standalone приложения гораздо быстрее...ЗЫ практика - критерий истины. в ряде случаев уже сейчас я добивался в .net приложении бОльшей скорости вычислений, чем в
не_.net.
[/quote]
Eraser,
Насчет "учить матчасть" - совершенно согласен. С удовольствием почитаю Рихтера. Не уверен, что я на 100% прав.
Скачаю. и буду читать.
Но все же, managed code - это, как минимум, дополнительные вызовы функций = лишние такты....
Кстати, прошу обратить внимание на Тему. Я не пытаюсь устроить межклассовую борьбу. Как уже сказал Vinmike - все зависит от конкретной задачи.
Хочется явно рассмотреть плюсы и минусы разработки. + ADO
з.ы.Практика - 10 лет. От Java+Perl, Clipper до БД на C++... Проекты работали и работают.
Насчет "учить матчасть" - совершенно согласен. С удовольствием почитаю Рихтера. Не уверен, что я на 100% прав.
Скачаю. и буду читать.
Но все же, managed code - это, как минимум, дополнительные вызовы функций = лишние такты....
Кстати, прошу обратить внимание на Тему. Я не пытаюсь устроить межклассовую борьбу. Как уже сказал Vinmike - все зависит от конкретной задачи.
Хочется явно рассмотреть плюсы и минусы разработки. + ADO
з.ы.Практика - 10 лет. От Java+Perl, Clipper до БД на C++... Проекты работали и работают.
tAZAR,
ну что касается ADO, тут уж из меня советчик не очень, но люди, которые сербезно занимаются СУБД и клиент-серверными технологиями хвалят... вроде бы по началу не привычно, а потом втягиваешься.
только при первом обращении к коду, далее используется уже откомпилированный код.Но все же, managed code - это, как минимум, дополнительные вызовы функций = лишние такты....
ну что касается ADO, тут уж из меня советчик не очень, но люди, которые сербезно занимаются СУБД и клиент-серверными технологиями хвалят... вроде бы по началу не привычно, а потом втягиваешься.
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )
Люблю и поработать, особенно поспать )
Что такое просто ADO - я знаю (как никак как раз отношусь к вышеупомянутым) .Eraser писал(а):ну что касается ADO, тут уж из меня советчик не очень, но люди, которые сербезно занимаются СУБД...
А вот ADO.NET - это действительно интересно, только когда я попробовал работать с MYSQL на C# - очень не понравился, т.к. сказать образ общения с базой... ADO.NET отличается даже инициализацией. Писать приходится больше, чем на C++(!?).
Если кто занимался ADO.NET - какие есть мощные возможности по сравнению с ADO.
Eraser,
Немного уточню высказывание о компиляции кода при запуске .NET приложения: "Производительность теряется только при первом вызове метода. Все последующие обращения ведутся на полной скорости", "Вторая стадия компиляции, имеющая место в период выполнения, снижает скорость и требует дополнительной динамической памяти - с этим не поспоришь" Джеффри Рихтер. Вышеупомянутая книга.
Так вот, JIT- компилятор загружает в память и компилирует+оптимизирует на конкретную платформу встречающиеся "куски" кода постепенно, в течение выполнения приложения. После чего, повторное обращения к этому коду не повлечет за собой повторный процесс его преобразования - CLR возьмет его готовым из памяти...
Так вот, тема все еще посвящена - и + .NET типа:
.NET позволяет повторно использовать написанный код, независимо от языка программирования, т.к. в процессе сборки код приводится к виду IL для CLR... Только, конечно хочется услышать практические примеры...