Python development tools

rusi rustompmody at gmail.com
Sun Jun 23 23:13:25 EDT 2013


On Monday, June 24, 2013 5:58:03 AM UTC+5:30, Steven D'Aprano wrote:
> On Sun, 23 Jun 2013 13:40:07 -0700, cutems93 wrote:

> > What else do I need? 

> You don't *need* any of these. You only *need* two things to write Python 
> code: something to edit text files, and the Python interpreter to check 
> that the code runs correctly. Everything else is optional.
> 
> Rather than try to predict ahead of time every possible thing you need, 
> you should start small, and as you discover a new requirement, then 
> investigate. Why spend hours, days or weeks investigating refactoring 
> tools only to find that after 15 years of programming you've never once 
> used it?

Factually --- I dont believe this is correct -- professional programmers need all this and more on occasion -- eg your list does not have profilers, etc.

Pedagogically --- Steven's advice is right on the money.  If you are a noob and spend your time on breadth-first nurturing of the kind of list you've made, you will become a good programmer very slowly -- if at all. If you just follow Steven's advice -- stick to interpreter+editor -- you will become a good programmer much faster. [Or add to taste: Michael's browser + git]

Philosophically -- there are roughly two schools:
1. Scale languages up to deal with difficult problems
2. Trivialize problems into elegant language solutions

The first is like holing oneself into a fortress with heavy artillery. The second is like packing up a backpack with a water-bottle and going for a trek.
The second is more fun, though the first is sometimes needed, though less than people imagine

The first produces languages/systems/philosophies like C++, Java, .NET.
The extremal examples of the second are Apl and Lisp.
In Apl the goal is to write your programs in one line. If that is achieved why bother to make it readable?
The Lisp benchmark is that the implementation of Lisp in Lisp is one page
http://www.paulgraham.com/mcilroy.html

Python is not exactly in either extreme camp though its much closer to the backpack than the fortress model --  Pythonistas delight more in making programs short and sweet rather than grand and glorious.

A similar philosophical division to the above:
http://osteele.com/posts/2004/11/ides



More information about the Python-list mailing list