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


Groups > comp.lang.python > #109233 > unrolled thread

Recommendation for Object-Oriented systems to study

Started byAnkush Thakur <ankush.thakur53@gmail.com>
First post2016-05-29 07:42 -0700
Last post2016-06-03 10:24 -0700
Articles 20 on this page of 23 — 12 participants

Back to article view | Back to comp.lang.python


Contents

  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

Page 1 of 2  [1] 2  Next page →


#109233 — Recommendation for Object-Oriented systems to study

FromAnkush Thakur <ankush.thakur53@gmail.com>
Date2016-05-29 07:42 -0700
SubjectRecommendation for Object-Oriented systems to study
Message-ID<53b21136-68ce-485c-8ccb-d6d28dace9c5@googlegroups.com>
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!

Thanks in advance!

Ankush

[toc] | [next] | [standalone]


#109234

From"Joseph Lee" <joseph.lee22590@gmail.com>
Date2016-05-29 09:00 -0700
Message-ID<mailman.22.1464537672.1839.python-list@python.org>
In reply to#109233
Hi,
Replies inline.

-----Original Message-----
From: Python-list
[mailto:python-list-bounces+joseph.lee22590=gmail.com@python.org] On Behalf
Of Ankush Thakur
Sent: Sunday, May 29, 2016 7:42 AM
To: python-list@python.org
Subject: Recommendation for Object-Oriented systems to study

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!

Thanks in advance!

Ankush

JL: One I contribute to that has object-oriented design is NonVisual Desktop
access:
http://github.com/nvaccess/nvda

I'd be happy to let you talk to the led devs of this project if you'd like.
Cheers,
Joseph
-- 
https://mail.python.org/mailman/listinfo/python-list

[toc] | [prev] | [next] | [standalone]


#109257

FromAnkush Thakur <ankush.thakur53@gmail.com>
Date2016-05-30 08:56 -0700
Message-ID<ae503e72-dfe1-405b-9c30-492a71b7b668@googlegroups.com>
In reply to#109234
Hi Joseph,

Thanks a lot for your help! At the moment, though, I find the idea of studying the standard library more lucrative. :)

See you around!

~~Ankush

On Sunday, May 29, 2016 at 9:31:26 PM UTC+5:30, Joseph Lee wrote:
> Hi,
> Replies inline.
> 
> -----Original Message-----
> From: Python-list
> [mailto:python-list-bounces+joseph.lee22590=gmail.com@python.org] On Behalf
> Of Ankush Thakur
> Sent: Sunday, May 29, 2016 7:42 AM
> To: python-list@python.org
> Subject: Recommendation for Object-Oriented systems to study
> 
> 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!
> 
> Thanks in advance!
> 
> Ankush
> 
> JL: One I contribute to that has object-oriented design is NonVisual Desktop
> access:
> http://github.com/nvaccess/nvda
> 
> I'd be happy to let you talk to the led devs of this project if you'd like.
> Cheers,
> Joseph
> -- 
> https://mail.python.org/mailman/listinfo/python-list

[toc] | [prev] | [next] | [standalone]


#109236

FromMichele Simionato <michele.simionato@gmail.com>
Date2016-05-29 10:49 -0700
Message-ID<b42b93a5-7b4c-4492-8692-b99b369333c0@googlegroups.com>
In reply to#109233
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!
> 
> Thanks in advance!
> 
> Ankush

Read the source code of the doctest module in the standard library.

[toc] | [prev] | [next] | [standalone]


#109239

FromTerry Reedy <tjreedy@udel.edu>
Date2016-05-29 14:29 -0400
Message-ID<mailman.27.1464546588.1839.python-list@python.org>
In reply to#109236
On 5/29/2016 1: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!
>>
>> Thanks in advance!
>>
>> Ankush
>
> Read the source code of the doctest module in the standard library.

Or pick a module with classes that interests you, with the caveat that 
some are old and crusty.  I learned from book and experience and learned 
Python OO from stdlib modules.

-- 
Terry Jan Reedy

[toc] | [prev] | [next] | [standalone]


#109258

