Slashdot Mirror


Great Programmers Answer Questions From Aspiring Student

NathanBFH writes "Many of the questions that make it to the Ask Slashdot pages come from young and aspiring programmers wanting to know the role math and education play in the profession, or what makes certain programmers so much more productive than others, or what the future of the craft will look like. One young programmer by the name of Jarosaw "sztywny" Rzeszótko decided to ask these types of questions (and more) to the programmers he admired the most who also, it turns out, happen to be some of the most influential computer scientists and programmers of the last several decades. The result? Most of them happily responded. The results include the following: Linus Torvalds (Linux), Bjarne Stroustrup (C++), James Gosling (Java), Tim Bray (XML, Atom), Guido Van Rossum (Python), Dave Thomas (Pragmatic Programmer), David Heinemeier Hansson (Rails Framework), and Googlers Steve Yegge and Peter Norvig."

13 of 347 comments (clear)

  1. Re:no Knuth ? by Bitsy+Boffin · · Score: 3, Informative

    Knuth doesn't use e-mail, so probably why not included.

    --
    NZ Electronics Enthusiasts: Check out my Trade Me Listings
  2. Re:History of CS 101 by FoamingToad · · Score: 2, Informative

    Edsger Dijkstra died in 2002.
    Alan Turing committed suicide in 1954.
    Charles Babbage and Ada Lovelace died in the 19th century.

    I'm sure you _could_ ask questions of each of these people, but getting the responses may prove problematic...

  3. Re:no Knuth ? by ray-auch · · Score: 2, Informative

    Exactly how was the guy supposed to get Turing or Knuth to do an email interview ?

  4. Re:What? by enos · · Score: 2, Informative

    The guy's Polish and "sztywny" means stiff.

    --
    boldly going forward, 'cause we can't find reverse
  5. Re:Experts?? by Anonymous Coward · · Score: 1, Informative

    Stoustrup was inspired by Simula, not Smalltalk (allthough Smalltalk also was inspired by Simula)

    Why is it that Smalltalk users think Smalltalk invented everything?

  6. The two biggest omissions by Tyler+Durden · · Score: 4, Informative

    Knuth is great for his theoretical work, but I don't know if he'd rank up there as an important programmer. Although I suppose someone could make an argument for it based on his work on TeX.

    The real great programmers omissions I see are Ken Thompson and Dennis Ritchie. It's hard to top creating the most influencial programming language and the most influential OS of all time. (C and Unix, obviously).

    When it comes to the OS, Thompson would be a thousand times more interesting to talk to than Torvalds.

    --
    Happy people make bad consumers.
  7. Lots of insight in that interview by CrazedWalrus · · Score: 4, Informative
    That was easily one of the best interviews I've read. The questions weren't overbearing, and the guys responding were generally conscientious in their responses. Some points that really struck me as I read some of the answers:

    • Communication is extremely valuable. Programming in large projects is a social activity. Good ideas must be adequately expressed, or they'll likely whither on the vine.
    • A good understanding of math concepts is valuable in that they teach the programmer to think about algorithms logically and coherently, not so much for their direct usage in programming. Dave Thomas even associated a musical background with good programmers.
    • Open your mind. Be a student of everything, not just technology. Read fiction, study music, be social, be curious about the world in general, and learn as much about it as possible. The best programmers tend to love learning and knowledge for their own sakes.
    • Good tools allow you to make them better.
    • Programmer + vague question = eggs for breakfast.
    • University education *is* valuable, but one shouldn't believe they've learned everything there. Programming is an artform that is refined over time with patience and experience.
    • Cultivate a sense of "value". Don't waste 90% of your time on the 5% of the work that doesn't really matter.
    • Develop good "taste" in how you attack problems. This is a bit esoteric, but I think part of what Linus was referring to is what I tend to call "elegance". Don't use a lot of code where a little will do. Don't overcomplicate. Use the right tool for the job. I think the other part was actually being able to recognize this quality in the work of others. Apologies to Linus if I misunderstood.
    • Don't worry about the Next Big Thing. Keep building fundamentals. When the Big Things come along, they're usually the product of lots of fundamentals put together in a creative way. More often, the future is shaped in small increments that people barely notice.
  8. Re:no Knuth ? by 91degrees · · Score: 3, Informative

    This is largely because Tannenbaum was critical of Linux, and Linus was defending his creation. Just because he disagreed about the importance of certain fundamentals doesn't mean he didn't believe that Tanenbaum's opinion was worthless. Quite the opposite. If he didn't respect Tanenbaum's opinion, he wouldn't have responded.

    And it's a well known fact that Linux was heavily influenced by Tanenbaum's operating systems book.

  9. Re:Math by ursabear · · Score: 3, Informative

    Well said...

    The debate over whether or not Math is fundamentally important to programming rages on... I've heard both sides of the argument said very well. My impression is that it is the understanding of math algorithms and problem solving capability, not the math itself, that is (one of the) keys to good programming/software development. I'm sure many will disagree... but I must say that being able to see the bigger picture, solve puzzles, and have a good method of making simple solutions to solve complicated issues seem to be very important to the production of good software.

    I thought it was interesting that one of the interviewees spoke of music and programming. I am one of many musicians with whom I work - all of whom write software, and the software we write is pretty successful. Composing a score is so very similar to marshalling pieces of an API or programming systems.

  10. Re:I wonder.... by soliptic · · Score: 4, Informative

    Off-topic trivia - "z" is worth 10 points in scrabble in English, but only worth 1 point in the Polish edition.

  11. Re:Larry Wall by Black+Perl · · Score: 3, Informative

    He missed Larry Wall, creator of Perl. Not that Perl makes for great programs (though the fact that Perl works so much, so often, says a lot). But because Wall's C programming of Perl is some of the best programming out there.

    Heh... this comment reminds me of the O'Reilly convention a couple years ago, when they called Larry Wall on stage for a Lifetime Achievement Award. The award goes to the author of an indispensable software tool. They got him on stage and presented him with the award... for 'patch'.

    --
    bp
  12. C++ tied to Windows? by brokeninside · · Score: 2, Informative

    That is quite the old wive's tale that wasn't even true when it was much more common twenty years ago or so. The last C++ code I touched was a multi-tiered billing system engineered to run on Unix and only on Unix. Not to mention that all the large Unix vendors have been on board C++ for quite some time. IIRC the STL, as but one example, was built almost entirely work by SGI and HP.

  13. Re:What makes a programmer great? by CantGetAUserName · · Score: 2, Informative

    Apologies for the late post, but try this, from the Jargon File:

    elegant: adj.

            [common; from mathematical usage] Combining simplicity, power, and a certain ineffable grace of design. Higher praise than 'clever', 'winning', or even cuspy.

            The French aviator, adventurer, and author Antoine de Saint-Exupéry, probably best known for his classic children's book The Little Prince, was also an aircraft designer. He gave us perhaps the best definition of engineering elegance when he said "A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away."

    --
    Semper en excreta sumus solum profundum