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


Forgot your password?
Programming Software

Interview With Brian Kernighan of AWK/AMPL Fame 117

Reader oranghutan brings us another in Computerworld's series of interviews with icons of the programming world, this one with Brian Kernighan, who helped popularize C with his book (co-written with the creator Dennis Ritchie) The C Programming Language, and contributed to the development of AWK and AMPL. In the past we've chewed over a few other interviews in this series, including those with Martin Odersky on Scala and Larry Wall on perl. "In this interview, Brian Kernighan shares his tips for up-and-coming programmers and his thoughts on Ruby, Perl, and Java. He also discusses whether the classic book The Practice of Programming, co-written with Rob Pike, needs an update. He highlights Bill and Melinda Gates as two people doing great things for the world enabled through computer science. Some quotes: 'A typical programmer today spends a lot of time just trying to figure out what methods to call from some giant package and probably needs some kind of IDE like Eclipse or XCode to fill in the gaps. There are more languages in regular use and programs are often distributed combinations of multiple languages. All of these facts complicate life, though it's possible to build quite amazing systems quickly when everything goes right.' 'Every language teaches you something, so learning a language is never wasted, especially if it's different in more than just syntactic trivia.'"
This discussion has been archived. No new comments can be posted.

Interview With Brian Kernighan of AWK/AMPL Fame

Comments Filter:
  • by BadAnalogyGuy ( 945258 ) <BadAnalogyGuy@gmail.com> on Wednesday October 07, 2009 @08:09AM (#29668387)

    There are a few books I recommend to kids just starting out in the industry.

    Code Complete
    Writing Solid Code
    Programming Pearls
    and The Practice of Programming

    Even old stalwarts like Kernighan's The C Programming Language aren't as useful in the longterm as the 4 books above are.

    Anyone who wants to make the jump from "code monkey" to professional should really take the time to read the books.

  • by morgan_greywolf ( 835522 ) on Wednesday October 07, 2009 @08:18AM (#29668451) Homepage Journal

    Right. The four books you mentioned aren't books for teaching you about a programming language or a particular technique, unlike K&R, which focuses just on C. They are designed to teach how to think like a programmer and how write code like professional software developer. They are more about the fundamental nature of coding; they're not as much about trying to teach you the basics as they are about trying to teach you what you really need to know to successfully take a programming project through the development cycle as a coder.

  • Re:"Need" an IDE (Score:5, Interesting)

    by mauddib~ ( 126018 ) on Wednesday October 07, 2009 @08:46AM (#29668613) Homepage

    In my very humble opinion, tools such as Emacs and vi are precursors to larger development environments, such as Eclipse or Delphi. In your case, and assuming my argument is true, we would all be going back to flipping switches and pressing buttons, since that's the only true way of understanding the code.

    If you don't accept my argument, then why are syntax highlighting, :make macros and identifier matching part of every vi install nowadays? And don't even get me started about emacs, which design purposes was to help programmers write better code. So, if you don't accept my premise, where do you draw the line?

    For me, this development can't go fast enough. I'm looking forward to languages that integrate completely with an IDE, and leave simple character representation (ASCII e.a.) behind.

  • Re:"Need" an IDE (Score:3, Interesting)

    by corbettw ( 214229 ) <corbettw&yahoo,com> on Wednesday October 07, 2009 @09:37AM (#29669061) Journal

    How can we have a flame war about the definition of a Real Programmer© without a link to the story of Mel [utah.edu], the original Real Programmer©?

  • Re:"Need" an IDE (Score:1, Interesting)

    by Anonymous Coward on Wednesday October 07, 2009 @09:44AM (#29669141)

    Look at Color forth. It is mostly ASCII but each word has a color associated with it which isn't ASCII.


  • Re:"Need" an IDE (Score:3, Interesting)

    by MaraDNS ( 1629201 ) on Wednesday October 07, 2009 @10:03AM (#29669371) Homepage Journal
    The original Usenet posting from 1983 actually wasn't pseudo-poetry; it was prose. The original groups.google.com article has disappeared, but a web version of the article in its original prose is here [pbm.com].
  • by betterunixthanunix ( 980855 ) on Wednesday October 07, 2009 @10:43AM (#29669823)
    I personally use Emacs, with syntax highlighting and various other modes, because it is helpful and speeds up the process of writing code. There have been times, however, where I have not been able to use Emacs for some reason (e.g. I had to write some code on a system that did not have it installed). Once I was reduced to using a line editor to write some code (yes, in the 21st century), and while I hope to never experience such a situation again, I was able to deal with it and get the work done.

    All too often I see programmers who are completely helpless when they cannot use their favorite IDE, which is the problem I was alluding to. An IDE is a great tool that can save a lot of time, but when it gets to the point where people cannot figure out how to run a Java program without starting up Eclipse, something very bad is going on.
  • Re:"Need" an IDE (Score:2, Interesting)

    by not-my-real-name ( 193518 ) on Wednesday October 07, 2009 @10:59AM (#29670027) Homepage

    Try looking into "literate programming". There is a character representation at the lowest level, but the output is all nicely formatted and typeset.

    I played around with Haskell a bit. It has a built-in feature where you can integrate it with LaTeX and produce some really nice program listings complete with typeset documentation.

  • Re:"Need" an IDE (Score:4, Interesting)

    by corbettw ( 214229 ) <corbettw&yahoo,com> on Wednesday October 07, 2009 @11:33AM (#29670457) Journal

    From the postscript at the end of this version: "The original submission to the net was not in free verse, nor any approximation to it --- it was straight prose style, in non-justified paragraphs. In bouncing around the net it apparently got modified into the `free verse' form now popular. In other words, it got hacked on the net. That seems appropriate, somehow."

  • Re:Labview (Score:5, Interesting)

    by shutdown -p now ( 807394 ) on Wednesday October 07, 2009 @12:54PM (#29671507) Journal

    There may be a non-character-based program representation (useful for developing and maintaining non-trivial projects) in the future, but I fear we'll all be retired or expired by then

    This has been tried numerous times. It just doesn't work, period.

    More recently, I recall reading an interesting interview with Microsoft "project Oslo" guys. Oslo is supposed to be a DSL framework for .NET. Now, existing releases already have something called "DSL SDK", integrated into VS, but the "DSLs" that it lets you create are purely graphical, like flowcharts, and have to be "coded" using a visual designer.

    That didn't exactly catch on, and Oslo guys explained that one of the most repeated customer feedbacks was that, while visual designers are occasionally useful, in the end it's still faster and easier to spend half an hour training, and then write DSL code as actual text in a text editor. Note: not for a programmer, but for a business analyst, or some other guy who haven't ever seen any code before!

    So they ditched the visual designer idea in Oslo, and instead came up with the tried and proven approach of parser generators (going for LL(*) over LALR as it's simpler to use and less restrictive, even if slower), and coupled it with a text editor that can load a grammar for the parser generator, and automatically provide syntax highlighting and simple completion for it.

  • Re:"Need" an IDE (Score:5, Interesting)

    by AuMatar ( 183847 ) on Wednesday October 07, 2009 @04:04PM (#29673797)

    When the hell did laying out graphical forms become programming?

"So why don't you make like a tree, and get outta here." -- Biff in "Back to the Future"