Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #109245

Re: Recommendation for Object-Oriented systems to study

From Marko Rauhamaa <marko@pacujo.net>
Newsgroups comp.lang.python
Subject Re: Recommendation for Object-Oriented systems to study
Date 2016-05-29 22:42 +0300
Organization A noiseless patient Spider
Message-ID <877fecejlq.fsf@elektro.pacujo.net> (permalink)
References <53b21136-68ce-485c-8ccb-d6d28dace9c5@googlegroups.com> <b42b93a5-7b4c-4492-8692-b99b369333c0@googlegroups.com> <201605291812.u4TI9dqP037317@mx0a-001b2d01.pphosted.com> <mailman.30.1464549450.1839.python-list@python.org>

Show all headers | View raw


Alan Evangelista <alanoe@linux.vnet.ibm.com>:

> 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)

In practice, so does Python. Even if you chose to write code outside
classes, the standard library operates on objects and methods so you
can't escape them.

OTOH, Java resorts to silly tricks to implement plain function, "main()"
being a notorious example.

> - 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.

That in no way makes Java obviously better or more OO. In my opinion,
Java has interfaces mainly as a mundane optimization technique, at a
conceptual cost, not to mention typing pain.

> Python also allows multiple inheritance, which is *usually* a bad
> idea, unless the base classes are interfaces.

Bad or not, multiple inheritance troubles OO in general, not Python in
particular.

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

I think getters and setters often indicate a flawed object model.

> 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.

Java *is* bureaucratic. It is done for the primary reason of allowing
faster execution. The secondary reason is to put junior programmers in a
straitjacket in the hopes of preventing them from doing too much damage.

Python is loftier, conceptually more pure, and idiomatically to the
point, an elegant weapon for a more civilized age.


Marko

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Recommendation for Object-Oriented systems to study Ankush Thakur <ankush.thakur53@gmail.com> - 2016-05-29 07:42 -0700
  RE: Recommendation for Object-Oriented systems to study "Joseph Lee" <joseph.lee22590@gmail.com> - 2016-05-29 09:00 -0700
    Re: Recommendation for Object-Oriented systems to study Ankush Thakur <ankush.thakur53@gmail.com> - 2016-05-30 08:56 -0700
  Re: Recommendation for Object-Oriented systems to study Michele Simionato <michele.simionato@gmail.com> - 2016-05-29 10:49 -0700
    Re: Recommendation for Object-Oriented systems to study Terry Reedy <tjreedy@udel.edu> - 2016-05-29 14:29 -0400
      Re: Recommendation for Object-Oriented systems to study Ankush Thakur <ankush.thakur53@gmail.com> - 2016-05-30 08:57 -0700
        Re: Recommendation for Object-Oriented systems to study Terry Reedy <tjreedy@udel.edu> - 2016-05-30 15:01 -0400
          Re: Recommendation for Object-Oriented systems to study Ankush Thakur <ankush.thakur53@gmail.com> - 2016-05-31 10:52 -0700
            Re: Recommendation for Object-Oriented systems to study Terry Reedy <tjreedy@udel.edu> - 2016-06-01 05:22 -0400
              Re: Recommendation for Object-Oriented systems to study Ankush Thakur <ankush.thakur53@gmail.com> - 2016-06-03 10:28 -0700
    Re: Recommendation for Object-Oriented systems to study Alan Evangelista <alanoe@linux.vnet.ibm.com> - 2016-05-29 15:12 -0300
      Re: Recommendation for Object-Oriented systems to study Marko Rauhamaa <marko@pacujo.net> - 2016-05-29 22:42 +0300
      Re: Recommendation for Object-Oriented systems to study Gregory Ewing <greg.ewing@canterbury.ac.nz> - 2016-05-30 11:34 +1200
        Re: Recommendation for Object-Oriented systems to study Ankush Thakur <ankush.thakur53@gmail.com> - 2016-05-30 08:59 -0700
      Re: Recommendation for Object-Oriented systems to study Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-01 22:44 -0700
        Re: Recommendation for Object-Oriented systems to study Alan Evangelista <alanoe@linux.vnet.ibm.com> - 2016-06-02 09:15 -0300
          Re: Recommendation for Object-Oriented systems to study Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-02 18:13 -0700
          Re: Recommendation for Object-Oriented systems to study Bob Martin <bob.martin@excite.com> - 2016-06-03 07:14 +0100
            Re: Recommendation for Object-Oriented systems to study Phuong Phan <p.h.phan2006@gmail.com> - 2016-06-03 18:07 +0900
              Re: Recommendation for Object-Oriented systems to study Lawrence D’Oliveiro <lawrencedo99@gmail.com> - 2016-06-03 09:17 -0700
  Re: Recommendation for Object-Oriented systems to study Dennis Lee Bieber <wlfraed@ix.netcom.com> - 2016-05-30 14:14 -0400
  Re: Recommendation for Object-Oriented systems to study Sayth Renshaw <flebber.crue@gmail.com> - 2016-06-03 07:24 -0700
    Re: Recommendation for Object-Oriented systems to study Ankush Thakur <ankush.thakur53@gmail.com> - 2016-06-03 10:24 -0700

csiph-web