Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Религиозные войны > C++ vs C#


Автор: sts 31.10.2005, 17:45
Последнее время всё чаще и чаще приходится слышать что С++ умер и будущее за С#. Так ли это? Какой из этих языков вы предпочитаете?

З.Ы. Похожая тема уже была но противопоставления этих двух языков там я не нашёл

Автор: Sun 31.10.2005, 18:36
А с появляением Java разве С++ умер? Никто не умрет. Все будут жить долго и счастливо.

Автор: DeadSoul 31.10.2005, 21:13
Цитата(sts @ 31.10.2005, 17:45)
Последнее время всё чаще и чаще приходится слышать что С++ умер и будущее за С#. Так ли это? Какой из этих языков вы предпочитаете?

нет. Каждый будет жить в своей нише.

P.S. Мы же проффесионалы, может просто достанем и помереемся?

Автор: Mayk 31.10.2005, 21:15
Цитата(sts @ 31.10.2005, 21:45)
С++ умер

Ему не привыкать

Цитата(Sun @ 31.10.2005, 22:36)
А с появляением Java разве С++ умер?

+1

Автор: bend0r 4.11.2005, 03:52
если C++ и умрет то тока для виндовса, и то не факт. выбрал C# сам незнаю почему возможно потому что показалось что .net будет легче освоить чем тот же mfc

Автор: Sun 4.11.2005, 12:32
Цитата(bend0r @ 4.11.2005, 00:52)
показалось что .net будет легче освоить чем тот же mfc

Правильно показалось. MFC- маздай, Qt - рулез!

Автор: Coocky 4.11.2005, 19:09
Цитата(Sun @ 4.11.2005, 12:32)
Правильно показалось. MFC- маздай, Qt - рулез

smile
Удар в пах...
Я юзал Qt
Я юзал Qt, библиотека хорошая, но средство разработки ГАВНО, VC++ в миллион раз универсальней и лучше.
Что б написать нормальный визуальный интерфейс, прийдется ох как повозится.
(Я сейчас мог бы перечислить много недостотков Qt в плане компилятора..и студии разработки.)
Да и GUI тормозит.
С# и Windows Form- действительно круты.
Только вот наличие FrameWork в системе отталкивает многих ХР\2000+95\98 разарботчиков
Поэтому и забросил..

Добавлено @ 19:10
Цитата(bend0r @ 4.11.2005, 03:52)
потому что показалось что .net будет легче освоить чем тот же mfc
После МФС, любая библиотека-пыль! Поверь мне.
Но не наоборот smile

Автор: Sun 4.11.2005, 19:18
Цитата(Coocky @ 4.11.2005, 16:09)
Я юзал Qt, библиотека хорошая, но средство разработки ГАВНО, VC++ в миллион раз универсальней и лучше.
Что б написать нормальный визуальный интерфейс, прийдется ох как повозится.

А при чем тут средство разработки? Тебе никто не мешает юзать ее в том же VC, если ты его так любишь. Про компилятор я вообще не понял. Бери компилятор какой тебе нравится и компилируй.

Автор: DeadSoul 4.11.2005, 20:44
Цитата(Sun @ 4.11.2005, 12:32)
Цитата (bend0r @ 4.11.2005, 00:52)
показалось что .net будет легче освоить чем тот же mfc
Правильно показалось. MFC- маздай, Qt - рулез!


Цитата(Sun @ 4.11.2005, 19:18)
Цитата (Coocky @ 4.11.2005, 16:09)
Я юзал Qt, библиотека хорошая, но средство разработки ГАВНО, VC++ в миллион раз универсальней и лучше.
Что б написать нормальный визуальный интерфейс, прийдется ох как повозится.
А при чем тут средство разработки? Тебе никто не мешает юзать ее в том же VC, если ты его так любишь. Про компилятор я вообще не понял. Бери компилятор какой тебе нравится и компилируй

Sun, я верю, что это хорошая библиотека. Но MFC бесплатна, а QT нет. Ты их цены видел?

Пиратской версией пользоватся для выпуска программного продукта нельзя. А если я скажу начальству "дайте мне 1500 у.е-в" на библиотеку то знаете куда я пойду?

Автор: chipset 6.11.2005, 18:11
Цитата(DeadSoul @ 4.11.2005, 10:44)
Sun, я верю, что это хорошая библиотека. Но MFC бесплатна, а QT нет. Ты их цены видел?

Наоборот.

Автор: chipset 6.11.2005, 18:32
Вообще-то нет, по идее -- сама VS стоит 1000$ а MFC ничего не стоит но и отдельно не поставляется.
А вообще мне смешны выкрики о том что C++ умер smile

Автор: DeadSoul 6.11.2005, 22:29
Цитата(chipset @ 6.11.2005, 18:11)
Цитата (DeadSoul @ 4.11.2005, 10:44)
Sun, я верю, что это хорошая библиотека. Но MFC бесплатна, а QT нет. Ты их цены видел?
Наоборот.

QT под винду бесплатна? smile

Автор: Coocky 6.11.2005, 22:53
Цитата(Sun @ 4.11.2005, 19:18)
А при чем тут средство разработки? Тебе никто не мешает юзать ее в том же VC, если ты его так любишь. Про компилятор я вообще не понял. Бери компилятор какой тебе нравится и компилируй

Я люблю МФС чуть больше тебя, только потому, что он иеня кормит.
Что касается компилятора, то Qt встраивается лишь в три под Винду.
Во все голимо...
Что касается самой библиотеки, то она хороша, но только все простые вещи в ней делаются сложно, а сложные-просто.
Вроде бы хорошо, если бы не одно но..
Простые вещи чаще всего применябтся, а значит и геммора больше...
Невозможность нормальной работы, отладки , копмпиляции с Qt заставило меня бросит ее, на этапе изучения..

Автор: chipset 7.11.2005, 09:20
Цитата(DeadSoul @ 6.11.2005, 12:29)
QT под винду бесплатна?

Только для Open Source разработки smile

Автор: S.A.P. 7.11.2005, 09:38
Coocky Что в QT делается сложнее чем в MFC???
Добавлено @ 09:41
Цитата(Coocky @ 6.11.2005, 22:53)
Что касается компилятора, то Qt встраивается лишь в три под Винду.
вобще не понял! У MFC только 2 и только под винду.
smile

Цитата(Coocky @ 6.11.2005, 22:53)
Невозможность нормальной работы, отладки , копмпиляции с Qt
Студия есть, отладчик есть, компилятор есть, QTDesigner есть.
smile smile smile

Автор: Coocky 7.11.2005, 11:46
Цитата(Perchilla @ 7.11.2005, 09:38)
Coocky Что в QT делается сложнее чем в MFC???

Вспомни работу с UNICODE и ANSI...
Вспомни работу с БД

Цитата(Perchilla @ 7.11.2005, 09:38)
вобще не понял! У MFC только 2 и только под винду.

smile
Ну при установке что она спрашивает? Правильно, среду ращработки для вндрения.
Там 7.0, Борланд, иеще какя-то-не помню... Но может еще одну пропустил.
А вспомни прокомпиляцию проекта..
Толкьо сразу при установке задаешь, либо статическая компоновка библиотек, либо динамическая.
Только один раз.

Цитата(Perchilla @ 7.11.2005, 09:38)
Студия есть, отладчик есть, компилятор есть, QTDesigner есть.

smile
А как оно работат все вместе? smile
Да никак-то подсказок нет, то еще что не видит в проекте и пятое и десятое.
Вспомни, сколько неотвеченых вопросов осталось...
Что касается МФС, то это единственная библиотека в VC под С++. Выбора нет. А студия -шикарная..Любой проект можно сделать в ней -от HTML страницы, до таблиц и функций MSSQL...
Шикарная отладка и настройка проекта от нуля до бесконечности.

Автор: alir 7.11.2005, 12:16
Цитата
Только вот наличие FrameWork в системе отталкивает многих ХР\2000+95\98 разарботчиков

Чего это он их отталкивает?! smile

Автор: Ch0bits 7.11.2005, 13:04
ИМХО тьфу, очередной глупый спор! smile
Каждому своё! smile

Автор: S.A.P. 7.11.2005, 13:12
Цитата(Coocky @ 7.11.2005, 11:46)
Вспомни работу с UNICODE и ANSI...
smile QString уже изначально хранит строки в уникоде и при необходимости работает с однобайтовыми строками, в зависимости от настроенного QTextCodec на нужную кодировку. Все это достигается в программе, без всяких левых либ и ключей компиляций. Поставим вопрос по другому: как достигается поддержка вывода уникода в MFC, да и вобще различных кодировок срок, если мне надо, скажем в одной программе работать с 3-мя сроками, одна в кодировке Windows-1252, вторая UTF-16, третья что - нибудь типа EUC-JP? smile .

