Guido at Google

I

Ilias Lazaridis

Gary said:
Ilias said:
Greg Stein wrote: [...]
provided a LOT of support to a large number of open source
organizations.

I hope that you invest some time to _organize_ the Open Source Projects.

Starting with Python and it's project-structure (e.g. build-process)
and documentation (e.g. ensuring standard-terminology is kept, like
"class")

e.g.: where can I find an UML diagramm of the Python Object Model?

Even Ruby has one:

http://lazaridis.com/case/lang/ruby/TheRubyObjectModel.png
[...]
And finally:

If Mr. van Rossum is now at Google, and Python is essentially a Mr.
van Rossum based product, then most possibly the evolution-speed of
Python will decrease even more (Google will implement things needed by
Google - van Rossum will follow, so simple).

I mean, when will this language finally become a _really_ fully
Object-Oriented one, with a clean reflective Meta-Model?

Thus I can see Python pass this this _simple_ evaluation (which it
does not pass in its current implementation):

http://lazaridis.com/case/lang/python.html

-

I have around one year to await.

You don't appear to understand Open Source very well.

I understand some of the several (partly contrary) meanings of "Open
Source".
Python is the way it is because we, the community, *like* it that way.
It evolves in directions that we (all) decide it is to evolve. Guido is
our leader in this because we trust him and *choose* to follow his lead.
If you want something changed you don't wait and you don't whine, you
join the community with a reasoned argument for why your idea would make
it a better language in *our* eyes.

So how about it... What's your complaint,

As expressed above, I am afraid about pythons evolution-speed and futher
evolution in general.

a) Missing clear and concise documentation, e.g. of Python Object Model,
like UML diagramm:

http://lazaridis.com/case/lang/ruby/TheRubyObjectModel.png

b) Leadership (Board/Leader) should engourage change suggestions and
analytical feedback, whilst accepting "analyst-role" in addition to
"implementors-roles" (_both_ are contributions! This should be
communicated by the Board/Leader to the Communicty):

[EVALUATION] - E02 - Support for MinGW Open Source Compiler
http://groups-beta.google.com/group/comp.lang.python/msg/f5cd74aa26617f17

c) I mean, when will python become _really_ fully Object-Oriented, with
a clean reflective Meta-Model? Thus it will pass this simple evaluation:

http://lazaridis.com/case/lang/python.html
what's your solution,

http://lazaridis.com/efficiency/textual.html
http://lazaridis.com/efficiency/process.html

[alpha status, comments via email or contact-form are welcome]
and why should we listen?

Cause this would increase the evolution-speed of python.

This would contribute to its success.
Gary Herron

..
 
N

Nicola Musatti

Alex said:
BTW, Chip Turner (from RedHat, and deeply involved in those
developments) happened to start at Google the same day I did;-).

Ah, the closed source days! Back then you could just buy the company
and be done with it. Now you have to chase developers one by one all
over the world... ;-)

Cheers,
Nicola Musatti
 
B

Bengt Richter

BTW, Chip Turner (from RedHat, and deeply involved in those
developments) happened to start at Google the same day I did;-).
So is google about to determine how many luminaries can fit on the head of a project? ;-)
Seriously, if you heavies do sometimes work on the same project, it would be
interesting to know what modes of co-operation you tend to adopt.

Regards,
Bengt Richter
 
E

EP

rbt said:
Luis M. González wrote:



Aren't most all intelligent people Python fans?
Sure, but I am not under the illusion that intelligent people control
the fate of the world
Python is so unbarbaric or one might say 'refined', yet it can be
applied in a practical manner to all sorts of things. It's like having
James Bond as your very own personal body guard ;)
The truth becomes evident: Guido did not invent Python, Q did!

Or is Guido Q?

Reminds me of a story I heard about Guido- he was working at the PSU and
 
D

drew.smathers

And I have around one year to wait for Ruby to get rid of the nasty
syntax copied from Perl and make it look as beautiful as Python ....
Then I'll consider switching. ;)

Ummm, I'm sorry, did you say clean reflective meta-model???

So this:

