But of course, I could have guessed some pathetic troll would come in...
I wwebsite as on the internet
Perhaps some perspective would help to add some…
…perspective.
The fanboys here will probably never admit it, but D3D is a horrible API to work with for beginner programmers.
You immediately take an authoritative position and assert yourself as absolutely positively being right about the quality of Direct3D’s API, furthered by classifying anyone who says it is a good API, which includes multiple knowledgeable people who have posted in this very thread, as being fanboys of it.
See how you just waltzed in and stepped on some toes?
I would strongly recommand against jumping into Direct3D, as it will teach you lots of bad practices in modern C++.
The problem is that there are about a million other things as well that will teach bad object-oriented design. Singling out Direct3D doesn’t make sense, speaking from personal experience.
I, as a normal person, as a child, was not so strong in programming when I took a peak at DirectX 6. Did I learn bad habits from DirectX? No. I never viewed it as an example of object-oriented design. It was a way to get things done and nothing more.
If you are so afraid of people picking up bad programming habits, you should remind them also not to look at almost any online tutorial and to select only a few books out there for reading material. In fact, better to just play it safe and tell them to quit programming.
For the same reason you should avoid using WIN32 API like the plague when you are new to programming, and once you mastered C++ you probably still want to avoid it, but then at least you can tell it's bad, rather then get confused of what is proper modern C++ and what is pure evilness.
Once again you assert yourself as the authority on good and bad, also this time around telling the “masters” what to avoid. As if you yourself are more than a master. Do you see how this comes off as nothing short of conceit?
I learned the Win32 API at a young age. Yes it was a pain at times. And ultimately a learning experience.
An event in my youth caused me to shut out the pain and focus on the happy. My cousin imparted the words of wisdom, “You can’t truly appreciate happiness unless you experience the sadness,” onto me.
It goes for programming too. When I was faced with design decisions later, I recalled some of the headaches I had with the Win32 API and decided
not to go that route.
So stop sitting on your throne and telling people what to avoid (exception: Three20 for iOS). It’s all part of the growing process.
…only state the truth about Direct3D and try to safe[sic] people from learning C++ the wrong way by jumping into it to soon.
We appreciate objectivity on these forums. And being mindful of what others have already posted rather than just trying to trump them all and step on their toes.
Ultimately I think you are just reading too much into it. I’ve never thought of a graphics API as serving any other purpose than to get graphics on the screen. Never as a model for good programming practices or good object-oriented design. Since it never even occurred to me to do so, I never imagined it would occur to anyone else. I don’t think it does.
If people are prone to pick up bad habits, they will do so anyway, more often from online tutorials than anything else. If people have good enough sense, they will separate academic object-oriented programming from API’s (not just Win32, DirectX, OpenGL, Glide, OpenAL, but
any), understanding that the API was designed that way for a reason other than academic prowess.
L. Spiro