Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
News

Dobb's Programming Awards 51

NullPointer writes "Dr. Dobb's has given their 1999 Excellence in Programming Awards to Guido Van Rossum and Donald Becker" Congrats to both of you. For those in the dark, Guido is our favorite Python god, and Becker is our favorite Linux Ethernet god (besides fixing my broken laptop X key at ALS :)
This discussion has been archived. No new comments can be posted.

Dobb's Programming Awards

Comments Filter:
  • by Anonymous Coward

    Take this small test:
    Can your language do client and server COM?

    Yes.


    Can your language do client and server CORBA?

    Yes.


    Can your language be extended and embedded with ease?

    It is much more extensible than Python because of a powerful macro system. It is probably not easily embedded.

    Does your language have an amazingly deep library of utility classes?

    Not nearly as many user-contributed libraries as Python because there are many less users at the present, but the standard libraries are quite powerful.

    Does your language have a superbly-civilzed newgroup? (Hi Tim Peters, MA
    Lemburg, Fredik Lundh, Andrew Kuchling. You guys are awesome)

    Yes.

    How about these questions:

    Is the language implementation and libraries for it written in the language itself?

    Dylan: yes
    Python: no

    Does code written in the language peform on par with C and C++ code?

    Dylan: yes
    Python: no

    Dylan also has a lot of powerful language features which Python lacks. Python is cool though.
  • by Anonymous Coward

    . . . where I work. We do c/c++ development, and we have occasional people who write unreadable, randomly-indented code. We have a special job title for these people. We call them "fired". Since they're too cool to do their jobs properly, we figure they're too cool to need references, too.

    God help the people who have to maintain your code. indent is cool but it doesn't help the diffs much. What python enforces is what any competent programmer does anyway. If that's the case, then braces are, arguably, redundant.

    When you drive, you probably insist on changing lanes randomly without looking first. Grow up.


  • In my (educated?) opinion, Perl gets a lot of converts because people can sit down, try something, and get it to work a _lot_ quicker than most other languages.

    Ha ha. The first time I tried to learn Perl, I started reading the docs, and the author (Wall?) started rambling on about "vector" and "scalar" variables. Maybe my experience was atypical, but that stuff didn't tell me anything meaningful or useful about the language. It did, however, lead me to suspect that the guy who wrote the docs was either trying to scare people away, or tell them how smart he was. I got the hint and stuck with C. I guess Kernighan and Ritchie weren't "smart" enough to try to prevent people from learning C.


    It's practical, rather than built on theoretically pure principles of the Right Way To Do It.

    Viewpoints differ, and we all do different things with code, but you could argue that moving bits and bytes around is about as practical as you can get with a programming language. Pointer arithmetic and register operators strike me as enormously practical things. You're telling the processor what to do, in very blunt and clear terms. That's cool. Perl programming is a matter of slowly and ponderously setting into motion thousands of lines of somebody else's code, which is boring. The "ease" of programming in Perl is made possible by the hard work of a real, honest to god programmer out there doing your work for you in C.


    I'm not sure why being practical so often takes a backseat to pushing the agenda of the designers

    The "agenda"? What "agenda"? No, it's not an "agenda". It's just that competent and intelligent people like to see things done in competent and intelligent ways: Elegantly, efficiently, and with a minimum of effort.

    Furthermore: If it's good for Perl to have n ways of doing foo, how could it be bad to throw in C and have n+2 ways? I mean, I'm assuming that you're being honest with yourself. All of you people use "There's more than one way to do it!" as an excuse to use only one language. This is called "zealotry", or "fanaticism". God knows where it comes from.

    What I think distinguishes Perl from C is the fact that C tries to provide the greatest possible power with the fewest possible rules. It's a sort of a RISC language, so to speak. I don't have an "agenda" that I'm trying to impose on anybody. I just like good engineering, which is mostly a matter of simplicity, clarity, and efficiency. My car does not need a bathtub. I don't care to work with an incoherent, bloated language (nor OS; Perl is the NT of languages, or the VB of UNIX. Take your pick).

    The bottom line, of course, is that C programmers find C useful, and Perl programmers find Perl useful . . . and, not surprisingly, they're generally doing very different things. Everybody's happy, except of course the Perl programmers, because they can't stand the thought that there is, in fact, more than one way to do it. The whole thing looks like insecurity to me.

  • by Anonymous Coward

    And scheme/guile looks almost deliberately confusing, although it's very powerful once it "clicks" (It's a shame it isn't more widespread - anyone remember how cool ARexx was on the Amiga (and rexx on os/2) for system-wide application integration + automation? - any MUI ( an amiga gui api) program automatically had an arexx port for scripted operation...)

    I was a Scheme lover who disliked non-functional languages when I started programming in Python. I'm still a Scheme lover, but thanks to Python I no longer believe that imperative languages are intrinsically worse than functional ones.

    Python is just so damn well-designed. There are no traps, no gotchas, almost everything follows the principle of least surprise. The thing I like best about Python is how much it improved my critical judgement about computer languages in general.

  • by Anonymous Coward

    I'm trying to decide whether to go with python, eiffel, or perl for various projects

    Eiffel sucks because it was designed by a macrocephalic circus midget while he was in prison for molesting frogs. He had a giant steel sphere embedded in his brain, with antennae coming out of his ears. They weren't just for reception, either. He could transmit on several popular military wavelengths, as well as use the antennae as "feelers" to find his way around in the dark.

    So, for that reason, Eiffel is used only by pederasts and swine. It's a great favorite of the American Revolutionary Communist Party as well, so I guess a snivelling liberal like you would feel a real attraction to a thing like that. You are, no doubt, a hermaphrodite as well.

  • by Anonymous Coward

    Any programming language which arbitrarily dictates matters of style, content, syntax, or anything else is TYRRANICAL, and is implicitly in direct opposition to the Second Amendment. As a FREE MAN I have a God-given right and obligation to use whatever syntax God in his infinite wisdom commands me to use, without unlawful interference or coercion on the part of my compiler.

  • by Anonymous Coward
    Python is mind-bogglingly useful and its source is so clean as to make you cry. Extending it to do supercomputer applications, embedding it into video games, and other exotic uses have all become common for Python.
    Take this small test:
    Can your language do client and server COM?
    Can your language do client and server CORBA?
    Can your language be extended and embedded with ease?
    Does your language have an amazingly deep library of utility classes?
    Does your language have a superbly-civilzed newgroup? (Hi Tim Peters, MA Lemburg, Fredik Lundh, Andrew Kuchling. You guys are awesome)
    If you can't claim these things, try python.
  • I heard Donald speak at ALS on Beowolf clusters at ALS. All the ethernet cards I own work under his drivers. I would send him money but considering he works for NASA and I work for a grocery store and I'm a high school student I don't think what I could send him would amount to much. But I think he reads slashdot, and I would just like him to know how much he has helped us all out.
  • Several months ago I tried my hand at writing a driver for the Winbond 840, a very inexpensive 10/100 netcard chipset.

    After an embarassingly long time spent trying to debug some rather confusing results from the card, I sent Don an email requesting help.

    He asked for my datasheets -- getting them was rather a trick, and he'd had less luck than I -- and had a semi-functional driver done the next day!

    A few days after that he _went out and bought his own_ w840-based netcard for debugging purposes. I'm impressed not only with Don's coding skills but his dedication to his work.
  • I choose both. I managed to persuade my bosses that adapting an existing GPLed program was easier than buying in something from outside. Hence, I write free code and get paid for it. Cool, eh?
    (No, I'm not Canadian :-)
  • k_wayne@linuxpower.org said
    At the end of the day, 99% of the best code in the world is going to be GPL'ed, as anything less is a lame attempt to keep some form of control on the code.

    Just pointing out that "not closed source" doesn't always mean "GPL." Python is distributed with the Python license, which is of the "use, copy, modify, and distribute" type. The README specifically says:

    The Python distribution is *not* affected by the GNU Public Licence (GPL). There are interfaces to some GNU code but these are entirely optional and no GNU code is distributed with Python.

  • Hi,

    I just want to mention The Linux Token Ring Project [linuxtr.net]. Here you may find the latest and greatest TR drivers and related information :)

    -- Jochen
  • Happiness is a network card that works 100% of the time. :)
  • Another one to the Hall of Fame. David Becker really deserves this award. He wrote the driver to my card also.

    That raises a question. Has a Microsoft programmer ever won this award? Or do they only have armies of anonymous programmers?
  • Donald Becker is as good of a guy as he is a programmer. I haven't had much interaction with him, but he did assist me in solving a REALLY stupid RTFM type of problem that I was having (I didn't have the most recent driver). He showed me step-by-step what I needed to do to fix it, and was really nice about it. My hat is off to him! I also enjoy reading his work on Beowulf.
  • hmm, yes, he has contributed many good drivers
    to linux. Thanks :)
  • I don't know much about Python, but I do know that it will run on any OS that I ever need to use. I do, however, know that Donald Becker has done some amazing work for Linux with his collection of Ethernet drivers. Just imagine where we'd be today without the work of these Open Source pioneers!
    --
  • I don't know what caused you to go off on such a rant... who was claiming that "Perl rules and everything else sucks?"

    I find Perl very useful for text file manipulation and generation. That's what it was built for, and it does it much more easily and clearly than C, IMHO.

    If I need to do lots of pointer math I'll use C. If I need quick performance I'll use C... but if I need to FTP download some reports, parse their headers, archive them and FTP upload them to their proper recipients... dammit, I'm gonna use Perl because I don't have time to mess with C for something that is so simple with Perl.

    OK, it might be simple with C if you have the right libraries, but Perl works just fine...

    What's your beef?

  • I've talked to him via e-mail a few times.. he may have all these awards, but he's still helpful. I had some problems with his tulip.c driver .. I'm working with him to fix the problem right now.

    Congratulations man, you deserve it!

    --
  • by Signal 11 ( 7608 ) on Wednesday May 05, 1999 @10:38PM (#1902959)
    MAN, I wish I were a moderator so I could lower your post a notch. Then again, this post deserves the same fate, I suppose.

    Yup.

    --
  • I think the problem with Python is that much
    of the population is conditioned to loathe snakes.
    The Xtians have that Adam&Eve&S@t@n thing to overcome.

    People don't have this problem with Coffee, or with Oysters, Monumental French Towers, etc.

    "Scheme" and "Guile" might be suffering the same
    fate. Don't understimate the power of people's
    perceptions to affect a marketplace.
  • That was very funny. Thank you.
  • I must say the Donald's contributions to the Linux world are amazing! I don't think there's a piece of hardware networking code I've come across that he hasn't touched. :)

    I'd especially like to thank him for the driver for my PnP PCI 3com card-- it works *really* well.

    Good job guys... you've earned the awards.

  • I certanily appreciated Donald's work as well, as a user of the Token Ring device driver. It still doesn't work correctly with PCMCIA Turbo Token Ring Adapters (and has a few problems with Turbo adapters in general)--someday I'll get around to fixing them. I'm just glad that somebody works on Token Ring at all, as it hadn't been touched for few years since the Linux 1.3 Microchannel effort until Donald started editing ibmtr.c again.

    Thankyou very much, Donald--and thank you also for resetting my adapter {grin}.

    Cheers,
    Joshua.

  • The real issue is who's to say that Python's white space use is correct? If you suggest that, I guess we should adopt specific typefaces for all the books, since surely you can come up with a correct typeface.

    Different styles for different folks, as long as you pick one and stick with it, who cares.
  • What has it been used for, besides its own compiler?
  • Which, pray tell, languages are named after oysters and French towers?

  • by Kirby ( 19886 ) on Wednesday May 05, 1999 @05:22PM (#1902967) Homepage
    This may be too obvious, but I'm pretty sure the answers are Perl (as pearls come from oysters) and Eiffel.

    Perl's success is very interesting, and nearly completely ignored by other language designers. In my (educated?) opinion, Perl gets a lot of converts because people can sit down, try something, and get it to work a _lot_ quicker than most other languages. There's more than one way to do it, and it's easy to find a style that suits you in Perl. It's practical, rather than built on theoretically pure principles of the Right Way To Do It.

    I'm not sure why being practical so often takes a backseat to pushing the agenda of the designers - maybe most people just have a difficult time seeing more than one way things could be done without thinking that one is automatically better.
  • Both of these guys are very very deserving of an award like this. Linux wouldn't be where it is without Don Becker, and without Guido, there would be no Python! (I'm a Python fan :)

    CJK
  • by k_wayne ( 22620 ) on Wednesday May 05, 1999 @05:36PM (#1902969)
    hi,

    How do closed source programmers get evaluated?

    Surely these awards could only be given to programmers whose work is open sourced? How else could you evaluate their code?

    It's worth making the point that the free software movement has been great for the 'glorifying' of the coder/programmer. The art of programming really enters a new phase if everyone can see your work. This is compounded further if the code is GPL'ed, as anyone who is 'better' than you can fork the project and improve it. Only the best people end up leading projects, no-one is held captive by one vendor - whether that is microsoft or some closed source shareware author whose product you need.

    This is a great thing, the best people end up in the best jobs. I hope the free software movement can keep growing as is. (ie: GPL all the way).

    It's ironic, that with the GPL you give the code freedom to exist independent of the vendor/coder. But this in turn ends up bringing attention (glory/fame etc) to the programmer if the code is sufficiently good and useful.

    At the end of the day, 99% of the best code in the world is going to be GPL'ed, as anything less is a lame attempt to keep some form of control on the code. Whereas the genius programmer has no need for such low self-esteem tactics.

    I wonder if Dr Dobb's journal is picking up on these ideas. I don't really see how you could publish a decent programming magazine in a world where everything is closed-source.

    ta
    wayne
  • I second that. I have one, and it rocks. Congrats!
  • It's nice to see Python getting (a small fraction of) the recognition it deserves compared to other scripting languages, and Guido getting credit for one of the best-written pieces of free software out there.

    It's also nice to see systems folks like DB getting recognition. We do most of the heavy lifting, and most of the world only sees the people who create widgets and eye candy.
  • Yeah, we expected that. I sort of think that if Python used braces instead of indentation to identify blocks, it would have twice or more the acceptance it has now. Then again, is that a goal? There are plenty of people using and extending and supporting it now, and it's not clear that there's anything to be gained by attracting the "no rules" types away from perl. I hope they're happy with perl; we're happier with Python.

    Here's another clue: not everyone who likes Python likes the enforced indentation. It was certainly a big turnoff for me at first, even though like any responsible programmer I indent anyway (Python is actually very forgiving of different indentation styles, as long as you're consistent and even sometimes when you're not). Some people who use Python like this feature, most have learned to live with it, and a few outright hate it but use the language anyway. Why? Because that _one_ wart is outweighed by all of the many things Python did right (or at least nearly right). Real objects, plus metaprogramming. Understandable scope rules. Good control structures, including robust exception handling. Extension/embedding. And if all these still aren't enough for you, the source is about as clearly written as the source for a language implementation can be. Maybe perl or Tcl don't have this one wart, but they have all sorts of other cancers to make up for that.
  • OK, I have nothing against Dylan-the-idea. Seems to be a fine language and I wouldn't mind seeing it get broader exposure. I'm not so sure about Dylan-the-reality, though, and I also detest advocates' excesses even in support of something I generally like. That said...

    >>Can your language be extended and embedded with ease?
    >It is much more extensible than Python because of a powerful macro system. It is probably not easily embedded.

    Powerful macro system? Sorry, that's no substitute at all for extension and embedding. I interpret your answer here as a "no".



    >Is the language implementation and libraries for it written in the language itself?

    Dylan: yes
    Python: no

    And this is a good thing for Dylan? Most of the libraries for both languages are implemented within the language. The difference is that Python gives you an option to implement a library using native code if you feel the need - e.g. for performance - and Dylan doesn't. As for implementing Dylan in Dylan or Python in Python...well, that's just an academic exercise of little interest or value to anyone actually trying to write an application.



    >Does code written in the language peform on par with C and C++ code?

    Dylan: yes
    Python: no

    You're using a pretty loose definition of "on par with" there. In any case, this question misses the point of Python. Guido very specifically made Python easy to extend because he doesn't buy the "one language fits all" dogma. The idea is not necessarily to write everything in Python, although you usually can and not notice any performance problem; the idea is to write the vast bulk of your application in Python to take advantage of its high-level features, and optimize very small parts by converting them to native-language extensions if necessary. This keeps the language definition and implementation simple and clean, while still allowing an application (not a microbenchmark) to perform every bit as well as it needs to. I personally think it's a good design choice, though the debate is still ongoing.

    BTW, some of the best rationales for languages that allow easy integration with other languages instead of trying to do absolutely everything themselves have been offered by John Ousterhout, even though Python has fulfilled that dream better than his own Tcl.

    >Dylan also has a lot of powerful language features which Python lacks. Python is cool though.

    Python has a lot of powerful language features which Dylan lacks. Dylan is cool, though. ;-)

"In my opinion, Richard Stallman wouldn't recognise terrorism if it came up and bit him on his Internet." -- Ross M. Greenberg

Working...