caller[0] =~ /in `([^']+)'/ ? $1 : '(anonymous)'

vs. the python example:

filename, line, fname, source = traceback.extract_stack(limit=2)[0]
return fname

is what you call clean?? Hmmm ... interesting.
 
I

Ilias Lazaridis

And I have around one year to wait for Ruby to get rid of the nasty
syntax copied from Perl and make it look as beautiful as Python ....
Then I'll consider switching. ;)

Ummm, I'm sorry, did you say clean reflective meta-model???
yes.

So this:

caller[0] =~ /in `([^']+)'/ ? $1 : '(anonymous)'

vs. the python example:

filename, line, fname, source = traceback.extract_stack(limit=2)[0]
return fname

is what you call clean?? Hmmm ... interesting.

no, It is not.

I've not yet defined what I would call the "clean way".

-

both code examples were provided from the community (limited responses
from python community).

-

Ruby does not pass the evaluation, too (although it is closer, due to
the clean metadata capability).

-

And: Ruby has even lower evolution speed:

http://lazaridis.com/core/eval/ruby.html

..
 
C

Cameron Laird

.
.
.
Ah, the closed source days! Back then you could just buy the company
and be done with it. Now you have to chase developers one by one all
over the world... ;-)
.
.
.
You propellor-heads (I write that in all fondness, Nicola) are
all laughing, but I'm certain that the right elaboration of
that proposition could make it into the *Harvard Business Review*
(or *IBM Systems Journal*, which seems to have tilted irreversibly
in that direction).

Actually, there's already a considerable literature on how pro-
grammers are like other nasty professionals in exhibiting more
loyalty to their community than to their employers. Generalize
as desired.
 
C

Cameron Laird

.
.
.
The question is, can anyone just fork a new one using the python name,
as part of the project, without the permission from the foundation ?
Say for example, anyone want to implement java needs permission from
Sun(or is it javasoft), if I rememeber correctly. Therefore, the only
way to make change to java the language is to convince Sun, very
similar to the model of Python. But many open source project is not
using this model.

While I *think* there are several factual errors in this paragraph,
it seems even more probable to me that our different verbal styles
have led to multiple misunderstandings between the two of us. Yes,
Python is like other projects in some ways, and different in others.
Apparently you think there are severe legal restrictions on the free-
dom each of us has to base derivative works on the Python source.
I'll summarize: there aren't. Apart from a few very mild
constraints that prohibit you from little more than saying that
you're Guido and you invented Python, you have remarkable liberty
to adapt Python to your own needs. Moreover, this freedom is not
merely a theoretical principle; *numerous* working engineers have
changed Python to meet their own requirements, and quite a few of
these "modified Pythons" are in production around the world. I've
heard Guido speak words of encouragement to others to do the same.

While I'm only a member of the PSF, and do not speak on its behalf,
it had never occurred to me to equate the management of Java by Sun
with that of Python by the PSF.
 
C

Cameron Laird

.
.
.
...though not a lot of forks/variations that have persisted past the
early-alpha phase. Many of those projects are stale or defunct, alas.

Personally, I'd point out Scheme as an "open" HLL with a vast number of
implementations. But I guess it helps when the language itself is a
spec and there's no canonical implementation.

This all reminds me of one my favourite quotes from python-list of
yore:

<Thaddeus Olczyk> So python will fork if ActiveState starts
polluting it?

<Brian Quinlan> I find it more relevant to speculate on whether
Python would fork if the merpeople start invading our cities
riding on the backs of giant king crabs. [1]
.
.
.
Brian's wise observation on speculation--well, I, too, think it
deserves to be repeated.

Lisp was, in fact, the language I had in mind when thinking about
"multiple implementations". You are surely right to emphasize the
difference between "language as spec" and "language as implementa-
tion".

My own perspective is not to mourn the dormancy of, say, Vyper,
but to be intrigued by the serious use that continues to be made
of Jython, Stackless, and so on.
 
T

Thomas Wouters

As expressed above, I am afraid about pythons evolution-speed and futher
evolution in general.

Yet you don't seem to be worried for any (Python) specific reason. Python
evolution has known its ups and downs. For instance, back when Guido
worked at CNRI, Guido was one of the few people with direct access to the
CVS repository. The others were, I believe, all CNRI employees (and
trusted Python developers.) This worked fine for quite a bit, since Guido
first did most of the work, and reviewed patches from the community
personally. Towards the end of Guido's employment with CNRI, this had
begun to chafe a bit, and if you look at releasedates and featuresets,
you'll see quite a gap between Python 1.5.2 and Python 2.0. (Python 1.6
doesn't really count, for various historical reasons, but even if you
compare CNRI-funded 1.6 with opensource-developed 2.0 you'll see a large
set of diverse new features.)