Цитата(Coocky @ 7.11.2005, 11:46)
Вспомни работу с БД
А че ее вспоминать? MFC и рядом не стоял smile . Подключение к БД и отправка запроса в 5 строчек пишется. Скажем захотел результат в таблицу вывести, накидал интерфейс в QT дизайнере, подключил все это дело, подбил напильниким и вперед smile . Таблицы в QT одна прелесть. В ячейки все че угодно можно впихуть: картинки, чекбоксы, комбобоксы, да все че угодно, хоть разметку HTML. Круче только Delphi, но ей положено. smile

А в MFC как вы таблицы рисуете?

Цитата(Coocky @ 7.11.2005, 11:46)
Ну при установке что она спрашивает? Правильно, среду ращработки для вндрения.
Там 7.0, Борланд, иеще какя-то-не помню... Но может еще одну пропустил.
почему это должно быть минусом? Зато я могу переносить проги на другие платформы и отпадает необходимость пользоваться коммерческими компиляторами.

Цитата(Coocky @ 7.11.2005, 11:46)
А как оно работат все вместе? smile
Да никак-то подсказок нет, то еще что не видит в проекте и пятое и десятое
Подсказок нет, ну и хер с ним smile . Хотя стоп, подсказки есть, только работают криво smile . Задо есть исчерпывающая документация, по сравнению с которой MSDN просто куча никому ненужных гигабайтов.

Цитата(Coocky @ 7.11.2005, 11:46)
А студия -шикарная
студия рулит, но че делать, если MS не может обскакать в плане GUI даже тролей. Все силы брошены на NET.

Автор: Coocky 7.11.2005, 15:39
Цитата(alir @ 7.11.2005, 12:16)
Чего это он их отталкивает?!

Потому, что на 2000\XP надо ставить FW, а 98\95 -вообще не поддерживает..

Добавлено @ 15:42
Цитата(Perchilla @ 7.11.2005, 13:12)
почему это должно быть минусом? Зато я могу переносить проги на другие платформы и отпадает необходимость пользоваться коммерческими компиляторами

Да потому, что все, что не родное-работает глюкаво. Нужен свой компилятор и среда разработки. Иначе "паразитизм" до хорошего не доведет!

Цитата(Perchilla @ 7.11.2005, 13:12)
Задо есть исчерпывающая документация, по сравнению с которой MSDN просто куча никому ненужных гигабайтов.

Документация рулит.Спору нет. Только кому она нужна. если за каждым аргументом нужно лазить? smile

Автор: Sun 7.11.2005, 16:09
Цитата(Coocky @ 7.11.2005, 12:39)
Да потому, что все, что не родное-работает глюкаво. Нужен свой компилятор и среда разработки. Иначе "паразитизм" до хорошего не доведет!

Coocky ну тогда софт под Windows имеют право разрабатывать только парни из M$. Все остальное будет з глюками по определению smile А M$ всегда славились отсутствием глюков в ихнем софте smile

P.S. Coocky, признайся сколько тебе заплатил Билли за пиар? smile

Автор: DeadSoul 8.11.2005, 00:04
Цитата(DeadSoul @ 6.11.2005, 22:29)
Цитата (chipset @ 6.11.2005, 18:11)
Цитата (DeadSoul @ 4.11.2005, 10:44)
Sun, я верю, что это хорошая библиотека. Но MFC бесплатна, а QT нет. Ты их цены видел?
Наоборот.
QT под винду бесплатна? 


Цитата(chipset @ 7.11.2005, 09:20)
Цитата (DeadSoul @ 6.11.2005, 12:29)
QT под винду бесплатна?
Только для Open Source разработки 

Вот, вот. На компилер у начальства я денег выбью, а на QT.....

Автор: alir 8.11.2005, 00:23
Coocky
Цитата
Потому, что на 2000\XP надо ставить FW, а 98\95 -вообще не поддерживает..

smile Видно малы твои познания в .net. Еще как поддерживает! На 95/98 можно поставить .net и все будет работать (конечно, имеется ввиду запуск приложений, а не программирование с использованием VS). А то, что ставить надо - не беда: технология молодая, потому пока доставлять надо. Зато во всех последующих версиях он будет (яркий пример - win2003).

Perchilla
Цитата
Подключение к БД и отправка запроса в 5 строчек пишется.

И в .net аналогично.
А что вы все вообще сравниваете с mfc? Старье это.

Цитата
ИМХО тьфу, очередной глупый спор!

Еще бы! Ну и как всегда, свойственная "религиозным войнам" система - один против всех. smile

Автор: Ch0bits 8.11.2005, 02:24
Цитата(alir @ 8.11.2005, 00:23)
На 95/98 можно поставить .net и все будет работать

Покажите мне человека который сидит на 95/98??? smile В этом случае я могу посочувствовать даже мазахисту! smile smile
Если даже кто и сидит, то явно не от хорошей жизни(читай железа). А если на 95/98 еще и .NET поставить, да ещё и запустить чего-нибудь(например VS2005), то этому герою надо при жизни поставить чугунный бюст 2x1м!!! smile smile smile
alir, маладец, жжошь нипадецки!

Автор: batigoal 8.11.2005, 11:03
Цитата(Vadim999 @ 8.11.2005, 03:24)
Покажите мне человека который сидит на 95/98???

Практически все знакомые мне бухгалтеры smile

Автор: Sun 8.11.2005, 11:23
Цитата(Vadim999 @ 7.11.2005, 23:24)
Цитата(alir @ 8.11.2005, )
На 95/98 можно поставить .net и все будет работать

Покажите мне человека который сидит на 95/98??? smile В этом случае я могу посочувствовать даже мазахисту! smile smile

Не знаешь ты всей жестокости этой жизни. Еще куча людей под Windows 3.11 и ДОС работает smile
Добавлено @ 11:30
Цитата(DeadSoul @ 7.11.2005, 21:04)
Вот, вот. На компилер у начальства я денег выбью, а на QT.....

Распостраняй свой софт под GPL и ничего не плати за Qt. Это очень хорошая альтернатива для начинающих софтверных компаний с небольшим бюджетом. Qt это не только графический интерфейс, а практически полноценное кроссплатформенное API. Можно даже привести аналогию с Java. Здесь даже есть большой плюс, по сравнению с Java, потому что на выходе получается native код.

Автор: alir 8.11.2005, 18:15
Vadim999

Цитата
А если на 95/98 еще и .NET поставить, да ещё и запустить чего-нибудь(например VS2005), то этому герою надо при жизни поставить чугунный бюст 2x1м!!!

Говорю еще раз (для особо невнимательных):
На win 95/98 можно поставить .net, но лишь его клиентовскую часть, т.е. только для запуска .net приложений, а не создания их в студии (уже писал). Нельзя на win95/98 поставить студию!
Насчет запуска: .net-приложения показывают неплохую скорость в этих операционках и со всем не много уступают по скорости работы стандартным win32 приложениям.
Но "ежу понятно", что никто не рассматривает win98/95 как платформы для .net, а прошлые доводы я приводил лишь для вразумления Coocky.

Автор: srd 8.11.2005, 18:27
На 98-ю .NET Framework поставить ещё можно, а вот на 95-ю - уже нет. Открываем MSDN читаем:

Scenario:
Client
Operation system
Microsoft® Windows® 98
Microsoft® Windows® 98 Second Edition
Microsoft® Windows® Millennium Edition
Microsoft® Windows NT® 4.0 Workstation with Service Pack 6.0a or later
Microsoft® Windows NT® 4.0 Server with Service Pack 6.0a or later
Microsoft® Windows® 2000 Professional
Microsoft® Windows® 2000 Server
Microsoft® Windows® 2000 Advanced Server
Microsoft® Windows® 2000 Datacenter Server
Microsoft® Windows® XP Home Edition
Microsoft® Windows® XP Professional
Microsoft® Windows® Server 2003 family
Note On all these systems, Microsoft® Internet Explorer 5.01 or later and Microsoft® Windows® Installer 2.0 or later are also required.

Автор: Coocky 8.11.2005, 18:37
Цитата(alir @ 8.11.2005, 18:15)
прошлые доводы я приводил лишь для вразумления Coocky.

