The Path to C++December 27, 2007 at 2:02 pm | Posted in C++, Programming | Leave a comment
After spending 5 months with C and 1 year with C++ I am finally convinced that best C++ learned is the C++ alone. The most frequent question to any newcomer is always:
should I learn C first because C++ is based on C ?
The answer from my side is a BIG NO. This applies to majority of people. There are some people, I guess their number is much less, for whom the opposite is true but there are exceptions to all rules. What I am explaining here is what I have observed.
Every language has its own concept of recognizing problems, to analyze the domain and then proposing solutions. you can program according to the way the language is designed, the fundamental way as I call it, or you can program it in a way it is not designed. There are always lots of heated discussions at comp.lang.c++ or comp.lang.c on whether C should be learned 1st and trust me it does not make any sense at all. If you want to learn Haskell, then go and do Haskell, not Common Lisp and If you want to do Common Lisp then do it. Every language provides different types of data-structures and ways to apply them. Don’t force one language’s idea over the other. I see newbies crying over complexity of C++. They say C++ was created to solve problems of C but it became a monster in itself. I say all languages were designed to solve some problems and in that they also developed some problems of their own and that is plain, basic fact of programming, even C has its share of problems and don’t tell me that C is small and easy. 2nd, Everything that one can do in C++, can also be done in C but those people just do not understand I have told many of them that there is no language such as C/C++, it is either C or C++ but they do not understand. I told them there is no language named VC++ and then they laugh over me. I asked many so-called industrial programmers that which methodology you applied when you created this web-based software, they give me strange look, like asking “What is the meaning of Methodology ?” and “What is web-based softwares, it is not web-based software. It is an email program like Yahoo mail”
C has its own style of understanding this world full of problems and C++ has different. They are related and what you learn when you start to study these 2 languages are 2 very different styles of programming. Some say C and C++ are different because C is procedural and C++ is Object-Oriented. I got puzzled on why such so called industrial programmers got nice and high-paid jobs. Do such software companies possess stupid managers ? Who hires these idiots must be an idiot himself. I have seen these programmers write crap in C and I have also seen these programmers writing crap in C++ and in whatever language they use. NO, C++ is not an Object-Oriented language, stop right there, stop spreading this FUD. C++ is a multi-paradigm programming language and Object-Oriented(ness) is just one of its paradigms. C++ is complex, I agree and what powerful language is not both powerful and complex. There is no reason to cry and complain over C++, If you are so desperate to cry then cry over VB, the non-sense created by one of the biggest software companies. IMO, VB is the the utter crap, the curse to the good programming practices and the master programmers
I hope this small article will make some sense to you. I tried to keep things short and to the point. If it helps you please say thanks and if you have any questions, don’t hesitate to ask 🙂
Two biggest sources for both newbies and experienced programmers are:
Just to remind you that you need a USENET Newsreader to use the last 2 links. I use PAN to post to comp.lang.c++, some people use slrn. Just Google for Newsreaders 🙂
Copyright © 2007, Arnuld Uttre, #331/type-2/sector-1, Naya Nangal, Distt. – Ropar, Punjab (INDIA) – 140126
Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice, and the copyright notice, are preserved.