What happened was that Python development moved to SourceForge, and more
people got easier access. More trusted developers got write access to the
repository, and more people got involved in writing patches. It also meant
Guido couldn't keep up with development by others, and he (eventually)
solved that by introducing PEPs. (Like much of Python, he probably
wasn't the first to voice the suggestion, but it's quite likely he was
in fact thinking of it, possibly subconciously, before anyone suggested
it...[1] So I don't think whoever voiced it first minds Guido getting the
crdits.) But he didn't think of PEPs before they'd become absolutely
necessary. He didn't sit at CNRI thinking, "Gee, I wish I could give more
people access and accept more community patches, but how do I decide which
ideas are fundamentally good or bad?", then thought up the administrative
layer of PEPs. They showed up when they were needed, in a form that seemed
convenient, and they evolved over time (slowly, and only slightly, as far
as I can tell) to fit the specific needs. The tools to facilitate
evolution grow from necessity. They probably wouldn't work if forced upon
Python.

And the evolution speed in general, regardless of tools that make that
evolution easier, is in fact determined by need. The unification of
types and classes grew out of a need. It was quite a fundamental step in
Python's object model, and one that had been argued long before it
happened, but the actual implementation waited, in my eyes, until exactly
the right time. Obvious practical need for it, good ideas with regards to
implementation, experience from Zope's ExtensionClass and various uses of
the old metaclass hook, and a group of Python programmers quite eager to
play with all the new toys Guido gave them. Heck, I still love playing
with new=style classes and creating subclassable types and subtypes in C.
A few years earlier it wouldn't have ended up the same, for lack of
experience and need, and a few years later would probably have been too
late.
a) Missing clear and concise documentation, e.g. of Python Object Model,
like UML diagramm:

I guess it depends on your idea of clear and concise. I've never, ever,
had a problem with understanding Python's object model. Even new-style
classes only required two PEPs, a few hundred lines each, for me to
understand. I honestly don't care about UML diagrams. And, what's more,
apparently neither does anyone else, or the diagram would have been made
already. In fact, if it's missing, why don't you add it? That's what
opensource is about :)
b) Leadership (Board/Leader) should engourage change suggestions and
analytical feedback, whilst accepting "analyst-role" in addition to
"implementors-roles" (_both_ are contributions! This should be
communicated by the Board/Leader to the Communicty):

Why would that be necessary, if the current system works? Extra layers for
the sake of extra layers, bureaucracy to feed the need for bureaucracy in
itself, seems madness to me. If it ain't broken, don't fix it. I'm sure
the extra formal layers work quite well in other projects, in other
communities, just like the Python setup wouldn't work for those other
projects. But it works for Python, as evidenced by Python's evolution
speed.
c) I mean, when will python become _really_ fully Object-Oriented, with
a clean reflective Meta-Model?

When someone needs it enough to convince Guido it's practical. Python
values practicality above quite a lot of things, like consistency.
Consistency for the sake of consistency, by giving up practicality,
ease-of-use, readability, portability or any of the other important
aspects of Python, will hopefully never happen.
Cause this would increase the evolution-speed of python.
This would contribute to its success.

I don't understand where your confidence in these matters comes from.
The 'this' you refer to *might*, in fact, increase the evolution-speed,
although at what cost I am uncertain. I wouldn't be surprised if it cost
Python, or the Python community, its soul. There are a great many people
who think Python is already evolving at quite a high speed, and would
rather see it slow down than speed up. I am almost, but not quite, in that
camp; I think Python is nigh perfect as it is, but I have enormous respect
for the active Python developers, who by and large are insanely smart
people, and I can't but love and be terribly excited with everything they
think up next. And they're friendly people, to boot.

A higher evolution *might* contribute to Python's success. It may also
contribute to its downfall. Forcing an open-source community to do
something it doesn't want to do will *certainly* lead to its downfall.