Вразумления чего?
Ты небось софт пишешь либо для друзей, либо непосредственно по работе, для местного употребления?
На заказ писал? Пользователю пофиг, на чем ты пишешь, ему нужно запустить и работать.
Никто не купит твою прогу, когда вылетит сообщение Ups! I Want FrameWork,I Want Framework!
Никто не кинется за дистрибутивом Виндос, что б установит FW
Особенно буржуины и особенно америкосы!
Вот почему я писал
Цитата(Coocky @ 7.11.2005, 15:39)
Чего это он их отталкивает?!


Потому, что на 2000\XP надо ставить FW, а 98\95

А то что это технология будущего-никого не волнует! Проги должны идти на ВСЕМ. Это тебе не игрушки какие-то, где все зависит от конфигурации компа...
Поэтому я отказался от использования .net Так как разработка прог с помощью MFC и WinApi дает мне свободу использования приложения.А старье это или не старье, трудно мне или труудно-никого из потребителей не волнует..Ты ж на Gnome не пишешь?, потому, что тебе под Винду нужны приложения, правильно?
Я думаю разговор исчерпан. И "вразумлен"

Добавлено @ 18:42
Цитата(Sun @ 7.11.2005, 16:09)
P.S. Coocky, признайся сколько тебе заплатил Билли за пиар?

Столько сколько и тебе за C# smile
Я стараюсь найти истину. И пока лучше по всем параметрам, чем MFC под С++ я не вижу.
Хоть он и урод редкостный (МФС)...
Появится другая библа под С++, я перейду на нее с удовольствием.
Я и на шарпак перейду, когда он будет поддерживаться вся и все
А пока.. smile

Автор: En_t_end 8.11.2005, 18:56
Согласен во многом с Coocky. И хоть мне самому противно от некоторых весьма неприятных фич MFC, но факт остается фактом всё что я делал с GUI - делал с MFC. Лично для меня пока нет более простой и понятной библиотеки, тем более так лаконично и просто дружащей с Windows.

Автор: Sun 8.11.2005, 19:13
Цитата(Coocky @ 8.11.2005, 15:37)
Никто не купит твою прогу, когда вылетит сообщение Ups! I Want FrameWork,I Want Framework!
Никто не кинется за дистрибутивом Виндос, что б установит FW
Особенно буржуины и особенно америкосы!

Буржуины уже давно переехали на .Net и сейчас активно переписывают софтину под нее. Тебе никто не мешает включить фреймворк в инсталяцию, точно также как ты это делаешь распостраняя софт написанный на MFC, включая mfc42.dll, MDAC и прочую трэшню необходимую для работы. Объем дистрибутива здесь всем абсолютно пофигу.

Цитата
Я стараюсь найти истину. И пока лучше по всем параметрам, чем MFC под С++ я не вижу.
Хоть он и урод редкостный (МФС)...
Появится другая библа под С++, я перейду на нее с удовольствием.
Я и на шарпак перейду, когда он будет поддерживаться вся и все


Просто MFC это пример плохого ООП дизайна. А Qt - пример отличного ООП дизайна. Попробуй перенести MFC на Unix или MacOS. Или попробуй использовать его не в Visual Studio. Какая это нафиг свобода? Это форменное рабство.

Автор: alir 8.11.2005, 20:50
Coocky вот в чем вразумление:

Цитата
Буржуины уже давно переехали на .Net и сейчас активно переписывают софтину под нее. Тебе никто не мешает включить фреймворк в инсталяцию, точно также как ты это делаешь распостраняя софт написанный на MFC, включая mfc42.dll, MDAC и прочую трэшню необходимую для работы. Объем дистрибутива здесь всем абсолютно пофигу.







Автор: batigoal 8.11.2005, 21:02
Крупные корпорации, конечно, переезжают, но и на Западе далеко не все так уж компьютеризировано. Мне приходилось сталкиваться с тем, что во Франции агенты по продаже билетов таскают свои апдейты на дискетках в центральный офис, потому что у них нет ни локалки, ни модема.
Добавлено @ 21:03
Это я к тому, что технологии, которые для одних являются настоящим, для других - недалекое, но будущее.

Автор: Coocky 8.11.2005, 22:52
Цитата(Lamer @ 8.11.2005, 21:02)
Крупные корпорации, конечно, переезжают

Опередил smile
Половина буржуинов(юзеров) даже не знают, КАК УСТАНАВЛИВАТЬ дополнительные компоненты Windows.
Ну что ж, добивать вас ребята, так по полной...
Итак, поехали..
Что требуют приложения для пользователей(ВСЕХ пользователей). Приложение должно запустится и работать! Без всяких дополнительных установок(читайте -беганье в поисках софта для дополнительной установки).
Если вы пишите для американской компании, которая работает исключительно с вашим софтом ,исключительно для внутренего пользования,исключительно с настроеной конфигурацией, тогда разговора нет. Но мы берем универсальность.
Я не могу позволить себя даже наличие установленой БД! Все с собой(низкий поклон тебе -Sqlite smile )
Вы под FW можете себе позволить это? Нет! да и сомневаюсь , что есть какие -либо стороние библиотеки под C#. А вод под С++-куча,от баз данных ,до регулярных выражений.Все с собой. Никак Error & Warning после инсталяции.

Цитата(Sun @ 8.11.2005, 19:13)
Тебе никто не мешает включить фреймворк в инсталяцию, точно также как ты это делаешь распостраняя софт написанный на MFC, включая mfc42.dll, MDAC и прочую трэшню необходимую для работы

Да что ты говоришь?
И обьем пофигу?
Да никто не будет качать четырех метровые инсталянты(это касается и Qt), ради того, что б установить себе 30 долларовый снифер, или системную службу!

Цитата(Sun @ 8.11.2005, 19:13)
Просто MFC это пример плохого ООП дизайна. А Qt - пример отличного ООП дизайна. Попробуй перенести MFC на Unix или MacOS. Или попробуй использовать его не в Visual Studio. Какая это нафиг свобода? Это форменное рабство.

МФС-пример ООП! Единственый недостаток-трудная работа с GUI...Тут разговора нет.
Но когда разрабатывался МФС, Java была в зародыше, про Делфятину не знали(Паскаль вообще считался ругательством и обзывательством), Qt-.....промолчим smile
А про переносимость я молчу. Ты WinForms перенеси smile
А зачем мне переносить в другую среду разработки? Каждая УВАЖАЮЩАЯ себя компания имеет свой компилятор и среду разработки. Все должно быть под марку!А свобода заключается в свободной отладке, собирании проекта,в НОРМАЛЬНОЙ поддержке и отсуствии тягания библиотек и компиляция страшных mak файлов!
На данный момент под OC Виндовс известны следующие языки/библиотеки:
С++
Borland(за него писали и повторятся не будем..Итак весь в грязи и ругательстве...)
MFC (оболочка WinApi. Тяжелая разработка GUI,хорошая ,но разбросаная документация,шикарные классы для работы со всем,кроме интерфейса)
Кроссплатформеные гибриды Qt и FXWidget( последний недалеко ушел от МФС, но имеет плохую документацию..)
Qt-не удостоилась даже своей СР, хотя бабки уже дерут, плюс еще в последних версиях диктуют свои условия,типа поддержки только своих БД и т.д.
Остальных АНЧОУСОВ я не беру-мелко плавают. Да и в основнос удел Пингвинов.Они не чуть не лучше самой Линукс, так что геммора при работе не меньше. Зато круто! Как я говорил когда-то-есть свой трамвай,этим и гордимся...
Pascal
Delphi( я ласково зову ее Делфятина). Говорят хорошая, я б перешел, если б не паскаль. Начал изучать его в институте-появился токсикоз. Лучше не с кем, чем с кем попало..
Java.
Незнаю как называется GUI библиотека,но знаю, что тормозит. Это признают и Джависты smile
по удобству-говорят хорошо.
говорили ,что и сама java медленая,но тесты показывают, что сама Java не хуже С++ по скорости..
Но если по установке ,как C#, то уж лучше шарпак. Ближе к С++.Мне так показалось при изучении..
С#
Window Forms. Пользовался, понравилось. Хотя сбиваетс толку его "ООП" smile Иной раз думаешь когда пишешь на нем-как так можно?
Радует отсутсвие указателей и халява с освобождением памяти. Иногда раздражает куча new и точек smile Остальные недостатки -выше smile

Автор: LSD 8.11.2005, 23:38
Цитата(Coocky @ 8.11.2005, 18:37)
Проги должны идти на ВСЕМ. Это тебе не игрушки какие-то, где все зависит от конфигурации компа...

Это как раз обязательное требование для шароварного пасьянса, идти на любой системе. А серьезное приложение может предъявлять дополнительные требования к системе. Тот же офис при установке требует себе IE не ниже такой-то версии, и ничего. А для нашей системы мы не только указываем какой софт должен стоять (при невыполнении этих требований претензии не рассматриваются), но и в подавляющем большинстве случаев указываем какое железо использовать.


