Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #109233 > unrolled thread
| Started by | Ankush Thakur <ankush.thakur53@gmail.com> |
|---|---|
| First post | 2016-05-29 07:42 -0700 |
| Last post | 2016-06-03 10:24 -0700 |
| Articles | 20 on this page of 23 — 12 participants |
Back to article view | Back to comp.lang.python
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 →
| From | Ankush Thakur <ankush.thakur53@gmail.com> |
|---|---|
| Date | 2016-05-29 07:42 -0700 |
| Subject | Recommendation 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]
| From | "Joseph Lee" <joseph.lee22590@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Ankush Thakur <ankush.thakur53@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Michele Simionato <michele.simionato@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Terry Reedy <tjreedy@udel.edu> |
|---|---|
| Date | 2016-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]
| From | Ankush Thakur <ankush.thakur53@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Terry Reedy <tjreedy@udel.edu> |
|---|---|
| Date | 2016-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]
| From | Ankush Thakur <ankush.thakur53@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Terry Reedy <tjreedy@udel.edu> |
|---|---|
| Date | 2016-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]
| From | Ankush Thakur <ankush.thakur53@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Alan Evangelista <alanoe@linux.vnet.ibm.com> |
|---|---|
| Date | 2016-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]
| From | Marko Rauhamaa <marko@pacujo.net> |
|---|---|
| Date | 2016-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]
| From | Gregory Ewing <greg.ewing@canterbury.ac.nz> |
|---|---|
| Date | 2016-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]
| From | Ankush Thakur <ankush.thakur53@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Lawrence D’Oliveiro <lawrencedo99@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Alan Evangelista <alanoe@linux.vnet.ibm.com> |
|---|---|
| Date | 2016-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]
| From | Lawrence D’Oliveiro <lawrencedo99@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Bob Martin <bob.martin@excite.com> |
|---|---|
| Date | 2016-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]
| From | Phuong Phan <p.h.phan2006@gmail.com> |
|---|---|
| Date | 2016-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]
| From | Lawrence D’Oliveiro <lawrencedo99@gmail.com> |
|---|---|
| Date | 2016-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