Non Programming in python

rusi rustompmody at gmail.com
Tue May 10 23:36:43 EDT 2011


On May 11, 12:28 am, Terry Reedy <tjre... at udel.edu> wrote:
> On 5/10/2011 12:41 PM, rusi wrote:
>
> > Sorry for a silly subject change: A better one will be welcome -- cant
> > think of a name myself.
>
> Associated tools. I might separate them into development tools (up to
> the production of python.exe) and usage tools (everything thereafter).
> On Windows, this is a pretty clean separation. On Linux, less so since
> users sometimes build their own binaries and therefore use some of the
> development tools.

Can you elaborate? I dont understand

>
> Assuming that there is not one already, this could be the beginning of a
> useful overview wiki page with links to existing pages on the specific
> topics ('areas') listed below.
>
>
>
> > There is this whole area of python that may be called the non-
> > programming side of programming:
>
> > Is there some central site where all such is put up?
> > What if any should such a bundle of things be called?
>
> > -------------------------------------------------
>
> >    | Area             | Tool(s)                |
> >    |------------------+------------------------|
> >    | packaging        | distutils, setuptools, |
> >    |                  | distutils2, distribute |
> >    |                  | Native tools (eg apt)  |
> >    | versioning       | hg, git, bzr           |
> >    | multiple pythons | virtualenv             |
> >    | ??               | tox                    |
> >    | testing          | unittest, nose, pytest |
> >    | build            | scons, make...         |
> >    | deployment       | fabric                 |
>
> > ------------------------------
>
> I would reorder this list in the typical order used, starting with editors.
>
> > * Primary Development tools/aids
>
> >    1. Help
> >    2. Completion ('intellisense')
> >    3. Tags (Jumping)
> >    4. Refactoring
> >    5. Integration with 'non-programming' above (eg VCSes, packagers
> > etc)
>
> > * Other Development Tools
> >    - Debugger
> >    - Profiler
> >    - Heap Profiler
> >    - Coverage


Some more 'areas':
1. Which python 'form' does one use?
At the least python vs pythonw on windows.

But more generally scripting vs REPL. In REPL python vs ipython
Note 1. I am often unnerved by how even experienced python programmers
think that the only way to 'do' python is like C -- write a main, not
appreciating the luxury of an unstructured, exploratory mode that an
REPL makes possible.
Note 2. ruby makes this distinction more obvious by distinguishing the
scripting engine -- ruby -- form the interactive interpreter (REPL) --
irb.

2. Literate Programming: When the primary purpose of the program is
not the program but (some form of) discussion around it

3. Program namespace lookup and structuring: sys.path is the interior
program view but there is also the 'exterior' view -- PYTHONPATH, .pth
files etc.

Finally some thoughts on how to name this list of areas:
a. Software Engineering? : Inasmuch as real program development is
programming + 'something-else' and SE is that 'something else'
b. Python Development Environment? Similar to above

[Cannot say I like these names too much but at least its more specific
than Steven's vanilla 'documentation' :-) ]



More information about the Python-list mailing list