By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,092 Members | 1,597 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,092 IT Pros & Developers. It's quick & easy.

Where is Python in the scheme of things?

P: n/a
As a complete novice in the study of Python, I am asking myself where this
language is superior or better suited than others. For example, all I see in
the tutorials are lots of examples of list processing, arithmetic
calculations - all in a DOS-like environment.

What is particularly disappointing is the absence of a Windows IDE,
components and an event driven paradigm. How does Python stand relative to
the big 3, namely Visual C++, Visual Basic and Delphi? I realize that these
programming packages are quite expensive now while Python is free (at least
for the package I am using - ActivePython).

Please discuss where Python shines.
Gord
Oct 4 '06 #1
Share this Question
Share on Google+
23 Replies


P: n/a
gord wrote:
What is particularly disappointing is the absence of a Windows IDE,
components and an event driven paradigm. How does Python stand relative to
the big 3, namely Visual C++, Visual Basic and Delphi?
if you think those are the "big 3", you should perhaps start by asking
yourself where *you* are in the scheme of things.

</F>

Oct 4 '06 #2

P: n/a
gord wrote:
As a complete novice in the study of Python, I am asking myself where this
language is superior or better suited than others. For example, all I see in
the tutorials are lots of examples of list processing, arithmetic
calculations - all in a DOS-like environment.

What is particularly disappointing is the absence of a Windows IDE
I'm a complete windows novice (as in I've forced myself to forget my
experiences with it), but does windows not run vim?

--
James Stroud
UCLA-DOE Institute for Genomics and Proteomics
Box 951570
Los Angeles, CA 90095

http://www.jamesstroud.com/
Oct 4 '06 #3

P: n/a

gord wrote:
As a complete novice in the study of Python, I am asking myself where this
language is superior or better suited than others. For example, all I see in
the tutorials are lots of examples of list processing, arithmetic
calculations - all in a DOS-like environment.

What is particularly disappointing is the absence of a Windows IDE,
components and an event driven paradigm. How does Python stand relative to
the big 3, namely Visual C++, Visual Basic and Delphi? I realize that these
programming packages are quite expensive now while Python is free (at least
for the package I am using - ActivePython).

Please discuss where Python shines.
Gord
Python is of course superior to all three,
Put together,
With knobs on.

:-)

Oct 4 '06 #4

P: n/a
hg
gord wrote:
As a complete novice in the study of Python, I am asking myself where this
language is superior or better suited than others. For example, all I see in
the tutorials are lots of examples of list processing, arithmetic
calculations - all in a DOS-like environment.

What is particularly disappointing is the absence of a Windows IDE,
components and an event driven paradigm. How does Python stand relative to
the big 3, namely Visual C++, Visual Basic and Delphi? I realize that these
programming packages are quite expensive now while Python is free (at least
for the package I am using - ActivePython).

Please discuss where Python shines.
Gord

Big three? ... not sure even Bill agrees with you.

Code in Python and decide for yourself ... but again, nowadays, you're
to compare with C#, VB ... if you want to be in; that is.

hg

Oct 4 '06 #5

P: n/a
hg
hg wrote:
gord wrote:
>As a complete novice in the study of Python, I am asking myself where this
language is superior or better suited than others. For example, all I see in
the tutorials are lots of examples of list processing, arithmetic
calculations - all in a DOS-like environment.

What is particularly disappointing is the absence of a Windows IDE,
components and an event driven paradigm. How does Python stand relative to
the big 3, namely Visual C++, Visual Basic and Delphi? I realize that these
programming packages are quite expensive now while Python is free (at least
for the package I am using - ActivePython).

Please discuss where Python shines.
Gord

Big three? ... not sure even Bill agrees with you.

Code in Python and decide for yourself ... but again, nowadays, you're
to compare with C#, VB ... if you want to be in; that is.

hg
OK, you did say VB
Oct 4 '06 #6

P: n/a
Not sure if this is a troll...I've seen several of these sorts of
posts on the list. But it seems innocent enough, so I'll bite. :)

I'm not sure Delphi is really one of the "big 3"...surprisingly
Java and C# don't make your list.
What is particularly disappointing is the absence of a Windows
IDE, components and an event driven paradigm.
I've not tried any of the gui-builders that are out there.
However, I understand that several exist. I'm just a contented
vim junkie.

