Python 3.0 migration plans?

J

John Nagle

Alex said:
And I'd rather see peace on Earth and goodwill among men than _either_
Python 3 or your cherished "finished" 2.5 -- the comparison and implied
tradeoff make about as much sense as yours.

Insofar as Python has an organization, it's not adequately managing
extension modules. Each extension module has its own infrastructure,
with its own build procedures, its own bug list, and its own maintainers.
There's not even an archive. Unlike CPAN, Cheese Shop is just a directory of
URLs.

Take a look at how Perl does it. Here are the instructions on
how to contribute to CPAN:

http://www.cpan.org/modules/04pause.html

There's a way to get your module into the system, a standardized format,
build, and installation procedure, and an archive which is mirrored.
There's a common bug reporting system. Modules abandoned by their
original developers are not lost, and can be "adopted" by someone else.

Python doesn't have any of this. And that's far more of a problem
than Python 3.x.

John Nagle
 
C

Chris Mellon

You said it was a most basic language feature. I still haven't heard
anything that leads me to believe that statement is correct. What
languages implemented decorators as a most basic language feature?
Python didn't have them for over a decade so it doesn't qualify.

Decorators are syntax sugar for higher order functions. Higher order
functions are a both a basic and a fundamental language feature, and
exist in many languages. The fact that you don't know this just
proves, once again, that you like to talk more than you like to learn.
 
D

Diez B. Roggisch

You said it was a most basic language feature. I still haven't heard
anything that leads me to believe that statement is correct. What
languages implemented decorators as a most basic language feature?

I was talking about Python, the programming language that is discussed in
this NG.
Python didn't have them for over a decade so it doesn't qualify.

Says who? For further comments, see below.
You said I had to provide a viable alternative. I did that. I haven't
heard of the descriptor protocol.

Where did you do provide that alternative?
One of the problems with "getting" decorators is that they are not in
older books at all and newer books like Beginning Python from Novice
to Professional (c) 2005 Magnus Lie Hetland, that I own, devote almost
nothing to them. Out of 640 pages they are only mentioned
in one paragraph that is in a section titled "Static Methods and Class
Methods",(and followed by a class example with @staticmethod and
@classmethod).

So it seems like Magnus Lie Hetland didn't think they were very
important and he had Professional in his book title.


I consider "core features of a language" the features that are part of the
specification and implementation. Neither do I care if there is anecdotal
evidence of prior usage in other languages, nor who or who not thinks they
are important enough to be dealt with in a book.

And above all, I don't consider the time things have been around _without_
any feature as proof of their irrelevance - or do you consider cars being
not core to western culture because they only have been around about 100
years, whereas horses have been there for thousands of years? Happy riding,
cowboy!

Python 2.4 has been released in 2003, btw - so decorators are around for 4
years now.

So unless you come up with a definition of "core feature of a language" that
someone respectable in the CS-community wrote that features "time being
around" or "random book authors consider worthy" or "persons lacking the
motivation to really dig into do finally get it", I consider your
definition worthless. Agreed?

I'm not against additions on principle.


I certainly wouldn't call them a basic language feature. Java 1.0 came
out in January 1996, Java 1.5 in September 2004. It doesn't appear
that the language designer of Java, James Gosling, is still at the
wheel or BDFL. But yes, Java is showing signs of "complexity creep".
You'll be happy to know that I really dislike the C++ template syntax
and Java has decided to add something similar.

Again, your anecdotal language feature definition is nonsense.

By the way, considering generics and C++-templates as "something similar"
shows the inclined beholder that there are other languages out there you
don't really understand.

Diez
 
T

TheFlyingDutchman

Decorators are syntax sugar for higher order functions. Higher order
functions are a both a basic and a fundamental language feature, and
exist in many languages. The fact that you don't know this just
proves, once again, that you like to talk more than you like to learn.

Which of the common languages have higher order functions and what is
the syntax?
 
D

Diez B. Roggisch

Paul said:
Actually the so called "total" languages aren't Turing-complete. I
think Coq is an example: every Coq function must return a value. So

<snip/>

Please, Paul. There is no need to hijack every thread to show off your mad
functional and wicked staticly typed programming language skillz. We had
that discussion at a different time, and you very well know that with
serious I didn't mean "can be used to program rockets that don't fall of
the earth", but that aren't toy-languages used to solve real-world
problems.

Diez
 
M

Marc 'BlackJack' Rintsch

Which of the common languages have higher order functions and what is
the syntax?

