Slashdot Mirror


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 :)

8 of 135 comments (clear)

  1. Previous awards by arnoroefs2000 · · Score: 5, Informative

    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."

  2. Re:Speaking of Ghostscript by Anonymous Coward · · Score: 2, Informative

    DGS

  3. Bravo for a powerful, easy to learn, easy to use L by Anonymous Coward · · Score: 2, Informative

    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

  4. DPS Implementations... by Christopher+B.+Brown · · Score: 3, Informative
    Yes, there would be:



    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.
  5. Dylan is nice, but Python is a general purpose lan by Anonymous Coward · · Score: 1, Informative

    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

  6. Re:Yes, but... by Shiny+Metal+S. · · Score: 5, Informative
    The original poster's point still stands though - most Perl code is utter crap and completely unreadable. This is not to say that Perl is inherently worse than Python, and good Perl code is probably comparable to good Python code (maybe better?). But Perl is much more lenient in allowing really really horrible code, which for some reason a lot of people take advantage of.
    Most of everything is uter crap. This includes every aspect of human creation.

    Few days ago, someone posted this Perl code:

    #!/usr/bin/perl
    use MIME::Base64; $x = ""; while(<&gt) { $x .= $_; $x =~ s/[\r\n\t ]//g; } print decode_base64($x); exit 0;
    to which I posted this:
    $ perl -0MMIME::Base64 -e 'print decode_base64 <&gt'
    a one-liner to be typed directly at a shell prompt, which does exactly the same. Much simpler, isn't it? It's just that, like Larry Wall has well said, Give people enough rope to hang themselves, and they'll usually figure out how not to, after several successes.

    I'll give you another good example. Some time ago I tuned Perl code of one Senior Design Technologist (I won't tell you the name of his company, for obvious reasons). This was one of my records, so I have the exact stats. His program had 190 lines of code in 6530 characters and he asked me if the same can be done in more elegant way. I wrote my version from scratch, which had only 13 lines of code in 227 characters, i.e. it was 30 times smaller - it's 3% of original size. It was also over 900% faster than the original (doing exactly the same of course), as a side effect of my elegance-tuning. And no, it wasn't obfuscated and I wasn't writing it just to use as small space as possible. Later I wrote a minimal version of that program and it had 2 lines in 112 characters (including a new-line), so the real 13-lines version was quite readable, with descriptive function and variable names, indentation, etc.

    So, my point is: Most of everything is uter crap. This includes Perl code. But it says more about programmers than about the language itself. Like the fact that most of text available on the Internet is crap, doesn't mean that the English or any other natural language is crap.

    The problem with newbie Perl programmers is that they usually write in C, not in Perl. The Perl motto is There's More Than One Way To Do It. That means that you can also program using a C-style if you want. This is sometimes very useful, but it's often abused by beginners. So it's very common to see a code like this:

    for($index = 0; $index <= $maxindex; $index++){
    printf("ITEM: %s\n", $items[$index]);
    }
    where you could just write:
    print "ITEM: $_\n" for @items;
    You see my point. I'll quote Larry once again: Perl is designed to give you several ways to do anything, so consider picking the most readable one.

    That said, I may surprise you, that I am going to learn Python. For few reasons: It's a nice and powerful language, with many unique features (like e.g. the idea of using the indentation to define blocks scope) so it's definitely worth learning, even if it won't be my main language, and the WorldForge AI scripts are written in Python.

    OK, I said a lot, much more than I originally wanted to... Now you should tell me something interesting about Python, as a revenge. :)

    --

    ~shiny
    WILL HACK FOR $$$

  7. Re:Yes, but... by costas · · Score: 3, Informative

    One common misconception: Python only forces you to use consistent identation *within the same code block* not the entire file or project. Which makes perfect sensem if you think about it.

  8. Parrot, Python and Perl 6 by Shiny+Metal+S. · · Score: 3, Informative
    Seeing as how parrot is being developed pretty much entirely by Perl developers (heck, the development is being done on the perl6-internals mailing list), I think it's unlikely that it'll ever be adopted by the Python community.
    Given that a Google search for "Parrot" on the Python.org shows 570 matches, I don't think so.
    Does Parrot even support real type systems, or does it only support Perl's broken "scalars are scalars" type system?
    If you had ever clicked one of the links in my post, you'd have known that. There are these basic data types:
    • 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:
    Vtable Datatypes

    The next major thing that Parrot needs to implement is PMCs; these are almost like Perl 5's SVs, only more so. A PMC is an object of some type, which can be instructed to perform various operations. So when we say

    inc P1
    to increment the value in PMC register 1, the increment method is called on the PMC - and it's up to the PMC how it handles that method.

    PMCs are how we plan to make Parrot language-independent - a Perl PMC would have different behavior from a Python PMC or a Tcl PMC. The individual methods are function pointers held in a structure called a vtable, and each PMC has a pointer to the vtable which implements the methods of its "class." Hence a Perl interpreter would link in a library full of Perl-like classes and its PMCs would have Perl-like behavior.

    [ read more ]

    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: For a good introduction to Perl 6 in current shape read Larry Wall's Apocalypses and Damian Conway's Exegeses: For more detailed info, join the mailing lists and read the archives: There's more info about in on dev.perl.org - the Perl 6 homepage.
    --

    ~shiny
    WILL HACK FOR $$$