As for the event-driven paradigm, you might want to investigate
both the standard tkinter package, or the commonly used wxpython
package (recently praised/reviewed/talked-up on Ron Stephen's
Python411 podcast). Both have a main-loop processing method that
gets called, and then feeds messages to your various objects via
method-calls.
How does Python stand relative to the big 3, namely Visual
C++, Visual Basic and Delphi?
Visual C++ minuses compared to Python
-------------------------------------
Half a bajillion lines of code to do the most simple of things.
Ability to shoot yourself in the foot with errant pointers.
Limited standard libraries (without chaining yourself to one
particular platform in general). Windows only for the most part
(okay, other C++ compilers exist, but you explicitly mention
VC++). Minimal ability to interactively inspect/effect your
program. Requires a compile/link phase. Code is usually hard to
read. Macros and templates make for a headache (or worse). Two
files each for most productive stuff (your header & source) if
not more (your .o object file, your .lib output file, your .idl
interface file, your workspace file, your makefile, etc).

Delphi compared to Python
-------------------------
Delphi is nice. It still takes more code to do a given task than
it does in Python. It's very B&D (none of this sissy
"pseudo-type-checked" syntax of C/C++/Java where int-types are
really just ints with Groucho-glasses...types are types in
Delphi!), which can be good or bad according to your tastes.
Still requires a compile/link phase, but not as long as C/C++
does. Somewhat more portable than VC++, as there's Kylix for
Linux, but still not as universally available as Python. I can't
malign it too badly as I have a soft spot in my heart for
object-pascal.

Visual Basic compared to Python
-------------------------------
VB shares some interesting aspects with Python...namely it's much
more readable than the other two. It's syntax is clunky at best,
with goto's, and cobbled-on exception handling (at least in
VB-Classic, as opposed to VB.Net with which I have no experience,
thank goodness). It's good for hammering together a quick form
and dropping some code behind it. However, it's not exactly
portable to other platforms (though there is the Gambas project
that offers VB-ish development on *nix platforms). It's not
terribly object-oriented, so doing OO-related stuff is next to
impossible. Functions aren't first-class objects, so you have to
do some funky workarounds.

I might be exaggerating regarding C++ and the half-a-bajillion
lines...it may only be something like a quarter-of-a-bajillion lines.
I realize that these programming packages are quite expensive
now while Python is free (at least for the package I am using
- ActivePython).
I had heard that VC++ and VB had free standalone stripped-down
versions available for download. And Borland had a beginners'
edition of Delphi available for free download at one point as
well. All hearsay until proven otherwise, but that was my feable
understanding.

But I'm also gonna have to agree with Paddy, about the "better
than all three". And the "knobs" bit.

My $0.02 ramble...

-tkc



Oct 4 '06 #7

P: n/a


On Oct 4, 4:21 pm, "gord" <gord@no_spaming.comwrote:
As a complete novice in the study of Python, I am asking myself where this
language is superior or better suited than others. For example, all I see in
the tutorials are lots of examples of list processing, arithmetic
calculations - all in a DOS-like environment.

What is particularly disappointing is the absence of a Windows IDE,
components and an event driven paradigm. How does Python stand relative to
the big 3, namely Visual C++, Visual Basic and Delphi? I realize that these
programming packages are quite expensive now while Python is free (at least
for the package I am using - ActivePython).

Please discuss where Python shines.
Gord
Delphi, one of the big 3? Since Borland abandoned it, it can only go
downward (How do you call delphi 8, 2005 and 2006, if not *downwards*?)
Java is much more of a big 3 than Delphi.

