Take the 2-minute tour ×  So I am a hardware engineer turned
software engineer due to recent job duties. I have a very strong
understanding of procedural programming (mainly in 'C' and
'bash' scripting) but I only have a passing knowledge of what
OOP is.  I look around and just about every modern language has
very firm roots in OOP (C++, java, python, ruby etc.). I now
feel that I'm ready to flex my brain to new concepts and OOP is
a necessity to have now-a-days in your tool belt. My question
is, with a strong background in 'C', would C++ be the logical
next step to learn OOP or would I be missing out from some
useful constructs that only other languages offer, say java for
example?  Thanks all.  share|improve this question Dupe of
stackoverflow.com/questions/1608914/… among many others. –  anon
Dec 7 '09 at 19:33 Err, I don't think you know quite what
functional programming, since C doesn't really have mechanisms
for functional programming. I think you meant procedural
programming. –  Ibrahim Dec 7 '09 at 19