Re: What is unique about Python?

2005-12-24 Thread Mike Meyer
KraftDiner [EMAIL PROTECTED] writes:

 I like python.. Its ok.. One thing that I find a bit dangerous it the
 use
 of the tab character for indentation.. I've had copy and pasts loose
 indentation on me and its theoretically impossible to really figure out
 what the indentation should be.

So don't use tabs. Use spaces.

  I think for the extra effort it would have taken to put brackets in
 the language it would increase a lot of peoples confidence in using
 it for codeing...

It would decrease mine. It would mean I can't just look at the code to
check control flow, I actually have to check the blasted brackets.

  mike

-- 
Mike Meyer [EMAIL PROTECTED]  http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-24 Thread Szabolcs Nagy
i don't know if they are unique, but my favourite features are:

readable and short code (consistent syntax, few keywords)
iterpreter (very useful for learning)
dir(obj) / vars(obj) (very useful for learning)
identation
dynamic typing
lightweight oo (no public/protected/private)
built-in types (list, dict, str have useful methods)
iterator protocol
generators (yield syntax)
list comprehension / generator expression
keyword args
slicing
tuple assignment (unpacking tuple: a,b =1,2)
return with multiple values (tuple makes it easy)
widespread (it's easy to find a python module for any kind of task)
extendible with low-level languages (pyrex/swig/boostpython)
crossplatform
free

nszabolcs

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-24 Thread Roy Smith
Szabolcs Nagy [EMAIL PROTECTED] wrote:

 iterpreter (very useful for learning)

In my mind, this is the coolest feature of all.  Most of the time, I don't 
even bother looking stuff up in the docs; it's faster to just fire up an 
interpreter and try something.  Functions like:

 dir(obj) / vars(obj) (very useful for learning)

really work well with this (I'm trying to figure out some way to work 
synergize into this without sounding like some corporate marketing wonk).

 identation

Feh.  A red herring.  At best, syntactic sugar.  At worst, something for 
potential adopters to get hung up about.

 dynamic typing

Another absolute key feature, which can't be fully appreciated until you're 
staring at some 20-line long C++ template error message that you can't even 
begin to figure out.

 lightweight oo (no public/protected/private)

This one is debatable.  This is value in private data (and methods).  
Fortunately, Python does let you make things private with the 
double-underscore syntax.

 built-in types (list, dict, str have useful methods)

Python does come with a good assortment of built-in types and containers, 
but most languages these days come with pretty much the same assortment.

 iterator protocol

More than the protocol is the syntax.  Every iterator in Python looks and 
feels the same.  No flipping through pages of documentation to figure out 
how this particular class's iterator works.

 generators (yield syntax)
 list comprehension / generator expression
 keyword args
 slicing
 tuple assignment (unpacking tuple: a,b =1,2)
 return with multiple values (tuple makes it easy)
 widespread (it's easy to find a python module for any kind of task)
 extendible with low-level languages (pyrex/swig/boostpython)
 crossplatform
 free
 
 nszabolcs
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-24 Thread Szabolcs Nagy

 identation

Feh.  A red herring.  At best, syntactic sugar.  At worst, something for
potential adopters to get hung up about.
i always ident my code, but in python i don't need to bother with the
{} and the ; (which is redundant if i ident anyway) so i like it
because i need to type less, and i can read other's code (because of
the same layout).

 lightweight oo (no public/protected/private)

This one is debatable.  This is value in private data (and methods).
Fortunately, Python does let you make things private with the
double-underscore syntax.
i like it because i need to type (and think) less. When i need to make
it clear, which method is private/protected, i can always add a '_' or
'__' prefix by convention.

 built-in types (list, dict, str have useful methods)

Python does come with a good assortment of built-in types and containers,
but most languages these days come with pretty much the same assortment.
python has very few built-in types and these are powerful. C++ stl or
java.util has more data structures but those are somewhat less usable.
Other languages with the same bult-in data types (thinking about perl,
php, ruby) always have a little bit differrent behaviour and i always
happen to prefer the python way. (nothing can beat python's list +
slicing or the ease of creating a dict).

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-23 Thread D H
Kay Schluehr wrote:
 gsteff wrote:
 
 
So I'm wondering, what is
innovative about Python, either in its design or implementation?  Or is
its magic really just in combining many useful features of prior
languages in an unusually pleasant way?

Greg
 
 
 The latter.
 
 http://www.python-in-business.org/ep2005/download.cpy?document=8599
 
 As Guido described in his presentation Python is a decendent of ABC
 developed at the university where he studied.
 
 Here is some material about the primary motivations of ABC:
 
 http://homepages.cwi.nl/~steven/abc/language.html
 
 Python seems to proof that eclecticism can be done right. 

Python has as much resemblance to ABC as an airplane does to a car.
The design principles used by ABC (like colons at the end of lines)
may have a certain justification in the context of ABC, but you cannot
simply transfer that justification to python.
ABC is designed specifically and entirely to be beginner-friendly. 
Python is not.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-23 Thread Max
gsteff wrote:
 I'm a computer science student, and have recently been trying to
 convince the professor who teaches the programming language design
 course to consider mentioning scripting languages in the future.  Along
 those lines, I've been trying to think of features of Python, and
 scripting languages in general, that can't be found in older languages,
 and have been having a surprising amount of trouble.  Dynamic typing
 can be found in Smalltalk, the module concept can be found in Ada,
 functional parameters and the dynamic creation of functions can be
 found in Lisp.  The indentation-based syntax seems to be unique, but
 that's not really what I'm looking for.  So I'm wondering, what is
 innovative about Python, either in its design or implementation?  Or is
 its magic really just in combining many useful features of prior
 languages in an unusually pleasant way?
 
 Greg
 

I find that development in python is much faster than anything else. But 
one of the noticeable features, for me and presumably computer science 
students, is the pseudocode-python translation: I've been working 
through a CS textbook to train for the IOI, and noticed how much my 
python implementations look like the textbook's pseudocode (whereas the 
C++ versions look nothing like the pcode).

