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

11 of 347 comments (clear)

  1. What makes a programmer great? by muttoj · · Score: 5, Interesting

    What makes a programmer great? The software they produce? The influence they have in the markt? The money they earn?

    1. Re:What makes a programmer great? by b1ufox · · Score: 4, Interesting
      Well new and innovative ways are just one part of it.


      It is the ability to choose a very simple and elegant solution from a wide possibility of solutions available, which makes a progammer great.The situation may require choosing a little cumbersome solution but mostly its the simple ones.


      programming as such doesnot definetly mean mastering a language.


      tools, language are of no use if you are a horrible programmer.


      People like Brian Kenighan, Dennis Ritchie, Ken Thomson are people who are a perfect example of what a great programmer is. The simplicity of C, Unix and family is a concrete example of what a simple solution can do.

      --
      -- "Genius is 1% inspiration and 99% perspiration" - TAE --
  2. Torvalds plugs Tanenbaum! by Anonymous Coward · · Score: 2, Interesting
    For similar reasons, I have a soft spot for Andrew Tanenbaum's Operating Systems: Design and Implementation".

    Heh. I missed that the first time around.

  3. Notice the trend by hackstraw · · Score: 1, Interesting


    That everybody on the list just started programming, and most enhanced programming with education.

    I firmly believe that programming is something that you are born with, and can do or pretty much can't do. Like everything else, its something where you can always learn more tricks, tips, and techniques, but I don't believe that it is something that can really be "learned". The attention to detail, troubleshooting, and all of those little skills that are necessary to program are tough.

    To put it another way, I can program just fine. I can draw a stick person or something and another person can recognise it, and whatnot. I am by no means an artist, and never will be.

    1. Re:Notice the trend by orasio · · Score: 2, Interesting

      Programming is very easy, and most people can learn it, like any kind of language.

      Of course, it's much easier if you learn as a kid, because your language skills are starting to form, but it can be taught the same way that difficult languages can.

      I would compare learning programming to learning a foreign language that is fundamentally different from yours, like a western person learning chinese. You need new structures in your head, and obviously there are people that do that kind of thing more easily, but it's not just a gift.

      Aside from that, enjoying programming can go a long way, and probably has much more influence in the development of a programmer.

  4. An interesting observation by brokeninside · · Score: 1, Interesting
    When asked about the their favorite book on programming, Linus spent a full paragraph explaining why K&R's /The C Programming Language/ is so impressive while Strousoup reply merely said `K&R.' I'll leave it as an exercise for the reader which of these answers shows a better understanding of C.

    I also find it interesting that K&R is the only book mentioned by more than one responder.

  5. Re:ADA by Anonymous Coward · · Score: 2, Interesting

    Has anybody else noticed that Knuth looks like Yoda?

  6. Re:It's not the questions that are important... by EvanED · · Score: 2, Interesting

    Not only that, but it shows something about the field of CS which to a large extent is unique, which is that many of the big names are still around and are emailable! I mean, you can't do that in math -- let's see you email Newton and ask him a question. Or ring up Einstein and ask about something in his paper. But just the other day I emailed an author of a paper I read with a question, and he got back in just a couple hours. It's really pretty neat.

    And yeah, you can do this with modern stuff in other sciences, but with CS *most* of the field is modern. (There are some notable exceptions of course.)

  7. Re:Math by Lars512 · · Score: 3, Interesting

    I think you're right, in many cases it's a matter of perception. In my experience (pure maths/software eng. combined degree grad), there was no part of what I did in maths which is directly relevant now to software. Most of it I don't even remember. Perhaps that would have been different if I'd done discrete maths instead. What I did find was that pure maths was a series of incredible mental exercises. You were reasoning about complicated systems, and the best proofs came from lateral thinking and reaching a deep understanding of the system you were studying. I think pushing your abstract reasoning abilities to that level helps to manage complexity and abstraction in software. As it is pointed out, the best programmers are able to turn a complex problem into a simple one [through reaching the right abstraction]. For me, that is why maths was helpful. Perhaps the experience is also different for different areas of maths. Discrete maths may be better for algorithms, pure maths for abstraction, applied maths/physics for ??? (scientific programming/game dev/very specific areas of software)...

  8. Larry Wall by Doc+Ruby · · Score: 5, Interesting

    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. Perl, an interpreted language, runs faster than most equivalent C programs written by lesser programmers than Wall. It runs on more hardware than almost any language, including Java (and runs better on more HW than Java). Perl has the largest free, open source archive and one of the best FOSS communities, and has since before that was considered a feature of the language. Including the source to the language itself.

    Wall also wrote rn, which was equivalent to Usenet for thousands of people for many years, and patch, on which practically everyone outside the MS programming world depend.

    These programs are long-lived and popular because Larry programmed them so well to do their essential function. And since he's had to deal with so many obfuscated Perl programs, even winning the Obfuscated C Programming Contest twice, I expect he has a lot of wisdom to deliver to aspiring programmers with question.

    He's also probably still available to answer these questions.

    --

    --
    make install -not war

    1. Re:Larry Wall by Doc+Ruby · · Score: 3, Interesting

      That's why I made the distinction between Perl code ("Perl") and Wall's C code that makes Perl work ("perl").

      Not only has perl demonstrated its extreme effectiveness at solving the most general class of real-world problems, it has proven to be maintainable by generations of distributed volunteers. Wall is a great programmer. So great that even terrible programmers benefit from calling his excellent C code by means of cruddy Perl code.

      --

      --
      make install -not war