Цитата(Coocky @ 8.11.2005, 22:52)
Но когда разрабатывался МФС, Java была в зародыше, про Делфятину не знали(Паскаль вообще считался ругательством и обзывательством), Qt-.....промолчим

Почитай вот http://special.computery.ru/upgrade/numbers/2005/215/history_215.htm статейку.

Автор: alir 9.11.2005, 01:28
Coocky
Цитата
Что требуют приложения для пользователей(ВСЕХ пользователей). Приложение должно запустится и работать! Без всяких дополнительных установок(читайте -беганье в поисках софта для дополнительной установки).

Согласен, но такова MS: создает технологии, а потом сама же объявляет их устаревшими, ибо создала нечто новое. Возможно сейчас есть у кого-нить проблемы с поддержкой .net приложений, из-за отсутствия framework'a в системе, но опять же - дай время: например, уже в SP3 будет поставляться .net, в win2003 он уже есть, ну а после прихода Vista виндовозы, не имеющие framework на борту не просто устареют - ИХ НЕ СТАНЕТ!
Так что, если софт пишется под винду и со взглядом в будущее, то выбор только .net. А какие альтернативы? MFC, WinApi? smile

Цитата
Я люблю МФС чуть больше тебя, только потому, что он иеня кормит.

Это пока. Придет время и ты с ним попрощаешься, так как mfc уже сейчас не развивается (все усилия на .net), а через пару лет и вообще станет неприемлимым, так как на нем нельзя уже будет писать современный софт. А сейчас - да, но это не долго.

WinApi? Да ну не смешите. Вот тебе пример. Софтина писалась исключительно на Api и в win2000. После переноса приложения на Xp не работала. А проблема вот в чем. Строчки, работающие в win2000:
Код

if (тип_найденного_окна == TEdit) /*или просто Edit, эти тонкости rtfm*/) 
{...}

уже в XP должны выглядить так:
Код

if (... == TEdt)
{...}


И таких примеров не мало.
А ты говорил
Цитата
Приложение должно запустится и работать!
smile

Так что
Цитата
Ну что ж, добивать вас ребята, так по полной...
как-то не выходит. smile

Автор: Ch0bits 9.11.2005, 02:21
Цитата(alir @ 9.11.2005, 01:28)
уже в SP3 будет поставляться .net, в win2003 он уже есть, ну а после прихода Vista виндовозы, не имеющие framework на борту не просто устареют - ИХ НЕ СТАНЕТ!
Так что, если софт пишется под винду и со взглядом в будущее, то выбор только .net.

Редкостный оптимист smile Тут человек недавно писал, что многие до сих пор под DOS и Win3.11, и всё отлично работает, про .NET там и краем уха не слыхивали. smile
Кстати вспомнил: друг у меня есть, так у него на работе база FoxPro, проект ещё с девяностых годов ведётся, чёрт ногу сломит. Они до сих под FoxPro и сидят, попробуй перепиши такую махину.
Когда Билли под Настрадамуса косил, говорил, что через 10 лет каждый чиньгачкук в Зимбабве будет сидеть на широком канале online круглые сутки. smile
Так что TurboC жил, жив и будет жить! smile

Цитата(alir @ 9.11.2005, 01:28)
MS: создает технологии

ИМХО MS крадёт технологии, выдает за свои и навязывает всему миру, заведомо делая несовместимым со всем остальным smile

А если серьёзно, то я этим .NET просто брезгаю, платформа Delphi его как Тузик грелку порвёт... smile
И вообще что вы сравниваете? На ком легче и красивее GUI написать? Базара нет на НЕТ(offtopic на Delphi), а всё остальное не чем???... То-то же. Сам то НЕТ написан на плюсах, а например Delphi написан на Delphi.
Если же брать платформу, то лучше жабки не найти. smile
Итого каждый должен занимать свою нишу, делать то, что у него получается лучше других. Поэтому ни один из этих языков как и спрос на этих специалистов не исчезнет.

Автор: Sun 9.11.2005, 11:39
Цитата(Coocky @ 8.11.2005, 19:52)
Половина буржуинов(юзеров) даже не знают, КАК УСТАНАВЛИВАТЬ дополнительные компоненты Windows.
Ну что ж, добивать вас ребята, так по полной...
Итак, поехали..
Что требуют приложения для пользователей(ВСЕХ пользователей). Приложение должно запустится и работать! Без всяких дополнительных установок(читайте -беганье в поисках софта для дополнительной установки).
Если вы пишите для американской компании, которая работает исключительно с вашим софтом ,исключительно для внутренего пользования,исключительно с настроеной конфигурацией, тогда разговора нет. Но мы берем универсальность.

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

У большинства энд-зеров за бугром настроен динамический апдейт оськи и прочего софта. За месяц они выкачивают сотни мегабайт и совершенно не заботятся надо это им или нет. Размер программы имеет значение только для микроустройств. А для персоналок - если это помещается на один DVD - это нормально.

А пингвинов, троллей и анчоусов не обижай! Благодаря им развиваются самые прогрессивные технологии, которые потом нагло тырятся M$.

Цитата(Coocky @ 8.11.2005, 19:52)
Да никто не будет качать четырех метровые инсталянты(это касается и Qt), ради того, что б установить себе 30 долларовый снифер, или системную службу!

Извини, но писать снифер на MFC это тоже изврат. Небольшие утилиты можно писать на чистом API или использовать легковесные библиотеки.

Автор: S.A.P. 9.11.2005, 12:37
alir
Цитата

WinApi? Да ну не смешите. Вот тебе пример. Софтина писалась исключительно на Api и в win2000. После переноса приложения на Xp не работала. А проблема вот в чем. Строчки, работающие в win2000:

Код

if (тип_найденного_окна == TEdit) /*или просто Edit, эти тонкости rtfm*/) 
{...}


уже в XP должны выглядить так:

Код

if (... == TEdt)
{...}



И таких примеров не мало.


Ну ты, брат загнул . Где ты такого в WinAPI увидал???
TEdit, TEdt smile

WInAPI был и остается самой переносимой платформой в Windows smile . А NET даже со своими виндовозами подружить не могут, какой уж им там MONO?



Автор: Sun 9.11.2005, 13:33
Цитата(Coocky @ 8.11.2005, 19:52)
МФС-пример ООП!

Да ладно. Это тоже ООП?
Код

BEGIN_MESSAGE_MAP(CMFCTestApp, CWinApp)
    ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
    // Standard file based document commands
    ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
    ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
    // Standard print setup command
    ON_COMMAND(ID_FILE_PRINT_SETUP, CWinApp::OnFilePrintSetup)
END_MESSAGE_MAP()

