|
I remember, about 20 years ago, while I was getting my feet wet with C++ - I actually went back to developing in c. That lasted for about a month, while stuff about classes, inheritance and polymorphism churned at the back of my head – and then things just fell into place.
These days a large part of the Windows API can only be accessed through virtual function tables. While it's possible to do this using c, I think that would be a rather painful way to develop software.
Even if you develop software using the c api, C++ offers much that allows me to structure my code in a manner that makes it easier to handle complexity, like Windows Development in C++, working with menus[^]
|
|
|
|
|
For sure (almost) everyone is doing it in C++, absolutely. What I was pointing out is that the structures, memory management, object lifetime etc. are still C-like. One will still call a Release() { delete this; } when dealing with WM_NCDESTROY, so it's still a GetMessage and a WNDPROC dictating the flow; an output allocated memory will most likely using LocalFree and not delete.
Nuclear launch detected
|
|
|
|
|
You can always use C++ Builder[^] - doing stuff using VCL is often faster than doing the same thing using C# and .Net.
My 2 cents
|
|
|
|
|
I doubt about (however, I don't know VCL ).
Veni, vidi, vici.
|
|
|
|
|
CPallini wrote: I doubt about
What was it Anders did before he joined Microsoft? No, it couldn't be, could it?
|
|
|
|
|
I know the joke: he had to change the syntax to obtain Delphi success.
Veni, vidi, vici.
|
|
|
|
|
And VCL is the Delphi Visual Class Library, and you can use that with C++ builder.
If you know .Net, particularly Windows Forms, you'll be up to speed with VCL pretty fast ...
The library uses pointers extensively, but it's designed so well that most programmers hardly notice ...
|
|
|
|
|
I never had any difficulty developing GUI applications in C++ so I was wondering why do you think it is much simpler to develop a GUI application in C# than in C++?
|
|
|
|
|
That comes from:
- My personal experience.
- A rough statistic using Quick Answers (it looks there are many more folks writing GUIs with
C# than ones with C++ )
(I could use even this poll as statistics )
Veni, vidi, vici.
modified 28-Jan-13 4:29am.
|
|
|
|
|
"personal experience" and C# popularity in codeproject does not really help anyone understand why do you think C# is simple than C++ for developing GUI applications.
|
|
|
|
|
Does not help you, perhaps.
Personal experience: I find more difficult using MFC or Win32 than .NET classes for building a GUI application.
C# popularity: The relative big number of C# GUI developers is a clear index of a more simple approach, isn't it (do people deliberately prefer complexity over simplicity?)?
Veni, vidi, vici.
modified 28-Jan-13 6:50am.
|
|
|
|
|
CPallini wrote: Does not help you, perhaps. Me and anyone without a similar experience to yours.
CPallini wrote: Personal experience: I find more difficult using MFC or Win32 than .NET classes for building a GUI application. You are comparing APIs/frameworks and not languages but now I think I understand your preference.
As for popularity, C# is more popular than C++ in codeproject but that is probably not true in the wider world.
|
|
|
|
|
PedroMC wrote: Me and anyone without a similar experience to yours.
Nope: many folks with completely different experiences might understand my points.
PedroMC wrote: You are comparing APIs/frameworks and not languages but now I think I understand your preference.
The developer has to use Framework/API to build the GUI .
I have no preference for C# as programming language, simply I find easy writing GUI s on windows using it (I usually write programs using C , C++ , Lua , C# , depending on my needs).
Veni, vidi, vici.
|
|
|
|
|
CPallini wrote: The developer has to use Framework/API to build the GUI . Yes, and the developer can use, lets say Win32 API with C# or .NET framework with C++. Saying C# is simpler than C++ for GUIs because .NET framework is better than Win32 or MFC is illogical. Anyway, I understand what you meant with your original post and that was the objective of my question. Thanks for replying.
|
|
|
|
|
PedroMC wrote: Yes, and the developer can use, lets say Win32 API with C# or .NET framework with C++. Saying C# is simpler than C++ for GUIs because .NET framework is better than Win32 or MFC is illogical.
Noooope: it is awkward and difficult both writing GUI using:
C# + Windows API . C++ + .NET Framework .
Note we are talking of a thing that 'should be easy' not a thing that 'is possible'.
If C++ was backed by a good (easy!) framework for Windows GUI (VCL could be such, as suggested by Espen) then it could be the language of choice for most developers. Unfortunately it is not.
Veni, vidi, vici.
|
|
|
|
|
Most business-oriented application development does not require it and can be accomplished more productively in higher-level languages.
Most of the job ads for MS-centric development are for higher-level languages, so naturally devs have gravitated towards them - and Code Project is still an MS-centric site I assume.
C/C++ have just become more specialised or have returned to their roots in system-oriented apps. Windows and desktop apps. such as Office will continue to be written in C/C++ for a while methinks. Plus games and high perf computing.
Kevin
|
|
|
|
|
Thank you, you hit the nail on its head.
Yes, C++ once seemed to be language of choice for application development is defunct now.
I have never seen embankment of any new application development in C++ , despite of the fact that we have a comprehensive frameworks like MFC, Codegear Radstudio's VCL, etc..
|
|
|
|
|
There are some things about C / C++ which I hate, one of them being the fact that it allows writting the most obfuscated code I've ever seen.
In Bjarne Stroustoup's book "The C++ programming language" there was an exercise in which the task was to fully parenthesise a C++ expresion. None of the C++ programers I knew at college were able to complete the task successfully.
I haven't coded in c++ for years , but some syntactical cleaning would be nice.
|
|
|
|
|
Armando de la Torre wrote: it allows writting the most obfuscated code
I agree with you, each time I look at the code written by others on net or previous existing code-base at workplace even I feel the same. The root cause for this is the fact that, presence of pointers and the ability to work with system hardware to the most granular level I assume.
On the contrary most of the other programming languages, restricts you from doing so.
|
|
|
|
|
CP has a majority C# user base. Other coding forums will attract other majorities.
"Program testing can be used to show the presence of bugs, but never to show their absence."
<< please vote!! >>
|
|
|
|
|
Vijay Rajanna wrote: what amazed me is that there are only a scanty number of C, C++ developers.
This is a very Microsoft-centric site, so that makes sense (notice that the forum for c++ is called c++/c/MFC)
|
|
|
|
|
|
I agree that C++ is delightful. I don't understand the growing class of developers who are claiming that it is a bad language.
One of my ongoing learning projects has to do with developing iterator classes. STL gives you the power to create custom iterators. I prefer the random access iterator. Once the iterator class has been embedded in the main class you can create your own class::iterator variables and pass them into the STL algorithms like sort, etc... I'm just amazed that somehow was able to make C++ work in this way. It blows me away. Sometimes C++ code evokes the same feeling as looking at a clear night sky when the milky way is visible.
|
|
|
|
|
Forgot one!
More C/C++ programmers than I figured there would be.
|
|
|
|
|
I do assembler also. But not in the list
If you vote me down, my score will only get lower
|
|
|
|