On 05/29/2016 02:49 PM, Michele Simionato wrote:
On Sunday, May 29, 2016 at 4:42:17 PM UTC+2, Ankush Thakur wrote:
Hello, I'm a self-taught programmer who has managed to claw his way out of Python basics and even covered the intermediate parts. But I feel I have a ton of theory in my head and would like to see some smallish applications in action. More specifically, I'm looking for Object Oriented designs that will help me cement my knowledge and expose me to best practices that books never cover. I have half a mind to start reading up the Django or Pandas source code, but I don't want to overwhelm myself. Can somebody recommend smaller and simpler projects I can learn from? And if I can pick the brains of the creator, bonus points!

The answer may be a little out of scope because you are asking in a Python 
mailing list, but
if the interest is learning OOP concepts (and not OOP in Python), IMHO Java is 
better.

- Java forces everything to be implemented in OO model (classes)

- Java widely uses interfaces and abstract classes. Python has not the concept of interface, as it favors EAFP and duck typing instead of creating base classes which establish contracts. Python also allows multiple inheritance,
which is *usually* a bad idea, unless the base classes are interfaces.

- In Java, interface/implementation separation is *usually* a bigger concern 
(eg getters and setters
are common in Java code, rare in Python code) .

I know that Python developers see Python as more pragmatic, more flexible and 
quicker/easier/less
bureaucratic to develop than Java, so my opinion may be controversial.


Regards,
Alan Evangelista
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to