Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Re: Python becoming less Lisp-like

Reply
Thread Tools

Re: Python becoming less Lisp-like

 
 
Fernando
Guest
Posts: n/a
 
      03-14-2005
On Sun, 13 Mar 2005 18:23:05 GMT, Peter Seibel <>
wrote:

>Looks like the BDFL is planning to take lambda, reduce, filter, and
>map out of Python in the next big rev of Python (so called Python
>3000):
>
> <http://www.artima.com/weblogs/viewpost.jsp?thread=98196>


Basically, it says that it will get rid of the explicit map, filter
and reduce and substitute them by some syntactic sugar that uses them
implicitly. That's ok, and not a big deal.

It will also get rid of lambda, and it's not a great loss, since
python's version is so limited that it's almost useless. Besides,
given the syntactic sugar used to replace map, reduce and filter,
there's no real need for lambda in the most usual cases.

The real problem with Python is that it has been very successful as a
scripting language in the static-typing/C/C++ world. Those
programmers, instead of adapting their evil ways to Python, and
realizing the advantages of a dynamic language, are influencing
Python's design and forcing it into the static-typing mold. Python is
going the C++ way: piling feature upon feature, adding bells and
whistles while ignoring or damaging its core design.

The new 'perlified' syntax for decorators, the new static type bonds
and the weird decision to kill lambda instead of fixing it are good
examples that show that Python is going the wrong way. What used to be
a cool language will soon be an interpreted C/C++ without any
redeeming value. A real pity...

 
Reply With Quote
 
 
 
 
Torsten Bronger
Guest
Posts: n/a
 
      03-14-2005
Hallöchen!

Fernando <> writes:

> [...]
>
> [...] Python is going the C++ way: piling feature upon feature,
> adding bells and whistles while ignoring or damaging its core
> design.


I'm new to Python, but I while I skimmed through the "What's new?"
of recent versions, I saw the same unfortunate development.

Moreover, I dislike the fact that new features are implemented
partly in the interpreter and partly in Python itself. It reminds
me of TeX/LaTeX, where the enormous flexibility of TeX is used to
let it change itself in order to become a LaTeX compiler. However,
the underlying constructs are utterly ugly, as are some of Python's
features (e.g. __getattr__ and such, and decorators, in order to get
nice class properties).

> The new 'perlified' syntax for decorators,


Python lost its innocence here: The first really special character,
disturbing the former syntax style. Not important, but irritating.

> the new static type bonds


What is meant by that?

> [...] What used to be a cool language will soon be an interpreted
> C/C++ without any redeeming value. A real pity...


I don't think so, there will be always an enormous difference. But
Python seems a little bit chaotic.

I looked for a new language for my hobby programming. I used to use
Turbo Pascal for 10 years and then C++ for 6 years. A couple of
weeks ago, I narrowed my decision to C#, Ruby, and Python. At the
moment, I want to go with Python, but you can definitely see that
it's the oldest one: Many parts of its syntax are awkward and look
like patchwork.

Tschö,
Torsten.

--
Torsten Bronger, aquisgrana, europa vetus
 
Reply With Quote
 
 
 
 
Torsten Bronger
Guest
Posts: n/a
 
      03-14-2005
Hallöchen!

Fernando <> writes:

> [...]
>
> [...] Python is going the C++ way: piling feature upon feature,
> adding bells and whistles while ignoring or damaging its core
> design.


I'm new to Python, but I while I skimmed through the "What's new?"
of recent versions, I saw the same unfortunate development.

Moreover, I dislike the fact that new features are implemented
partly in the interpreter and partly in Python itself. It reminds
me of TeX/LaTeX, where the enormous flexibility of TeX is used to
let it change itself in order to become a LaTeX compiler. However,
the underlying constructs are utterly ugly, as are some of Python's
features (e.g. __getattr__ and such, and descriptors, in order to
get nice class properties).

> The new 'perlified' syntax for decorators,


Python lost its innocence here: The first really special character,
disturbing the former syntax style. Not important, but irritating.

> the new static type bonds


What is meant by that?

> [...] What used to be a cool language will soon be an interpreted
> C/C++ without any redeeming value. A real pity...


I don't think so, there will be always an enormous difference. But
Python seems a little bit chaotic.

I looked for a new language for my hobby programming. I used to use
Turbo Pascal for 10 years and then C++ for 6 years. A couple of
weeks ago, I narrowed my decision to C#, Ruby, and Python. At the
moment, I want to go with Python, but you can definitely see that
it's the oldest one: Many parts of its syntax are awkward and look
like patchwork.

Tschö,
Torsten.

--
Torsten Bronger, aquisgrana, europa vetus
 
Reply With Quote
 
Steven Bethard
Guest
Posts: n/a
 
      03-14-2005
Torsten Bronger wrote:
> the underlying constructs are utterly ugly, as are some of Python's
> features (e.g. __getattr__ and such, and decorators, in order to get
> nice class properties).


What do you find ugly about __getattr__?

> I looked for a new language for my hobby programming.

[snip]
> I want to go with Python, but you can definitely see that
> it's the oldest one: Many parts of its syntax are awkward and look
> like patchwork.


Interesting. I've never thought that. What parts strike you as
"patchwork"?

STeVe
 
Reply With Quote
 
Fernando
Guest
Posts: n/a
 
      03-14-2005
On Tue, 15 Mar 2005 00:01:09 +0100, Torsten Bronger
<> wrote:


>> The new 'perlified' syntax for decorators,

>
>Python lost its innocence here: The first really special character,
>disturbing the former syntax style. Not important, but irritating.
>
>> the new static type bonds

>
>What is meant by that?


http://www.artima.com/weblogs/viewpost.jsp?thread=85551
 
Reply With Quote
 
