FSF Awards Guido van Rossum For Python
bkuhn writes: "The FSF today bestowed its fourth annual Award for the Advancement of Free Software upon Guido van Rossum . The two other finalists were L. Peter Deutsch and Andrew Tridgell." Developing Python seems like a good reason :)
*smile* I assume they only care if it's free-as-in-speech, and not if it's free-as-in-format.
-- MarkusQ
P.S. I say this as a Python fan; truth be known, that's pretty much how I've indented my code (in anything but forth/postscript) since the mid-seventies.
I really like Python, and the style Guido and the other core hackers manage it. Best example are the PEPs (Python Enhancement Proposals), a very open and community-oriented way to deal with language evolution.
Programming can be fun again. Film at 11.
In 1998, Larry Wall for his work on Perl and other software.
"Larry Wall won the Free Software Foundation Award for the Advancement of Free Software for his many contributions to the advancement of freely distributed software, most notably Perl, a robust scripting language for sophisticated text manipulation and system management. His other widely-used programs include rn (news reader), patch (development and distribution tool), metaconfig (a program that writes Configure scripts), and the Warp space-war game."
In 1999, Miguel de Icaza for his work on GNOME
"de Icaza headed a team of more than 300 programmers worldwide, most of them volunteers, in the development of GNOME. GNOME is a user-friendly graphical users interface (GUI) and programming platform for GNU/Linux. GNOME 1.0 was first released in March, 1999 and has since had a step-up release."
In 2001, Brian Paul for his ground-breaking work on the Mesa 3D Graphics Library
"The Mesa 3D Graphics Library allows free software users to model and render in full 3D." Jeff Bates, chairman of the Free Software Foundation Awards Committee said. "The library has added tools and capabilities to the GNU/Linux system that are being utilized by people all over the world."
He's a class act project maintainer & a master software designer. Way to go!
Unfortunately, Guido cannot trim this award to fit into the picture frame.
Because white space matters on this award.
makes it possible for me as a probably far less advanced programmer to be able to *read* your code :-)
Python deserves all credit it gets really, mostly because it's really really simple. They should ditch tk as default windowing/widget environment though and switch to wx but other than that I love it.
And it is NOT true that any stuff one can do on 2 lines in perl would take 6 in python. Not at all.
i don't know anybody who actually gives a rat ass about these awards bullshit. except for the oscars maybe because of all the hype, it's all really meaningless.
What part of "Advancement of Free Software" didn't you understand? An awful lot of Java apps are distributed and run without source (thankfully decompiling is relatively effective) and most JVM implementations are still proprietary.
when i first read this, it sounded too much like in the simpsons episode where homer won some bullshit award from Mr. Burns,
You've won the uh..first annual ..uh..Montgomery Burns award..uh.. for the outstanding achievement in the field of ..uhh .uhh. EXCELLENCE!
You know, Guido is the root object, and we all have
the Award attirbute, inherited from out based class.
... and related technologies. Just out of curiosity, is anyone working on a Display PDF emulator? That's one of the technologies that I've found interesting that Apple embraced in OS X.
I haven't decided if Display PDF is a good idea or not, but it would be interested to play around with it without having to spring for a Mac*.
*I've sworn a sacred oath never to give Apple any of my money until they change their ways (closed systems, stupid lawsuits over "look and feel", high prices, etc).
Sometimes it's best to just let stupid people be stupid.
I still like Perl, better, though. :) I'm not sure I like Python's strict style rules. It's one thing to program in good style, but it's another to have the language force you to. Yes, I'm still resentful over that.
I recommend reading this article on DDJ on the lightweight languages workshop at MIT. It talks about Python and similar languages, and their role in the world. Note that both the LL1 workshop and the FSF are at MIT.
Python is the easiest to learn, easiest to use programming language ever. It is also a very powerful, object oriented, recursive, workhorse suited to scripting and general porgramming in the large. Google is written in Python, Red Hat installation is written in Python, NASA uses Python; it takes one tenth the time develop a program in Python that it takes in Java, C++, or similar languages. Python can be learned in one day of tutorials on the web.
Ron Stephens
Python City (for learning Python, including web spider that displays all new Pythonic web articles four times a day, continuously).
http://www.awaretek.com/plf.html
Actually, they do. I read a newspaper article saying that it was by far the most popular sequence in my local lottery, with something like 10,000 tickets every lottery.
What's ironic is that all these people picking "1,2,3,4,5,6" think they're so witty, since they know that it has the same probability of coming up as any other sequence. But in fact, it's the worst possible choice: if it did come up, the jackpot would be split among 10,000 people!
For those that think GNOME and KDE are too big and bloated, this is moving towards being usable for some applications.
Keeping relevance, if L. Peter Deutsch didn't win, the somewhat-inadequacy of DGS work that the FSF contracted for might very well be part of the reason...
If you're not part of the solution, you're part of the precipitate.
On the other hand, if you read a PDF document using acroread, you do have to have a valid license from Adobe
What happened with DPS was that Adobe was not prepared to continue licensing it to Apple under terms they were prepared to agree on. The natural result was that Apple went away and implemented their own thing, namely a "Display PDF" renderer, called Quartz.
The notion that this has much of anything to do with the formats is just silly...
If you're not part of the solution, you're part of the precipitate.
... did he write Perl? I don't think so.
Next!
(joking of course. props to Guido)
Although I've never programmed in Python, I've read the O'Reilly book and really respect what you've done to advance computer languages.
You got a lot of balls forcing people to indent their code in a standard way!
We are GNU age hippies.
So, congrats on a job well done and an award well deserved.
Finding God in a Dog
no braces {} for blocks,
no ";" to end the statement.
Whitespace mandatory.
Yukk,
Puke.
I'd rather program in C, C++, Java, or Perl.
Really! Very interesting. I didn't realize there were so many people who had a clue on the odds. You would think that people who had that much of clue would also have enough of clue not to play at all. :)
Sometimes it's best to just let stupid people be stupid.
Python is nice. Python is useful. But it's still just a scripting language. It saddens me that Dylan, which is better in several important ways, has not gained acceptance. Dylan has a real macro facility, is compilable to efficient code (see http://cristal.inria.fr/ICFP2001/prog-contest/), has real garbage collection, multiple inheritance, etc.
"Dylan--which I think has a very academic flavor--is everything Python is plus so much more" -Guido van Rossum, 1999
I realize slashdot is perl-centric, but this is getting ridiculous!
It's time for a python topic!
I realize a topic for every language out there is impractical, but there have been a TON of python related postings!
Tomato vs. Tomato. Whilst I can understand the preference of all of these languages I would argue that since 2.x Python has really shone. However there are such an abundance of good scripting languages out there (Ruby, Perl, Python, Scheme etc.) that praise the difference. They all serve to further the widespread acceptance of free languages. Yesterday Perl, Today PHP, Tommorow Python, next Dylan? Your mentioning it has certainly made me want to look at it. Especially if it has serious Academic review.
Unfortunately the link doesn't work at the moment, so I'll try tommorow.
e4 e5
Python is perfect for large programs, because it is object oriented, modular, easy to read, especially easy to maintain, and powerful. Zope is written entirely in Python. The Google search engine is written in Python. Python is used by Dreamworks, NASA, Disney, Industrial Light and Magic, Lawrence Livermore Labs, IBM, and Yahoo.
Python is used extensively in the most complex scientific computing applications, including nuclear accelerators and leading biological research labs. Dylan is a fine language; but the statement you made that Python is only a scripting language is 100% wrong. Python is so easy to learn and use that it is popular; but that doesn't mean it isn't powerful and suited to the biggest of programming jobs!
Your post illustrates a common mis-perception that needs to be corrected. You seem to equate "difficult and complex" with powerful; this is not always true. Sometimes, the apparently simple and easy tool is also the most powerful; and that is precisely Guido's genius and the crowning glory of his creation; Python is the easiest programming tool ever created, so much so that one can learn to program in Python in one day, but is also one of the most powerful programming tools on earth, enabling the creation of the world's greatest search engine, Google, and one of its most complex object oriented web servers, Zope.
In creating Python, Guido has advanced the state of the art in programming languages.
Ron Stephens
Python City Python City
You have to be kidding. Python is certainly not 'just a scripting language', I personally have written some rather major software using it, and find it a fantastic tool.
It finally answered the question that had been sitting in the back of my mind WRT C++, ie: 'this is good, but not quite what I want, it's overkill, but what is wrong?'. Python makes complex tasks my simpler, and does not try and make simple tasks appear complex.
The lack of a true compiler (and also good linking system) is an issue, but not, IMHO, a major one, there are options available (pyco, py2exe, JPython, etc) that partially address this, but more often it is not a real issue.
Python has probably doubled my efficiency as a developer, which is no small feat. C++ was probably the last tool to come close to that, and the startup time on c++ was around 6 months, python was closer to 2 weeks!
- A clean, SIMPLE, powerfull core language
:)
;), 90% of the functionality with 1% of the complexity, and great cross-platform support to boot!
- Data types that make life easy (lists/dictionaries)
- A FANTASTIC set of cross-platform libraries
- A GREAT standard and simple GUI library (Tk)
- A GREAT powerful GUI library (WX)
Things I would love about python
- A compiler (very hard, but I can dream)
- Smaller/more tunable installs
- wxWindows built in
Python is the 'simple c++' I was always looking for and have now found
As a developer, I just love it. Python reduces my development time significantly, and also allows me to express algorithms in a logic way, without fighting the language. This is a VERY important feature. It lowers development stress, so I can spend more time working and less time reading language manuals.
Google is not written in Python. Google has pieces of it written in Python.
NASA also uses Fortran, COBOL, Pascal, Perl, C, C++, Java. What's your point?
Python is really not an all-in-wonder language, it's good but please don't tote it that it is the wonder language that will solve all the problems of the world, because no language is. Python has it's fallacies as well.
Dacels Jewelers can't be trusted.
OK, Xeriphane, what are some "fallacies" of Python, as you call them? As far as I'm concerned, Python is just great in all its aspects. I would really be interested in hearing about the "fallacies" you discern. Or were you just pontificating without any actual knowledge ;-)))
;-))
Seriously, Python is just a great, easy, powerful, language. It's nice to just celebrate a good thing once in while. As to "fallacies" I'll let you deliniate them
No tragedy at all. It won't hurt anything. As long as each block of code is indented the same amount ,compared to its parent block, everything will work fine. If the next block is indented two spaces instead of one, no problem. Now , if you just randomly indent differently *within the same block of code*, of course, you get a nice error message on improper indentation that tells you exactly where to fix it. No problem.
Debugging Python is the fastest, easiest , most painless process I have ever encountered in the coding world. In fact, the really great debugging is the part of Python I like the most!
Anyone who actually tries Python's indentation style coding is unlikely to want to ever go back to using curly braces, that's for sure! I have seen raving madmen who expound utter hatred for Python's indentation *before* they try it out. After coding in Python for a couple of weeks, they invariably become the languages' most ardent supporters and would never consider going back to an insane world of curly braces, and unreadable, ugly code.
Of course, what they really like is the secret weapon of coding efficiency that Python gives them, allowing them to be many times more efficient than their competitor coders, turning out much more code in the same period of time with less hassle and infintiely eaiser debugging .
My impression is that Parrot is going to be a VM for Perl only, thanks to somewhat less than wild enthusiasm from the Python contributors, plus the decline of TCL, the fragmented LISP world etc. But I would like to be wrong! any pointers to recent progress in this area?
<digression>
Although, having said that, I rather wish that Parrot was more than just another bytecode machine. It would have been nice to have embodied some programs as data capabilities, that general advance is surely long overdue. (Turing put modifiable code in the ACE design in, er, 1945, and LISP did it quite neatly back in 1960).
Algol seems to cast a long shadow, don't you think?
</digression>
(* Python is perfect for large programs, because it is object oriented *)
How *exactly* does OO help large programs? I keep hearing this cliche, but it is never demonstrated, besides comparing it to bad procedural design. The 1st Orielly Python book gave a lame, rigged menu example to justify OO.
Although I much prefer Python over Java, there are some annoying things about it IMO. First of all, it has too many collection "types". These should be rolled into one protocol so that one can scale clear up to RDBMS's without changing access syntax. (Perhaps the engine will be switched, but the access syntax should not have to be.) OOer's don't "get" scaling collection protocols IMO, stuck in the artificial make-a-taxonomy-of-collections-because-
Smalltalk-did-that mindset.
Further, it is too easy to mix up tabs and spaces in scripts. Scripting should *not* assume a controlled editor environment. When you can mix up tabs and spaces, then WYSIWYG indentation goes out the door. The compiler cannot know how tabs *appear* to you. Think about it.
Table-ized A.I.
I find it interesting that Eric Raymond was on the selection committee. If I rcall correctly, Raymond has specfically stated he is not a follower of the Free Software movement (just as Stallman has specifically stated he is not a follower of the Open Source movement).
The Numerical extensions to Python make it a fabulous language for engineers and researchers trying to get stuff done in a hurry. The language itself is easy to learn and use for real work.
Similarly, their is tremendous power and ease of use in the other modules that come with the language.
"Fallacies"?!?
pray, do explain!
--
Don't like it? Respond with words, not karma.
PDF is a specification on which Apple based their own scheme, Quartz.
There is no such thing, in formal terms, as "Display PDF." Neither Apple nor Adobe use that name. Apple calls their thing (which, as near as can be told, has NO Adobe encumbrances) Quartz. Adobe has a document format that they call PDF, but nothing that they call "Display PDF."
If you're not part of the solution, you're part of the precipitate.
I can think of several reasons:
If someone else can't fix it, then you'll be needed forever. That's in some people unconcious. They just do the things assuming that what their are doing is perfect (in terms of what he was asked to do).
They don't have in mind reusability, enhanceablity, debugablility, etc. They'd walk into a dead end street and not turn back until they hit the wall ("Dead end? How? I'm still moving forward!").
Time constraints. It's often the case that you can save a lot of time coding in ugly ways permited by a language.
At least that's what i saw in practice happen (with some slamm proyect i'm involved). Most noteably, the people doint the less readable code where really smart guys (iq).
unfinished: (adj.)
Is it any good? Of course it's biased towards web development, but i keep reading how simple python is compared to C or C++. PHP resembles C/C++ yet it's very easy to use and understand.
The question is, what do people think of PHP? Is there any good in it? I'd been able to use MySQL and many other tools from it (like IMAP, etc.). Also, has anyone tried the apha gtk bindings?
I'd like to try and see if i can code anything non-web-based but are afraid of doing things the wrong way.
unfinished: (adj.)
Here
Interesting to note the paragraph under the heading 'The Downside of Dylan'.
e4 e5
If you can't figure out the majority of what the programmer is getting at... There's more than one way to RE-do it.
I tip my hat to Guido, and take a toast and a SWIG of red, Ruby Wine.
python >>>
reduce(lambda x,y:x+y,map(lambda x:chr(ord(x)^42),tuple('zS^BED\nX_FOY\x0b')))
Was always the ministry of silly walks.
dominionrd.blogspot.com - Restaurants on
1. It's slower than a language that can be compiled into machine code (such as C/C++).
2. Interfacing to libraries written in other languages frequently requires writing wrappers.
Note: I have been using Python for over two years (since 1.5.2), and have written some extension libraries for it (mostly wrappers; see point 2 above), and applications, etc., etc., so I'm not a Pyhton-basher.
I just recognize that no language is perfect.
Those who sacrifice security to condemn liberty deserve to repeat history or something. - Benjamin Santayana
Python, while a good language, does not encompass everything. Python on an embedded device is not a great choice. Python also cannot be compiled into a native binary, nor does it have decent alternate language bindings and requires wrappers.
Any programmer who thinks one language can do anything, and is the best, is quite frankly an idiot and shouldn't code.
Dacels Jewelers can't be trusted.
- IV (integer)
- NV (floating-point)
- STRING (encoding-independent string)
- PMC (Parrot Magic Cookie)
Parrot Magic Cookie type is the whole magic here. Let me quote Simon Cozens' article Parrot: Some Assembly Required , emphasis is mine: And about ``Perl's broken "scalars are scalars" type system''. I won't argue with you, as you obviously have no idea what are you talking about, but other people may be interested in this subject as well, so I'll point out where to find informations on how these things are going to change in Perl 6:- Apocalypse 2
- Built-in Data Types
- Variables
- Properties
- Exegesis 2
For a good introduction to Perl 6 in current shape read Larry Wall's Apocalypses and Damian Conway's Exegeses:- Apocalype 1
- Apocalypse 2
- Exegesis 2
- Apocalypse 3
- Exegesis 3
- Apocalypse 4
For more detailed info, join the mailing lists and read the archives:- perl6-language at perl.org
- perl6-internals at perl.org
There's more info about in on dev.perl.org - the Perl 6 homepage.~shiny
WILL HACK FOR $$$
I'll jump in ...
...
(1) Python's dynamic typing is a major show stopper for writing *huge* programs.
(2) Python is very slow compared to the fastest compiled languages.
(3) Information hidding is not part of Python's OOP policy which is also making it a somewhat bad choice for big projects.
There are certainly other points which could be revealed by detailed analysis, but since this thread is now quite old I stop here
I believe that programming languages are much like human languages in that some are better able to explain ideas more than others are. Like Inuit (Eskimo) languages have 10-15 words for snow, some computer languages are better able to express some ideas than others.
The flip side to this is that people's brains work better with different languages. Having learned/studied French, German, Spanish, Chinese, Japanese, Finnish and English - my brain works better with some languages than others. Similarly I believe there are those people whose brains work better with Perl than Python.
But I find python syntax "fits in my brain" better than perl. For others who find dynamically typed languages difficult to fit their heads around perhaps neither (Java?) is better. I find a good naming convention more important than using strict typing. Standardized ways for calling classes, etc nicer. Fewer built in mystery variables ($@#...), Less clutter important as well as not forcing OOP (Java).
Python is fairly flexible in coding styles (functional, OOP, Xtreme Programming etc), has a nice class library, is fairly easy to extend, and is not controlled by a corporate entity(Sun/Microsoft). Most importantly, discovering it got me excited about programming again.
You (an Anonynmous Coward) wrote: (1) Python's dynamic typing is a major show stopper for writing *huge* programs. (Well, Ursus Maximuus finds that dynamic typing is the wave of the future. It speeds up the writing of code by a factor of 10. Anyway, Zope is a HUGE project, entirely written in Python using of course, dynamic typing, and it doesn't seem to have suffered. (2) Python is very slow compared to the fastest compiled languages. (Well, true as far as it goes. But with processor speed going up continually, Python is fast enough you won't notice hardly ever. If you do notice, there are easy fixes (embed a C routine for perfomrance sensitive routines, easily done, Python is made for it. Besides, if its fast enough for the nuclear scientists amnd fast enough for NASA, and for Indutrial Light and Magic to use for special effects, its fast enough for me. Thank God for Moore's Law; Its about time that we help out programmers with easy, quick to write code, and let the microprocessor do the fast drudge work; better to overwork the computer on drudgery, not me!!!) (3) Information hidding is not part of Python's OOP policy which is also making it a somewhat bad choice for big projects. (Well, information hiding can be done with Python through mangling.) Learn Python at Python City
PHP is a fine tool for web automation, an excellent tool. Python, on the other hand, is a general purpose language that can be used for anything (including web automation ;-)))
Python stands alone. I also find it easier to learn than PHP; and oh, so much more powerful
Learn Python at Python City
Recently, due to changes in the Python license, RMS Himself Certified that the Python license is now fully GPL Compatible, thus putting an end to this digression. Python has ALWAYS been open source and free software, now no one can ever again use this canard against this beautiful piece of work that is an ongoing arttistic and technological evolutionary miracle ;-)))
Learn Python at Python City
I'm more of a dabbler in python than anything else, but I like it quite a lot. The information hiding thing kinda bothered me when I first heard about it too.....I guess I always wondered why python doesn't allow it? Is it a technical thing? or a philosophical one?