top | item 12029635

(no title)

odinho | 9 years ago

This is so wrong I don't even know what to say.

Python is a beautiful object oriented language. Very much so.

Java is not different at all, I'd say go for Haskell or similar to get something really truly dif

discuss

order

hodwik|9 years ago

Python has all of the constituent parts of an OO language, save explicit types, but it is never written in an OO style.

Using classes != OO.

Generally, Python programmers treat objects as structs with associated methods, basically the Go model. Python programmers rarely encapsulate at all. At best, they use a bunch of accessors (which is not itself OO). Implementation details are rarely hidden.

That's because dynamically-typed languages, the interpreter, and the Python culture, lend themselves more to exploratory programming, rather than a UML-design, with objects that relate to real-world entities, that are implemented after careful planning.

If you can show me a Python program where objects are really encapsulated, and aren't chock-full of accessors, I'll stand happily corrected.