Все вопросы связанные с программированием. Языки программирования. Средства разработки.

.Net или старая школа? :-)

.Net
4
67%
Oldschool
2
33%
 
Всего голосов: 6

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

.NET - неужели мир сошел с ума? Предлагаю здоровые дебаты.

Сообщение tAZAR »

В данном топике предлагаю обсудить плюсы и минусы .NET (c#, vb)? C++ .Net и, собственно, старого - доброго C++ (MFC) / остальных языков до .NET.

Какой месяц уже пытаюсь понять: для чего нам новый велосипед, в котором даже педали крутить не надо :-)
А вообще,если серьезно - интересно познать +- .NET. И сделать вывод - зря я все еще пишу на старом добром C++ или нет.
Немного поковыряв С#, для себя сделал вывод, что это - мастер создания программ какой - то, а не ЯП :-), VB .NET- перерос в что - то между C++ и Java+VB6. В общем, предлагаю начать с того, чем обусловлен такой переход на .NET. Неужели, только в связи с предстоящим выходом MSWVista, в которой изначально будет зашит Framework 2.2?
346500 night eXtreme sha.ENcounter team

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

Просьба при обсуждении делать акцент на ADO -> ADO .NET
Но это не значит, что другие аспекты топика не интересны :-)

Аватара пользователя
Hank
Не в сети
Почётный форумщик
Почётный форумщик
Сообщения: 4299
Зарегистрирован: Чт май 05, 2005 19:35
Откуда: RnD

Сообщение Hank »

tAZAR,
бумаю дело в том, что у MS до появления .NET не было такого мощного RAD инструмента как Delphi. Они, как говорится, решили догнать и перегнать. Кстати создатель в Delphi RTL и C# один и тот же.
Да и C# больше похож на Делфи (Object pascal) чем на C++.
.NET - неужели мир сошел с ума?
посмотрим после выхода Vist'ы. Кстати Win32 приложения никто ведь не отменял, так что беспокоится не о чем.
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )

VinMike
Не в сети
Новичок
Новичок
Сообщения: 33
Зарегистрирован: Сб авг 23, 2003 13:37
Откуда: Шахты, Виноградов Михаил
Контактная информация:

Сообщение VinMike »

хм, мы уже 3 года на NETе пишем и продаем программы и сайты.
C# - это не мастер создания программ, а довольно приятный язык позволяющий быструю разработку прикладных программ
ASP.NET (особенно 2.0) это вообще небо и земля по сравнению, например, с PHP. Строить на нем динамические сайты - одно удовольствие.
Естественно программы под NET более тормознуты, чем на VC/VB6, но за красивый интерфейс и быструю разработку приходится платить. (у всех небось Ofiice 2003 стоит, а не 97)
И нужно в комплект включить .NET Framework, но это сейчас уже не критично. Разве что в sharewawe NET сейчас редко используется. потому что пользователям может быть влом скачать Framework.
А к Vista это все не имеет особого отношения.
Релиз VS.NET еще в 2003 году был.
А главное - нужно учитывать, что целесообразность использования платформы/языка зависит от задачи.

Аватара пользователя
Hank
Не в сети
Почётный форумщик
Почётный форумщик
Сообщения: 4299
Зарегистрирован: Чт май 05, 2005 19:35
Откуда: RnD

Сообщение Hank »

VinMike,
C# - это не мастер создания программ, а довольно приятный язык позволяющий быструю разработку прикладных программ
согласен.
Естественно программы под NET более тормознуты, чем на VC/VB6
вот это утверждение не верно, т.к. под .NET код компилируется фрэймворком только один раз, при первом обращении, а потом уже используется готовый откомпилированный код. В теории программы под .NET будут работать быстрее чем не_managed, т.к. будут оптимизированы фрэймворком под конкретную систему/процессор.
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

Eraser писал(а):VinMike,
Естественно программы под NET более тормознуты, чем на VC/VB6
вот это утверждение не верно, т.к. под .NET код компилируется фрэймворком только один раз, при первом обращении, а потом уже используется готовый откомпилированный код. В теории программы под .NET будут работать быстрее чем не_managed, т.к. будут оптимизированы фрэймворком под конкретную систему/процессор.
Не согласен в корне. Запустите приложение, "один раз откомпилированное под фремворком", на машине, на которой его нет... И вообще, здесь следовало бы уточнить, что вы понимаете под понятием компиляция :
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++ остается просто мечтать...

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

Вообще, сейчас по статистике самым востребованным языком является Java. Сам я немало времени проработал именно в ней. Всем она хороша, но опять же, "псевдо"- интерпретатор. И защищенный код / protected mode, что мне не нравится и в framework. Где нормальная работа с памятью, блин? и удаление объекта именно в том месте, где это нужно. Очень большое количество задач требует от программиста не дожидаться, пока сборщику мусора все таки не заблагорассудится вычистить память.. :-)

Аватара пользователя
Hank
Не в сети
Почётный форумщик
Почётный форумщик
Сообщения: 4299
Зарегистрирован: Чт май 05, 2005 19:35
Откуда: RnD

Сообщение Hank »

