C++ not object oriented?

  • Thread starter C0mmie
  • Start date
  • #1
I am a student of computer science, and naturally was shocked when, during my recent trip to a bookstore, was told that C++ in not really object oriented. The guy at the store referred me to a language called Smalltalk, which is supposedly the true object oriented language. I assume that most people would share my point of view in agreeing that C++ is an object oriented language, but can someone explain to me why it would not be considered as such, while Smalltalk would.

Answers and Replies

  • #2
C++ is object-oriented; however, the OO is basically welded on top of a language (C) not designed for that purpose. So the design is less-than-optimal, and it can be a pain in the ass to use sometimes. Those of us that remember using tempates and STL in the old days know this well... :)

Smalltalk was IIRC one of the first OO designed languages, but there are many others. I like Java, personally.
  • #3
You can read:

Of-course "Class" is good as it reflects OOP, but in contests (Real Time) though you have "BigInt" type class, you then can use the functions only. You don't need to write the OOP feature based codes.

But, the class need to be well implemented in sense of OOP and as well as proper memory usage and readability. I am learning Java (and C#) and I like it as a developer's language which is for internet programming and other professional works, But not suitable for contests.

C++ is a hybrid language. For contests and also for learning purpose C++ is the best I think. Because here you can learn both procedural oriented programming as well as object oriented programming. For system programming you have the power in C or Assembly Language. For AI based or expert system development I will like PROLOG as it works with clauses and logic. It's also goal oriented. And that's why it is easier than LISP as I saw LISP is full of brackets and brackets. For mathematics related problems you can use MATLAB or Maple or Mathematica type soft packs. They are good for engineering purpose.

And another important thing, don't make it habit to use the advanced routines provided by the complier or any company or internet. Try to make it yourself otherwise you will be lazy like me who is fond of ready-made codes provided by my friends. I always use my junior students to make the code for me. I make the algorithm clear to them and they do the rest for me.

Oh! Last thing, you can make your BigInt class into BigNumber class by give it the power of real value arithmetic with huge precisions. It can easily achieved by inheritance. You can inherit all the properties from BinInt class and extend it by writing procedures for real i.e. long float or double type values.
Taken from:

http://acm.uva.es/board/viewtopic.php?t=370&start=30 [Broken]
Last edited by a moderator:

Related Threads on C++ not object oriented?

  • Last Post