Mike Borozdin's Blog

A blog about programming, web and IT in general

C++ Programming Language Still Rocks

Even though I don't program with C++ much these days, I still love the book entitled "C++ Programming Language" by Bjarne Stroustrup - the creator of the C++ programming language. Its first edition was published in 1986, but the book still remains informative even for non-C++ programmers.  Unlike many other programming books, this one doesn't focus only on the language itself,  in contrast, there are many very useful chapters on various programming paradigms, including the object oriented one, for sure. Besides, it does really explain the purpose of the object oriented method and its benefits. Moreover, there is information on software architecture, class design and on programming process as a whole.

The reason why I fetched it from my bookshelf was the constant questions in programming forums about benefits of OOP. The object oriented way of programming seems to be very natural for me, however I decided to prove my thoughts about OOP by consulting an authoritative source. The book by Bjarne Stroustrup who was one of the founders of object oriented programming is that authority source. While reading this book I recognized many contemporary patterns and principles, although Bjarne Stroustrup never calls them with the names they have today.

Nowadays there are a lot of books on design patterns, programming principles and etc that use Java or .NET as an example, however C++ is also an excellent example, simply because it was the language that inspired the Java and C# creators. So, this particular book is written by the real father of the modern programming principles, even if he is not considered to be fashionable today. Therefore, it can be recommended to any programmer, no matter which language they use.


Posted by Mike Borozdin on Thursday, September 04, 2008 12:19 PM GMT
  Shout it Kick it!  
Permalink | Comments (9) | Post RSSRSS comment feed

Comments

Alexey Bobyakov Russia

Thursday, September 04, 2008 4:24 PM GMT

Alexey Bobyakov

Objects as a programming constructs were introduced in Simula, the first language to be called object-oriented was Smalltalk (1970s). If you want an authoritative source, you'd better pick something from Alan Kay. I am not aware of any paradigm that Stroustrup has invented. Even template metaprogramming was discovered by Alexandrescu.

Mike Borozdin Russia

Thursday, September 04, 2008 5:45 PM GMT

Mike Borozdin

Hello Alexey,

Thank you for your feedback. Well, I'm quite aware that C++ is hugely influenced by Simula. I've neved said that Stroustrup had invented any paradigm. I think I'll read something from Alan Kay. However, I think there's no reason to put Stroustup down, even he didn't invent anything, he implemented the things in C++ in a good manner.

John United States

Thursday, September 04, 2008 9:43 PM GMT

John

"he implemented the things in C++ in a good manner" heheh sorry but C++ is the more disastrous programming language in history, it is an abomination. I should stayed away from C++ and continue with C and then jump to Java. I don't want to touch C++ anymore is too complex and ugly for what?, everything now can do it in better way with Java or Python or Ruby or Language D or really C it is much much better than C++, OOP it is not the answer for everything.

As Alexey said if you want proper OOP read something from Alan Kay and learn Smalltalk is the way to go for learn proper OOP.

Mike Borozdin Russia

Thursday, September 04, 2008 10:46 PM GMT

Mike Borozdin

John,

I think if one can use C++ instead of C, then they should use C++. As for Java, Python and Ruby, well they have their own market. C++ is for other things.

Alehandro corner Norway

Friday, September 05, 2008 12:55 AM GMT

Alehandro corner

No really, C is a better C++, just use C. If you want OOP support in the programming language or other paradigms there are far better choices
like Objective-c(oop), Java(oop,ip), C#(oop,ip), Python(oop,ip), Haskell(fp), Ocaml(oop,fp), Lisaac(oop,ip), D(oop,ip), Eifell(oop,ip) and Vala(C#/java like lang for the GObject system in Gnome) to name just a few better languages

C++ is just a mess. You should only need to know it to port the code to another better language.

Mike Borozdin Russia

Friday, September 05, 2008 3:08 AM GMT

Mike Borozdin

Alehandro,

I think C++ is still good for performance critical or low level applications.

Can you name any specific reason why you think C is better than C++?

Ebrahim Iran

Friday, September 05, 2008 5:22 AM GMT

Ebrahim

C++ is the greatest language where you need both object orientation and performance. It has it own drawbacks, but still greatest in specific areas and competitive in others.
C++ is almost backward compatible with C, hence it is nonsense to say "C is better than C++". (You may use only the C subset if you'd like)
On the other hand there are situations where performance is not bounded by CPU or Memory. Here I would prefer something like Python over something like Java.

Daniel United States

Thursday, February 05, 2009 10:53 PM GMT

Daniel

I think C++ is good for creating games and applications. Java is more for creating web sites and online games. C# is mostly for creating websites and software for Windows computers.  I don't know much about C, I am glad I stubbled upon this conversation; It made me want to go find out more about C!. It sounds like C which was developed in 1972 by Dennis Ritchie was like an earlier version of C++ and C#. C# and C++ took in C's initial idea and made it better.

Source:
en.wikipedia.org/wiki/C_programming_language

Mike Borozdin Russia

Friday, February 06, 2009 12:17 AM GMT

Mike Borozdin

The C programming language has been here for more than 30 years. A lot of great applications and operating systems are written with C: Unix, Linux, Windows. Even the newest version are still written with C, not with C++.

C is great when you need something low level and that requires high performance.

Comments are closed