// Раскроем макросы
#ifdef _AFXDLL
#define BEGIN_MESSAGE_MAP(theClass, baseClass) \
    const AFX_MSGMAP* PASCAL theClass::GetThisMessageMap() \
        { return &theClass::messageMap; } \
    const AFX_MSGMAP* theClass::GetMessageMap() const \
        { return &theClass::messageMap; } \
    AFX_COMDAT const AFX_MSGMAP theClass::messageMap = \
    { &baseClass::GetThisMessageMap, &theClass::_messageEntries[0] }; \
    AFX_COMDAT const AFX_MSGMAP_ENTRY theClass::_messageEntries[] = \
    { \

#else
#define BEGIN_MESSAGE_MAP(theClass, baseClass) \
    const AFX_MSGMAP* theClass::GetMessageMap() const \
        { return &theClass::messageMap; } \
    AFX_COMDAT const AFX_MSGMAP theClass::messageMap = \
    { &baseClass::messageMap, &theClass::_messageEntries[0] }; \
    AFX_COMDAT const AFX_MSGMAP_ENTRY theClass::_messageEntries[] = \
    { \

#endif

#define ON_COMMAND(id, memberFxn) \
    { WM_COMMAND, CN_COMMAND, (WORD)id, (WORD)id, AfxSigCmd_v, \
        static_cast<AFX_PMSG> (memberFxn) },
        // ON_COMMAND(id, OnBar) is the same as
        //   ON_CONTROL(0, id, OnBar) or ON_BN_CLICKED(0, id, OnBar)


Боюсь Бьярни Страуструп на пару с Гради Бучем матом гнут, когда видят такое ООП.

Автор: En_t_end 9.11.2005, 14:08
Sun
Цитата(Sun @ 9.11.2005, 17:33)
Да ладно. Это тоже ООП?

Вот оно smile)...

Автор: chipset 9.11.2005, 18:33
Цитата(DeadSoul @ 7.11.2005, 14:04)
Вот, вот. На компилер у начальства я денег выбью, а на QT.....

Компилер 100% бесплатный smile
Добавлено @ 18:39
Подброшу http://gzip.rsdn.ru/Forum/Message.aspx?mid=942656&only=1 в топку разговора smile
ЗЫ. Потом скажу своё мнение, сейчас на ноуте каждая буква даёться с трудом.

Автор: Coocky 9.11.2005, 22:39
chipset
Спасибо за поддержку! smile
Вообщем автор ничем не дополнил наш разговор, а только потвердил smile
Добавлено @ 22:42
Sun
Цитата(Sun @ 9.11.2005, 13:33)
Боюсь Бьярни Страуструп на пару с Гради Бучем матом гнут, когда видят такое ООП.

Тебе так пугают макросы? smile
Это всего лишь маленькое неудобство(для тебя), взамен длинного оператора switch, с помощью которого обрабатывается сообщения на WinAPI. Получив нечитабельные макросы, мы избавились от громадного switch!

Автор: S.A.P. 10.11.2005, 10:27
Coocky
Цитата(Coocky @ 9.11.2005, 22:39)
Это всего лишь маленькое неудобство(для тебя), взамен длинного оператора switch, с помощью которого обрабатывается сообщения на WinAPI. Получив нечитабельные макросы, мы избавились от громадного switch!
как будто switch - решение всех проблем. Сигналы и слоты, вот где руль smile .

Sun а кот в тему привел. Я минут 10 смотрел, любовался smile .

Автор: Sun 10.11.2005, 11:42
Coocky, макросы были придуманы для языка С. Конечно они полезны в некоторых случаях, но MFC перегружено макросами и структурами. Макросы скрывают реализацию и ты просто перестаешь понимать что они реально делают. Ты тупо делаешь copy/paste того что тебе нагенерил визард, не вдаваясь в смысл того что ты делаешь.

Вот скажи мне, на кой ляд я должен использовать класс CWinThread, если для создания его экземпляра я должен вызывать стороннюю функцию AfxBeginThread?
Код

CWinThread* AfxBeginThread(
AFX_THREADPROC pfnThreadProc,
LPVOID pParam,
int nPriority = THREAD_PRIORITY_NORMAL,
UINT nStackSize = 0,
DWORD dwCreateFlags = 0,
LPSECURITY_ATTRIBUTES lpSecurityAttrs = NULL );

Может легче не парится а использовать WinAPI?
Код

HANDLE CreateThread(
  LPSECURITY_ATTRIBUTES lpThreadAttributes,
  SIZE_T dwStackSize,
  LPTHREAD_START_ROUTINE lpStartAddress,
  LPVOID lpParameter,
  DWORD dwCreationFlags,
  LPDWORD lpThreadId
);

Во первых согласно канонам ООП, экземпляр класса должен создаватся с помощью конструктора, а не сторонней функции. Во вторых, где желаемое упрощение кода? Где приимущество использования C++? На хрена делать так все сложно?
Да лучше бы просто написали библиотеку Сишных макросов для работы с WinAPI, больше пользы было-бы.

А теперь посмотрим для контраста класс QThread, из Qt
Цитата

QThread::QThread ( QObject * parent = 0 )
Constructs a new thread with the given parent. The thread does not begin executing until start() is called.

В конструкторе используется всего 1 параметр! Причем технология создания объектов в Qt одинакова для всех классов. Мне не нужно перерывать тысячи страниц MSDNа и искать значения структур, макросов и прочей трэшни. Я один раз запомнил принцип и могу его использовать постоянно.

Автор: Ignat 10.11.2005, 14:50
Цитата(chipset @ 6.11.2005, 18:32)
но и отдельно не поставляется.

Зато борланд её поставляет вместе с билдером smile

Автор: mr.DUDA 12.11.2005, 19:48
Скажу двумя предложениями:

1) За что я люблю С++ - за то, что он даёт самый быстрый рантайм.

2) За что я люблю шарп - за то, что время на разработку продукта сокращается в разы, благодаря простоте и сбалансированности языка и среды.

Автор: Амортизатор 20.11.2005, 21:48
Что вы вообще сравниваете? ЕСли просто два языка, то при чем здесь платформа? Сравнивайте синтаксис, объектность и тп.
Если иметь ввиду не столько сам язык, сколько идеологию, то и вопрос надо ставить шире. Во всяком случае, при написании настоящих программ, а не инструкций для дьявольской машинки авторитет С++ и MFC непоколебим.

Автор: mr.DUDA 1.12.2005, 12:51
Мне дали ссылку на статью, делюсь ею со всеми:

http://artlung.com/smorgasborg/Invention_of_Cplusplus.shtml

Краткое содержание: Бьярн Страуструп (создатель С++) в 1998-м году давал интервью о создании С++, приводится часть из этого интервью. В двух словах: С++ создавался с целью повысить упавшую было среднюю зарплату программеров С, сам по себе язык - худшее что только можно вообразить, и т.д. и т.п. Несколько цитат:
Цитата
   Interviewer:
   Yes, but C++ is basically a sound language.

   Stroustrup:
   You really believe that, don't you?  Have you ever sat down and
   worked on a C++ project?  Here's what happens: First, I've put
   in enough pitfalls to make sure that only the most trivial proj-
   ects will work first time.  Take operator overloading.  At the
   end of the project, almost every module has it, usually, because
   guys feel they really should do it, as it was in their training
   course.  The same operator then means something totally different
   in every module.  Try pulling that lot together, when you have a
   hundred or so modules.  And as for data hiding, God, I sometimes
   can't help laughing when I hear about the problems companies
   have making their modules talk to each other.
   I think the word 'synergistic' was specially invented to twist
   the knife in a project manager's ribs.


Цитата
  Stroustrup:
  You are out of touch, aren't you?  Remember the typedef?

  Interviewer:
  Yes, of course.

   Stroustrup:
   Remember how long it took to grope through the header files only
   to find that 'RoofRaised' was a double precision number?  Well,
   imagine how long it takes to find all the implicit typedefs in
   all the Classes in a major project.

   Interviewer:
   So how do you reckon you've succeeded?

   Stroustrup:
   The universities haven't been teaching 'C' for such a long time,
   there's now a shortage of decent 'C' programmers.  Especially
   those who know anything about Unix systems programming. How many
   guys would know what to do with 'malloc', when they've used 'new'
   all these years and never bothered to check the return code. In
   fact, most C++ programmers throw away their return codes.  What-
   ever happened to good ol' '-1'?  At least you knew you had an
   error, without bogging the thing down in all that 'throw' 'catch'
   'try' stuff.


Цитата
   Interviewer:
   But, surely, inheritance does save a lot of time?

   Stroustrup:
   Does it?  Have you ever noticed the difference  between a 'C'
   project plan, and a C++ project plan?  The planning stage for
   a C++ project is three times as long.  Precisely to make sure
   that everything which should be inherited is, and what shouldn't
   isn't.  Then, they still get it wrong. Whoever heard of memory
   leaks in a 'C' program? Now finding them is a major industry.
   Most companies give up, and send the product out, knowing it
   leaks like a sieve, simply to avoid the expense of tracking them
   all down.


И так далее.

Автор: srd 1.12.2005, 16:06
В FAQе на домашней страничке Страуструпа есть ссылка на его настоящее интервью IEEE
http://www.research.att.com/~bs/ieee_interview.html

Автор: DeadSoul 1.12.2005, 22:55
mr.DUDA, это не то самое известное поддельное интервью?

Автор: mr.DUDA 2.12.2005, 17:28
Цитата(DeadSoul @ 1.12.2005, 21:55)
это не то самое известное поддельное интервью?

Какое ? smile

Автор: Fixin 4.12.2005, 19:36
Эй, народ, разговор, конечно, веселый получился, но все-таки может вернемся к сабжу? Мне лично интересно: на кой черт придуман C#. Чем платформа вызвала необходимость изменения целого языка? Расскажите.

Автор: alir 4.12.2005, 23:07
Fixin
Цитата
Мне лично интересно: на кой черт придуман C#.

Языки программирования развиваются в направлении большей простоты.
Заметь, в C#/java уже нет указателей - инструмент мощный, но не правильное использование их приводит к плачевному результату. Ну и почему же не перекинуть все заботы на платформу? Пусть она сама выделяет память для объектов и сама же ее освобождает. Собственно что и сделано. smile

Автор: Exception 5.12.2005, 00:02
Ух ты, какую войну я проворонил)
Любой язык устаревает. Сейчас я считаю достаточно перспективным C++/CLI (см. мою статью в разделе по .NET). А из Win32 vs .NET выбираю .NET. Не важно, какой язык (хотя сам я VB.NET-чик)

