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


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

Python development tools

Started bycutems93 <ms2597@cornell.edu>
First post2013-06-23 13:40 -0700
Last post2013-06-24 19:21 -0700
Articles 20 on this page of 27 — 15 participants

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


Contents

  Python development tools cutems93 <ms2597@cornell.edu> - 2013-06-23 13:40 -0700
    Re: Python development tools Giorgos Tzampanakis <giorgos.tzampanakis@gmail.com> - 2013-06-23 22:19 +0000
    Re: Python development tools rurpy@yahoo.com - 2013-06-23 16:18 -0700
      Re: Python development tools Roy Smith <roy@panix.com> - 2013-06-23 19:49 -0400
        Re: Python development tools rurpy@yahoo.com - 2013-06-23 17:16 -0700
          Re: Python development tools Roy Smith <roy@panix.com> - 2013-06-23 20:22 -0400
            Re: Python development tools Tim Chase <python.list@thechases.com> - 2013-06-23 19:54 -0500
              Re: Python development tools Roy Smith <roy@panix.com> - 2013-06-23 21:16 -0400
          Re: Python development tools CM <cmpython@gmail.com> - 2013-06-23 17:41 -0700
      Re: Python development tools rusi <rustompmody@gmail.com> - 2013-06-23 20:17 -0700
    Re: Python development tools Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2013-06-24 00:28 +0000
      Re: Python development tools rusi <rustompmody@gmail.com> - 2013-06-23 20:13 -0700
    Re: Python development tools Michael Torrie <torriem@gmail.com> - 2013-06-23 19:41 -0600
    Re: Python development tools CM <cmpython@gmail.com> - 2013-06-23 22:19 -0700
    Re: Python development tools cutems93 <ms2597@cornell.edu> - 2013-06-23 22:34 -0700
      Re: Python development tools rusi <rustompmody@gmail.com> - 2013-06-23 23:13 -0700
        Re: Python development tools Ben Finney <ben+python@benfinney.id.au> - 2013-06-24 16:20 +1000
          Re: Python development tools rusi <rustompmody@gmail.com> - 2013-06-23 23:36 -0700
            Re: Python development tools Ben Finney <ben+python@benfinney.id.au> - 2013-06-25 09:11 +1000
              Re: Python development tools rusi <rustompmody@gmail.com> - 2013-06-24 19:24 -0700
                Re: Python development tools MRAB <python@mrabarnett.plus.com> - 2013-06-25 03:39 +0100
                  Re: Python development tools rusi <rustompmody@gmail.com> - 2013-06-24 20:03 -0700
                  Re: Python development tools Grant Edwards <invalid@invalid.invalid> - 2013-06-25 13:36 +0000
    Re: Python development tools Grant Edwards <invalid@invalid.invalid> - 2013-06-24 14:28 +0000
      Re: Python development tools Cameron Simpson <cs@zip.com.au> - 2013-06-25 07:36 +1000
    Re: Python development tools Wolfgang Keller <feliphil@gmx.net> - 2013-06-24 19:15 +0200
    Re: Python development tools Reed Xia <huaqin2005@gmail.com> - 2013-06-24 19:21 -0700

Page 1 of 2  [1] 2  Next page →


#49006 — Python development tools

Fromcutems93 <ms2597@cornell.edu>
Date2013-06-23 13:40 -0700
SubjectPython development tools
Message-ID<93adcb76-2298-41bb-b5cb-cca525c6be21@googlegroups.com>
Hello, 

I am new to python development and I want to know what kinds of tools people use for python development. I went to Python website and found several tools. 

1. Automated Refactoring Tools
2. Bug Tracking
3. Configuration And BuildTools
4. Distribution Utilities
5. Documentation Tools
6. Integrated Development Environments
7. Python Debuggers
8. Python Editors
9. Python Shells
10. Test Software
11. Useful Modules
12. Version Control

What else do I need? Also, which software is used in daily base? I know version control software and bug tracking software are used almost everyday by developers. Which software is used less often? 

