какие перспективы win32 and COM - перспективы .NET?

Тема в разделе "WASM.HEAP", создана пользователем Semiono, 12 апр 2009.

  1. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    tigsid
    WIn32 API никогда никуда не денется, так уж построена ось....
     
  2. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Demon666
    Прососто ты их не видишь, это ещё не значит что их нет)
    Сборщик мусора можно вызвать самому, обькеты строить таким образом, что б не искать потом где утечка...
    Да, но разве это делает её хуже? Менее перспективной? Медленнее?)
    pinvoke.net...НЕТ) msdn и всё, что нужно, ну и кножко Рихтера...
    Возникает ощущение что у некоторых возникает чувство ревности к ней)))
    Один проект. Вычисления, вызоп winapi, алгоритмы... С,C++, в этом же проекте MC++ и быстрыу симпатишный интерфейс без особого труда. Интегрированность с Win32 очень хорошая. Аттрибуты и Marshal творят чудеса)
    Откройте глаза, зачем поливать говном то, что не знаешь?
     
  3. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    KingT
    Код (Text):
    1. #pragma unmanaged
    2. #pragma managed
     
  4. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    Вообще С++ Managed я не приветствую. Ибо какая-то аццкая помесь получается. А чтобы не думать о утечках можно и нужно юзать паттерн RAII.
     
  5. Demon666

    Demon666 New Member

    Публикаций:
    0
    Регистрация:
    19 май 2006
    Сообщения:
    99
    punxer
    Это ты мне чтоле? %))

    Ты пишешь громкие слова и знаешь много фамилий(труднопроизносимых)
    Хорошо вот задача для тебя, раз дотнеД такой всесильный
    Имеем прогу WinDbg, здесь все ее очень хорошо знают и часто юзают
    Имеем торчащие интерфейсы
    IDebugAdvanced
    IDebugClient
    IDebugControl
    IDebugDataSpaces
    IDebugRegisters
    IDebugSymbols
    IDebugSystemObjects
    Файлег dbgeng.h
    Задача:
    Написать расширение/плагин(extension "DLL")
    Которое при загрузке будет добавлять на тулбар(Toolbar) отладчика одну всего лишь кнопку, при нажатии на которую, будет очищаться окно Command
    А при выгрузке плагина будет удаляться эта кнопка из тулбара

    Ты утверждаешь что
    Вот у тебя есть шанс тут показать всем !!!на деле!!!(а не пустозвонить благовонию), как они творят чудеса %))))))...
    Токо вот не надо говорить, что эта задача не для дотнет, ты же утверждаешь здесь Marshal решает все, вот и посмотрим какое оно это все!
    Я даже больше скажу вы такие смелые потому что у вас есть студия, а забери у вас ее.. так накодидь что-то на дотнет смогут только единицы!!!
    Внутрь заглянуть нужно хоть один раз на это убожество
    Че зря там в комплекте присутствует ключедел(guidgen.exe) "который загаживает весь реестр" %)))
    Короче это я к тому что компилять примерчики из книжек – это не то, что при реально поставленной задаче и ее реализации
    Просто была задача забрать часть зомбиков у джавистов(если бы не было дотнета, то не трудно представить чтобы было, ну и срубить бабла на зомбиках - бижутерия, книги итд..), тут на пороге еще реально весч QT для GUI лучшее что можно сейчас юзать очень много плюсов
    PyQT так это вообще просто сказка..
     
  6. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Бл, ты опять как будто путаешь платформу для программирования у которой есть определённая нацеленость с языком программирования, напишу я тебе всё без проблем, просто не буду юзать экстеншены, там где лучше без них, или вообще можно только без них. Использовать COM можно отлично и без неё...
    PS. я не пытаюсь заменить ей что то, для каждой задачи есть определённые пути решения, где то NET применима, где то нет.
    Это же просто набор экстеншенов,если смотреть со стороны сей. Я же не говорю что писать игры и дрова нужно с применением сей.
    Напиши да выложи, и в твоём коде найдётся что подобосрать)
     
  7. Blackbeam

    Blackbeam New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    960
    Название: Microsoft Windows Presentation Foundation: базовый курс
    Автор: Чарльз Петцольд
    Издательство: М.: Издательство "Русская Редакция"; СПб.: Питер
    Год: 2008
    Страниц: 944
    Формат: djvu
    Размер: 11.8 Мбайт
    ISBN: 978-5-7502-0341-3, 978-5-91180-643-9
    Качество: удовлетворительное
    Серия или Выпуск: Серия "Для профессионалов"
    Язык: русский

    В этой книге, написанной гуру Windows-программирования Чарльзом Петцольдом, параллельно изложены два подхода программирования, на которых базируется Windows Presentation Foundation (WPF). При чтении читатель будет циклически переходить от особенностей применения XAML (Extensible Application Markup Language) к тонкостям программирования на С#, что позволит понять их взаимосвязанность при программировании интерфейсов. Уже с первой главы автор объясняет синтаксис XAML и принципы создания взаимосвязанного кода.
    Множество наглядных примеров помогут легко понять, как связываются коды на XAML и С#. Все это плюс "фирменное" разъяснение Петцольда концепций пользовательских интерфейсов (UI) легко научит Windows-разработчиков тому, как создавать для своих приложений интерфейсы нового поколения.

    _______

    ктонить может внятно обьяснить - что это за срань и нужно ли её изучать, или это - тоже типа Муму

    висит у Наты
     
  8. KingT

    KingT Member

    Публикаций:
    0
    Регистрация:
    12 янв 2006
    Сообщения:
    208
    при программировании интерфейса оный описывается в виде XAML скрипта,который затем компилится.А отрисовка окошек идет напрямую через DX не через GDI.
     
  9. Blackbeam

    Blackbeam New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    960
    начал читать, Рихтер пишет что NET - отстой а wpf - светлое будущее, однако на копмутере должны быть Net.framework 3, вроде того , и SDK из той же оперы...
     
  10. Demon666

    Demon666 New Member

    Публикаций:
    0
    Регистрация:
    19 май 2006
    Сообщения:
    99
    punxer
    Мда.. вижу ты только "Я" писать и умеешь
    Ты же где-то писал что легко судить тем кто ни строчки не накодил
    Вот я сумел как-то написать пару строчек, и че теперь.. ты начал уже писать что
    Тебя никто
    и не пытался, это дотнет такой убогий, вот поэтому все так и страшно в реалии
    если ты не можешь асилить написать правду, что в реальной ситуации .NET это жо*а
    то че тогда трендишь тут что дотнет это круто
    простую задачу поставить чисто основанную на синтаксисе дотнета
    и ты ее решать будешь бесконечно
    к примеру сделать dll парсер(декомпиль) для нового формата флешь файлов, чич-то просто чтобы парсил и выводил данные в определенной структуре без гуи
    при поставленной задаче только важны синтаксис языка и его хорошие знания.. ну да ладно проехали.. это я так написал для тех кто думает изучать дотнет, чтобы увидели в реале какая их [..] ждет!!!


    Вот копипаст в два кодеса(делающих в принципе одно и тоже), для примера..
    скоко хош %)))
    На С++
    Код (Text):
    1. #include <stdio.h>
    2.  
    3. class TClass
    4. {
    5. public:
    6.  static const int n = 262144;
    7.  char pData[n];
    8. };
    9.  
    10. void DoIt (int nb)
    11. {
    12.  int i;
    13.  TClass *tc = new TClass;
    14.  for (i=0; i<TClass::n; i++) tc->pData[i] = nb&255;
    15.  delete tc;
    16. }
    17.  
    18. void main()
    19. {
    20.  int i;
    21.  for (i=1; i<1000000; i++)
    22.  {
    23.   DoIt (i);
    24.   if (!(i%10000)) printf ("%d\n",i);
    25.  }
    26. }
    На С#
    Код (Text):
    1. using System;
    2.  
    3. namespace ConsoleTest
    4. {
    5.     class TClass
    6.     {
    7.         public char[] pData = new char[262144];
    8.     }
    9.  
    10.     class Program
    11.     {
    12.         static void Main(string[] args)
    13.         {
    14.             int i;
    15.             for (i=1; i<1000000; i++)
    16.             {
    17.              DoIt(Convert.ToChar(i));
    18.              if (0 == (i%10000)) Console.Write("{0:d}\n",i);
    19.             }
    20.         }
    21.        
    22.         static void DoIt(char nb)
    23.         {
    24.              int i;
    25.              TClass tc = new TClass();
    26.              for(i=0; i<tc.pData.Length; i++)
    27.                  tc.pData[i]=nb;
    28.         }
    29.     }
    30. }
    Не стал выкладывать бинарики скомпиленные
    Просто скажу что на глаз С# медленнее циферки показывает в 2-3 раза!
    Интересно как же улучшить результат по рихтору..
    ЗЫ: Этому .NET уже десять лет – а они от него что-то нового ждут, бу-го-га %%)))

    Топикстартер куда-то пропал.., сталобыть [..] на тему давно положил..
     
  11. KingT

    KingT Member

    Публикаций:
    0
    Регистрация:
    12 янв 2006
    Сообщения:
    208
    Ну если без гуи то конечно юзать фреймворк нет смысла.А если например надо делать быстрые расчеты и выводить результат в виде графиков в программе со сложным интерфейсом то считать можно в DLL а гуй делать на .net.

    А кто говорил что net быстрая,интерпретация все же.Тыб еще на ассемблере написал и сравнил.

    Спорить особого смысла нет.
     
  12. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Ну кстате я про C# не говорил ни слова...Хоть он и является основным языком для платформы...Этот кусок не требует особых возможностей. Давай поработаем с БД или Гуём..., а там посмотрим на соотношение производительность труда и кода...
    Пора заканчивать эту тему.
    Исполбзовать неуправляемый код, а это ни что иное, как первый вариант...Или пересобрать готовую сборку в машинный кодес всю сразу...например.
     
  13. Demon666

    Demon666 New Member

    Публикаций:
    0
    Регистрация:
    19 май 2006
    Сообщения:
    99
    Про гуи я уже писал
    Не видно что-то реализации, может написал не понятно ТЗ


    Жжошь??? Ппц..
    Пост номер #35
    Или это о чем он?
    Просто не хотелась тыкать лишний раз пальцем в..

    Какие нах графики, не смеши.. все эти графики выводятся в нативе, все что с гуи связано неизбежно будет реализация лежать в DLL написанной на C++ и это факт! все остальное - это абстракция в виде убогой обвертки через реестр. Ты go to definition поделай в редакторе кода в студии на каком-нибудь namespace и обязательно упрешься в какой-нибудь COM интерфейс в конце..
    потом поищи в реестре ключег и посмотри на какую длл он ссылается..
    опровергни выше описанное!

    вот более развернуто ТЗ для гуи(хотя большие сомнения что здесь кто-то асилит)
    Простое окно у него вверху едитлайн и рядом кнопка при нажатии на которую открывается диалог для выбора файла текстового, выбираем файл текстовой 30 мегабайт и он должен открыться без тормозов, че там будет за контрол не важно, но выполнять он должен следующее
    В студии есть редактор для кода, а у него есть строки включаются они Tools -> Text Editor -> C# -> Line numbers
    Вот на .NET охота увидеть такой вот простой редактор текстового файла с нумерацией строк ну и цвет чтобы другой был у Line numbers: к примеру черный фон, а номера строк белые
    или что опять на .NET это не GUI?
    Я уже про подсветку ключевых слов молчу, тут явно не асилите без ИМХО..

    Про "БД" гы-гы, плакалЪ поцталом.. ладно не буду опускать это дотнет, каждый пусть решает сам для себя выкидывать время на ветер или нет, обсуждать тут явно нечего..
    Книжек начитались, а как перед фактом поставили так .. одни оправдания... (не могу, не хочу итд..)
    засим сказать больше нечего.
     
  14. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Такой ты упёртый,Сцуко! Напишу. Хоть пока и не рассчитыаю но 100% результат...Хотя опять же на каком компе проверять? Там и порешим.
     
  15. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Засабклассить и рисовать в Unmanaged на GDI+. Благо это не составит особого труда...
     
  16. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    Про C# и C++. А где в коде на С++ memory management (в том числе garbage collector), где всякие security checks и exception handling? Всё это встроено в архитектуру managed code. И если в данном коде они нафиг не нужны, то когда количество строк переваливает за десятки тысяч, а количество сущностей за сотню становится как-то сложновато держать в голове кучу деталей на которые при использовании managed code можно не обращать внимание.

    Если сравнивать возможности языков C# и С++, то очевидно C# более продвинутый язык, в нём больше возможностей. Но сравнивать сферу применения немного некорректно, хотя они и перекрываются.

    А с редактором вообще ерунда. Ну вот я щас дам ТЗ какой-нибудь ERP и скажу есть 3 месяца, как любят делать наши банки. И фиг кто за 3 месяца её реализует без мощного фреймворка и высокоуровневых средств.
    А потом придёт Demon666 и скажет я напишу на СИ, но мне для этого надо 1.5 года, а потом я ещё год буду отлавливать memory leaks и race conditions. Его спросят, а что мы получим взамен. А он скажет, что взамен ваши формочки будут грузится не 100 мс, а 30мс и вам не надо будет устанавливать 50 мегабайт .NET Framework. А ему ответят, что стоимость работы одного дня девелоперской конторы плюс банка без ERP стоит как 100 гб памяти и 2тб hdd, поэтому фтопку эту вашу premature optimization, идите пишите редакторы.
     
  17. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Оффтоп: Пример на VB6))) Не мой, время не резиновое...Это уже думаю наталкивает на определённые мысли...
    http://www.rapidshare.ru/1008961
     
  18. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Demon666
    На самом деле редактор текстовиков по 30 МБ,ты сам то представляешь такой сорец?? Актуальность где?
    W4FhLF
    +1
    В том то и дело что, юзая наш любимый С++ c манагед экстеншнами мы почти всё это и получаем.А где они нам не нужны-не используем.
     
  19. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    punxer
    Мы убиваем на корню стандарт. А это дорогого стоит. :)
     
  20. punxer

    punxer Андрей

    Публикаций:
    0
    Регистрация:
    16 окт 2006
    Сообщения:
    1.327
    Адрес:
    Ржев
    Это так. Но и язык от мелкомягких и так далеко не GCC. Не спорю что кроме винды, это чудо нигде не запуститься.