C, C++, Pascal, Perl, PHP, Ruby have them. And of course the functional
languages, most notably Lisp and Scheme as you asked for common languages.

Don't know if C#'s delegates qualify.

Ciao,
Marc 'BlackJack' Rintsch
 
T

TheFlyingDutchman

I was talking about Python, the programming language that is discussed in
this NG


Says who? For further comments, see below.

I had the impression you were saying it was a basic language feature
of most languages. In any event Guido Van Rossum didn't include them
for over a decade. If he felt they were a basic language feature it
seems that he would have included them in 1991.
Where did you do provide that alternative?

def static
def abstract

I was not providing an alternative for decorators.

I consider "core features of a language" the features that are part of the
specification and implementation. Neither do I care if there is anecdotal
evidence of prior usage in other languages, nor who or who not thinks they
are important enough to be dealt with in a book.

By that definition isn't anything that is part of a language a core
feature? Weren't we talking about basic features?
And above all, I don't consider the time things have been around _without_
any feature as proof of their irrelevance - or do you consider cars being
not core to western culture because they only have been around about 100
years, whereas horses have been there for thousands of years? Happy riding,
cowboy!

A relevant analogy would talk about a feature of cars that was not on
them in the beginning but has been added later and whether it was a
basic (or now, core) feature. Your definition of core feature given
above means that anything on a car when it comes out of the factory is
a core feature.
Python 2.4 has been released in 2003, btw - so decorators are around for 4
years now.

So unless you come up with a definition of "core feature of a language" that
someone respectable in the CS-community wrote that features "time being
around" or "random book authors consider worthy" or "persons lacking the
motivation to really dig into do finally get it", I consider your
definition worthless. Agreed?

Since you defined a core feature (haven't seen your definition of a
basic feature) as anything in the specification or implementation, I
agree that it makes sense for you to disregard anything that limits
core features to something less than everything.

Again, your anecdotal language feature definition is nonsense.

By the way, considering generics and C++-templates as "something similar"
shows the inclined beholder that there are other languages out there you
don't really understand.

For me understanding is all I can hope to attain. Really understanding
is something I must yield to the corps d'elite.
 
T

TheFlyingDutchman

C, C++, Pascal, Perl, PHP, Ruby have them. And of course the functional
languages, most notably Lisp and Scheme as you asked for common languages.

Don't know if C#'s delegates qualify.

Ciao,
Marc 'BlackJack' Rintsch

What is the syntax of a higher order function in C, C++ and Pascal?
 
T

TheFlyingDutchman

This is like listening to a four-year-old torment its parents with
incessant questions. Do you *have* to ask every question that pops into
your mind?

In this case I asked it as part of the original question and it was
ignored. I have programmed in C and C++ and a little Pascal many years
ago. I don't remember anything about Higher Order Functions and would
like to see exactly how you do it and to verify the contention.
 
P

Paul Rubin

TheFlyingDutchman said:
What is the syntax of a higher order function in C, C++ and Pascal?

void qsort(int *array, int length, int width, int (*compare)());

is a C library example. I think we'd describe qsort as a HOF since
one of its arguments (the comparison routine) is a function. We
wouldn't say that C has first class functions like Python or Scheme
does, since you can't create new functions at runtime.
 
F

Francesco Guerrieri

In this case I asked it as part of the original question and it was
ignored. I have programmed in C and C++ and a little Pascal many years
ago. I don't remember anything about Higher Order Functions and would
like to see exactly how you do it and to verify the contention.


You could just google for it. Just in case your connection to google
or other similar search engines has been disabled for some reason,
here are some links.

Try for instance

http://okmij.org/ftp/c++-digest/Lambda-CPP-more.html#Ex3

or

http://www.cc.gatech.edu/~yannis/fc++/

or

http://www.boost.org/libs/mpl/doc/tutorial/higher-order.html

francesco
 
T

TheFlyingDutchman

In this case I asked it as part of the original question and it was
ignored. I have programmed in C and C++ and a little Pascal many years
ago. I don't remember anything about Higher Order Functions and would
like to see exactly how you do it and to verify the contention.

Perhaps you could do a bit of independent research. Then your messages
to the group could contain more thoughtful questions and responses.
But you miss the fact that I am providing value to the group by
providing unthoughtful questions and unthoughtful responses. By having
most of the pocket protectors being thrown at me, I provide a
diversion that allows others to speak more freely and without fear of
reproach.
 
T

