На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
Модераторы: Qraizer
Страницы: (7) « Первая ... 4 5 [6] 7  все  ( Перейти к последнему сообщению )  
> мнение All об MFC
    черт.
    вот придэш с утра - и ужас.
    пора бухать бросать.
    ну это ... я подписываюсь под каждым своим
    словом ...
    но извиняюсь за 6(шесть) своих слов. (не буду перечислять =)).

    зы.
    дим. можеш грохать весь мой гон,
    но ваш базар всеравно ни к чему не приведет.
    ззы.
    ну ваше дело.
    я не виноват, что только пьяным сюда хожу.

    зззы.
    благодарности принимабтся =).
      Народ, вот тут много рассуждений, а между тем, мне, например, интересно узнать - кто-нибудь РЕАЛЬНО сравнивал скорость разроботки приложения на MFC и (например) VCL. Мой опыт показывает, что большая часть времени уходит не на написание клиентского кода, а на его отладку, написание серверной части кода (я базами данных занимаюсь) и на решение вопроса , чего же хочет заказчик. В такой ситуации разве очень большое значение имеет некотарая тормознутость разработки (несомненно, присущая MFC по сравнению с VCL)? Или я не прав? Вообще кто-нибудь может привести реальное сравнение времени и затрат труда?
        тз проекта:
        серв. часть - веб, оракл.
        клиент. часть - хттп клиент.
        адм. часть - мс апликэшн.
        ракло - ~30 tables, 12 packages, ~60 stored
        procedures, functions, triggers.
        web - ~60000 рабочего клиентского кода.
        адм апликэшн - 1-я версия VCL. вторая - MFC.
        в первом случае (VCL) разработка адм части заняла
        процентов 10 от общего времени разработки.
        во втором случае (MFC) - 30.

        ps.
        делаем выводы.
        т.е.
        вывод только один - нужно опохмеляться.
          Я лично дома пишу на Дельфи, а на работе - на VC. Мое мнение: MFC - библиотека, не дающая программисту никаких преимуществ. Чем использовать ее, лучше писать под голым API.
          Что ее изучать, что API - одинаковая сложность и одинаковый размер исходного кода.
          Что касается размера exe-шника, то добавление одного только класса CString добавляет к его размеру больше, чем все стандартные Дельфийные объекты.
          Потому при написании под Дельфями я использую ее библиотеку (хотя можно писать и под голым API, но гораздо менее удобно), а под VC - под голым API (MFC преимуществ по сравнению с API не дает, а объем тянет).
          А когда необходимо сделать что-нибудь действительно хитрое, то часто лезу в исходники VCL, посмотреть, "а как это сделано у Борланда".
            Я можетъ и не dogаняю что... но...
            Мля ситьюэйшн... диалог надо спросить... это как? в MFC:
            СMyDialog dlg;
            if (dlg.DoModal() == IDOK)
            {
            // обработаем ща...
            }
            // и тд и тп ну чо в винапи будем делать....
            я может лишку перепил... но у меня есть повод...
            как там на счет это быстро под апи...
              Нет ничего проще:
              if (DialogBox(hinst,
              MAKEINTRESOURCE(DLG_DELETEITEM),
              hwnd, (DLGPROC)DeleteItemProc)==IDOK)
              {

              // Complete the command; szItemName contains the
              // name of the item to delete.
              }
              Не веришь - посмотри в MSDN.
                Да, забыл, функция окна для этого диалога:
                char szItemName[80]; // receives name of item to delete.

                BOOL CALLBACK DeleteItemProc(HWND hwndDlg, UINT message, WPARAM wParam, LPARAM lParam)
                {
                switch (message)
                {
                case WM_COMMAND:
                switch (LOWORD(wParam))
                {
                case IDOK:
                if (!GetDlgItemText(hwndDlg, ID_ITEMNAME,
                szItemName, 80))
                *szItemName=0;

                // Fall through.

                case IDCANCEL:
                EndDialog(hwndDlg, wParam);
                return TRUE;
                }
                }
                return FALSE;
                }
                  Подводя очередной итог:
                  MFC - фигня с кноголетним стажем(а потому заслуживающая почтения), процесс разработки ускоряет, но не сильно, упрощает, но не очень.
                  Для любителей быстрой разработки интерфейса не подходит.
                  То есть если хочешь писать нормальные, стабильные проги use API, STL, ATL, WTL.
                  MFC - нафиг, за исключением суперстандартных приложений, которые неплохо генерятся визардом.
                    2FlexFerrum:
                    ну и какой смысл городить этот код для приложения, расчитанного на взаимодействие с пользователем. Таких диалогов там под сотню, а то и больше. Для каждого писать оконную функцию... согласитесь, это долго и нудно (дольше и нуднее). Не вижу смысла использовать апи.
                    может вы мне докажете что код под апи надежнее (в данном случае)?
                    *Сервисы, драйверы не пишу. Согласен, что для них надо использовать только апи*
                      В программировании на API - своя специфика. И оконную функцию под каждый диалог писать не обязательно - просто нужно немного подумать. И все.
                        Господа, Вы плац ломами не подметаете?
                        MFC, по-моему мнению, заточена под
                        "документ/представление". Для остальных задач
                        см. выше.
                        Базы данных? Delphi, VB
                        Числодробилка - вполне Borland Pascal 7.0 подойдет.
                        Интерфейс - VB + COM , Delphi
                        COM - ATL.
                        Драйвера - ASM.
                        Или не перевелись еще мазохисты на земле русской?
                        >> (И пусть мне плюнет в рожу (а еще лучше - >> я плюну) тот, кто это сможет опровергнуть >> и доказать). MFC - всего одна (ну почти) >> DLL... Которая ЕСТЬ ВЕЗДЕ...
                        Поставь VB 4.0 поверх Microsoft Office 97.
                        И запусти Word. Угадай, какая библиотека
                        Word'у сразу не понравится?
                        Не все живут в Москве и юзают ПО последней версии.Есть программы и активно используются
                        (нашими бухгалтерами), написанными еще 5-6
                        лет назад. Переписывать их нет смысла - я работаю за деньги, а не ради удовольствия.
                        Win API и в Африке Win API. Его достаточно
                        корректно один раз прописать, а не править
                        при каждом удобном случае исходники MFC,
                        особенно горячо мною любимые CString и CTime.
                        "Каждому - свое!"
                          Читал, я тут, читал, так ничего для себя и не подитожил.
                          1. Я пишу на дельфях! Да, причем все. Я знаю C и WinAPI (иначе чтобы я тут делал), может, не очень, но знаю. По крайне мере, разберусь в любом исходнике. Да, я садомазахист. Но мне нравится. Именно паскаль. (если по секрету - то только за понятность структур, с детства пошло).
                          2. Человечество идет по пути деградации!? Пять - Шесть лет назад проги выпускались настолько отточеными, что практически не к чему было придраться. Между прочем, все писалась на обычных C + asm с использованием WinAPI. Вспомним Photoshop 3 - 4, Corel Draw 4 - 5 и ежи с ними. Да хоть по играм судить - вот настоящий двигатель прогресса. Что имели тогда - и что сейчас? Да, не спорю, красиво, стильно, все там новейшие прибамбасы, но: криво! Патч через каждые три дня, а все равно не работает. В Corel 10 напихали столько прибомбасов, что он из-за них летает не хуже Виндов и тормозит жутко, а кому это нужно? ICQ, по слухам (говорили мне) вообще на Java написана, и я этому верю. :-).
                          Короче девиз время - деньги работает в наше время как нельзя лучше. Быстро сварганил - побольше получил. Вот для этого и придумывают всякие прибамбасы - начиная от subj и заканчивая тем же Delphi.
                          Ну и плюс мода, конечно. Ну объясните мне, дураку, зачем везде, куда не лень, пихать, ну например, ActiveX? Не, ну где там он нужен (Интенет?), там понятно, но ведь везде уже. И с остальным также - если один Soft Developer чего-то там к себе такого вставил, то другой обязательно воткнет, а то вдруг без этого не продаст? Кстати, моду диктует, мне так кажется, все тот-же MS.
                          3. Кстати, кто такой сегодняшний программер? Россию в расчет брать не будем (у нас тут каждый второй), посмотрим глобальнее. Вот когда программер за перфоратором сидел, он просто обязан был знать все, иначе после каждой ошибки... долгая работа. Сейчас же можно начать писать проги, пройдя школьный курс! Кто-то там сумел создать окно - все, программер. Не, ну если какие проблеммы, можно там Win SDK заглянуть или по формумам поститься :-))). Вот он влез в MFC, почитал чуть-чуть хелп, посмотрел примерчики, и давай по Wizard'ам лазить, программировать. А ведь все это сказывается на качестве (см. п. 2).
                          Итог: я не имею ничего против всяческих оболочек. Ни-че-го. Но надо помнить, что прога пишеться для юзера. Программер не продавец, товар - деньги не его девиз. Его девиз: хорошо сделал - хорошая зарплата. Все остальное - дело продавца. Я конечно знаю, что богатый ламер - наш клиент, но и совесть-то поиметь надо. А писать можно хоть на asm'е, хоть на Java.
                          Так что поменьше всем багов в их коде.
                            2One.
                            Полазать чуть-чуть в хелп - к этому как раз
                            Delpi располагает, в MFC на чуть-чуть далеко не уедеш.
                            Отсутствие в языке модификатора inline и запихивание в exe шник текстовых строчек а ля OnButtonClick как раз вряд ли можно считать хорошим стилем.
                            И наконец, кто же такой по вашему программер ? IMHO - человек, умеющий перевести понятия реальности, конкретные задачи в АЛГОРИТМ решения. А знание тонкостей языка и библиотек придет само.
                            А бояться что ныне программы пишутся не так отточено как раньше не следует. Сложность постоянно растет, написание программ с вымучиванием каждой строчки - дорогое и неэффективное занятие. Которое становится никому ненужным с очередным повышением частоты проца на 20 \%.
                            PS Чем структуры Паскаля отличаются от аналогичных C++ ?
                            PPS Кончаем религиозный флейм !!!
                              Да ладно врать то, про чуть-чуть в хелп...
                              Писал я на Дельфях - хелпы там по размерам действительно чуть-чуть. Нередко то, что нужно я находил с большим трудом, а чаще вообще не находил (знаю я Дельфи плохо, а потому часто лезу в хелп). Участвовал я в большом проекте на Дельфи - прога была красивая, функциональная, огромная и чрезвычайно глючная. Время разработки интерфейса она действительно сокращает. Но что же это за прога, если большую часть в ней занимает интерфейс. Если надо написать небольшую прогу, то я и в MFC без нажатия на клавиши сделаю SDI приложениес тулбаром, сплашем, множеством контестных меню и т.д. Я и сам MFC не люблю, но и Дельфи не переношу. Тлько из-за того, что это Паскаль + то, что непонятно как она работает. Поясню: СИ реально позволяет писать проги короче и быстрее. Дельфи часто валится, непонятно почему. Самый прикол, что целый Дельфевый проект свалился на моих глазах, причем два раза, как раз в тот момент, когда мне доказывали, насколько Дельфи хорошая. Если такое случается в Сях, я лезу в МСДН и ищю раздел BUG: Visual Studio hangs if...
                              MFC реально неприкольно использовать для больших прог (хотя 1С на нем, похоже, и написан. Кстати ICQ тоже если не полностью, то частично юзала MFC, достаточно взглянуть на таблицы экспорта и импорта ее модулей и внутренний код). Дельфи - не альтернатива
                                Ну вот, опять давай рассуждать, что лучше, а что хуже. Я написал п.1. только для того, чтобы небыло недомолвок с моей стороны. Хоть кто-нибудь увидел, чтобы я сказал, что дельфа мол лучше C? Я лишь сказал, что мне с ней удобнее.
                                И насчет хелпа я говорил чуть-чуть(т.е. толком не разобравшись), а что в делфях ее до фига, я уж и сам знаю (бессоные ночи, провиденные в Delphi Help и Win32 SDK).
                                Я говорил о том, что нет смысла спорить о том, какая оболочка лучше, какая хуже (если рассматривать это просто как спор). Главное, чтоб писать не коряво. Мне вот из Москвы недавно спустили прогу - так там глюк, который все программеры на C прекрасно занют - при Enter'e она закрывается. Вопрос - что это, C - плохой язык? Ни в дельфях, ни в VB такого не получишь. Ответ: нет, просто у кого-то очень корявые руки.
                                Нет, можно, конечно сравнивать технические параметры, с этим я согласен, но там то одно, то другое побеждает, смотря по какому параметру смотреть. Так что однозначности нет.
                                Так что писать надо кто-на-чем-может (смотри выше п. Итог!).
                                2DmitryRyvkin
                                >Которое становится никому ненужным с
                                >очередным повышением частоты проца на 20 \%
                                Вот об этом я и говорил, по твоему при достижении процом частоты, ну допустим, 100ГГц можно вообще прогу не отлаживать?
                                Кстати, сравни:
                                i = 0;
                                for(i;i<=Max;i++)
                                {
                                do something
                                }
                                и
                                for i:=0 to Max do
                                begin
                                do something
                                end;
                                в принципе один фиг, но по-моему!, на паскале яснее.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0434 ]   [ 16 queries used ]   [ Generated: 28.04.24, 08:20 GMT ]