FromAnkush Thakur <ankush.thakur53@gmail.com>
Date2016-05-30 08:57 -0700
Message-ID<d1ed8294-6c34-4e49-9683-eb22e5d99ba2@googlegroups.com>
In reply to#109239
On Monday, May 30, 2016 at 12:00:01 AM UTC+5:30, Terry Reedy wrote:
> On 5/29/2016 1: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!
> >>
> >> Thanks in advance!
> >>
> >> Ankush
> >
> > Read the source code of the doctest module in the standard library.
> 
> Or pick a module with classes that interests you, with the caveat that 
> some are old and crusty.  I learned from book and experience and learned 
> Python OO from stdlib modules.
> 
> -- 
> Terry Jan Reedy

Okie . . . Any recommendations?

~~Ankush

[toc] | [prev] | [next] | [standalone]


#109266

FromTerry Reedy <tjreedy@udel.edu>
Date2016-05-30 15:01 -0400
Message-ID<mailman.42.1464634897.1839.python-list@python.org>
In reply to#109258
On 5/30/2016 11:57 AM, Ankush Thakur wrote:
> On Monday, May 30, 2016 at 12:00:01 AM UTC+5:30, Terry Reedy wrote:

>>> Read the source code of the doctest module in the standard library.
>>
>> Or pick a module with classes that interests you, with the caveat that
>> some are old and crusty.  I learned from book and experience and learned
>> Python OO from stdlib modules.

> Okie . . . Any recommendations?

Beyond "pick a module with classes that interest you", I can suggest 
idlelib.help, which I helped to write.  If you ask, after reading it 
carefully, I will point out what I consider positive features.

-- 
Terry Jan Reedy

[toc] | [prev] | [next] | [standalone]


#109290

FromAnkush Thakur <ankush.thakur53@gmail.com>
Date2016-05-31 10:52 -0700
Message-ID<b9ace216-f663-408c-9f5d-cfc4e63f912a@googlegroups.com>
In reply to#109266
Hi Terry,

Can you point me towards the source code? I found https://github.com/evandrix/cPython-2.7.3/tree/master/Lib/idlelib but this looks like it's Python 2.7 (at this point, I refuse to touch 2.7 :P). Just one more thing, by "after reading it carefully", do you mean you or me? :D

~~Ankush  

On Tuesday, May 31, 2016 at 12:31:52 AM UTC+5:30, Terry Reedy wrote:
> On 5/30/2016 11:57 AM, Ankush Thakur wrote:
> > On Monday, May 30, 2016 at 12:00:01 AM UTC+5:30, Terry Reedy wrote:
> 
> >>> Read the source code of the doctest module in the standard library.
> >>
> >> Or pick a module with classes that interests you, with the caveat that
> >> some are old and crusty.  I learned from book and experience and learned
> >> Python OO from stdlib modules.
> 
> > Okie . . . Any recommendations?
> 
> Beyond "pick a module with classes that interest you", I can suggest 
> idlelib.help, which I helped to write.  If you ask, after reading it 
> carefully, I will point out what I consider positive features.
> 
> -- 
> Terry Jan Reedy

[toc] | [prev] | [next] | [standalone]


#109307

FromTerry Reedy <tjreedy@udel.edu>
Date2016-06-01 05:22 -0400
Message-ID<mailman.67.1464772988.1839.python-list@python.org>
In reply to#109290
On 5/31/2016 1:52 PM, Ankush Thakur wrote:
> Hi Terry,
>
> Can you point me towards the source code?

For IDLE 3.4.4 or 3.5.1: <install dir>/Lib/idlelib/help.py, at least on 
Windows.

 > by "after reading it carefully", do you mean you or me? :D

You.  I wrote it and already read it carefully.

>> Beyond "pick a module with classes that interest you", I can suggest
>> idlelib.help, which I helped to write.  If you ask, after reading it
>> carefully, I will point out what I consider positive features.

-- 
Terry Jan Reedy

[toc] | [prev] | [next] | [standalone]


#109435

