3 ms·
If you're going to learn another language, learn something from a different programming paradigm, or one which is lower level. Learning Ruby would be an absolu
by hodwik2 10y ago
If you're going to learn another language, learn something from a different programming paradigm, or one which is lower level.
Learning Ruby would be an absolute waste of time.
This isn't a hip or cool answer, but I'd suggest learning Java. It's one of the most popular languages by a large margin, and knowing it will help you speak the object-oriented lingua franca. If you only write Python, you're probably mostly writing procedural code. Learning OO is a good idea.
- odinho 10y agoThis 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
- hodwik 10y agoPython 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.