Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Desktop applications with C++ and .NET or other

I am trying to decide if I should put an effort towards learning C++ or C#

Right now my only background is with PHP so it doesn't matter to much which way I go. I really liked how a lot of my favorite programs are built with C++ that just shows me how powerful it is, not to mention PHP itself is made of C.

I am hoping to build desktop applications. From my research with C++ I would have to find a GUI library to build the desktop apps and with C# Visual Studio pretty much takes care of it for you.

Today I saw the Microsoft has a VisualC++ that uses .NET, does this mean that .NET is used as a GUI for it or do you still need a GUI library when going that route?

Please help me understand a little better as I mentioned my background is PHP and web design so this is a whole new ball park and rather overwhelming at the moment.

Any advice about the subject would be appreciated as well, thank you

like image 932
CodeDevelopr Avatar asked Dec 01 '25 10:12

CodeDevelopr


1 Answers

(All subjective, naturally)

The Microsoft .Net stack (C#, IIS, Sql Server etc.) is very useful. You can use it to create Windows apps, websites, windows services and web services. AFAIK only Java has an equivalent level of multi-purposing so readily built in.

C++ is great but has its drawbacks. With .Net and C# you sit on top of a runtime that for the most part won't harm performance (unless you're writing some ridiculously high-load app), handles memory management for you, includes error trapping and sandboxing. Your apps have the capacity, out of the box, to be 'better citizens' than a C++ app. [Again, nothing in C++ stops you doing these things but there aren't so many factors taken care of for you].

C# is also a very common business language. Most businesses use developers to solve business problems, and C++ isn't suitable for a lot of that. Development is complicated and takes too long. .Net better lends itself to more rapid development lifecycles because the underlying framework handles so much of the donkey-work for you.

C# - more business jobs, generally a less heavy duty programming life (yayy! No manual garbage collection!) Also applicable to web and windows. C++ - more performant, more powerful (since there's no runtime limiting what you can do - wanna crash the OS? Go ahead...) but you'll have to do most things yourself. Also no web (AFAIK).

Visual C++ is Microsoft's IDE targetting C++ on Windows. A nice user interface for you to write your software. You can write Windows GUI software without it though and you can use Visual C++ to write console apps.

Hope that might help :)


Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!