Автор: chipset 5.12.2005, 01:24
Цитата
Did you really give an interview to IEEE?
in which you confessed that C++ was deliberately created as an awful language for writing unmaintainable code to increase programmers' salaries?

Of course not. Read the real IEEE interview
.
http://www.research.att.com/~bs/bs_faq.html#IEEE

Автор: Exception 5.12.2005, 10:13
Уржаться smile
Фальшивое интервью smile

chipset, что думаешь о C++/CLI? Переходи к дотнетчикам smile
Добавлено @ 10:19
Цитата(bend0r @ 4.11.2005, 04:52)
показалось что .net будет легче освоить чем тот же mfc

Уж точно.
MFC - жуть... А ещеэти буквы "C" перед классами. Как-то неестесственно, некрасиво...
Программирование должно приносить какое-то удовлетворение, а не головную боль. ИМХО, конечно

Автор: S.A.P. 5.12.2005, 10:26
Цитата(Run @ 5.12.2005, 10:13)
C++/CLI
ИМХО рано пока об этом думать. Как стандартизируют, реализуют на всех платформах, напишут библиотек к нему, будем смотреть. Я вобще опасаюсь, что всю идею Дот Нетом испахабят. Не думаю, что страуструп хотел именно этого....

Автор: Exception 5.12.2005, 10:33
Цитата(Coocky @ 8.11.2005, 23:52)
Ты WinForms перенеси

Пффф......
Ты http://www.mono-project.com/Screenshots зайди smile
Добавлено @ 10:36
Цитата(Perchilla @ 5.12.2005, 11:26)
напишут библиотек к нему

А фреймворк на что?
Цитата(Perchilla @ 5.12.2005, 11:26)
опасаюсь, что всю идею Дот Нетом испахабят

Это как это?
Добавлено @ 10:38
Цитата(Perchilla @ 5.12.2005, 11:26)
Не думаю, что страуструп хотел именно этого....

А мне как-то не важно, чего он хотел. Мне нужно, чтобы программить было быстро, удобно, выгодно, и чтобы от этого какое-то удовлетворение, что ли, получать.. А дотнет мне нравится и по идеологии и по реализации. smile

Автор: Medved 21.12.2005, 02:47
Переходить на NET можно и нужно. Если не нравиться NET - есть Java. Те же яйца, только в смятку (или наоборотsmile.
Если кто еще не перешел, то он уже отстал. C++, Pascal и т.д. - это уже прошлый век. Конечно, эти языки не умрут, и им будет находиться применение, но с каждым годом все меньше и меньше.
Ибо сложность программного обеспечения растет, и такие языки уже не могу эффективно использоваться для его разработки. Нужны более высокии уровни абстракции.

Между С++ и С# можно провести аналогию как между С++ и ассемблером. Конечно ассемблер очень "крутой" язык обладающий огромной мощью, и в этом плане он "покруче" С++. Но скажите, для разработки прикладных приложений (а все мы этим в основном и занимаемся), что вы выбирите ассемблер, или С++? Да лучше убиться, чем написать более менее работоспособное клиентское приложение на ассемблере. Драйвера и ассемблерные вставки кода на самых критичных участках пожалуйста, но не целиком все приложение.

Так же само дела обстоят и в отношении C++ и С#. Net (как альтернатива - Java) - это следующий уровень развития языков программирования. Новый уровень абстракции, который позволяет программисту эффективно управлять всевозрастающими рессурсами компьютера.

Автор: Medved 21.12.2005, 03:32
Это один аспект. А есть еще и другой - интернет. Не секрет, что современные технологии развиваются именно в этом направлении. Старый девиз Sun - "Компьютер - это сеть", с эпохи зарождения интернета набирает все большую и большую силу. И конец этому росту пока не предвидиться.
Я думаю что вполне реально, что рано или поздно, возможно что даже быстрее чем мы думаем, большинство людей будет иметь постоянный доступ к интернету, и к этому кстати все и идет. Только надо подождать, пока вырастет молодое поколение, которое вместе с ним и выросло.
.... Ну а сравнивать С++ и NET в этом направлении я думаю вообще не имеет смысла. Это будет похоже на спор о том, чем лучше забивать гвозди - молотком или микроскопом? Что молоток, а что микроскоп, пусть выбирает каждый сам.

Автор: Exception 24.12.2005, 23:23
Цитата(Pegas @ 21.12.2005, 04:32)
Только надо подождать, пока вырастет молодое поколение

Ждите smile
Цитата(Pegas @ 21.12.2005, 04:32)
Ну а сравнивать С++ и NET в этом направлении я думаю вообще не имеет смысла

Точно подмечено. Лови плюс smile

Автор: Xc0d3r 25.1.2006, 23:22
пост за постом я менял свое мнение и переходил то на сторону Qt, то на сторону MFC.
Да ну вас.
Я буду консольные проги делать.
АХТУНГ.
smile

Автор: Nuzur 24.2.2006, 16:47
С++ точно не умрет, ето факт, поскольку у него много клонов, например программы для ДСП, микроконтроллеров и т.д.

Но МФЦ мне не нравиться, хотя благодаря ей я зарабатываю себе на кусок хлеба, а вообще мне кажеться что с++ с# просто разделят сферы влияния вот и все.
Там где нужна скорость будет С++. ИМХО.

Автор: Medved 27.2.2006, 08:40
А вы заметили, что С# - это тот же С, только с 4-мя плюсами? smile

Автор: mr.DUDA 28.2.2006, 09:15
Код

    ---
  /           + +
 |              
  \          + +
    ----


smile


Автор: Exception 28.2.2006, 11:36
smile smile smile

Автор: Wilmor 7.4.2006, 16:29
Да на Си основная часть Винда написана а раз выходит Виста
то за Си не стоит волноватся. smile
Си вне конкуренции

Автор: chaos 17.4.2006, 08:56
Ребята, дайте код на C# каторый приведен ниже:
Код

#include <windows.h>
#include <iostream>
#include <vector>
#include <functional>
#include <algorithm>
using namespace std;



template <class T> 
class CBubbleSort 
{ 
   vector<T> m_cntData; 
   _int64 m_qwKernelTimeElapsed, m_qwUserTimeElapsed, m_qwTotalTimeElapsed; 

   _int64 FileTimeToQuadWord(PFILETIME pft) 
   { 
      return(Int64ShllMod32(pft->dwHighDateTime, 32) | pft->dwLowDateTime); 
   } 
public: 
   CBubbleSort() 
      :m_qwKernelTimeElapsed(0), m_qwUserTimeElapsed(0), m_qwTotalTimeElapsed(0) 
   {} 

   void LoadData(const vector<T>& c_cntrData) 
   { m_cntData = c_cntrData; } 

   void Run() 
   { 
      FILETIME ftCreationTime1, ftCreationTime2; 
      FILETIME ftExitTime1, ftExitTime2; 
      FILETIME ftKernelTime1, ftKernelTime2; 
      FILETIME ftUserTime1, ftUserTime2; 
      T x; 
      size_t nSize = m_cntData.size(); 
       
      ::GetThreadTimes(::GetCurrentThread(), &ftCreationTime1, &ftExitTime1, &ftKernelTime1, &ftUserTime1); 
      for (size_t i = 1; i < nSize; i++) 
         for(size_t j = nSize - 1; j >= i; j--) 
            if (m_cntData[j - 1] > m_cntData[j]) 
            { 
               x = m_cntData[j - 1]; 
               m_cntData[j - 1] = m_cntData[j]; 
               m_cntData[j] = x; 
            } 
      ::GetThreadTimes(::GetCurrentThread(), &ftCreationTime2, &ftExitTime2, &ftKernelTime2, &ftUserTime2); 

      m_qwKernelTimeElapsed = FileTimeToQuadWord(&ftKernelTime2) - FileTimeToQuadWord(&ftKernelTime1); 
      m_qwUserTimeElapsed = FileTimeToQuadWord(&ftUserTime2) - FileTimeToQuadWord(&ftUserTime1); 
      m_qwTotalTimeElapsed = m_qwKernelTimeElapsed + m_qwUserTimeElapsed; 
   } 
    
   void PrintResult() const 
   { 
      cout << m_qwTotalTimeElapsed/1E7 << " sec." << endl; 
   } 

   ~CBubbleSort() 
   {} 
}; 


int main(int argc, char* argv[])
{
   int nRetCode = 0; 

    vector<int> cntData; 
    for (ULONG n = 0; n < 150E3; n++) 
     cntData.push_back(rand()); 

    ::MessageBox(NULL, "Generate end.", "Info", MB_OK); 

    CBubbleSort<int> oIntSort;    
    oIntSort.LoadData(cntData); 
    oIntSort.Run(); 
    oIntSort.PrintResult(); 


   return nRetCode; 
}



хочу тпо замерить скорость сортировки smile 
или может уже есть где-то какие-то численные сравнения

Добавлено @ 09:05 
не совсем вериться что С# быстрее smile, хотя я придерживаюсь правила - "Не ни чего не возможного!!!" 

Автор: S.A.P. 17.4.2006, 09:18
Цитата(chaos @  17.4.2006,  08:56 Найти цитируемый пост)
или может уже есть где-то какие-то численные сравнения

http://www.rsdn.ru/article/devtools/perftest.xml#EHNAC 

Автор: chaos 17.4.2006, 09:31
S.A.P., спасибо!!!
я хоть успокоился smile  

Автор: ALKS 19.4.2006, 13:10
Цитата(S.A.P. @  17.4.2006,  09:18 Найти цитируемый пост)
http://www.rsdn.ru/article/devtools/perftest.xml#EHNAC 

Ребят, этой статье 5 (ПЯТЬ!) лет. смело на помойку. 

Автор: Collapse 5.8.2006, 19:19
Цитата(DeadSoul @  4.11.2005,  20:44 Найти цитируемый пост)
Пиратской версией пользоватся для выпуска программного продукта нельзя. А если я скажу начальству "дайте мне 1500 у.е-в" на библиотеку то знаете куда я пойду?

а откуда будет известно, использовалась пиратская версия или нет? крякнуть компилятор и бих с ним? пачиму нильзя? smile 

Автор: Mayk 5.8.2006, 19:38
Цитата(Collapse @  5.8.2006,  23:19 Найти цитируемый пост)
пачиму нильзя?

По законадательству.

Автор: mr.DUDA 6.8.2006, 12:13
Цитата(Collapse @  5.8.2006,  19:19 Найти цитируемый пост)
а откуда будет известно, использовалась пиратская версия или нет?

Если речь об IDE - то ниоткуда.  Я могу разрабатывать проект годами, пользуясь платной IDE, а релиз компилировать используя только компилятор (который по определению бесплатный, что для C++, что для C#). Если речь идёт не об IDE, а о библиотеке типа Qt или DevExpress - другое дело, скрыть факт использования чужой библиотеки сложно или вообще невозможно. В любом случае придётся её купить для выпуска коммерческого продукта.

Добавлено @ 12:13 
З.Ы. оффтопик какой-то пошёл, непонятно для чего, и тему подняли...  smile 

Автор: DoZENT 10.5.2008, 21:19
мда, почитал тему... 2 года почти прошло уже с момента написания последнего поста. думаю, можно подвести имхо окончательный итог: c++ вместе с mfc в ближайшие лет 5 умирать не собирается, несмотря на все его недостатки. По прежнему 70% приложений пишется на c++, 20 на делфи (кстати, непонятно, почему так мало), остальные 10 делят java и .net. По крайней мере, такая ситуация складывается на моем компьютере)) Вообще под .net Знаю только одно серьезную программу - paint.net. Что под эту платформу еще писалось?

