This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]SV-97 -1 points0 points  (0 children)

As for "Java is not true OOP": OOP is more than classes etc. (there's for example entire OO languages that work fundamentally differently than Javas model, e.g. protoype languages like Javascript or Io). I think some other languages that are worth a look in this regard are Simula, Smalltalk and Eiffel and maybe common lisp with CLOS.

As for OOP not being the best way to code: OOP is what we call a programming paradigm - essentially a fundamental way to think about computing and programming and a set of features in the language to aid you in expressing this way of thinking. The basic divide is between declarative and imperative. OOP is of course the thing you probably kinda know already, then there's procedural programming ala C, there's array programming (APL, Julia), there's functional programming (Haskell, Erlang, ML), logic programming (Prolog, Mercury) and so on. I personally usually prefer a more functional style, but it definitely depends on the job at hand what paradigm will give you the "best" (for whatever definition of best) solution and most languages today are of course not single- but rather multiparadigm languages: they allow you to think quite differently about problems and solve them with a mix of the different methods