FromAnkush Thakur <ankush.thakur53@gmail.com>
Date2016-06-03 10:28 -0700
Message-ID<837c6b65-deea-412f-b08a-763e19d5cdfd@googlegroups.com>
In reply to#109307
On Wednesday, June 1, 2016 at 2:53:22 PM UTC+5:30, Terry Reedy wrote:
> On 5/31/2016 1:52 PM, Ankush Thakur wrote:
> > Hi Terry,
> >
> > Can you point me towards the source code?
> 
> For IDLE 3.4.4 or 3.5.1: <install dir>/Lib/idlelib/help.py, at least on 
> Windows.
> 
>  > by "after reading it carefully", do you mean you or me? :D
> 
> You.  I wrote it and already read it carefully.
> 
> >> Beyond "pick a module with classes that interest you", I can suggest
> >> idlelib.help, which I helped to write.  If you ask, after reading it
> >> carefully, I will point out what I consider positive features.
> 
> -- 
> Terry Jan Reedy

All right, it's a deal! Here's a link I found: https://github.com/python/cpython/blob/master/Lib/idlelib/help.py. Can I write to you with questions I might have? :)

Best,
Ankush

[toc] | [prev] | [next] | [standalone]


#109244

FromAlan Evangelista <alanoe@linux.vnet.ibm.com>
Date2016-05-29 15:12 -0300
Message-ID<mailman.30.1464549450.1839.python-list@python.org>
In reply to#109236

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

[toc] | [prev] | [next] | [standalone]


#109245

FromMarko Rauhamaa <marko@pacujo.net>
Date2016-05-29 22:42 +0300
Message-ID<877fecejlq.fsf@elektro.pacujo.net>
In reply to#109244
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

[toc] | [prev] | [next] | [standalone]


#109249

FromGregory Ewing <greg.ewing@canterbury.ac.nz>
Date2016-05-30 11:34 +1200
Message-ID<dr1cjkFbmafU1@mid.individual.net>
In reply to#109244
Alan Evangelista wrote:

> if the interest is learning OOP concepts (and not OOP in Python), IMHO 
> Java is better.

The problem with this is that if you're not careful you'll
end up learning a lot of cruft that is irrelevant to Python.
There's no clear distinction in Java between things that
are essential to OO and things that are only there to
support its rigid statically-typed view of the world.

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

Actually, it doesn't do that any more than Python does.
Static methods are really stand-alone functions; they just
happen to live in the namespace of a class. In other words,
all Java does in this area is confuse things by conflating
modules with 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.

And this is one of the important things to understand if
you want to write Python programs, rather than Java programs
encoded in Python.

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

Actually the best use of multiple inheritance in Python is
to factor out *functionality*, more or less the opposite
of what Java allows. In fact, that goes for inheritance of
any kind; you only need it if you want to share functionality
from the base class. This is very different from Java,
where considerations of static interface checking dominate
everything.

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

That's because you don't *need* them in Python, since you
can always turn an attribute into a property at any time
without affecting calling code. You can't do that in Java,
which is the only reason you see so many getters and setters.
If you think you might ever need them, you have to start
out with them from the beginning.

So in summary, I wouldn't recommend learning Java as a
precursor to learning Python OO. You'll just confuse yourself
and pick up a lot of bad habits that you'll have to unlearn
later.

-- 
Greg

[toc] | [prev] | [next] | [standalone]


#109259

