I'll address a couple of your points here. The first thing you have to realize is that no one is understanding what I'm saying about C vs. C++. If, in learning a language, your teacher is forcing you to begin with OOD, when you'd feel better going more procedural, than you have a perfectly valid point. My point is that since C is nearly a subset of C++, YOU CAN LEARN FROM C++ PRECISELY WHAT YOU'D LEARN FROM C, presuming the choice is yours. There are some differences, but you'd be hard put to run aground on them. I see no harm in not ever knowing that a structure in C is not precisely equivalent to a structure in C++. Bubba, if you get that low, you're going to know the difference at an even lower level of abstraction.
Why reinvent the wheel? There's an excellent reason to reinvent the wheel. You learn about wheels. I believe that's your point, and I agree. There are scads of coders, however, who will make their mark, and never care about a wheel. They want to drive the car. Someone else can fix the flats. There are niches and there are levels of understanding and skill. If you want to come up with the definitive pattern recognition system, you would probably be advised to invest your time in creative thought and possibly new approaches, and leave the bubble-sort to someone else. There is a limit to what any one person can accomplish in one day, or one year, or one career. One picks and chooses.
Quote:
|
when you are writing Object-Oriented code, a lot of things are handled for you by an engine running in the background.
|
This is a very common misconception, and it sets my teeth on edge. I have used object-oriented design and produced the code in Z-80 assembly language. What can I say? If someone says, "Bullshit", where's my comeback? If you haven't read the short blurb at the link in my sig, "Why OOP? My View," I invite you to do so. It also gives my views on abstraction.
Lastly, you may not realize that I'm not a C/C++ guru or a programming guru of any type. I have substantial experience, but my focus was on running successful engineering departments/companies. Obviously, I learned C before C++, and ASM before C. Some people learned to crank magneto ringers on their phones before they knew they could download lebenty-zillion ring-tones. Some people drug sleds before Oog got around to the wheel. Seems silly, looking back, but they didn't have a wheel, so they made the best available choice -- they drug it instead of carrying it.