Автор: Lazin 10.5.2008, 22:41
Цитата(DoZENT @  10.5.2008,  21:19 Найти цитируемый пост)
Вообще под .net Знаю только одно серьезную программу - paint.net. Что под эту платформу еще писалось? 

MS Office, Visual Studio and so on...

Цитата(DoZENT @  10.5.2008,  21:19 Найти цитируемый пост)
По прежнему 70% приложений пишется на c++, 20 на делфи (кстати, непонятно, почему так мало), остальные 10 делят java и .net.

IMO C++ - 20%, 70% - java и .NET ;)

Добавлено через 4 минуты и 34 секунды
а вообще стоит уделить внимание brainfuck-y, перспективный язык... а еще лучше, вообще не слушать всяких флудерастов smile

Автор: MAKCim 11.5.2008, 13:02
Цитата(Lazin @  10.5.2008,  22:41 Найти цитируемый пост)
MS Office, Visual Studio and so on...

office и VS на C# написаны?  smile 

Автор: batigoal 11.5.2008, 15:40
Цитата(DoZENT @  10.5.2008,  22:19 Найти цитируемый пост)
По прежнему 70% приложений пишется на c++, 20 на делфи (кстати, непонятно, почему так мало), остальные 10 делят java и .net.

Пардон, это откуда такая статистика?

Автор: Любитель 11.5.2008, 15:47
Цитата(Lazin @  10.5.2008,  22:41 Найти цитируемый пост)
MS Office, Visual Studio and so on...

И MSO, и MS VS написаны на C++. С COM-овской extensibility-моделью и менеджед-врапперами, что позволяет писать отдельные компоненты на .Net (правда, сама MS этим почти не занимается).

Цитата(DoZENT @  10.5.2008,  21:19 Найти цитируемый пост)
 c++ вместе с mfc в ближайшие лет 5 умирать не собирается

С++ ни в коем случае. С MFC ситуация хуже - умирание очевидно.

Цитата(DoZENT @  10.5.2008,  21:19 Найти цитируемый пост)
 По крайней мере, такая ситуация складывается на моем компьютере

А какое отношение имеет ситуация на твоём компьютере к реальному рынку ПО? ;)

Добавлено через 1 минуту и 59 секунд
Цитата(batigoal @  11.5.2008,  15:40 Найти цитируемый пост)
Пардон, это откуда такая статистика?

Цитата(DoZENT @  10.5.2008,  21:19 Найти цитируемый пост)
По крайней мере, такая ситуация складывается на моем компьютере

Типа рекурсивный скан PeID по %ProgramFiles%? smile

Автор: batigoal 11.5.2008, 16:17
Цитата(DoZENT @  10.5.2008,  22:19 Найти цитируемый пост)
Что под эту платформу еще писалось? 

Как ни странно, корпоративный софт. Например, Microsoft IP-TV.

Автор: Lazin 11.5.2008, 16:25
Цитата(Любитель @  11.5.2008,  15:47 Найти цитируемый пост)
И MSO, и MS VS написаны на C++. С COM-овской extensibility-моделью и менеджед-врапперами, что позволяет писать отдельные компоненты на .Net (правда, сама MS этим почти не занимается).

Я такой вывод сделал как-раз из того что аддоны для VS пишутся на дотнете, про MS Office - уже не помню где читал

Цитата(batigoal @  11.5.2008,  15:40 Найти цитируемый пост)
Пардон, это откуда такая статистика? 

это не статистика, просто зайди на job.ru и посмотри сколько вакансий для С++ программистов, а сколько для Java, C# и PHP программистов? Правда это не означает что какой-то из этих языков лучше или хуже.

Добавлено через 1 минуту и 48 секунд
Цитата(Любитель @  11.5.2008,  15:47 Найти цитируемый пост)
И MSO, и MS VS написаны на C++. С COM-овской extensibility-моделью и менеджед-врапперами, что позволяет писать отдельные компоненты на .Net (правда, сама MS этим почти не занимается).

Я такой вывод сделал как-раз из того что аддоны для VS пишутся на дотнете, про MS Office - уже не помню где читал

Цитата(batigoal @  11.5.2008,  15:40 Найти цитируемый пост)
Пардон, это откуда такая статистика? 

это не статистика, просто зайди на job.ru и посмотри сколько вакансий для С++ программистов, а сколько для Java, C# и PHP программистов? Правда это не означает что какой-то из этих языков лучше или хуже.

Автор: Любитель 11.5.2008, 21:33
Цитата(Lazin @  11.5.2008,  16:25 Найти цитируемый пост)
Я такой вывод сделал как-раз из того что аддоны для VS пишутся на дотнете, про MS Office - уже не помню где читал

Писать адд-ины и ктому, и к тому можно на чём угодно, позволяющим работать с COM. VS SDK (создание пакетов для VS) расчитано на C++ (COM) + .Net-врапперы.

Автор: nerezus 12.5.2008, 06:37
Цитата

20 на делфи (кстати, непонятно, почему так мало)
 Откуда статистика?
P.S. я сомневаюсь, что больше 1-2%. Требую статистики.

Цитата

IMO C++ - 20%, 70% - java и .NET ;)
 +1, только не 70%, а меньше, т.к. до кучи со стороны скриптовых языков оч. большой процент.

Автор: batigoal 12.5.2008, 09:28
Цитата(Lazin @  11.5.2008,  17:25 Найти цитируемый пост)
это не статистика, просто зайди на job.ru и посмотри сколько вакансий для С++ программистов, а сколько для Java, C# и PHP программистов?