FromAnkush Thakur <ankush.thakur53@gmail.com>
Date2016-05-30 08:59 -0700
Message-ID<1599e200-801a-42b8-baba-f69ff52a1b07@googlegroups.com>
In reply to#109249
On Monday, May 30, 2016 at 5:04:27 AM UTC+5:30, Gregory Ewing wrote:
> Alan Evangelista wrote:
> 
> > if the interest is learning OOP concepts (and not OOP in Python), IMHO 
> > Java is better.
> 
> The problem with this is that if you're not careful you'll
> end up learning a lot of cruft that is irrelevant to Python.
> There's no clear distinction in Java between things that
> are essential to OO and things that are only there to
> support its rigid statically-typed view of the world.
> 
> > - Java forces everything to be implemented in OO model (classes)
> 
> Actually, it doesn't do that any more than Python does.
> Static methods are really stand-alone functions; they just
> happen to live in the namespace of a class. In other words,
> all Java does in this area is confuse things by conflating
> modules with 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.
> 
> And this is one of the important things to understand if
> you want to write Python programs, rather than Java programs
> encoded in Python.
> 
> > Python also allows multiple inheritance,
> > which is *usually* a bad idea, unless the base classes are interfaces.
> 
> Actually the best use of multiple inheritance in Python is
> to factor out *functionality*, more or less the opposite
> of what Java allows. In fact, that goes for inheritance of
> any kind; you only need it if you want to share functionality
> from the base class. This is very different from Java,
> where considerations of static interface checking dominate
> everything.
> 
> > - In Java, interface/implementation separation is *usually* a bigger 
> > concern (eg getters and setters
> > are common in Java code, rare in Python code) .
> 
> That's because you don't *need* them in Python, since you
> can always turn an attribute into a property at any time
> without affecting calling code. You can't do that in Java,
> which is the only reason you see so many getters and setters.
> If you think you might ever need them, you have to start
> out with them from the beginning.
> 
> So in summary, I wouldn't recommend learning Java as a
> precursor to learning Python OO. You'll just confuse yourself
> and pick up a lot of bad habits that you'll have to unlearn
> later.
> 
> -- 
> Greg

Thanks, Greg. To everyone involved in this Java tangent: thankfully I have some taste of object-oriented programming in Java. Personally, I much prefer Python's dynamic approach, although sometimes it's a pain to find that all the patterns "wisdom" you collected is useless. :D

~~Ankush

[toc] | [prev] | [next] | [standalone]


#109334

FromLawrence D’Oliveiro <lawrencedo99@gmail.com>
Date2016-06-01 22:44 -0700
Message-ID<48967b8e-773b-472d-8a1a-89135e78e4f5@googlegroups.com>
In reply to#109244
On Monday, May 30, 2016 at 7:17:47 AM UTC+12, Alan Evangelista wrote:
> - Java forces everything to be implemented in OO model (classes)

After you have spend a few months battering your head against the rigidity and verbosity of Java, you will run back to Python with a sense of relief.

What a joy it is to use a language where functions are first-class objects...

[toc] | [prev] | [next] | [standalone]


#109358

FromAlan Evangelista <alanoe@linux.vnet.ibm.com>
Date2016-06-02 09:15 -0300
Message-ID<mailman.89.1464869748.1839.python-list@python.org>
In reply to#109334

On 06/02/2016 02:44 AM, Lawrence D’Oliveiro wrote:
> On Monday, May 30, 2016 at 7:17:47 AM UTC+12, Alan Evangelista wrote:
>> - Java forces everything to be implemented in OO model (classes)
> After you have spend a few months battering your head against the rigidity and verbosity of Java, 
> you will run back to Python with a sense of relief.

The point was which programming language was better to teach object oriented concepts,
rigidity and verbosity has nothing to do with this. Most of this discussion has leaned towards
other criteria beyond adherence to OO paradigm (eg static typing vs dynamic typing and
personal taste), so I have chosen to not continue it.

For some reason, Java still one of the most used programming languages to teach OO
in universities. In real life projects, people has the freedom to choose whatever they
prefer, though.  =)


Regards,
Alan Evangelista

[toc] | [prev] | [next] | [standalone]


#109395

FromLawrence D’Oliveiro <lawrencedo99@gmail.com>
Date2016-06-02 18:13 -0700
Message-ID<be756167-0515-4934-a763-1b72ccead2f6@googlegroups.com>
In reply to#109358
On Friday, June 3, 2016 at 12:16:02 AM UTC+12, Alan Evangelista wrote:

> The point was which programming language was better to teach object oriented
> concepts...

Object-orientation is not an end in itself. The point is what programming languages you should be exposed to, to get an idea of how to do PROGRAMMING.

[toc] | [prev] | [next] | [standalone]


#109400

