Slashdot Mirror


Linux Journal Interview With Brian Kernighan

pndiku writes "Linux Journal has an interesting interview with Brian Kernighan where he talks about AWK, AMPL and how he had nothing to do with the creation of C."

15 of 333 comments (clear)

  1. Woah by Sir+Haxalot · · Score: 5, Funny

    '...and how he had nothing to do with the creation of C'
    That's something to be proud of!

    --
    I have over 70 freaks, do you?
  2. Hey, we have something in common! by Anonymous Coward · · Score: 5, Funny

    I had nothing to do with the creation of C either!

  3. If I were Brian... by stevens · · Score: 5, Funny

    ...and someone asked me about the wisdom of gets(), I'd also be pointing at Dennis Ritchie and yelling, "It was him! Burrrn him!"

    1. Re:If I were Brian... by Zan+Zu+from+Eridu · · Score: 5, Insightful
      So what is wrong with:

      int foo, flash, up, left;
      int *bar, *bang, *down, *right;

      Or even better:

      int foo;
      int flash;
      int up;
      int left;

      int *bar;
      int *bang;
      int *down;
      int *right;

      Just because a language allows a construct doesn't mean you have to use it. This is a coding-style argument, which are of course all subjective.

      I can never define any sort of function pointer in one line: I always have to typedef tthe function and then have a pointer to it. While I can work out, with a manual in hand, how to do it in one line, the syntax is so unintuitive that I never do it: I will just have to reach for the manual again wh en I maintain it.

      This is a valid problem that has to do with operator precedence. In C the operator precedence is arranged in such a way most commonly used expressions can be written without a lot of brackets. I think this is more convenient, because normally you don't define a lot of function pointers, but you do use at least some pointer arithmetics.

      The mistake I would junk is allowing enum {fred=36, bill=19, joe=333} ; Which confuses predefined constants with the classic enumeration.

      A constant in C is not the same as an enum. Simply put constants are addressable, enum items are not. One could choose to introduce yet another construct for unaddressable constants, but this is far more practical.

      And again, you don't have to use every feature in a language just to make your code more interesting. C was designed as a language-of-choice, not as a bondage-and-discipline language. If you don't like your freedom, don't use it, but please don't start whining you've got too much freedom.

  4. SCO sueing Brian Kernighan by Anonymous Coward · · Score: 5, Funny

    Isn't SCO already suing Brian, both for being involved in a Linux OS, and because "C" happens to be found in the middle of SCO's trademark name?

  5. Re:It's official by Lazar+Dobrescu · · Score: 5, Informative
    It is well known that Kernigham had nothing to do with the creation of C. The K&R you are referring too are the authors of the BOOK, "The C Programming Language", that Kernigham wrote with Dennis Ritchie(which is the main inventor of C).

    So, we still have K&R, just as before. Only now, maybe some readers understand better that K&R is not the names of the C inventors, but the name of the people who wrote the book about how to use C ;)

  6. Great people are so humble! by civilengineer · · Score: 5, Insightful

    He says " I wound up at Princeton" and "through good luck I got a job at Project MAC at MIT" and "probably because of the MIT experience, I got a job at Bell Labs in the Computing Science Research Center". Princeton, MIT, Bell Labs?? not easy!

    --

    New year Resolution: Don't change sig this year
  7. Simplicity by devphil · · Score: 5, Funny


    One of my favorite Kernighan quotes of all time:

    Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
  8. Atleast Windows is safe. by Niadh · · Score: 5, Funny

    ... since C is now owned by SCO, so is everything written in said language

    That explains why SCO isn't going after Microsoft.
    Windows being written in VB and all.

  9. Holy shit, batman, where's your flame-proof suit?? by Rinikusu · · Score: 5, Funny

    Let's see:
    1) He mentions he writes interfaces for.. Visual Basic
    2) He mentions he writes code in Java
    3) He mentions Microsoft in a positive light
    4) He admits to owning a Mac

    Fuck, man, the only thing he didn't do is say "vi" or "emacs".

    Does this mean that, in reality, all of the contention regarding languages, operating systems, and idealogies is completely artificial and that we should really just use what we like instead of jumping on a particular bandwagon and denying the legitimacy of anything else?

    Man, I think I want to go back to bed.

    --
    If you were me, you'd be good lookin'. - six string samurai
  10. Why Pascal is Not My Favorite Programming Language by NearlyHeadless · · Score: 5, Informative

    Here's an HTML version of Why Pascal is Not My Favorite Programming Language. There's a Postscript version on Kernighan's website

  11. totally. I like this guy. by rebelcool · · Score: 5, Insightful

    Very practical. He wants to use the computer as a tool. Not a propaganda platform. Windows is fine and dandy for some applications, Unix for others. It all depends on what you're trying to do.

    --

    -

  12. Re:expressive by jfengel · · Score: 5, Insightful

    You've got to be careful with your terminology here. All languages are equally expressive in the sense that anything you compute in one can be written in another. (At least in terms of computability. Access to hardware is a different matter.)

    In your context, you might mean "expressive" in the sense of "saying as much in as few words as possible." Since C is a typed languge with explicit memory management, it's going to be more verbose than an untyped garbage-collecting language like Lisp or Perl. (Well, they have very limited typing, especially once you start adding constructs on top of the core language.)

    Or you could mean "expressive" in exactly the opposite sense, where you have to be more "expressive" about the types of things. In this sense C is far less expressive than strongly typed languages like Haskell or even C++/Java.

    Or you could simply be referring to the verbosity of the language, where COBOL holds the title of most ugly language and APL is without a doubt the shortest. (APL is indistinguishable from line noise.)

    In the end the value of a "language" has less to do with the core language and much to do with the libraries for hardware access (memory, screen, disk, network) and compatibility with common features provided by the OS (clipboard, windowing, etc.)

    So you pick your language for a host of reasons few of which have anything to do with a core "expressiveness".

  13. Re:Holy shit, batman, where's your flame-proof sui by machine+of+god · · Score: 5, Funny

    You read the article didn't you. DIDN'T YOU. Never do that again.

    (It led you to assume that the rest of slashdot will.)

  14. these guys by Anonymous Coward · · Score: 5, Interesting

    My aunt used to work with these guys at the Labs here in NJ quite often. Shes dieing now and we sit for hours and talk about how she used to program in C and how much she loved unix. Hours on end of stories about these guys and different projects. I work with a guy now who worked with her, lots of stories from him as well. Awesome stuff, true geniuses. Gotta thank these guys for changing the world.

    -- chris

    http://elusive.filetap.com