tAZAR,
Не согласен в корне. Запустите приложение, "один раз откомпилированное под фремворком", на машине, на которой его нет...
фрэм-ворк конечно же должен быть установлен.
И вообще, здесь следовало бы уточнить, что вы понимаете под понятием компиляция :
1 - сама компиляция + линковка
2 - или просто компиляция?
в нашем контексте это более сложный процесс.
Сам по себе фреймворк, так сказать изначально шараварный
не шароварный, а фриварный.
.Net - это в какой - то степени интерпретатор со всеми вытекующими. managed code говорит само за себя. За выполнением программы следит как раз Framework, что и ведет за собой дополнительные затраты ресурсов как процессора, так и RAM.
Насчет компиляции под отдельную платформу - боюсь, что managed программы, "откомпилированные" под конкретную платформу, будут работать быстрее, чем managed программы, откомпилированные под другую (которые могут вообще не запуститься).
изучать матчасть, желательно Рихтера... книга не плохая.

ЗЫ практика - критерий истины. в ряде случаев уже сейчас я добивался в .net приложении бОльшей скорости вычислений, чем в не_.net.
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )

Аватара пользователя
Hank
Не в сети
Почётный форумщик
Почётный форумщик
Сообщения: 4299
Зарегистрирован: Чт май 05, 2005 19:35
Откуда: RnD

Сообщение Hank »

tAZAR,
Вообще, сейчас по статистике самым востребованным языком является Java.
я бы добавил "среди инструментов для написания серверных приложений".
весч действительно хорошая, возможно в будущем прийдется переползать именно на Джаву.
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

Eraser
не шароварный, а фриварный.
Согласен, занесло мнея... :-)
изучать матчасть, желательно Рихтера... книга не плохая.
Матчасть не поможет процессору выполнять managed code :-)
ЗЫ практика - критерий истины. в ряде случаев уже сейчас я добивался в .net приложении бОльшей скорости вычислений, чем в
не_.net.
Джеффри Рихтер "Программирование на платформе Microsoft .Net Framework" 2-е издание.... Если уж ссылаться на книги. Удивляюсь, почему люди не могут признать, что standalone приложения гораздо быстрее...
[/quote]

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

Eraser,
Насчет "учить матчасть" - совершенно согласен. С удовольствием почитаю Рихтера. Не уверен, что я на 100% прав.
Скачаю. и буду читать.
Но все же, managed code - это, как минимум, дополнительные вызовы функций = лишние такты....
Кстати, прошу обратить внимание на Тему. Я не пытаюсь устроить межклассовую борьбу. Как уже сказал Vinmike - все зависит от конкретной задачи.
Хочется явно рассмотреть плюсы и минусы разработки. + ADO

з.ы.Практика - 10 лет. От Java+Perl, Clipper до БД на C++... Проекты работали и работают.

Аватара пользователя
Hank
Не в сети
Почётный форумщик
Почётный форумщик
Сообщения: 4299
Зарегистрирован: Чт май 05, 2005 19:35
Откуда: RnD

Сообщение Hank »

tAZAR,
Но все же, managed code - это, как минимум, дополнительные вызовы функций = лишние такты....
только при первом обращении к коду, далее используется уже откомпилированный код.

ну что касается ADO, тут уж из меня советчик не очень, но люди, которые сербезно занимаются СУБД и клиент-серверными технологиями хвалят... вроде бы по началу не привычно, а потом втягиваешься.
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )

Аватара пользователя
Hank
Не в сети
Почётный форумщик
Почётный форумщик
Сообщения: 4299
Зарегистрирован: Чт май 05, 2005 19:35
Откуда: RnD

Сообщение Hank »

tAZAR,
Удивляюсь, почему люди не могут признать, что standalone приложения гораздо быстрее...
потому что это не всегда так. опять же в литерату.
Люблю повеселиться, особенно пожрать,
Люблю и поработать, особенно поспать )

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

Eraser писал(а):ну что касается ADO, тут уж из меня советчик не очень, но люди, которые сербезно занимаются СУБД...
Что такое просто ADO - я знаю (как никак как раз отношусь к вышеупомянутым) :-).
А вот ADO.NET - это действительно интересно, только когда я попробовал работать с MYSQL на C# - очень не понравился, т.к. сказать образ общения с базой... ADO.NET отличается даже инициализацией. Писать приходится больше, чем на C++(!?).
Если кто занимался ADO.NET - какие есть мощные возможности по сравнению с ADO.

Eraser,
Немного уточню высказывание о компиляции кода при запуске .NET приложения: "Производительность теряется только при первом вызове метода. Все последующие обращения ведутся на полной скорости", "Вторая стадия компиляции, имеющая место в период выполнения, снижает скорость и требует дополнительной динамической памяти - с этим не поспоришь" Джеффри Рихтер. Вышеупомянутая книга.
Так вот, JIT- компилятор загружает в память и компилирует+оптимизирует на конкретную платформу встречающиеся "куски" кода постепенно, в течение выполнения приложения. После чего, повторное обращения к этому коду не повлечет за собой повторный процесс его преобразования - CLR возьмет его готовым из памяти...

Так вот, тема все еще посвящена - и + .NET типа:
.NET позволяет повторно использовать написанный код, независимо от языка программирования, т.к. в процессе сборки код приводится к виду IL для CLR... Только, конечно хочется услышать практические примеры...

Аватара пользователя
tAZAR
Не в сети
Модератор
Модератор
Сообщения: 567
Зарегистрирован: Ср июн 23, 2004 8:13
Откуда: г.Шахты

Сообщение tAZAR »

Кстати, все время забываю написать:
Живой пример - топик "CListCtrl ..." в разделе. Возможно ли это сделать с ListView в .NET? (C# / VB)

Ответить