TheFlyingDutchman

You could just google for it. Just in case your connection to google
or other similar search engines has been disabled for some reason,
here are some links.

Try for instance

http://okmij.org/ftp/c++-digest/Lambda-CPP-more.html#Ex3

or

http://www.cc.gatech.edu/~yannis/fc++/

or

http://www.boost.org/libs/mpl/doc/tutorial/higher-order.html
Correct me if I am wrong, but none of those examples showed something
in C++ similar to a decorator in Python - that is, unique syntax in
the language for implementing a Higher Order Function. One thing I
will say about those examples is that they make Python decorators look
sweet!
 
T

TheFlyingDutchman

In this case I asked it as part of the original question and it was
ignored. I have programmed in C and C++ and a little Pascal many years
ago. I don't remember anything about Higher Order Functions and would
like to see exactly how you do it and to verify the contention.

Perhaps you could do a bit of independent research. Then your messages
to the group could contain more thoughtful questions and responses.
But you miss the fact that I am providing value to the group by
providing unthoughtful questions and unthoughtful responses. By having
most of the pocket protectors being thrown at me, I provide a
diversion that allows others to speak more freely and without fear of
reproach.
 
D

Diez B. Roggisch

TheFlyingDutchman said:
In this case I asked it as part of the original question and it was
ignored. I have programmed in C and C++ and a little Pascal many years
ago. I don't remember anything about Higher Order Functions and would
like to see exactly how you do it and to verify the contention.

Perhaps you could do a bit of independent research. Then your messages
to the group could contain more thoughtful questions and responses.
But you miss the fact that I am providing value to the group by
providing unthoughtful questions and unthoughtful responses. By having
most of the pocket protectors being thrown at me, I provide a
diversion that allows others to speak more freely and without fear of
reproach.

Or bind resources of these pocket protectors that otherwise would lead to
answers for people that do seek enlightment...

Diez
 
S

Steve Holden

TheFlyingDutchman said:
[snip]
In this case I asked it as part of the original question and it was
ignored. I have programmed in C and C++ and a little Pascal many years
ago. I don't remember anything about Higher Order Functions and would
like to see exactly how you do it and to verify the contention.
Perhaps you could do a bit of independent research. Then your messages
to the group could contain more thoughtful questions and responses.
But you miss the fact that I am providing value to the group by
providing unthoughtful questions and unthoughtful responses. By having
most of the pocket protectors being thrown at me, I provide a
diversion that allows others to speak more freely and without fear of
reproach.
It's the knives and hand grenades you want to worry about. We are a very
friendly and welcoming group, but we do have our limits. You're fast
approaching 100% on my trollometer.

regards
Steve
--
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://del.icio.us/steve.holden

Sorry, the dog ate my .sigline
 
T

TheFlyingDutchman

Or bind resources of these pocket protectors that otherwise would lead to
answers for people that do seek enlightment...

I don't think it would be correct to characterize my posts as not
seeking enlightenment. I do also happen to voice my opinion which
seems appropriate since this can be characterized as a discussion
group. It theoretically is possible for a discussion group to tolerate
opinions that diverge from the majority.

One issue I have with this group and that I encountered many years ago
in the Perl group is that there is no separate group
comp.lang.python.beginner where you can ask questions without getting
hit with RTFM! and the like.
 
D

Diez B. Roggisch

TheFlyingDutchman said:
I don't think it would be correct to characterize my posts as not
seeking enlightenment. I do also happen to voice my opinion which
seems appropriate since this can be characterized as a discussion
group. It theoretically is possible for a discussion group to tolerate
opinions that diverge from the majority.

I would characterize

"""
I like how someone here characterized decorators - those silly @
things. They remind me of Perl. Not adding keywords for abstract and
static is like Perl not adding a keyword for class.
"""

not as seeking enlightenment, but as pure trolling. Disqualifying features
without actually understanding them as "silly" certainly doesn't lie on one
of the many path's to enlightenment known man - which to my knowledge
usually require more humble approaches....
One issue I have with this group and that I encountered many years ago
in the Perl group is that there is no separate group
comp.lang.python.beginner where you can ask questions without getting
hit with RTFM! and the like.

And I wish people that have no clue about the deeper workings of Python
wouldn't insist on commenting on these in inappropriate ways as above, but
instead try and _understand_ them before debuking them or suggesting
changes.

Diez
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,432
Messages
2,571,682
Members
48,796
Latest member
Greg L.

Latest Threads

Top