FromBob Martin <bob.martin@excite.com>
Date2016-06-03 07:14 +0100
Message-ID<drclhdFjfl5U1@mid.individual.net>
In reply to#109358
in 760378 20160602 131534 Alan Evangelista <alanoe@linux.vnet.ibm.com> wrote:
>On 06/02/2016 02:44 AM, Lawrence D�Oliveiro wrote:
>> On Monday, May 30, 2016 at 7:17:47 AM UTC+12, Alan Evangelista wrote:
>>> - Java forces everything to be implemented in OO model (classes)
>> After you have spend a few months battering your head against the rigidity and verbosity of Java,
>> you will run back to Python with a sense of relief.
>
>The point was which programming language was better to teach object oriented concepts,
>rigidity and verbosity has nothing to do with this. Most of this discussion has leaned towards
>other criteria beyond adherence to OO paradigm (eg static typing vs dynamic typing and
>personal taste), so I have chosen to not continue it.
>
>For some reason, Java still one of the most used programming languages to teach OO
>in universities. In real life projects, people has the freedom to choose whatever they
>prefer, though.  =)

Rarely; the employer usually decides which language(s) to use.

[toc] | [prev] | [next] | [standalone]


#109401

FromPhuong Phan <p.h.phan2006@gmail.com>
Date2016-06-03 18:07 +0900
Message-ID<mailman.114.1464945118.1839.python-list@python.org>
In reply to#109400
Hi All,

I think you all are very professional programmer and or working in IT
industry, teaching programming and so on. So I think it is quite funny that
you spent time to discuss about this topic.

I am not pro like you guys. I like programming. And when I think to develop
my career as an IT engineer, I also do not know which language I should
start, although, I know a bit C, Perl, Visual Basic. Luckily I found a free
course on edX teaching computer science using Python. I really surprised
that Python is so easy to learn. I like the beautiful simplicity at the
beginning of learning Python. Really impressive to me.

However, when I have chance to learn and work with other languages such as
C# and C++. I found that they are also supercool. At that time it is clear
to me that there is no best language. Each language has its good points. It
is up to you to use/explore it and develop it too.

So again, it is funny to me to ask which language should learn first, or
which language should be used to teach/learn OO. Now if someone asks me
which language should learn first, I would say it is C, definitely and no
doubt C.

By the way, now I bought some books about Python, OpenCV, and Robotics.
Time to enjoy Python now.
Regards,
Phuong
(By the way, I do not like snake image of Python much :-))


On Fri, Jun 3, 2016 at 2:14 PM, Bob Martin <bob.martin@excite.com> wrote:

> in 760378 20160602 131534 Alan Evangelista <alanoe@linux.vnet.ibm.com>
> wrote:
> >On 06/02/2016 02:44 AM, Lawrence D�Oliveiro wrote:
> >> On Monday, May 30, 2016 at 7:17:47 AM UTC+12, Alan Evangelista wrote:
> >>> - Java forces everything to be implemented in OO model (classes)
> >> After you have spend a few months battering your head against the
> rigidity and verbosity of Java,
> >> you will run back to Python with a sense of relief.
> >
> >The point was which programming language was better to teach object
> oriented concepts,
> >rigidity and verbosity has nothing to do with this. Most of this
> discussion has leaned towards
> >other criteria beyond adherence to OO paradigm (eg static typing vs
> dynamic typing and
> >personal taste), so I have chosen to not continue it.
> >
> >For some reason, Java still one of the most used programming languages to
> teach OO
> >in universities. In real life projects, people has the freedom to choose
> whatever they
> >prefer, though.  =)
>
> Rarely; the employer usually decides which language(s) to use.
>
> --
> https://mail.python.org/mailman/listinfo/python-list
>
>

[toc] | [prev] | [next] | [standalone]


#109430

FromLawrence D’Oliveiro <lawrencedo99@gmail.com>
Date2016-06-03 09:17 -0700
Message-ID<d72c1de7-0166-44c5-b780-76674ec0f1c6@googlegroups.com>
In reply to#109401
On Friday, June 3, 2016 at 9:12:19 PM UTC+12, Phuong Phan wrote:

> However, when I have chance to learn and work with other languages such as
> C# and C++. I found that they are also supercool.

Have you been exposed to Lisp yet?

[toc] | [prev] | [next] | [standalone]


Page 1 of 2  [1] 2  Next page →

Back to top | Article view | comp.lang.python


csiph-web