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."
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.
You know, Guido is the root object, and we all have
the Award attirbute, inherited from out based class.
DGS
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.
Display PDF is different from Display Postscript. Display Postscript is an older technology, although I'm not exactly sure of the differences.
Sometimes it's best to just let stupid people be stupid.
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
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.
Gah!
ObSimpsons:
Lisa: This award is the biggest farse I've ever seen.
Bart: What about the Emmy's?
Lisa: I stand corrected.
Somebody wrote Perl? I thought it grew by itself, out of the stray code that had leaked inside hot mainframes from unterminated cables. Python, on the other hand, was designed...
Escher was the first MC and Giger invented the HR department.
So, congrats on a job well done and an award well deserved.
Finding God in a Dog
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.
- A compiler (very hard, but I can dream)
Keep an eye on the weave project here. Currently it allows you to inline C/C++, and work is under way to have automatic acceleration of arbitrary python code via compilation to C/C++. It's *really* cool.
no ";" to end the statement.
Whitespace mandatory.
Yukk,
Puke.
So you don't like whitespace and line breaks. Then why the heck are you indenting your code? You have such fine {;} operators, you can write every program in one line. ;-)
Escher was the first MC and Giger invented the HR department.
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).
"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.
(* Inheritence allows you to take an object and modify it, using existing behaviour with little effort. *)
Often the differences are not on method boundaries. IOW, the change granularity often does not match the method granularity in reality. Plus, you end up with the "fragile parent problem" in that changes to the parent may break many children. Thus, nobody wants to clean up the creeping inheritance vine.
Many seasoned OO proponents suggest using inheritance sparingly. They agree that inheritance is way oversold in the "Learn X in 21 Days" kind of books. (However, their alternatives are often even messier IMO.)
I don't quite follow your example. Maybe after some sleep I will have more patience with it. I don't use C, especially in a big project setting, so I guess I cannot relate to managing header files. I tend to use relational tables. If I need a Path column or BaseDir column, I simply add a path column. Code that uses other columns usually does not need any changing. (Note that not all relational systems are as bulky as most SQL API's.) I also find it easy to study the table data in a table browser and table structure without writing RAM dumps. The structure and data usually exist outside of the program, so I can inspect, study, grok, and filter it any way and time I want.
(* species_dict = bsddb3.rnopen( "/tmp/db_file" )
No other code in my program had to be changed. This is a lot faster data store than any RDBMS that I've used *)
Well, but dictionaries only have *one* index. That is an arbitrary limit. It is like, "I declare a new collection taxonomy type called the Zork. It has 3 indexes and 13 columns." Listen, everybody likes different things. For me, having every collection able to potentially have full relational capabilities is a good thing. I hate rewriting code just because my collections grow up. I can also sort, view, and filter the data into tables any way I want without writing RAM dumps.
The judges simply think kinda like Guido. My own pet language would be different. Collection "types" are a pet peeve of mine.
(* From my python experience there are only two collection types in python. They are: list and dictionary. *)
I thought it had 3. Anyhow, even 2 is too many. I don't think there should be *any* sharp syntactical boundary between the smallest and largest collection. I see no excuse for such, other than historical habit. Smalltalkers have repeatedly failed to objectively justify it. I doubt Python fans can pull it off also. It will eventually come down to, "you just get used to arbitrary boundaries and then they won't bother you so much. You take the boundary penalty in stride, like New Jersey weather."
(* Python doesn't beat the "how many spaces is one tab" thing. However, errors are as easy to spot as missing semi colons. *)
I am not a semi-colon fan either. However, block-ender syntax and line separator syntax are two different issues anyhow. You are intermixing two independent syntax issues it appears.
(* However python code is made a lot easier to code once you have an editor set up for it( and there are many ). *)
But that is *counter* to the very idea of a scripting language IMO. I *have* had tab problems in other languages because one editor or one computer was set up different than a prior editor. Requiring a strict editor setup is a feature that I would expect from one of those stuffy languages, not a programmer-friendly one.
BTW, another Python fault is not consolidating dictionaries and classes. A class is simply a dictionary of methods and attributes with an inheritance option thrown in. Other scripting languages have successfully consolidated these two concepts. Python blew the opportunity IMO. (Dictionaries are great as interface mechanisms, such as passing and storing dynamic parameters. However, as a data container, they suck IMO because they don't scale in complexity, as already described.)
Thanks for your feedback.
Table-ized A.I.
Python 2.2 now unifies types and classes, allowing you to subclass the built in data types, including dictionaries.
The real Webmaven is user ID 27463. I don't rate an imposter, because my ID is such a lame-ass high number.
- 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 $$$
~shiny
WILL HACK FOR $$$
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?