Spam-spam-spam'ly y'rs,

[1] Either that, or Guido used the time machine to go back and change his
mind. Or everyone else's.
 
F

Fredrik Lundh

Gary said:
So how about it... What's your complaint, what's your solution, and why
should we listen?

Nobody will ever know. Check the comp.lang.python/ruby/lisp/etc archives
for more.

</F>
 
?

=?ISO-8859-1?Q?=22Martin_v=2E_L=F6wis=22?=

Cameron said:
Apart from a few very mild constraints that prohibit you from little
more than saying that you're Guido and you invented Python, you have
remarkable liberty to adapt Python to your own needs. Moreover, this
freedom is not merely a theoretical principle; *numerous* working
engineers have changed Python to meet their own requirements, and
quite a few of these "modified Pythons" are in production around the
world. I've heard Guido speak words of encouragement to others to do
the same.

And indeed, in the area of "Extending and embedding", this is one
of the strengths of Python. Nobody will object if you add additional
library functions, data types, etc, and still call it Python.

Traditionally, reimplementations of the entire language have called
themselves differently (Jython, IronPython, PyPy,...), just to
distinguish themselves from (what they call) CPython. In all these
cases, the reimplementations strive for compatibility with the
Python language and library references, so nobody object that they
call themselves "Python implementations".

Also, nobody would object if you take some ideas from Python, some ideas
from other languages, and some of your own ideas, and call the result,
say, "Monad". If the language (syntax, semantics) is significantly
different, you shouldn't call it Python.

Regards,
Martin
 
G

Greg Stein

Guido would acknowledge a query, but never announce it. That's not his
style.

This should have a positive impact on Python. His job description has a
*very* significant portion of his time dedicated specifically to
working on Python. (much more than his previous "one day a week" jobs
have given him)

Cheers,
-g
 
C

casioculture

Ilias said:
When a company like Google open's sources, this means simply nothing
more than:

- the software is not critical to their business (e.g. core-software)
- the internal resources cannot ensure further development

See IBM, SUN and others, which have done the same thing.


I hope that you invest some time to _organize_ the Open Source Projects.

Starting with Python and it's project-structure (e.g. build-process) and
documentation (e.g. ensuring standard-terminology is kept, like "class")

e.g.: where can I find an UML diagramm of the Python Object Model?

Even Ruby has one:

http://lazaridis.com/case/lang/ruby/TheRubyObjectModel.png

-


The open-source-community can help Google, too!

E.g.: Google needs an public Issue-Tracking-System.

I needed around 30 emails and 2 months until google-groups-support
removed a bug which broke(!) existent links to google archives. (cannot
find the topic. Simply search your support-archives to see the desaster).

With publicity, the team would have removed the bug within one week.


And finally:

If Mr. van Rossum is now at Google, and Python is essentially a Mr. van
Rossum based product, then most possibly the evolution-speed of Python
will decrease even more (Google will implement things needed by Google -
van Rossum will follow, so simple).

I mean, when will this language finally become a _really_ fully
Object-Oriented one, with a clean reflective Meta-Model?

Thus I can see Python pass this this _simple_ evaluation (which it does
not pass in its current implementation):

http://lazaridis.com/case/lang/python.html

-

I have around one year to await.

Will see.

.

Hi there, I wonder what comments you would have about XOTCL, or other
OO extensions for tcl, like snit, and dozens more. I looked at the
various scripting languages available to me and decided to go with tcl
as it seemed the most versatile. I can't find it on your page though.
Regards.
 
X

x600y

JB said:
long life to Guido & Goole ! many things to come ;)

Google is merely the new Microsoft and surely just as unethical
at its core.

And your spelling Goole is probably closer to the mark,
since it is merely the next ghoulish big company,
come to restrict our freedoms and blot out the sky.
 
K

Kent Johnson

Robert said:
You mean Jython is still going? ; )

Yes, I see the smiley but there are too many "is Jython dead?" posts on the Jython lists
for me to leave this alone...

Jython is going strong. Thanks to Brian Zimmer and a grant from PSF it is under active
development again and working towards compatibility with CPython 2.3. And of course the
current 2.1 release is extremely stable and usable as is.

Kent
 

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
473,744
Messages
2,569,483
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top