0 / 0 / 0
Регистрация: 04.04.2009
Сообщений: 22
1

C# vs C++

11.08.2009, 15:19. Показов 173971. Ответов 993
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Обожаю C# за его умение делать интерфейс. Убежден до мозга костей, что программист должен заниматься разработкой собственно алгоритма программы, а не тратить 75% времени на проектировку интерфейса, из за этого у меня проблемы с MFC, ибо он тупо как то устроен, уж много чего вручную приходится прописывать.
Вот такой вопрос интересный возник у меня: можно ли разработать интерфейс на C#, а функциональность всю на С++, ведь все же С++ обгоняет C# по быстродействию? Можно ли все функции загнать в dll в С++, а потом использовать в Шарпе? Увеличится ли от этого быстродействие программ?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
11.08.2009, 15:23 2
Цитата Сообщение от amorphius Посмотреть сообщение
Убежден до мозга костей
А я убеждён что .NET это зло и [цензура], вот такая дилема.



Цитата Сообщение от amorphius Посмотреть сообщение
Можно ли все функции загнать в dll в С++
И что из этого получится.
Если и можно это сделать, то возни будет немерянно!
1
4337 / 1506 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
11.08.2009, 15:27 3
Под .net можно и на с++ писать
1
1664 / 1133 / 80
Регистрация: 21.08.2008
Сообщений: 4,734
Записей в блоге: 1
11.08.2009, 16:01 4
решетка плюсам ничуть не уступает... ищи бенчмарки, в некоторых местах даже побыстрее будет
0
2815 / 1406 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
11.08.2009, 16:30 5
посмотрите вот:
http://blogs.gotdotnet.ru/pers... a7cec96ad3

As for me, я предпочитаю C++. Выигрыш С++ в том, что на нем можно заточить приложение под конкретную платформу, а в C# будет все равно использовать .NET машина для перекодирвания псевдокода в машинный.

Для прикладных программ (общего назначения) по производительности C# и C++ примерно равны, а для создания узкоспециализированного приложения под конкретную машину, C++ вне конкуренции шарпа.
0
0 / 0 / 0
Регистрация: 04.04.2009
Сообщений: 22
11.08.2009, 17:08  [ТС] 6
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
посмотрите вот:
Для прикладных программ (общего назначения) по производительности C# и C++ примерно равны, а для создания узкоспециализированного приложения под конкретную машину, C++ вне конкуренции шарпа.
Да ну...
Я пишу программки в области распознавания зрительных образов, нужно прогонять порою тысячи рисунков, или же видео обрабатывать в реальном режиме, и C# никак не угонится за С++
0
2815 / 1406 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
11.08.2009, 17:11 7
Цитата Сообщение от amorphius Посмотреть сообщение
Да ну...
Я пишу программки в области распознавания зрительных образов, нужно прогонять порою тысячи рисунков, или же видео обрабатывать в реальном режиме, и C# никак не угонится за С++
ну в этом да. хотя тоже не маловажен эффект мастерства. Отличный Шарп программист может написать программу, которая будет работать заметно быстрее программы программиста на C++. В общем же случае да - компилятор C++ несколько быстрее. ( а Си уж тем более ).

имхо, c# больше для создания интерфейсов, а не сложных алгоритмов.
0
125 / 123 / 0
Регистрация: 30.03.2009
Сообщений: 766
11.08.2009, 17:17 8
мне кажется, что надо выбирать C# в случае, когда в программе не встречаются всякие низкоуровневые вызовы, либо те, которые не включены в стандартную библиотеку шарпов. импортирование winapi там совсем неудобное. и уж тем более, если нужно делать какие-нибудь ассемблерные вставки))) тогда - C++. ктса, для плюсов есть QT для интерфейса)
0
0 / 0 / 0
Регистрация: 04.04.2009
Сообщений: 22
16.08.2009, 01:17  [ТС] 9
насчет QT не гуглил еще. По каким словам искать то, чтоб не зашел я в лес? QT C++?
0
2815 / 1406 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
16.08.2009, 01:21 10
А зачем гуглить? Зайди на офсайт:
http://www.qtsoftware.com/
0
10 / 10 / 0
Регистрация: 26.04.2009
Сообщений: 147
16.08.2009, 10:33 11
Обожаю C# за его умение делать интерфейс. Убежден до мозга костей, что программист должен заниматься разработкой собственно алгоритма программы, а не тратить 75% времени на проектировку интерфейса, из за этого у меня проблемы с MFC, ибо он тупо как то устроен, уж много чего вручную приходится прописывать.
Вот такой вопрос интересный возник у меня: можно ли разработать интерфейс на C#, а функциональность всю на С++, ведь все же С++ обгоняет C# по быстродействию? Можно ли все функции загнать в dll в С++, а потом использовать в Шарпе? Увеличится ли от этого быстродействие программ?
все это довольно проблематично.и человеку,пишущему на Net будет довольно сложно,не сочтите за оскорбление.
Конечно,программист должен составлять алгоритм в большей степени,нежели проектированием формы.
но если уж вы никогда не слышали о такой технологии как Win Api,если вы не можете использовать все (ну или хотя бы половину) сил Visual C++ то можете попрограммировать на с++ билдере.точнее поформошлепить.
это конечно стоит делать,если вы с API не знакомы,если вы уж любите строить окошки.между прочим в состав visual c++ включен редактор диалоговых окон,так знакомый всем сишарпникам и билдерастам + огромный набор ActiveX примеров
0
11 / 11 / 2
Регистрация: 18.07.2009
Сообщений: 123
19.08.2009, 16:38 12
Цитата Сообщение от amorphius Посмотреть сообщение
Вот такой вопрос интересный возник у меня: можно ли разработать интерфейс на C#, а функциональность всю на С++, ведь все же С++ обгоняет C# по быстродействию? Можно ли все функции загнать в dll в С++, а потом использовать в Шарпе?
конечно можно - создать dll с помощью COM\ATL, а потом используя ранеее связывание использовать на C#(но только не забыть зарегистрировать). но используя позднее связывание получится только через DllImport и WinApi'шный LoadLibrary, т.к. стандартными средствами .Net, в частности функции Load/LoadFile(и тд) класса Assembly, ничего сделать не получится, т.к. будет вылетать exception.