Also, I will use GUI interface for Python. What kind of widget toolkits do you recommend? I know there are GTK+ and Qt. 

Thank you in advance!
-Min S.-

[toc] | [next] | [standalone]


#49007

FromGiorgos Tzampanakis <giorgos.tzampanakis@gmail.com>
Date2013-06-23 22:19 +0000
Message-ID<slrnksetdm.dig.giorgos.tzampanakis@brilliance.eternal-september.org>
In reply to#49006
On 2013-06-23, cutems93 wrote:

> Hello, 
>
> I am new to python development and I want to know what kinds of tools
> people use for python development. I went to Python website and found
> several tools. 
>
> 1. Automated Refactoring Tools
> 2. Bug Tracking
> 3. Configuration And BuildTools
> 4. Distribution Utilities
> 5. Documentation Tools
> 6. Integrated Development Environments
> 7. Python Debuggers
> 8. Python Editors
> 9. Python Shells
> 10. Test Software
> 11. Useful Modules
> 12. Version Control
>
> What else do I need? Also, which software is used in daily base? I know
> version control software and bug tracking software are used almost
> everyday by developers. Which software is used less often? 
>
> Also, I will use GUI interface for Python. What kind of widget toolkits
> do you recommend? I know there are GTK+ and Qt. 
>
> Thank you in advance!
> -Min S.-

I think you are asking too much in a single post. Each of the points
you list could be a long discussion on its own.


-- 
Real (i.e. statistical) tennis and snooker player rankings and ratings:
http://www.statsfair.com/ 

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


#49010

Fromrurpy@yahoo.com
Date2013-06-23 16:18 -0700
Message-ID<263da442-0c87-41df-9118-6003c616895c@googlegroups.com>
In reply to#49006
On 06/23/2013 02:40 PM, cutems93 wrote:
> [...]
The Python wiki at http://wiki.python.org/moin/ has a lot of info on 
most of your subjects.  I've included links to there for some of your
items below.

All your items below also have comercial products available but I
an not familiar with any so all me comments below pertain only to
free tools.

> 1. Automated Refactoring Tools
 I wish.
> 2. Bug Tracking
 This is not really Python specific so any bug tracking tool
 you want to use will work.  There are several written in Python.
 The Python (cpython) project uses one called Roundup.
> 3. Configuration And BuildTools 4. Distribution Utilities
 http://wiki.python.org/moin/DistributionUtilities
> 5. Documentation Tools
 The most popular documentation tools for Python projects is Spinx, probably
 because the Python documentation itself is build with Spinx.
 see also http://wiki.python.org/moin/DocumentationTools
> 6. Integrated Development Environments
 http://wiki.python.org/moin/IntegratedDevelopmentEnvironments
> 7. Python Debuggers
 Python comes with a builtin debugger called pdb.  There are also a number
 of other add-on debuggers like pydb.
 See also: http://wiki.python.org/moin/PythonDebuggingTools
> 8. Python Editors
 Any editor for programming is fine.  This is mostly personal taste and
 experience.  It is a frequent topic of discussion here so a web search
 should turn up some info.
> 9. Python Shells
> 10. Test Software
 Python comes with modules that will assist you in writing 
 your own tests, most notable unittest and doctest.  There are
 a number of third party modules too:
 See http://wiki.python.org/moin/UnitTests
> 11. Useful Modules
 The main repository for public Python modules is PyPi: 
 See https://pypi.python.org/pypi
> 12. Version Control
 Git and Mercurial (hg) seem to be the two most popular "modern" VCS 
 used by Python developers with Bazaar (bzr) right behind them.
 There was a discussion here very recently on that subject, 
 see https://groups.google.com/d/topic/comp.lang.python/MD4Oqq9GJiQ/discussion

> What else do I need? Also, which software is used in daily base? I
> know version control software and bug tracking software are used
> almost everyday by developers. Which software is used less often?