Зашел. Поиск по ключевым словам, регион - СПб:
Java - 383
C++ - 102
PHP - 85
.net - 51
Delphi - 8
C# - не ищется

Вот такие итоги. Конечно, в поиск по Java наверняка затесался ещё JavaScript, но тем не менее.

Автор: mr.DUDA 12.5.2008, 09:53
Цитата(batigoal @  12.5.2008,  09:28 Найти цитируемый пост)
C# - не ищется

У них ошибка в поисковике, нельзя вводить "#". А вот по .net developer нашло 115 вакансий  smile 

Автор: DoZENT 12.5.2008, 19:42
Цитата

 Откуда статистика?

с моего компа, я ж писал))
Цитата

P.S. я сомневаюсь, что больше 1-2%. Требую статистики.

не сумневайтесь)). вообще, относительно делфи, количество продаваемых программ, написанных на нем и количество требуемых делфи программистов ну никак не соотносится. на то он и делфи, что на нем дома пишут, а потом эти программы продают =)

Автор: nerezus 12.5.2008, 20:41
DoZENT, ну и какие это программы? Из кучи приходят на ум только зебат и тотал.

Добавлено через 1 минуту и 16 секунд
DoZENT, и вообще, я могу написать, что плутон сделан из сыра. Но доводов то нет. Как и про 20 процентов делфи.

Автор: Beltar 15.5.2008, 10:09
Цитата

ну и какие это программы? Из кучи приходят на ум только зебат и тотал.


Да ИМХО почти вся мелочь написана в Delphi или в Билдере. Может для крупной компании и лучше VS, но для одного разработчика ничего эффективнее Delphi пока не придумали.

Цитата

кстати, непонятно, почему так мало


Крошка сын к отцу пришел
И спросила кроха
Почему Си хорошо,
Ну а Delphi плохо.

У меня секретов нет
Слушайте детишки
Папы этого ответ
Помещаю в книжке.

Если пишешь ты на Си
Будь хоть трижды ламер
Про такого говорят
Он крутой программер.

Цитата

P.S. я сомневаюсь, что больше 1-2%. Требую статистики


Да-да конечно, утверждения сишника сомнениям не подлежат. У меня книга есть "Программирование на Visual C++ .NET" Владислава Пирогова, там про MFC на стр. 117 написано буквально следующее:
"Надо сказать, что библиотека MFC поражает своей стройностью, красотой и одновременной интегрированностью с системой Win32 API Windows. Изучая эту библиотеку, мы на каждом шагу встречаемся с решениями, которыми разработчики MFC, несомненно должны гордиться."
Как все это знакомо-то.
Остается только поинтересоваться почему на .NET бегут пользователи VS, а не Delphi или Билдера. ИМХО сама постановка вопроса в этой теме странная. Не в языке дело, а исключительно в библиотеке.

PS У меня знакомый только что сменил Celeron 1100 на современный Core Duo. Проекты (C++Builder), которые раньше компилировались 5 минут, стали компилироваться 20 секунд. Мне как Delphi'ну его жалко...

Автор: nerezus 15.5.2008, 20:48
Beltar, что у тебя есть в подтверждение твоих слов, что делфи широко применим?

Автор: DoZENT 19.5.2008, 13:40
nerezus, да, те же самые the bat и total это доказывают. а почему delphi не может быть широко применен?

Автор: nerezus 19.5.2008, 14:02
Цитата

а почему delphi не может быть широко применен?
 А почему в Англии ездят по неправильной стороне дороги?
Тут неуместно именно слово "почему". Есть факты. Возьми какой-нить чекер сигнатур и проверь софт, который юзаешь. Определи процент софта на делфи ;)

Автор: Любитель 19.5.2008, 14:31
Цитата(nerezus @  19.5.2008,  14:02 Найти цитируемый пост)
Возьми какой-нить чекер сигнатур и проверь софт, который юзаешь.

Не совсем корректно всё-таки. То, что юзает конкретный человек - далеко не говорит об общей распространённости.

Автор: LSD 20.5.2008, 16:57
Цитата(nerezus @  19.5.2008,  15:02 Найти цитируемый пост)
Возьми какой-нить чекер сигнатур и проверь софт, который юзаешь.

Кстати, не подскажешь какой нибудь?

В список могу добавить PL/SQL Developer, qip, Keyboard Maniac.

Автор: Lazin 20.5.2008, 19:48
а я могу добавить DevCpp, но положения дел это не изменит smile 

Автор: nerezus 20.5.2008, 22:02
Цитата

Кстати, не подскажешь какой нибудь?
 PE+ от нашей комманды. Или Peid от не знаю кого.

http://hack-expo.void.ru/groups/hunger.ru/rel/PEPlus.rar
http://www.wasm.ru/tools/6/PEiD.zip

Цитата

а я могу добавить DevCpp, но положения дел это не изменит 
 Ну вот теперь Code::Blocks ее путь продолжает, он на C++.

Автор: Любитель 21.5.2008, 12:22
Цитата(nerezus @  20.5.2008,  22:02 Найти цитируемый пост)
 PE+ от нашей комманды. Или Peid от не знаю кого.

Я что-то не понял - в этом PE+ базу сигнатур можно редактировать? По сабжу - PeID + RDG Packer Detector (компилеры он тоже определяет зачастую, причём для упакованных пе-шников).

Добавлено через 20 секунд
Цитата(Lazin @  20.5.2008,  19:48 Найти цитируемый пост)
а я могу добавить DevCpp, но положения дел это не изменит

Скайп (виндовый) - для кучи.

Автор: LSD 21.5.2008, 17:02
Мутные какие-то результаты. Кстати это правда, что WinRAR написан на Borland C++?

Автор: Любитель 21.5.2008, 17:14
По-видимому smile Вообще, что борланд - очевидно даже по его (вин-рара) типично VCL-вским ресурсам.

Цитата(LSD @  21.5.2008,  17:02 Найти цитируемый пост)
Мутные какие-то результаты

А в чём мутность-то?

Автор: LSD 22.5.2008, 14:04
Цитата(Любитель @  21.5.2008,  18:14 Найти цитируемый пост)
А в чём мутность-то?

Для некоторый софтин, показывает что чать dll - VC++, часть - Delphi. Ну и слишком часто показывает, что не знает.

Автор: Любитель 22.5.2008, 14:58
Цитата(LSD @  22.5.2008,  14:04 Найти цитируемый пост)
показывает, что не знает. 

С хорошей коллекцией сигнатур - PeID определяет многое. Хотя на некоторых заскрамбленных пакерах может протупить.

Цитата(LSD @  22.5.2008,  14:04 Найти цитируемый пост)
Для некоторый софтин, показывает что чать dll - VC++, часть - Delphi.

А почему этого не может быть? Тем более вполне может быть, что используемые длл писались не авторами программы.

Автор: W4FhLF 23.5.2008, 12:53
PETools умеет сканить по директориям, но так база старая. Так же PE Detective, который входит в состав Explorer Suite II (CFF Explorer VI), у него базы поновее.

Автор: nerezus 23.5.2008, 23:19
Цитата

Не совсем корректно всё-таки. То, что юзает конкретный человек - далеко не говорит об общей распространённости.
 offtop: Обновляем базу к PETools и грузим к юзверям через сплойт, чтобы собрать отчеты?   smile 

Автор: LSD 24.5.2008, 15:33
Цитата(Любитель @  22.5.2008,  15:58 Найти цитируемый пост)
А почему этого не может быть? Тем более вполне может быть, что используемые длл писались не авторами программы.

Я не говорил, что этого не может быть вообще. Просто встречались какие-то маловерятные результаты, типа Delphi 1, для современной софтины написанной на С++, в dll которая не похожа на плагин.

Автор: Любитель 24.5.2008, 16:28
Цитата(LSD @  24.5.2008,  15:33 Найти цитируемый пост)
Просто встречались какие-то маловерятные результаты, типа Delphi 1, для современной софтины написанной на С++, в dll которая не похожа на плагин.

Ну, я не отрицаю - мог и анализатор затупить. Впрочем, часто замечал всякие Delphi 2/3, скажем для инсталлерских длл-ок, например. Ладно - не суть важно smile

Цитата(nerezus @  23.5.2008,  23:19 Найти цитируемый пост)
 offtop: Обновляем базу к PETools и грузим к юзверям через сплойт, чтобы собрать отчеты?  

Ну не только к юзверям! Надо кроссплатформенный анализатор и по всем компам пустить )) Даёшь мировую статистику!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)