If anything, python is _more_ expressive - where list comprehensions and 
generators are the natural way of doing things, the textbook has to 
kludge because its target audience is C++, Java and Pascal programmers.

--Max
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-23 Thread Robert J. Hansen
 [w]hat is innovative about Python, either in its design or implementation?

This is probably the wrong approach to take.

What Python brings to the table isn't a new capability, but an elegant
and straightforward notation.  It's not as beautiful as LISP, but it's
close.  Sell it on that, not on any unique or rare capabilities.

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-23 Thread KraftDiner
I like python.. Its ok.. One thing that I find a bit dangerous it the
use
of the tab character for indentation.. I've had copy and pasts loose
indentation on me and its theoretically impossible to really figure out
what the indentation should be.  I think for the extra effort it would
have
taken to put brackets in the language it would increase a lot of
peoples
confidence in using it for codeing...

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-23 Thread Alex Martelli
gsteff [EMAIL PROTECTED] wrote:
   ...
 that's not really what I'm looking for.  So I'm wondering, what is
 innovative about Python, 

The letter 'y'.  Before Python, it was woefully underused in the names
of programming languages.  Now, of course, there's also Ruby, but then
we know Ruby did get some ideas from Python (and the letter 'y' is one
of them).


Alex
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-23 Thread Roy Smith
In article [EMAIL PROTECTED],
 [EMAIL PROTECTED] (Alex Martelli) wrote:

 gsteff [EMAIL PROTECTED] wrote:
...
  that's not really what I'm looking for.  So I'm wondering, what is
  innovative about Python, 
 
 The letter 'y'.  Before Python, it was woefully underused in the names
 of programming languages.  Now, of course, there's also Ruby, but then
 we know Ruby did get some ideas from Python (and the letter 'y' is one
 of them).
 
 
 Alex

Yacc has been around for a long time.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-23 Thread Alex Martelli
Roy Smith [EMAIL PROTECTED] wrote:

 In article [EMAIL PROTECTED],
  [EMAIL PROTECTED] (Alex Martelli) wrote:
 
  gsteff [EMAIL PROTECTED] wrote:
 ...
   that's not really what I'm looking for.  So I'm wondering, what is
   innovative about Python, 
  
  The letter 'y'.  Before Python, it was woefully underused in the names
  of programming languages.  Now, of course, there's also Ruby, but then
  we know Ruby did get some ideas from Python (and the letter 'y' is one
  of them).
  
 
 Yacc has been around for a long time.

...but is not a programming language...


Alex
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-23 Thread skip

  that's not really what I'm looking for.  So I'm wondering, what is
  innovative about Python, 

 The letter 'y'.  Before Python, it was woefully underused in the
 names of programming languages...

Roy Yacc has been around for a long time.

Sure, but it's capitalized there.  Python innovated the use of lower-case
'y'.

Skip
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-20 Thread dvm1981
On Mon, 19 Dec 2005 09:55:44 -0800, gsteff wrote:

 I'm a computer science student, and have recently been trying to
 convince the professor who teaches the programming language design
 course to consider mentioning scripting languages in the future.  Along
 those lines, I've been trying to think of features of Python, and
 scripting languages in general, that can't be found in older languages,
 and have been having a surprising amount of trouble.  Dynamic typing
 can be found in Smalltalk, the module concept can be found in Ada,
 functional parameters and the dynamic creation of functions can be
 found in Lisp.  The indentation-based syntax seems to be unique, but
 that's not really what I'm looking for.  So I'm wondering, what is
 innovative about Python, either in its design or implementation?  Or is
 its magic really just in combining many useful features of prior
 languages in an unusually pleasant way?
 
 Greg