news.sydney.pipenetworks.com
Guest
Posts: n/a
 
      03-14-2005

> I looked for a new language for my hobby programming. I used to use
> Turbo Pascal for 10 years and then C++ for 6 years. A couple of
> weeks ago, I narrowed my decision to C#, Ruby, and Python. At the
> moment, I want to go with Python, but you can definitely see that
> it's the oldest one: Many parts of its syntax are awkward and look
> like patchwork.


You mean you think Ruby syntax is less awkward then Python ? Maybe you
should add Perl to your list of languages to learn especially after your
complaints about the decorator syntax.


Huy
 
Reply With Quote
 
Ulrich Hobelmann
Guest
Posts: n/a
 
      03-15-2005
Torsten Bronger wrote:
> Hallöchen!


Tach!

> Moreover, I dislike the fact that new features are implemented
> partly in the interpreter and partly in Python itself. It reminds
> me of TeX/LaTeX, where the enormous flexibility of TeX is used to
> let it change itself in order to become a LaTeX compiler. However,
> the underlying constructs are utterly ugly, as are some of Python's
> features (e.g. __getattr__ and such, and descriptors, in order to
> get nice class properties).


Well, I think TeX is just an awful, weird language with (AFAIK) dynamic
scoping. Thinking of Lisp macros, I'd say that implementing features on
top of a small language core is GREAT!
 
Reply With Quote
 
Bruno Desthuilliers
Guest
Posts: n/a
 
      03-15-2005
news.sydney.pipenetworks.com a écrit :
>
>> I looked for a new language for my hobby programming. I used to use
>> Turbo Pascal for 10 years and then C++ for 6 years. A couple of
>> weeks ago, I narrowed my decision to C#, Ruby, and Python. At the
>> moment, I want to go with Python, but you can definitely see that
>> it's the oldest one: Many parts of its syntax are awkward and look
>> like patchwork.

>
>
> You mean you think Ruby syntax is less awkward then Python ?


It is actually. Ruby's syntax is mostly consistent and coherent, and
there is much less special cases than in Python.

Now it's also much more difficult to grasp Ruby for programmers coming
from procedural languages, but that's another story.

> Maybe you
> should add Perl to your list of languages to learn especially after your
> complaints about the decorator syntax.


I guess you stopped your exploration of Ruby at the first sign of
'special chars' syntax.

I don't like Perl, I still prefer to use Python (over Ruby) for a number
of good and less good reasons, but I somewhat share Fernando's (and some
other's people here) concerns about the future of MyFavoriteLanguage.

Bruno
 
Reply With Quote
 
Valentino Volonghi aka Dialtone
Guest
Posts: n/a
 
      03-15-2005
Bruno Desthuilliers <> wrote:

> It is actually. Ruby's syntax is mostly consistent and coherent, and
> there is much less special cases than in Python.


I'd be glad to know which special cases are you referring to.
Please note that you wrote "much less" which means there are probably so
many that you weren't able to count them.

--
Valentino Volonghi aka Dialtone
Now Running MacOSX 10.3.8
Blog: http://vvolonghi.blogspot.com
http://weever.berlios.de
 
Reply With Quote
 
Torsten Bronger
Guest
Posts: n/a
 
      03-15-2005
Hallöchen!

Steven Bethard <> writes:

> Torsten Bronger wrote:
>
>> the underlying constructs are utterly ugly, as are some of
>> Python's features (e.g. __getattr__ and such, and decorators, in
>> order to get nice class properties).

>
> What do you find ugly about __getattr__?


[First, I wanted to say "descriptors" instead of "decorators" (I
superseded my post).]

The goal is to trigger function calls when attributes are accessed.
This is called properties in C# (and maybe in Ruby, too). Python
now also has this concept. What I find ugly is that it is not a
syntax element. It looks artificially added to the language. In
C#, the "set" and "get" methods form with its attribute a syntactic
unity. Everything is together, and no "property" function is
necessary.

>> I looked for a new language for my hobby programming.

>
> [snip]
>
>> I want to go with Python, but you can definitely see that it's
>> the oldest one: Many parts of its syntax are awkward and look
>> like patchwork.

>
> Interesting. I've never thought that. What parts strike you as
> "patchwork"?


Well, with a little bit of experience in the field of programming
languages, you can see which elements had been added later (ie years
after Python's creation). Properties surely would have looked
*very* different 15 years ago.

There would be keywords for static and class methods, no distinction
between Unicode and non-Unicode, and probably no multiple
inheritance (which seem to have caused a lot of trouble recently),
and no __new__.

At first, I was very pleased by Python's syntax (and still I am).
Then, after two weeks, I learned about descriptors and metaclasses
and such and understood nothing (for the first time in syntax I felt
totally lost).

The reason why I stay with Python is (apart from the indenting
syntax, huge community, and equally huge library) my feeling that
the Python developers what to unify the language, even by dropping
features. The current snapshot is a transitional Python and thus
with some double features. The numerical types and two kinds of
classes are examples. I'm very surprised about this, because Python
is a production language, but I'm happy, too.

Tschö,
Torsten.

--
Torsten Bronger, aquisgrana, europa vetus
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
More Efficiency,More Benefit,Less Risk,Less Work! jiajia wu ASP .Net 0 10-01-2009 01:50 PM
More Efficiency,More Benefit,Less Risk,Less Work! 6668 Ruby 0 05-14-2009 12:33 AM
Re: Is c.l.py becoming less friendly? Terry Reedy Python 3 02-06-2009 09:11 AM
Is c.l.py becoming less friendly? mk Python 1 02-05-2009 04:22 PM
mozilla spam filter becoming less effective Dave - Dave.net.nz NZ Computing 1 08-22-2005 05:43 AM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57