Цитата Сообщение от amorphius Посмотреть сообщение
Увеличится ли от этого быстродействие программ?
почему-то мне кажется, что по сравнению с приложением, полностью написанным на .Net оно будет работать быстрее :-) - но лучше уж спросить у знатоков)
0
683 / 232 / 16
Регистрация: 15.10.2007
Сообщений: 1,247
19.08.2009, 17:27 13
пишите на читстом C#..не такой он уж и тормоз..
0
11 / 11 / 2
Регистрация: 18.07.2009
Сообщений: 123
19.08.2009, 17:38 14
он не тормоз, но для него любимого нужно несколько десятков(а то и сотен) метров фреймфорку...
0
591 / 357 / 16
Регистрация: 06.02.2009
Сообщений: 1,386
19.08.2009, 19:19 15
Каждый язык нужен для своих задач. Если бы Си++ был таким "крутым", то не появились бы десятки, а то и сотни новых языков. Если с умом работать на C#, то из этого можно извлеч выгоду. Ну а там, где шарп не подходит есть всеми любимый Си++
0
1260 / 798 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
25.04.2010, 20:18 16
Да ну...
Я пишу программки в области распознавания зрительных образов, нужно прогонять порою тысячи рисунков, или же видео обрабатывать в реальном режиме, и C# никак не угонится за С++
Зачем гнаться куда то, C++ и так обгоняет, а если C++ проигрывает то это кривые руки...
Мультимедиа в Widows построено на C++.....
0
2021 / 1620 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
25.04.2010, 21:19 17
Цитата Сообщение от amorphius Посмотреть сообщение
Убежден до мозга костей, что программист должен заниматься разработкой собственно алгоритма программы, а не тратить 75% времени на проектировку интерфейса, из за этого у меня проблемы с MFC, ибо он тупо как то устроен, уж много чего вручную приходится прописывать.
Так тогда дело не в языке, а в среде разработки. К тому же MFC далеко не самая удобная библиотека, wxWidgets и Qt намного удобнее.
Цитата Сообщение от HIMen Посмотреть сообщение
Под .net можно и на с++ писать
Смысл?
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
ну в этом да. хотя тоже не маловажен эффект мастерства. Отличный Шарп программист может написать программу, которая будет работать заметно быстрее программы программиста на C++.
Не думаю. Разве что программист на C++ будет уровнем ниже среднего. С тем, что быстродействие может быть одинаковым(в некоторых случаях) ещё соглашусь, но быстрее это уже из области фантастики
0
CEO
Эксперт С++
2258 / 1248 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
26.04.2010, 03:42 18
Цитата Сообщение от Брахман Посмотреть сообщение
все это довольно проблематично.и человеку,пишущему на Net будет довольно сложно,не сочтите за оскорбление.
Конечно,программист должен составлять алгоритм в большей степени,нежели проектированием формы.
но если уж вы никогда не слышали о такой технологии как Win Api,если вы не можете использовать все (ну или хотя бы половину) сил Visual C++ то можете попрограммировать на с++ билдере.точнее поформошлепить.
это конечно стоит делать,если вы с API не знакомы,если вы уж любите строить окошки.между прочим в состав visual c++ включен редактор диалоговых окон,так знакомый всем сишарпникам и билдерастам + огромный набор ActiveX примеров
Вот тут уже не надо. Писал долгоевремя на WinAPI, занимался системным программированием на VC++, недавно был на соревнованиях по системному, избрал как язык C# и спокойно решил все задания, при этом импортировал только 2-3 АPI функции. Так что C# довольно неплохо охватывает взаемодействие с системой, конечно на С++ немного удобнее писать такие программы ввиду некой сложности механизма pinvoke в C#, но если есть знания и мозги - проблем никаких нет.

В принципе мерить быстродействие С++ и C# это как сравнивать шевроле и яхту - они в разных сферах работают, С++ выигрывает за счет прямой работы с памятью и генерацией "родного" кода, C# берет многофункциональностью, быстротой разработки, структурированностью, безопасностью работы с ресурсами (чего только стоит сборка мусора и безопасность типов). Кроме того C# - язык програмной части WPF, WCF,WF, ASP.NET, Silverlight.
Ну кроме того в С++ меня всегда заставляла задуматся разбросанность реализации стандартов у разныъ производителей в разных IDE (VS, Builder, GCC), всюда есть разные конструкции что уменьшает переносимость программ.
0
4337 / 1506 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
27.04.2010, 21:34 19
Цитата Сообщение от rangerx Посмотреть сообщение
Смысл?
Управляемые классы - обертки для удобного использования из, например, C#, и вообще, кое-где он по-быстрее
0
610 / 90 / 4
Регистрация: 08.07.2010
Сообщений: 1,893
23.07.2010, 15:36 20
Смотря какой C++, но мне больше нравится C++Builder чем C#, но мне больше нравится C# чем Visual C++ и qt.
0
23.07.2010, 15:36
Закрытая тема Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru