Slashdot Mirror


How Heraclitus would Design a Programming Language

CowboyRobot writes "Developer of Smalltalk Alan Kay has an interview on ACM Queue where he describes the history of computing and his approach to designing languages. Kay has an impressive resume (PARC, ARPAnet, Atari, Apple, Alan Turing Award winner) and has an endless supply of memorable quotes: 'Perl is another example of filling a tiny, short-term need, and then being a real problem in the longer term,' 'Once you have something that grows faster than education grows, you're always going to get a pop culture,' 'most undergraduate degrees in computer science these days are basically Java vocational training,' 'All creativity is an extended form of a joke,' and 'nobody really knows how to design a good language.'"

21 of 577 comments (clear)

  1. Which fanboy are you? by Anonymous Coward · · Score: 5, Funny
    Which fanboy are you?
    1. Windows

      You wear wraparound sunglasses, even indoors. You wish your mother would let you ride a motorbike. You tell your friends you're pulling in $50,000 a year and $2,000 a month "playing the stock market" but in reality you're only bringing in half that and your dividends from MSFT havn't been good in years. Your non computing friends all turn to you for help; you only charge $30 an hour. Your collegues talk about you behind your back. Your workplace nickname is likely to be "The Asshole". Unlike the Linux fanboys, you actually try to pick up dates in bars but women laugh at you.
    2. Apple

      ou think you're so cool you hurt. You have mirrors on every wall in your "loft apartment", which is really a grimy little apartment next to a guy who plays Guns 'n Roses at 3am. All of your furniture is from Ikea. You sometimes think that changing your name to "Steve" would be "pretty cool". When you go to bars you only drink Miller Lite. No body ever asks you for help with their computers because they know you don't know anything but OS X, even if you do tell them you "run Unix" now. Your friends openly laugh at you.
    3. Linspire

      You regularly give $10 bills to homeless guys because you have too much money. Computers baffle you, but you enjoy looking at pictures of naked women. You don't know what Linux is, but you continually bugged the IT guy at work about your computer he installed Linspire on your machine.
    4. Umbongo

      You shop at GAP. You probably used to use a Mac. When you saw the multiracial image used as a desktop picture and heard that this operating system came from the same country as Nelson Mandella, you knew it was for you. You meet with your friends in fair-trade coffee houses and talk about the eventual overthrow of evil corporations such as Microsoft and Starbucks. Like the Linspire user, you have very little real knowlege when it comes to computers but you would never use your computer to look at pictures of women degrading themselves.
    5. Gentoy

      You've been "into computers" for ohh, one or two years now and fancy yourself as "a bit of a hacker". Wouldn't know C from C++, or even Perl for that matter. Older Gentoy users may be building their homes from matchsticks. You've explained to all your friends that your matchstick house will have an "optimised floorplan". They've tried to tell you that your house violates every known building code and law in your area, but you've ignored them so far because you can't read those complicated regulatory documents.
    6. Linux From Scratch

      Much like the Gentoy user but you'd also be into sadomasochistic sex if you could get it. You're not just building a house from matchsticks, you're planing to grow the trees to make the matchsticks. You've cleared some land but don't know what to do next because you havn't read the books you've got, so you've posted to alt.arborists.newbie asking for help. It's been three days so far and no one has replied. You remain hopeful.
    1. Re:Which fanboy are you? by Anonymous Coward · · Score: 2, Funny

      7. Amiga

      You are a bitter person, twisted by how unfair the world is to have ignored your choice of system and operating system. You still think it is the late 80s, and don't realise that everybody else has caught up, gone past and then lapped you. Oddly enough you hate your neighbour, also an Amiga fanboy, because they have a blue front door. You have a collection of Amiga t-shirts, including a XXXL Amiga Inc t-shirt sent out 3 years after you paid $50 to try and keep your platform alive. You current hardware uses a 5 year old VIA southbridge, and you need to use a PCI card IDE controller because of it. You don't really know how computers work despite having used one for nearly 20 years. You still think that PCs have no custom chips and use the original x86 instruction set.

    2. Re:Which fanboy are you? by essreenim · · Score: 4, Funny
      8. GNU HERD

      You don't really exist in the conventional sense. You are more an abstraction. So too is your operating system. Your imaginery friends call you all the time to arrange getting together to add on more features to your imaginery OS. You will always buy the fair trade bar of chocolate for $5 before the bag of smarties @ $0.50 but thats ok, because although the cost to your productivity by using HERD now runs into the tens of thousands, that is more than made up for by the imaginery dent you are doing to the Microsoft corrporation. You could be from anywhere but you might well be German and as you know very well, its dangerous to purchase proprietary software but it's ok to stone someone else to death for using it!

      : )

  2. Not C++ I hope by Anonymous Coward · · Score: 4, Funny

    Hello Gentlemen,

    I'm a first year programming student at an Ivy League school and I've
    just finished my Visual Basic classes. This term I'll be moving onto
    C++. However I've noticed some issues with C++ that I'd like to
    discuss with the rest of the programming community. Please do not
    think of me as being technically ignorant. In addition to VB, I am
    very skilled at HTML programming, one of the most challenging
    languages out there!

    C++ is based on a concept known as Object Oriented Programming. In
    this style of programming (also known as OOPS in the coding community)
    a programmer builds "objects" or "glasses" out of his code, and then
    manipulates these "glasses". Since I'm assuming that you, dear reader,
    are as skilled at programming as I am, I'll skip further explanation
    of these "glasses".

    Please allow me to make a brief aside here and discuss the origins C++
    for a moment. My research shows that this language is one of the
    oldest languages in existence, pre-dating even assembly! It was
    created in the early 70s when AT&T began looking for a new language to
    write BSD, its Unix Operation System (later on, other companies would
    "borrow" the BSD source code to build both Solaris and Linux!)
    Interestingly, the name C++ is a pun by the creator of the language.
    When the first beta was released, it was remarked that the language
    would be graded as a C+, because of how hideously complex and unwieldy
    it was. The extra plus was tacked on during a later release when some
    of these issues were fixed. The language would still be graded a C,
    but it was the highest C possible! Truly a clever name for this
    language.

    Back to the topic on hand, I feel that C++ - despite its flaws - has
    been a very valuable tool to the world of computers. Unfortunately
    its starting to show its age, and I feel that it should be
    retired, as COBOL, ADA and Smalltalk seem to have been. Recently I've
    become acquainted with another language that's quite recently been
    developed. Its one that promises to greatly simplify programming. This
    new language is called C.

    Although syntactically borrowing a great deal from its predecessor
    C++, C greatly simplifies things (thus its name, which hints at its
    simpler nature by striping off the clunky double-pluses.) Its biggest
    strength is that it abandons an OOPS-style of programming. No more
    awkward "objects" or "glasses". Instead C uses what are called
    structs. Vaguely similar to a C++ "glass", a struct does away with
    anachronisms like inheritance, namespaces and the whole
    private/public/protected/friend access issues of its variables and
    routines. By freeing the programmer from the requirement to juggle all
    these issues, the coder can focus on implementing his algorithm and
    rapidly developing his application.

    While C lacks the speed and robustness of C++, I think these are petty
    issues. Given the speed of modern computers, the relative sluggishness
    of C shouldn't be an issue. Robustness and stability will occur as C
    becomes more pervasive amongst the programming community and it
    becomes more fine-tuned. Eventually C should have stability rivaling
    that of C++.

    I'm hoping to see C adopted as the de facto standard of programming.
    Based on what I've learned of this language, the future seems very
    bright indeed for C! Eventually, many years from now, perhaps we'll
    even see an operating system coded in this language.

    Thank you for your time. Your feedback is greatly appreciated.

  3. Re: I had Heraclitus once by Black+Parrot · · Score: 3, Funny


    > The itching wasn't so bad, but the burning drove me nuts.

    Sounds like Hera shared more than her clitus.

    --
    Sheesh, evil *and* a jerk. -- Jade
  4. I got your perl right here. by zerocool^ · · Score: 5, Funny
    Ah, perl poetry.
    < >!*''#
    ^"`$$-
    !*=@$_
    %*<> ~#4
    &[]../
    |{!,,SYSTEM HALTED
    or,

    Waka waka bang star tick tick hash,
    Caret quote back-tick dollar dollar dash,
    Bang star equal at dollar under-score,
    Percent star waka waka tilde number four,
    Ampersand bracket bracket dot dot slash,
    Pipes curly-bracket bang comma comma CRASH.

    Also: Isn't it odd that perl is the one language that hardly ever makes it past the slashdot lameness filter?

    ~Wx
    --
    sig?
    1. Re:I got your perl right here. by fanatic · · Score: 3, Funny

      Isn't the idea of perl poetry that it is supposed to complile in perl? Your example fails that test. Of course, it fails most other tests, too.

      --
      "that's not encryption - it's a new perl script that I'm working on..." - from some Matrix parody
    2. Re:I got your perl right here. by bitswapper · · Score: 2, Funny


      String found where operator expected at ./poetry.pl line 2, at end of line
      (Missing semicolon on previous line?)
      syntax error at ./poetry.pl line 2, near "!"
      Can't find string terminator "'" anywhere before EOF at ./poetry.pl line 2.

  5. None of the above. by TapeCutter · · Score: 4, Funny

    What about the VMS fanboy, we wear cardigans, hush puppies, tweed hats and smoke pipes. We don't normally "shop" but when the leather elbow patches can no longer hang on or the felt is just too floppy, we vist the church op-shop. We always have a pencil and pad in our pocket and a small cylindrical slide rule for a quick estimate. Tuesday trivia night is our social highlight of week and the hot chocolate and lamingtons are wonderfull. We have wives but have grown to realise sex is really just another sports activity and would much rather play with the train set in the shed.

    Whoever modded the PP a Troll needs to learn how to laugh at themselves.

    Viva-la-difference

    Disclaimer: I know jack-shit about VMS or French spelling.

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  6. Re:I must protest by kfg · · Score: 3, Funny

    I would tend to agree with you that most of people in general are incompetent idiots, I believe that Slashdot community is a rare exception to this sad rule

    I must protest.

    KFG

  7. Re:Ins't he the one ... by Anonymous Coward · · Score: 1, Funny

    the one the little girl was playing like with a video game (first geeky girl I saw... frightening)...

    I find scary that:

    1. You talk of her as if she wasn't a fiction character.

    2. In Jurassic Park, with all those dinosaurs around, you found the little girl frightening.

  8. Favourite quote by Z0mb1eman · · Score: 3, Funny

    If you look at software today, through the lens of the history of engineering, it's certainly engineering of a sort--but it's the kind of engineering that people without the concept of the arch did. Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves.

    SF The analogy is even better because there are the hidden chambers that nobody can understand.
    --
    ClutterMe.com - easiest site creation on the Net. Just click and type.
  9. memorable quotes ? by TTL0 · · Score: 2, Funny
    'Perl is another example of filling a tiny, short-term need, and then being a real problem in the longer term,'

    Which is why for years people have been writing CGI, QA and Admin scripts in Smalltalk.

    --
    Sanity is the trademark of a weak mind. -- Mark Harrold
  10. You IDIOT! by ggvaidya · · Score: 5, Funny

    You have got it so backwards, I don't even know where to start! For starters, C++ is NOT older than C - it's C's f***ing descendant! C was invented in the 1980s by the Borland corporation (it was invented as Turbo C), which was competing with Microsoft's QBASIC. C++ was created by Microsoft as an attack on Borland - perhaps you've heard of Visual C++?? Have you *ever* heard of Turbo C++? But you probably haven't, cos you're such a screwed up newbie.

    Oh, and BTW - an *operating system* in C? Jesus, where have you *BEEN*! Don't you know that almost all the OS's existing today - Windows, SCO/Linux, even MacOS - have been written in C?? And that's why there's so many bugs in all of them - because C is practically *impossible* to write good code in. That's why Apple is now switching over to Objective C, which is kinda like Apple C++. I've heard that Windows XP was written in Visual C++. And SCO/Linux was going to be ported to Java, until Microsoft paid Sun off to kill the deal and IBM sued SCO for violating their big-company-with-major-trademarks-shoots-itself-in -the-leg patent.

    Thankfully, the field is being revolutionised by people like Richard Stallman, who wrote gcc (the GNU C compiler), gvim and gnome, among many other open source programs. Finally, an advanced programming language like Perl can be used FOR FREE. Without a shadow of a doubt, Perl is the language of the future, even though it's still pretty young and all.

    (And no, HTML is NOT a language. Go a learn a REAL programming language like Javascript, n00b).

  11. My professor on Perl by mi · · Score: 3, Funny

    A "write-only language"...

    --
    In Soviet Washington the swamp drains you.
  12. I know a vast amount about computer science by kahei · · Score: 4, Funny


    LISP had it first, LISP did it better, and LISP is all you need. Let's look at why LISP is so good that it has to be mentioned ad nauseam whenever a language discussion comes up.

    1 -- LISP is simple and elegant. LISP has a pure functional design, without any of that procedural/imperative/OO junk that people use to actually write software that does stuff. LISPs purity and simplicity keep it in the lab, where languages belong.

    2 -- LISP is old. You name it, LISP implemented it way back when. Things like visual form designers, refactoring IDEs, regular expressions and the like don't count -- those aren't real language features, just modern rubbish that helps people do boring jobs.

    3 -- LISP is highly intuitive. I've used LISP for 70 years, man and boy, and that's why I realise just how intuitive LISP is. Starting off, some people find LISP a bit daunting, and they keep wanting to write 'a + b' instead of '(add a b)' just because it's "shorter" and "clearer". In fact, though, it only takes a few short years of practise with purely functional languages to find LISP completely intuitive.

    4 -- LISP is used by real professionals -- computer scientists, AI researchers from the 1980s, and Douglas Hofstatder. The post-LISP languages are used by hired help -- engineers and whatnot. I'm sorry to have to say it, but it's true. If you want to get _paid_ for programming, sure, use C# or PHP or something like that; _gentlemen_ will continue to use LISP.

    Well, I hope that's finished the 'debate' (if indeed there can be debate about what is self-evident). LISP is better, and that's that. Remember, it's not what you can _do_ with a language that matters; its how much you can _say_ about it.

    Incidentally, this post is a JOKE. LISP has exactly the strengths and weaknesses you would expect from a pure functional language. I just think it's weird that people always jump up and go 'LISP IS BETTER OH YES IT IS' when a language discussion comes round.

    --
    Whence? Hence. Whither? Thither.
  13. Alan Turing Award winner? by Anonymous Coward · · Score: 2, Funny

    ...Alan Turing Award winner.

    Does that mean he passed the Turing test?

  14. Re: I had Heraclitus once by tinkerton · · Score: 2, Funny

    he probably had what Johnny Cash called "ring of fire"

  15. You said heraCLITus !!!!! by Anonymous Coward · · Score: 1, Funny

    you said clit !!!

  16. Re:I must protest, too by BorgCopyeditor · · Score: 2, Funny
    aggregious ... errors

    It's "egregious." I should know. I have a Ph.D. ;-)

    --
    Shop as usual. And avoid panic buying.
  17. Yes, you can do that, RTFM by Julian+Morrison · · Score: 2, Funny

    You can do all that stuff, but I'm not the manual, go read it. Don't forget Ada was amongst other things designed for programming on the bare metal, for embedded (military) apps.