Use Python for a little while (let's say 1000 lines of code), and if
you're not convinced after that, go back to the big 3, happily telling
yourself you're not missing anything...

"What's with this weird python community anyway, speaking of code
'elegance' and 'readability'? There is no such thing!"

Oct 4 '06 #8

P: n/a
On Wed, 4 Oct 2006 16:21:21 -0400
"gord" <gord@no_spaming.comwrote:
[...] all in a DOS-like environment.
Python is an extremely multi-purpose language that is not dependant on GUIs or similiar riff-raff. It can be run in DOS or DOS-like systems, but that is your choice, not python's. Python has a traditional connection to the *nix (UNIX-like) family of operating systems, where the command like is a lot more powerful and used than in modern incarnations of DOS, such as Windows NT 5.1, nicknamed "windows xp".
What is particularly disappointing is the absence of a Windows IDE,
There are multiple. I personally chose to use the editor vim and the command line, but that is a personal choice. See <http://wiki.python.org/moin/IntegratedDevelopmentEnvironments>.
components and an event driven paradigm.
I am not sure what you mean with "components". Since everything in python, even types and functions, is an object, events can be implemented cleanly and easily where they are due, such as in GUI toolkits.
How does Python stand relative to the big 3, namely Visual C++, Visual Basic and Delphi?
No additional comment on "big 3". Visual C++ is just an IDE for the language C++, which has, like python, roots in the UNIX and command-line world. VB and Delphi are IDEs for extended versions of the languages BASIC and PASCAL, respectively. See the link above for IDEs for the language Python.
I realize that these programming packages are quite expensive now while Python is free
(at least for the package I am using - ActivePython).
Price and quality are not directly related; in this example I must say that some of the better (supposedly, I have not tried them) python IDEs are actually commercially distributed proprietary software. Also note that python is not only available free of charge, but also so-called "free software" (libre software... related to open source, which it also is), see the free software definition at <http://www.gnu.org/philosophy/free-sw.htmlfor a description of that matter.
Please discuss where Python shines.
Python shines nearly everywhere where speed and resource usage is not a killer factor. Writing and reading, this maintaining, software written in python is very easy. Python also lends itself very well to writing portable software. Being a (to the outside) interpreted language, the compilation step falls out, speeding up the development process somewhat.
I find the python language a lot clearer than (Visual) Basic, and programs are definately shorter. C/C++ aren't geared towards programmer-friendliness, so they are a completely different category. I know too little about Pascal (Delphi)
Python can be used in many areas, from small maitainence scripts on servers over web applications to fully-blows graphical apps. For graphical applications, there are multiple choices, one (Tkinter) being distributed with standard python (which does not act natively on any platform.) PyGTK has an excellent GUI designer, glade, and acts 100% natively on many UNIX/Linux systems, about 90% natively on windows systems, and doesn't, yet (AFAIK), integrate well with Mac OSX. WxPython acts natively everywhere, but is, as I have heard, not as "pythonic" as other frameworks. pyGUI looks promising.

Reinforcement: Remember that python is a language, not a development environment. It shines as a language, and can be put into a friendly case if the programmer choses that.

--
Thomas Jollans
Oct 4 '06 #9

P: n/a
In article <HY*****************@newssvr13.news.prodigy.com> ,
James Stroud <js*****@mbi.ucla.eduwrote:
Oct 4 '06 #10

P: n/a
In article <82VUg.8549$Go3.4509@dukeread05>, hg <hg@nospam.comwrote:
Oct 4 '06 #11

P: n/a
gord wrote:
As a complete novice in the study of Python, I am asking myself where this
language is superior or better suited than others. For example, all I see in
the tutorials are lots of examples of list processing, arithmetic
calculations - all in a DOS-like environment.

What is particularly disappointing is the absence of a Windows IDE,
components and an event driven paradigm. How does Python stand relative to
the big 3, namely Visual C++, Visual Basic and Delphi? I realize that these
programming packages are quite expensive now while Python is free (at least
for the package I am using - ActivePython).

Please discuss where Python shines.
Gord

With python I can write:

Windows simple/complex scripts
Windows console applications
Windows COM objects
Windows Services
Windows GUI applications (wxPython, QT, TK)
Windows games
Web framework based apps (Zope, CherryPie, TurboGears, etc).

Linux simple/complex scripts
Linux console applications
Linux daemons
Linux GUI applications (wxPython, QT, TK)
Linux games

Mac simple/complex scripts
Mac console applications
Mac daemons
Mac GUI applications (wxPython, QT, TK)
Mac games
Web framework based apps (Zope, CherryPie, TurboGears, etc).

(I haven't personally done a lot on the Mac, but I understand
that these can be done)

Web CGI applications
Web active server pages
Web soap/XML applications

Try to cover all those bases in any of the "big 3". With
anything other than Python I find I must use multiple
languages and many different collections of libraries.
With Python I'm not constantly bouncing back-and-forth between
languages and now I seem to be always getting better at writing...
you guessed it...Python. Instead of learning a new language
every time I change platforms, I just add libraries/modules that
meet the specific needs of the platform or the application that
I'm trying to implement. With version upgrades of multiple
languages on multiple platforms with upgrades to multiple
standard libraries, it was getting completely unmanageable.
If you only have to deal with GUI apps on Windows I guess
VB or Delphi would be fine. If you need to deploy to multiple
platforms (Windows, Linux, Mac) IMHO neither of them will
work very well. C++ is as portable, but the extra code that
you must write would be substantial.

-Larry Bates
Oct 4 '06 #12

P: n/a
On Wed, 2006-10-04 at 16:21 -0400, gord wrote:
What is particularly disappointing is the absence of a Windows IDE,
components and an event driven paradigm. How does Python stand relative to
the big 3, namely Visual C++, Visual Basic and Delphi? I realize that these
programming packages are quite expensive now while Python is free (at least
for the package I am using - ActivePython).
Ok, this is probably a little long but I always enjoy telling this story
and I think it will answer you question in terms of usability.

I got started using python on windows, back when I was largely a VB & VC
++ developer (6.0). (With a little java, some php and bunch of other
less important languages.) I was working on a large project (developing
a videoconferencing suite), and we had several options for how our
proprietary protocol would handle relay selection for each connection.
The system used a STUN-like relay system and we knew performance would
be significantly enhanced if this connection was routed through a relay
"close" to one party or the other. However, there is a distinct
disconnect between "close" in the real world and "close" on the
internet... and that can change from moment to moment based on the
conditions between the two points. So we came up with three or four
different algorithms for it and the discussion (as developer discussions
sometimes do) devolved into a flamewar. So, I decided to write a
program that would simulate each algorithm, and then subject that
simulation to various network effects.

Having heard over and over and over how great python was, I decided to
write it in that. I scheduled 2 days to write the simulator, and it took
me less than an hour! (Mind you, that was learning the basics of the
language and writing a simulator.) I called a meeting, ran the simulator
through its paces and well all decided on a solution.

Few weeks later, we needed to embed small scripts into the system....we
played with a bunch of different languages and ended up deciding on
python. Then we needed something that would let us actually put
together a UI and actually let us embed that UI in activex controls,
java applications, VB programs, etc. Again, we looked at the options
and chose python. This time using PyQT to provide the UI widgets,
event driven programming and so forth. One of the deciding factors was
that if we really needed to optimize any part of the UI code, we could
re-implement that subsection in C/C++ for an extra speed boost...which
we never had to do.

So basically, that one little simulator took a pure C++ project and
turned it into a bunch of C++ modules held together by python glue.
Which ended up giving us a really flexible AND maintainable design.

Since then I've pretty much been a dedicated python developer, except
for those places where there is a very specific need that python doesn't
meet... which is surprisingly rare.

There are a few IDE-like python editors that run on windows, BlackAdder,
Eric, and a bunch of others. (If I forgot your favorite, I'm sorry....)
The real advantage here over, say the Visual Studio stuff, is that you
can choose which one you want, rather than being stuck with an
development environment that may or may not suit your working style.
(After using python for a few months, I basically stopped using IDEs as
I found it more productive for me personally to use Emacs...)

Between that and the language's emphasis on developer productivity,
there is a world of difference between python and the big three. (Which
ever big three you pick.)

I was a pretty productive programmer with VB/VC++/etc, usually one of
the most productive members of whatever team I was on. But now that
I've made the switch to python, I'm several orders of magnitude more
productive in terms of actually writing the code. Which means that I
can take more time to design my code for easier maintainability in the
future.
Please discuss where Python shines.
Gord

Oct 4 '06 #13

P: n/a
On 10/4/06, gord <gord@no_spaming.comwrote:
As a complete novice in the study of Python, I am asking myself where this
language is superior or better suited than others. For example, all I see in
the tutorials are lots of examples of list processing, arithmetic
calculations - all in a DOS-like environment.

What is particularly disappointing is the absence of a Windows IDE,
components and an event driven paradigm. How does Python stand relative to
the big 3, namely Visual C++, Visual Basic and Delphi? I realize that these
programming packages are quite expensive now while Python is free (at least
for the package I am using - ActivePython).
You might want to check out Dabo. It's a framework written by a couple
of guys coming from the world of Microsoft dev tools, and they seem to
be targeting their visual tools to that market. Their website is
http://dabodev.com.

I've been using Dabo for a while, both with and without the visual
tools, and it's amazing stuff.

--

# p.d.
Oct 5 '06 #14

P: n/a
A very lively feedback indeed. I appreciate most of the points discussed and
will persevere with the language until I understand the more powerful
aspects of it. Then I will try the GUIs that were mentioned.
Many thanks, Gord.
Oct 5 '06 #15

P: n/a
I came from a VB/VBA environment before using Python. My experience has
been that Python has a lot more free, pre-coded tools within its community
to do the sort of things I do in my job (geometric algorithms, date-time
functions, processing and accessing lists of items, scientific programming,
etc., etc.). The main strength of VB6 was its ease in dragging and dropping
stuff to make a graphical user interface (GUI). The main strength of VBA is
that a lot of people know it and it interfaces with the Excel spreadsheet
software nicely (except when Windows is acting up, but that's another
story). Tkinker took some getting used to. I've dabbled with wxPython a
bit. After an initial learning curve, the tools aren't that hard to use,
and they both have modules for pre-made widgets (window items) like PMW for
Tkinter.

The module system, I find, is almost always a step up from dealing with
VB/VBA's DLL's. "DLL hell" is real, especially for someone coming into a
programming environment for the first time.

My last point is a bit controversial. You will get smarter faster and
cheaper in the Python community. It's not that there aren't smart people in
the (classic) VB community. It's just that there are a lot of people in
that community that never programmed in any other language, people that
think that learning a Unix based system is too much to ask from an employer,
people that believe that the GUI is the quality center and most critical
part of the program, and that the backend is an afterthought. I wish I were
being cynical or exaggerating, but I'm not. Hanging out around the Python
community will make you a better VB, dotNet (C#), or C++ programmer, even if
you go with one of those as your language of choice.

My 2 cents.

Carl Trachte

"gord" <gord@no_spaming.comwrote in message
news:I4******************************@magma.ca...
As a complete novice in the study of Python, I am asking myself where this
language is superior or better suited than others. For example, all I see
in
the tutorials are lots of examples of list processing, arithmetic
calculations - all in a DOS-like environment.

What is particularly disappointing is the absence of a Windows IDE,
components and an event driven paradigm. How does Python stand relative to
the big 3, namely Visual C++, Visual Basic and Delphi? I realize that
these
programming packages are quite expensive now while Python is free (at
least
for the package I am using - ActivePython).

Please discuss where Python shines.
Gord


Oct 5 '06 #16

P: n/a

Carl Trachte wrote:
I came from a VB/VBA environment before using Python. My experience has
been that Python has a lot more free, pre-coded tools within its community
to do the sort of things I do in my job (geometric algorithms, date-time
functions, processing and accessing lists of items, scientific programming,
etc., etc.). The main strength of VB6 was its ease in dragging and dropping
stuff to make a graphical user interface (GUI). The main strength of VBA is
that a lot of people know it and it interfaces with the Excel spreadsheet
software nicely (except when Windows is acting up, but that's another
story). Tkinker took some getting used to. I've dabbled with wxPython a
bit. After an initial learning curve, the tools aren't that hard to use,
and they both have modules for pre-made widgets (window items) like PMW for
Tkinter.

The module system, I find, is almost always a step up from dealing with
VB/VBA's DLL's. "DLL hell" is real, especially for someone coming into a
programming environment for the first time.

My last point is a bit controversial. You will get smarter faster and
cheaper in the Python community. It's not that there aren't smart people in
the (classic) VB community. It's just that there are a lot of people in
that community that never programmed in any other language, people that
think that learning a Unix based system is too much to ask from an employer,
people that believe that the GUI is the quality center and most critical
part of the program, and that the backend is an afterthought. I wish I were
being cynical or exaggerating, but I'm not. Hanging out around the Python
community will make you a better VB, dotNet (C#), or C++ programmer, even if
you go with one of those as your language of choice.

My 2 cents.

Carl Trachte

"gord" <gord@no_spaming.comwrote in message
news:I4******************************@magma.ca...
As a complete novice in the study of Python, I am asking myself where this
language is superior or better suited than others. For example, all I see
in
the tutorials are lots of examples of list processing, arithmetic
calculations - all in a DOS-like environment.

What is particularly disappointing is the absence of a Windows IDE,
components and an event driven paradigm. How does Python stand relative to
the big 3, namely Visual C++, Visual Basic and Delphi? I realize that
these
programming packages are quite expensive now while Python is free (at
least
for the package I am using - ActivePython).

Please discuss where Python shines.
Gord

I had a choice of writing in c or in python. I am choosing python
because it is the scripting language that is used in csound. I have to
admit that it feels like banging my head against the floor sometimes
and at other times it is realy rapid. The price is also right being
unemployed reduced my software budget even though I do have two c
compilers(borland and microsoft), three if you count public domain
(bloodshed) and dark basic. I have noticed alot of sound tools that
use python and other csound public domain app's that have been writen
in python. The gtk stuff is intresting and sorta beg to be put into a
public distrubution with a rapid framework and boa-constructor could
have alot of new features added for rapid devolopment such as click on
code to replace solid values. Possibly the tools only get better with
time.

http://www.stormpages.com/edexter/csound.html

Oct 5 '06 #17

P: n/a
gord wrote:
As a complete novice in the study of Python, I am asking myself where this
language is superior or better suited than others. For example, all I see in
the tutorials are lots of examples of list processing, arithmetic
calculations - all in a DOS-like environment.
s/DOS-like/command line/

The command line interface is widely used on unix-like systems, and is
very handy for a lot of things.
What is particularly disappointing is the absence of a Windows IDE,
components and an event driven paradigm.
Disappointing ? Python is a general-purpose, cross-platform language,
not a Windows-only GUI-only environment. What you're looking for does
exist, but as 3rd part libs and programs. You could check Boa
Constructor (a wxPython based Delphi-like RAD/IDE), or any combination
of a Windows-compatible GUI toolkit / GUI builder / IDE.
How does Python stand relative to
the big 3, namely Visual C++, Visual Basic and Delphi?
Ever tried writing a cross-platform web application server with any of
these "big 3" ?
I realize that these
programming packages are quite expensive
and Windows-only, and proprietary...
now while Python is free
free as in "free beer", yes, but also free as in "free speech". And
Python is portable too (most of my programs would run on Windows or
MacOS X or BSD etc without any modification).
(at least
for the package I am using - ActivePython).
Please discuss where Python shines.
Application programming and admin scripts. Note that application
programming doesn't imply GUI - I'm mostly doing web development FWIW.

Now if you're doing Windows-only, Python is quite good with COM/ActiveX
etc AFAIK.

--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'o****@xiludom.gro'.split('@')])"
Oct 5 '06 #18

P: n/a

gord wrote:
As a complete novice in the study of Python, I am asking myself where this
language is superior or better suited than others.
I use it, and see it primarily, as a Perl killer. It also does for Ruby
and our infernal shell scripts.

I've never considered using Python instead of VB. As a VB developer of
many years, I'd see thhe Python language itself as infinitely superior
to VB in almost every aspect, except that of building event driven
Windows GUIs with easy form layout. Maybe there's some wonderful Python
toolkit for doing this, but it's news to me.

I'm undecided as to whether Python beats JSP for web development. So
far I'm still inclined to Java, but that's probably because I know Java
and Java has a huge amount of "beyond Java the language" development
attached to it for web work.

Oct 5 '06 #19

P: n/a
gord wrote:
As a complete novice in the study of Python, I am asking myself where this
language is superior or better suited than others. For example, all I see in
the tutorials are lots of examples of list processing, arithmetic
calculations - all in a DOS-like environment.
Python runs on almost everything from mobile phones to mainframes,
so it can't really provide one particular GUI or one particular
development environment.

There are a number of free and commercial IDEs and GUI tool kits,
but I don't know if there is anything that gives you such a low
entry threshold for GUI development as VB or Delphi. I never
"painted" GUIs in Python, I coded them in a plain editor, but
you get used to that pretty soon, and you'll feel more in control,
and the more complex your GUIs get, the more you can gain from
having that control. In my experience it's much easier to reuse
GUI code in Python than in VB etc. If you have made a few windows,
and written your code in an intelligent way, making additional and
similar windows can be very quick, and maintaining their uniform
look, feel and behavior can be easier.

Anyway, if GUI development is what you want, you need to look at
a particular GUI toolkit. Depending on what you are after, you
might want to use Dabo, WxPython, PyGame or some other toolkit.
I know, it's much easier to choose if you only have one choice,
but this is the way things work in free software: no one tries to
lock you in, so there is a flora of different tools suited for
different needs. This makes it a bit harder to get started: You
need to take more decisions--but you'll hopefully end up with
something which is a better fit, where you don't need to work
around the limits of the tool, or limit your world view to
idioms supported a one-size-fits-all tool.
What is particularly disappointing is the absence of a Windows IDE,
components and an event driven paradigm. How does Python stand relative to
the big 3, namely Visual C++, Visual Basic and Delphi? I realize that these
programming packages are quite expensive now while Python is free (at least
for the package I am using - ActivePython).
It's more like Java than like any of these three really. It's not
specifically geared towards building GUI apps (like two of the above)
and it

It's a more modern language than the above. It started from scratch
around 1990, as opposed to BASIC, C++ and Pascal. Both C and Pascal
popped up around 1970, and BASIC is older than that. While they have
developed a lot, the modern incarnations still carry a historical
baggage. Python's syntax has been based on research and 20 more years
of experiences in the problems that your other languages are stuck with.

Python's major inspiration was ABC, a programming language developed
as a research project with the aim of being easy and pedagogical to use.

On the other hand it's more like C++ than like Java in the sense that
it supports object-oriented programming, but it doesn't enforce it. C++
and Python (as well as Delphi's Object Pascal I guess) can be described
as multi-paradigm languages.
Please discuss where Python shines.
Until 1996, it was my firm belief that there were only two kind of
tools in the software development world.
- Some tools (e.g. VB and Access) makes it easy to get started and
make small thing, but when the systems grow and the requirements
get tougher, your problems start to grow exponentially. You hit a
wall it seems. At least it starts to feel like a tough uphill
battle.
- Other tools are more difficult to learn (e.g. Unix), but once you
master them, they grow on you, and you feel that you can take on
harder problems without hitting that wall.

It was a revelation to bump into Python in 1996. Suddenly, there was
something which was easy to get started with, but still just felt
better and better the longer I used it. That's the killer feature
in my mind.

Oct 9 '06 #20

P: n/a
On 10/9/06, Magnus Lycka <ly***@carmen.sewrote:
gord wrote:
As a complete novice in the study of Python, I am asking myself where this
language is superior or better suited than others. For example, all I see in
the tutorials are lots of examples of list processing, arithmetic
calculations - all in a DOS-like environment.
There are a number of free and commercial IDEs and GUI tool kits,
but I don't know if there is anything that gives you such a low
entry threshold for GUI development as VB or Delphi. I never
"painted" GUIs in Python, I coded them in a plain editor, but
you get used to that pretty soon, and you'll feel more in control,
and the more complex your GUIs get, the more you can gain from
having that control.
Before I say anything else, let me preface it with this: I am a
language-comparisons-discussion whore. Moving on...

Glade can be used with Python you know. I haven't tried Boa
Constructer yet, this is another interface building tool that seems to
have gained a lot of popularity. I do like the wx bindings though.
I know, it's much easier to choose if you only have one choice,
but this is the way things work in free software: no one tries to
lock you in, so there is a flora of different tools suited for
different needs. This makes it a bit harder to get started: You
need to take more decisions--but you'll hopefully end up with
something which is a better fit, where you don't need to work
around the limits of the tool, or limit your world view to
idioms supported a one-size-fits-all tool.
Historical note: Esperanto was a colossal failure. :)
On the other hand it's more like C++ than like Java in the sense that
it supports object-oriented programming, but it doesn't enforce it. C++
and Python (as well as Delphi's Object Pascal I guess) can be described
as multi-paradigm languages.
Ruby is also very good in this respect, although its procedural
programming really *isn't*, however it may look like it. But that's an
implementation detail. I like Python more because of the very strongly
positive direction it is moving in, and for sheer pragmatism of
more/better tools, better documentation, etc. It has its quirks, but
really...what doesn't? I am not a web framework geek, but I have heard
that CherryPy is better than RoR. If it isn't just the fact that
Python is older and more mature, maybe there is some insidious wisdom
in what look like kludges and warts to the untrained eye. I admire
matz and Guido van Rossum both, but Guido has all in all done a
fantastic job with the thousands of compromises that needed to be made
to produce a successful language. Like matz, he is also very humble in
spite of his great talents. (Which can't be said for Larry Wall,
though he is brilliant if perhaps misguided :))

(And to be fair, the B&D approach to OOP can *occasionally* have its benefits.)
It was a revelation to bump into Python in 1996. Suddenly, there was
something which was easy to get started with, but still just felt
better and better the longer I used it. That's the killer feature
in my mind.
AGREED! :)

-- Theerasak
Oct 10 '06 #21

P: n/a
Bruno Desthuilliers wrote:
gord wrote:
>As a complete novice in the study of Python, I am asking myself where this
language is superior or better suited than others. For example, all I see in
the tutorials are lots of examples of list processing, arithmetic
calculations - all in a DOS-like environment.

s/DOS-like/command line/

The command line interface is widely used on unix-like systems, and is
very handy for a lot of things.
In general, I think using the keyboard more and the mouse less is
typically a win, both in power of expression and in speed. I don't
think it's a coincidence that most of us use the keyboard and plain
text to communicate in this forum. Writing text by pointing, dragging
and clicking instead of by typing, would probably slow us down quite
a bit.

I feel much more productive in bash than in most Windows apps.
(I still like to have several terminal windows though.)

My seven year old son did play a bit with magnetic letters we have
on the fridge door in the kitchen (when he was small, he'd say now)
but he's dropped that entirely in favor of pencil and paper. His
two year old brother can play with that fridge-based GUI...

When we reach a certain level of expertize, we often find it easier
to pick the things we put together from our memory and imagination,
rather than from some kind of menu in our field of vision.

Ok, the keyboard is a kind of menu too, but that's not the point.
The important thing is that text is an extremely powerful way of
conveying information that we've used for thousands of years. It's
far more sophisticated than pointing at visible objects.

Also, a tool like Python isn't bound to keyboards, like VB is
bound to the Windows GUI. Almost everything, from network traffic,
to GUI interaction, to hardware manipulations can be effectively
translated to and from text formats. Not that Python can't handle
binary data, but going via textual representations usually makes
testing, debugging and understanding much easier.

I'd suggest that the OP look at the Wikipedia page in Unix
Philosophy. Read about Gancarz tenets, and replace shell scripts
with Python. (Of course, Python offers more elaborate communication
than pipes.) I'd also the link to Joel Spolsky's Biculturalism
article, and read that.
Oct 12 '06 #22

P: n/a
Magnus Lycka wrote:

....
I'd suggest that the OP look at the Wikipedia page in Unix
Philosophy. Read about Gancarz tenets, and replace shell scripts
with Python. (Of course, Python offers more elaborate communication
than pipes.) I'd also the link to Joel Spolsky's Biculturalism
article, and read that.
I fully agree with your posting. I (and I think many people) feel the same
way about commandline and GUI interfaces. Commandline is the way my brain
works...

But what I really wanted to say: a very good reading about the different
types of thinking and culture when comparing commandline and GUI and other
important cultural phenomena using either the "commandline"- or the
GUI-philosophy (e.g. DisneyWorld vs. "the real things") is "In the
beginning was the commandline" from Neal Stephenson. Everybody, who is
interested in the comparison of these different types of thinking and (how
Stephenson says) cultures, find a very good essay about it in this small
book.

Regards
Stephan
Oct 13 '06 #23

P: n/a
On 10/12/06, Magnus Lycka <ly***@carmen.sewrote:
I feel much more productive in bash than in most Windows apps.
(I still like to have several terminal windows though.)
Perhaps you have used GNU screen. It's on my definitive list of winners.

(As an added bonus, using screen via SSH or---heaven forfend---telnet
will save you the bandwidth of having a million sessions open.)

-- Theerasak
Oct 13 '06 #24

This discussion thread is closed

Replies have been disabled for this discussion.