I can suggest to read the introduction of the (free)book :
* Green Tea Press - How to Think Like a Computer Scientist- Learning With
Python 2002

--
David Van Mosselbeen
[EMAIL PROTECTED]
-- 
http://mail.python.org/mailman/listinfo/python-list


What is unique about Python?

2005-12-19 Thread gsteff
I'm a computer science student, and have recently been trying to
convince the professor who teaches the programming language design
course to consider mentioning scripting languages in the future.  Along
those lines, I've been trying to think of features of Python, and
scripting languages in general, that can't be found in older languages,
and have been having a surprising amount of trouble.  Dynamic typing
can be found in Smalltalk, the module concept can be found in Ada,
functional parameters and the dynamic creation of functions can be
found in Lisp.  The indentation-based syntax seems to be unique, but
that's not really what I'm looking for.  So I'm wondering, what is
innovative about Python, either in its design or implementation?  Or is
its magic really just in combining many useful features of prior
languages in an unusually pleasant way?

Greg

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-19 Thread Kent Johnson
gsteff wrote:
 I'm a computer science student, and have recently been trying to
 convince the professor who teaches the programming language design
 course to consider mentioning scripting languages in the future.  Along
 those lines, I've been trying to think of features of Python, and
 scripting languages in general, that can't be found in older languages,
 and have been having a surprising amount of trouble.  Dynamic typing
 can be found in Smalltalk, the module concept can be found in Ada,
 functional parameters and the dynamic creation of functions can be
 found in Lisp.  The indentation-based syntax seems to be unique, but
 that's not really what I'm looking for.  So I'm wondering, what is
 innovative about Python, either in its design or implementation?  Or is
 its magic really just in combining many useful features of prior
 languages in an unusually pleasant way?

IMO it is the latter. Most of the features of Python can be found in other 
languages. Not 
so many languages have them all. It is the combination of ease of use and power 
that makes 
Python stand out.

Kent
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-19 Thread Luis M. Gonzalez
Perhaps you should ask yourself why you like Python first, and then
you'll probably have an answer.

I'd say that Python is all about productivity.
You can get more done in less time and with fewer lines of code because
it's more consice, flexible and expressive.
It's also very clear, easy to write and easy to read.
You don't need to compile before running your code, and its
interactivity lets you experiment and try different approaches faster
and better when writing algorithms. This leads to better results and
much faster than with any other traditional language.

Luis

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-19 Thread James
 The indentation-based syntax seems to be unique

I think Haskell was there first. As well as ABC, one of Python's
precursors.

Python is a pragmatic language, just like C (I wish I could say that
about Java). It does not necessarily innovate but incorporates things
known to work elsewhere. C and Java have not done anything particularly
unique either. They are included in curricula by their popularity.
Isn't that a good enough argument?

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-19 Thread Murtog (sent by Nabble.com)

I would say to your teacher that Python is one of the few languagens that are fun to program with. 

Cheers =]

Sent from the Python - python-list forum at Nabble.com:
Re: What is unique about Python?
-- 
http://mail.python.org/mailman/listinfo/python-list

Re: What is unique about Python?

2005-12-19 Thread Kevin Yuan
2005/12/20, Murtog (sent by Nabble.com) [EMAIL PROTECTED]:

I would say to your teacher that Python is one of the few languagens that are fun to program with. 
It realy is! I have to say it although I have used it for only 3 days!
-- 
http://mail.python.org/mailman/listinfo/python-list

Re: What is unique about Python?

2005-12-19 Thread jhujsak
Indeed. I've found that I can code applications with 10-20% of the
amount of code required by other languages and write the code in a
correspondingly shorter period of time. The result is far less brittle,
more functional and far more maintainable. This is code you can come
back to a year later and pick right up with ease. That's not something
I can say for most traditional compiled languages. All of this, of
course, translates directly to much lower lifecycle cost and safer,
more reliable code.

--Jon

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-19 Thread Alex Martelli
gsteff [EMAIL PROTECTED] wrote:

 The indentation-based syntax seems to be unique

No, you can find it in Haskell too (independently developed), and older
languages such as Occam.


Alex
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: What is unique about Python?

2005-12-19 Thread Kay Schluehr
gsteff wrote:

 So I'm wondering, what is
 innovative about Python, either in its design or implementation?  Or is
 its magic really just in combining many useful features of prior
 languages in an unusually pleasant way?

 Greg

The latter.

http://www.python-in-business.org/ep2005/download.cpy?document=8599

As Guido described in his presentation Python is a decendent of ABC
developed at the university where he studied.

Here is some material about the primary motivations of ABC:

http://homepages.cwi.nl/~steven/abc/language.html

Python seems to proof that eclecticism can be done right. 

Kay

-- 
http://mail.python.org/mailman/listinfo/python-list