This really depends on what kind of development you will be
doing and who else you will be doing it with.  A minimal development
environment is a shell, python interpreter, and an internet connection.

> Also, I will use GUI interface for Python. What kind of widget
> toolkits do you recommend? I know there are GTK+ and Qt.

Python comes with a GUI toolkit called tkinter.
The other major GUI toolkit is wxPython although it is not yet
available for Python3.
See also http://wiki.python.org/moin/GuiProgramming

Hope this helps get you started.

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


#49012

FromRoy Smith <roy@panix.com>
Date2013-06-23 19:49 -0400
Message-ID<roy-B8B968.19494723062013@70-1-84-166.pools.spcsdns.net>
In reply to#49010
In article <263da442-0c87-41df-9118-6003c616895c@googlegroups.com>,
 rurpy@yahoo.com wrote:

> > 1. Automated Refactoring Tools
>  I wish.

Why?  I've never seen the appeal of these.  I do plenty of refactoring.  
It's unclear to me what assistance an automated tool would provide.

> > 2. Bug Tracking
>  This is not really Python specific so any bug tracking tool
>  you want to use will work.  There are several written in Python.
>  The Python (cpython) project uses one called Roundup.

Pick a bug tracker because its features fit your requirements, not what 
language it's written in.

We've been using Asana (https://asana.com) for a while.  I can't say I'm 
in love with it, but it's worth looking at.  It's intended more as a 
project planner, but the dividing line between project planning and bug 
tracking is a bit hazy.

> > 10. Test Software
>  Python comes with modules that will assist you in writing 
>  your own tests, most notable unittest and doctest.

