4 ms·
While I understand the argument, I also have a big counter-point to offer. Python is one of the top beginner languages for people new to programming, and right
by the_duke 9y ago
While I understand the argument, I also have a big counter-point to offer.
Python is one of the top beginner languages for people new to programming, and rightfully so.
But beginners often want to build something "cool" and tangible, and need that to stay engaged.
Printing out the first 100 prime numbers after implementing a sieve of eratosthenes or a command line calculator do not fall into this category for most.
Building a website or a GUI application is way more exciting, and you need libraries for those.
- gr3yh47 9y agotheres an irc with 2000 python devs ready for instant feedback. it's like a live chat stackoverflow for python or better. given the python community imo there's no reasons for beginners to shy from libraries. ESPECIALLY python libraries and frameworks, e.g. django is magic and can easily be learned/used by a dev who only has basic python knowledge
- reificator 9y agoMagic impedes learning. Magic is great when you know enough to be able to peek behind the curtain when you need to. But abstractions leak, and magic abstractions more than most.
- mercer 9y agoI think leaky abstractions are not really something to worry about when you're learning. Maintaining interest while learning, especially at first when everything is strange and new, strikes me as a much bigger problem. Magic addresses that.
- reificator 9y agoSure, but when you encounter a leaky abstraction someone has to pull back the curtain for you and help you get past it. Magic inevitably has brick walls behind the curtains.
- icebraining 9y agoIsn't Python itself, like most high level languages, a large collection of abstractions, some quite magic?
- reificator 9y agoAbsolutely it is. I'm a believer that learning programming with a high level interpreted language with a weak type system is a disadvantage in the long run. That doesn't mesh with people who want to do something valuable out the gate, which is fair enough. But I've seen so many people start with the "easier" path and run into a brick wall they can't surmount later and just give up. It makes me sad to watch every time. EDIT: Substituted "learning a high level" with "learning programming with a high level"
- icebraining 9y agoI wonder if the transition is the problem, or if some people just have difficulty with the low level stuff, regardless of previous experience. I can't say I have data, but from my college colleagues, I don't remember the people having trouble with, say, pointers being mostly the ones who already programmed in Python or JavaScript.
- reificator 9y agoThat's a good point, and it might indeed be a self-selection kind of thing. I'm not an expert and I don't have the data there. But I don't even mean making a transition, you can do nothing but Python or JS and still hit the wall. Because eventually you'll need to understand the lower level concepts to do better, even with higher level languages and libraries. It's the reason that learning to program, and program well, is not 100x faster than it was 50 years ago, despite all the claimed benefits of this or that language or framework or whatever. Eventually you need to know what's going on under the hood. Also worth noting that I primarily use JS in my day to day work, and it does what I need it to do. Not saying super high level languages aren't useful, just that they're not a good starting point IMO.
- BrandoElFollito 9y agoCould you expand on how /where to join this irc?
- grzm 9y agoLikely #python on FreeNode: https://www.python.org/community/irc/ https://www.python.org/community/irc/
- giancarlostoro 9y agoI never was huge on Python but always preferred it to Ruby. One web framework that always fascinated me was CherryPy[0]. On my first (and current) real programming job I was asked to work on a RESTful type of project, and was given free reign to research a language and stack. I initially was asked if I liked Python, once I spotted interest towards Python I suggested CherryPy. I stuck with CherryPy and 4 months later, my RESTful service had a front-end using the Mako[1] templating library alongside it's RESTful back-end. All the code is done in an Object Oriented fashion. I can't imagine doing the same work without any external libraries. [0]: http://cherrypy.org/ http://cherrypy.org/ [1]: http://www.makotemplates.org/ http://www.makotemplates.org/ Note: Mako is used by Reddit for their template library. https://github.com/reddit/reddit/blob/master/r2/setup.py#L62 https://github.com/reddit/reddit/blob/master/r2/setup.py#L62
- sprt 9y agoHow does CherryPy compare to Flask in your experience?
- giancarlostoro 9y agoI can't say too much about Flask since I have not used it as much as I have CherryPy. I would like to try out Flask at least once for a big project for comparison but don't have the time to do so yet.
- anc84 9y agoI really like the CSV statistics example project in the post. That IS a cool tool if you are learning in a science or data processing context.