I resisted nose (https://nose.readthedocs.org/) for quite a while, but I 
started using it in the past year and I'm slowly becoming addicted to 
it.  At this point, I would only recommend unittest to somebody who was 
coming from an Xunit/Junit background and wanted something with the same 
look and feel.

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


#49013

Fromrurpy@yahoo.com
Date2013-06-23 17:16 -0700
Message-ID<ba5cbbcc-ff44-467d-91b6-108573da5dda@googlegroups.com>
In reply to#49012
On 06/23/2013 05:49 PM, Roy Smith wrote:> In article <263da442-0c87-41df-9118-6003c616895c@googlegroups.com>, rurpy@yahoo.com wrote:
>> > 1. Automated Refactoring Tools
>>  I wish.
> Why?  I've never seen the appeal of these.  I do plenty of refactoring.  
> It's unclear to me what assistance an automated tool would provide.

I've often wanted something that would help globally change 
things like function and method names including across multiple
files.  Even variable names in large functions (ideally functions
should be small enough that this is not a problem but sometime
shit happens).  I am not great at picking good names to begin
with and often code drift makes them even worse with time.
Editor search and replace doesn't cut it. 

Other things like finding all uses of various objects/functions
etc would also be useful now and then but I suppose that is a 
common IDE capability?

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


#49014

FromRoy Smith <roy@panix.com>
Date2013-06-23 20:22 -0400
Message-ID<roy-356A0C.20222123062013@70-1-84-166.pools.spcsdns.net>
In reply to#49013
In article <ba5cbbcc-ff44-467d-91b6-108573da5dda@googlegroups.com>,
 rurpy@yahoo.com wrote:

> 
> Other things like finding all uses of various objects/functions
> etc would also be useful now and then but I suppose that is a 
> common IDE capability?

$ find . -name '*.py' | xargs grep my_function_name

seems to work for me.  I suppose a language-aware grep would be even 
better, because then it wouldn't find my_function_name when it's 
embedded in docstrings, comments, and the like.

On the other hand, you probably want to find those too.  If you refactor 
the name and don't find those, you end up with broken docstrings and 
broken comments.

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


#49018

FromTim Chase <python.list@thechases.com>
Date2013-06-23 19:54 -0500
Message-ID<mailman.3736.1372035170.3114.python-list@python.org>
In reply to#49014
On 2013-06-23 20:22, Roy Smith wrote:
> In article <ba5cbbcc-ff44-467d-91b6-108573da5dda@googlegroups.com>,
>  rurpy@yahoo.com wrote:
>> Other things like finding all uses of various objects/functions
>> etc would also be useful now and then but I suppose that is a 
>> common IDE capability?
> 
> $ find . -name '*.py' | xargs grep my_function_name
> 
> seems to work for me.  I suppose a language-aware grep would be
> even better, because then it wouldn't find my_function_name when
> it's embedded in docstrings, comments, and the like.
> 
> On the other hand, you probably want to find those too.

Most good editors (and IDEs?) should handle this as well.  I can
speak for Vim where I could do something like[1]

  sh$ vim *.py
  :set hidden
  :argdo %s/\<my_function_name\>/new_func_name/gc

then evaluate the results, optionally issuing ":wall" to write all the
changes.

Alternatively, if you just want to find all the pattern-matches and
view them, you can use

  :vimgrep /\<my_function_name\>/ **/*.py

and then navigate them either using the quick-fix window:

  :copen

or go forward/backwards in the quick-fix list with[2]

  :cnext
  :cprevious

I'd wager money that Emacs allows you to do something similar, but
I'd have to let an Emacs-user step in to answer that.  YMMV with
other editors.  Is this a "refactoring" tool, or just a valuable
tool, regardless of how it's used for refactoring :-)

-tkc


[1]
The ":set hidden" tells Vim that it's okay to leave a buffer without
writing it, but still remember the changes made.  Many folks have
this in their vimrc configuration.  If you know you want to do it
everywhere, you can avoid the "c" flag to ask for confirmation.

[2]
These can be abbreviated as just ":cn" and ":cp"






.

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


#49020

FromRoy Smith <roy@panix.com>
Date2013-06-23 21:16 -0400
Message-ID<roy-51639D.21160423062013@70-1-84-166.pools.spcsdns.net>
In reply to#49018
In article <mailman.3736.1372035170.3114.python-list@python.org>,
 Tim Chase <python.list@thechases.com> wrote:

> I'd wager money that Emacs allows you to do something similar,

I'm sure it can.  But, the next step in the evolution is:

$ emacs `find . -name '*.py' | xargs grep -l my_function_name`

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


#49017

FromCM <cmpython@gmail.com>
Date2013-06-23 17:41 -0700
Message-ID<6ba3e19b-620f-4df1-a4e1-ddb26ff679fc@googlegroups.com>
In reply to#49013
> >> > 1. Automated Refactoring Tools
> 
> >>  I wish.
> 
> > Why?  I've never seen the appeal of these.  I do plenty of refactoring.  
> > It's unclear to me what assistance an automated tool would provide.
 

> I've often wanted something that would help globally change  
> things like function and method names including across multiple
> files.  Even variable names in large functions (ideally functions
> should be small enough that this is not a problem but sometime
> shit happens).  I am not great at picking good names to begin
> with and often code drift makes them even worse with time.
> Editor search and replace doesn't cut it. 

I have occasionally used Bicycle Repair Man for this kind of thing.  I don't actually know if it works across files, and I never quite convinced myself that it really works faithfully at all, but you could always try it (and even improve it if you can):

http://bicyclerepair.sourceforge.net/#overallidea

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


#49027

Fromrusi <rustompmody@gmail.com>
Date2013-06-23 20:17 -0700
Message-ID<894f412d-b724-4e34-9630-ef2fb7b1c08e@googlegroups.com>
In reply to#49010
On Monday, June 24, 2013 4:48:35 AM UTC+5:30, ru...@yahoo.com wrote:
> On 06/23/2013 02:40 PM, cutems93 wrote:
> > 1. Automated Refactoring Tools
> 
>  I wish.

Here's pydev [python ide in eclipse]
http://pydev.org/manual_adv_refactoring.html

Note Ive never managed to get it running!

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


#49016

FromSteven D'Aprano <steve+comp.lang.python@pearwood.info>
Date2013-06-24 00:28 +0000
Message-ID<51c79292$0$29999$c3e8da3$5496439d@news.astraweb.com>
In reply to#49006
On Sun, 23 Jun 2013 13:40:07 -0700, cutems93 wrote:

> Hello,
> 
> I am new to python development and I want to know what kinds of tools
> people use for python development. I went to Python website and found
> several tools.
[snip list of a dozen tools]
> 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?


> Also, which software is used in daily base? I know
> version control software and bug tracking software are used almost
> everyday by developers. Which software is used less often?

With respect, that's a silly question. It depends on what you do, and how 
often you do it. If you distribute a new version of your software every 
day, then you will use a distribution tool every day. If you do it once a 
year, then you use distribution tool once a year.


> Also, I will use GUI interface for Python. What kind of widget toolkits
> do you recommend? I know there are GTK+ and Qt.

tkinter comes supplied with Python. So long as you have tcl/tk installed, 
which nearly all Linux distros do, it should just work out of the box.



-- 
Steven

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


#49026

Fromrusi <rustompmody@gmail.com>
Date2013-06-23 20:13 -0700
Message-ID<9ec80812-874c-4b35-afd2-01ee727adc77@googlegroups.com>
In reply to#49016
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

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


#49025

FromMichael Torrie <torriem@gmail.com>
Date2013-06-23 19:41 -0600
Message-ID<mailman.3737.1372038114.3114.python-list@python.org>
In reply to#49006
On 06/23/2013 02:40 PM, cutems93 wrote:
> What else do I need? Also, which software is used in daily base? I
> know version control software and bug tracking software are used
> almost everyday by developers. Which software is used less often?

Phew that's quite a list you have there.  Are you coming from Windows
development?

I personally do all my development with vim, git, and a web browser for
reference (or Python in a nutshell book).

Dunno why things necessarily have to be complicated.

> Also, I will use GUI interface for Python. What kind of widget
> toolkits do you recommend? I know there are GTK+ and Qt.

Yes I recommend a nice GUI toolkit.  Pick one and try it out.

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


#49031

FromCM <cmpython@gmail.com>
Date2013-06-23 22:19 -0700
Message-ID<34e613f9-e392-40fc-a353-ffcb33aab6b8@googlegroups.com>
In reply to#49006
On Sunday, June 23, 2013 4:40:07 PM UTC-4, cutems93 wrote:
> Hello, 
> 
> 
> 
> I am new to python development and I want to know what kinds of tools people use for python development. I went to Python website and found [12 different types of] tools. 

> What else do I need? Also, which software is used in daily base? 
> Which software is used less often? 

It depends on what you want to do, but I myself would want at least an IDE.  Of your list, I've only used 1,4,6 for a long time to make desktop applications.

What do you want to do?

> Also, I will use GUI interface for Python. What kind of widget toolkits do 
> you recommend? I know there are GTK+ and Qt. 

You can search the archives of this list for a lot of that question asked now and then.  For me, wxPython.   

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


#49032

Fromcutems93 <ms2597@cornell.edu>
Date2013-06-23 22:34 -0700
Message-ID<e190a21d-6b32-4bc7-b1ab-f82e1688ad43@googlegroups.com>
In reply to#49006
On Sunday, June 23, 2013 1:40:07 PM UTC-7, cutems93 wrote:
> Hello, 
> 
> 
> 
> I am new to python development and I want to know what kinds of tools people use for python development. I went to Python website and found several tools. 
> 
> 
> 
> 1. Automated Refactoring Tools
> 
> 2. Bug Tracking
> 
> 3. Configuration And BuildTools
> 
> 4. Distribution Utilities
> 
> 5. Documentation Tools
> 
> 6. Integrated Development Environments
> 
> 7. Python Debuggers
> 
> 8. Python Editors
> 
> 9. Python Shells
> 
> 10. Test Software
> 
> 11. Useful Modules
> 
> 12. Version Control
> 
> 
> 
> What else do I need? Also, which software is used in daily base? I know version control software and bug tracking software are used almost everyday by developers. Which software is used less often? 
> 
> 
> 
> Also, I will use GUI interface for Python. What kind of widget toolkits do you recommend? I know there are GTK+ and Qt. 
> 
> 
> 
> Thank you in advance!
> 
> -Min S.-

Alright. Thanks everyone for your responses. I just want to know what tools are GENERALLY used by professional developers. I am helping somebody who wants to know about software that he might use in his project. He does not know what kind of project it will be, but it will be more like scripting in the beginning. I know my question is somewhat vague, but this is all I can give you. Could you help me by sharing your experiences?

Thanks!
-Min-

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


#49034

Fromrusi <rustompmody@gmail.com>
Date2013-06-23 23:13 -0700
Message-ID<fec47667-fccf-4263-8811-ad8d5910fc9c@googlegroups.com>
In reply to#49032
On Monday, June 24, 2013 11:04:48 AM UTC+5:30, cutems93 wrote:
> Alright. Thanks everyone for your responses. I just want to know what tools 
> are GENERALLY used by professional developers. I am helping somebody who 
> wants to know about software that he might use in his project. He does not 
> know what kind of project it will be, but it will be more like scripting in 
> the beginning. I know my question is somewhat vague, but this is all I can 
> give you. Could you help me by sharing your experiences?

There was a thread on editors a few months ago where I made some suggestions:
http://mail.python.org/pipermail/python-list/2013-January/639351.html and following

I dont know what you mean my 'scripting'
Anyhow I'll add this: the python docs are exceptionally well-written and a pleasure to go through.

Start with http://docs.python.org/2/library/
Heres a suggested order to navigate

5 Subsects 1 to 9 are important
10 File and Directory subsects 1 2 7 3
27.1 sys
13 1 and 2 (csv and config)
Some 3rd party config parsers better than builtin 
15 1 os
One of 15. 4 5 or 6 (command line parsing)
Yes this is a bit of a mess

22 Internationalization (unicode) is increasingly important but I cannot make head-or-tail of it. Python 2 and 3 completely inconsistent in this area

On general note about python's object orientation:
If by 'scripting' you mean working within some large App's environment eg libreoffice or blender which are scripted with python, then you need to carefully understand that app's object model.

If by scripting you mean something like shell-scripting and a few steps beyond, just forget about OO

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


#49035

FromBen Finney <ben+python@benfinney.id.au>
Date2013-06-24 16:20 +1000
Message-ID<mailman.3739.1372054851.3114.python-list@python.org>
In reply to#49034
rusi <rustompmody@gmail.com> writes:

> I dont know what you mean my 'scripting'

Any time someone has shown me a “Python script”, I don't see how it's
different from what I'd call a “Python program”. So I just mentally
replace “scripting with “programming”.

-- 
 \              “Dvorak users of the world flgkd!” —Kirsten Chevalier, |
  `\                                                rec.humor.oracle.d |
_o__)                                                                  |
Ben Finney

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


#49037

Fromrusi <rustompmody@gmail.com>
Date2013-06-23 23:36 -0700
Message-ID<bc258d5d-2ccf-41db-a540-856dbab57210@googlegroups.com>
In reply to#49035
On Monday, June 24, 2013 11:50:38 AM UTC+5:30, Ben Finney wrote:
> rusi  writes:
> 
> > I dont know what you mean my 'scripting'
> 
> Any time someone has shown me a “Python script”, I don't see how it's
> different from what I'd call a “Python program”. So I just mentally
> replace “scripting with “programming”.

If you are saying that python spans the scripting to programming spectrum exceptionally well, I agree.  I dont however think that the two philosophies are the same. See http://www.tcl.tk/doc/scripting.html


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


#49104

FromBen Finney <ben+python@benfinney.id.au>
Date2013-06-25 09:11 +1000
Message-ID<mailman.3785.1372115494.3114.python-list@python.org>
In reply to#49037
rusi <rustompmody@gmail.com> writes:

> On Monday, June 24, 2013 11:50:38 AM UTC+5:30, Ben Finney wrote:
> > Any time someone has shown me a “Python script”, I don't see how
> > it's different from what I'd call a “Python program”. So I just
> > mentally replace “scripting with “programming”.
>
> If you are saying that python spans the scripting to programming
> spectrum exceptionally well, I agree. 

I'm saying that “scripting” is a complete subset of “programming”, so
it's nonsense to talk about “the scripting-to-programming spectrum”.

Scripting is, always, programming. Scripts are, always, programs. (But
not vice-versa; I do acknowledge there is more to programming than
scripting.) I say this because anything anyone has said to me about the
former is always something included already by the latter.

So I don't see much need for treating scripts as somehow distinct from
programs, or scripting as somehow distinct from programming. Whenever
you're doing the former, you're doing the latter by definition.

> I dont however think that the two philosophies are the same. See
> http://www.tcl.tk/doc/scripting.html

That essay constrasts “scripting” versus “system programming”, a useful
(though terminologically confusing) distinction.

It's a mistake to think that essay contrasts “scripting“ versus
“programming”. But the essay never justifies its aversion to
“programming” as a term for what it's describing, so that mistake is
easy to make.

-- 
 \       “A celebrity is one who is known by many people he is glad he |
  `\                                  doesn't know.” —Henry L. Mencken |
_o__)                                                                  |
Ben Finney

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


#49120

Fromrusi <rustompmody@gmail.com>
Date2013-06-24 19:24 -0700
Message-ID<d5bc1371-df05-466e-be06-b0a1fc47ccd5@googlegroups.com>
In reply to#49104
On Tuesday, June 25, 2013 4:41:22 AM UTC+5:30, Ben Finney wrote:
> rusi  writes:
> > I dont however think that the two philosophies are the same. See
> > http://www.tcl.tk/doc/scripting.html
> 
> That essay constrasts “scripting” versus “system programming”, a useful
> (though terminologically confusing) distinction.
> 
> It's a mistake to think that essay contrasts “scripting“ versus
> “programming”. But the essay never justifies its aversion to
> “programming” as a term for what it's describing, so that mistake is
> easy to make.

The essay is 15 years old. So a bit dated. Referred to it as it conveys the sense/philosophy of scripting.

> 
> > On Monday, June 24, 2013 11:50:38 AM UTC+5:30, Ben Finney wrote:
> > > Any time someone has shown me a “Python script”, I don't see how
> > > it's different from what I'd call a “Python program”. So I just
> > > mentally replace “scripting with “programming”.
> >
> > If you are saying that python spans the scripting to programming
> > spectrum exceptionally well, I agree. 
> 
> I'm saying that “scripting” is a complete subset of “programming”, so
> it's nonsense to talk about “the scripting-to-programming spectrum”.
> 
> Scripting is, always, programming. Scripts are, always, programs. (But
> not vice-versa; I do acknowledge there is more to programming than
> scripting.) I say this because anything anyone has said to me about the
> former is always something included already by the latter.
> 
> So I don't see much need for treating scripts as somehow distinct from
> programs, or scripting as somehow distinct from programming. Whenever
> you're doing the former, you're doing the latter by definition.
> 

My personal associations with the word 'scripting'

- Cavalier attitude towards efficiency
- No interest (and maybe some scorn) towards over-engineering (hence OOP)
- Heavy use of regular expressions, also sophistication of the command-line args
- A sense (maybe vague) of being glue more than computation, eg. a bash script is almost certain to invoke something other than builtins alone and is more likely to invoke a non-bash script than a bash script.  For a C program that likelihood is the other way round.  For python it could be either

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


Page 1 of 2  [1] 2  Next page →

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


csiph-web