Slashdot Mirror


What I Hate About Your Programming Language

chromatic writes "Perl programmers like punctuation. Python programmers like indentation. Every programming language has its own syntax, stemming from its philosophy. What I Hate About Your Programming Language examines the issues that shape languages as they grow. It's not advocacy, I promise."

46 of 800 comments (clear)

  1. That's right... by xeon4life · · Score: 2, Funny

    ...we should all use Scheme.

    --
    Real programmers can write assembly code in any language. -- Larry Wall
    1. Re:That's right... by DonkeyJimmy · · Score: 4, Funny

      ...we should all use Scheme.

      What I think you meant to say was:
      (define language? (lambda (x) 'scheme'))

      --
      "Probably the toughest time in anyone's life is when you have to murder a loved one because they're the devil." -Philips
    2. Re:That's right... by Bendebecker · · Score: 2, Funny

      ...we should all use Scheme.
      They say that a langauge can be judged partly on how many people use it. As such, some other versions of Lisp are probably better since they are a lot common.

      --
      There's a growing sense that even if The Future comes,
      most of us won't be able to afford it.
      -- Lemmy
    3. Re:That's right... by Anonymous Coward · · Score: 4, Funny

      Except that you messed it up. The question mark should indicate a boolean return value.

      (define language? (lambda (x) (equal? 'scheme)))

      You can tell my code is better, because it has more trailing parentheses.

    4. Re:That's right... by ctrimble · · Score: 2, Funny

      I agree about the predicate function, but I understood the intention being whatever was passed in, the symbol scheme was returned. Which I then interpreted as meaning that scheme is the primordial language and every language is scheme under the covers. And then I thought that it's probably more accurate to say that Scheme is like Zelazny's Amber and that all the other programming languages are just shadows that differ in some flawed way. (C being somewhere down by the Courts of Chaos). And then I realised that I was out of new Mountain Dew LiveWire(tm) and should get my fifth bottle of the day. Oh, sweet nectar!

  2. The real answer by ucblockhead · · Score: 5, Funny

    What I hate about your programming language is that it doesn't work like mine does.

    --
    The cake is a pie
  3. Slash by Malicious · · Score: 3, Funny

    I hate your Grammer/Punctuation.

    --
    01101001001000000110000101101101001000000110001001 10000101110100011011010110000101101110
    1. Re:Slash by Malicious · · Score: 2, Funny

      You are correct.
      Slash isn't responsible. It's the fault of inferior poof reading.

      --
      01101001001000000110000101101101001000000110001001 10000101110100011011010110000101101110
    2. Re:Slash by Concerned+Onlooker · · Score: 2, Funny

      Please don't bring his grandmother into this.

      --
      http://www.rootstrikers.org/
  4. I hate all the text... by TheDormouse · · Score: 5, Funny

    That's why I use Whitespace, of course!

    1. Re:I hate all the text... by sheetsda · · Score: 4, Funny

      For those of you who like Whitespace, you might also take a look at Brainfuck. How can you go wrong with a 171 byte compiler? K.I.S.S. at its finest. :)

  5. Firestarter by Flounder · · Score: 4, Funny

    I used to have a T-shirt that was designed to piss off everybody. It said "Nuke the Gay Unborn Baby Seals". That's what reading this article felt like. Tinder to start a flame war that everybody can join in on.

    --

    No boom today. Boom tomorrow. There's always a boom tomorrow. - Cmdr. Susan Ivanova

    1. Re:Firestarter by Reziac · · Score: 5, Funny

      The article reminded me of this old gem:

      THE PROGRAMMER'S QUICK GUIDE TO THE LANGUAGES

      The proliferation of modern programming languages (all of which seem to have stolen countless features from one another) sometimes makes it difficult to remember what language you're currently using. This handy reference is offered as a public service to help programmers who find themselves in such a dilemma.

      =====> TASK: Shoot yourself in the foot.

      C: You shoot yourself in the foot.

      C++: You accidentally create a dozen instances of yourself and shoot them all in the foot. Providing emergency medical assistance is impossible since you can't tell which are bitwise copies and which are just pointing at others and saying, "That's me, over there."

      FORTRAN: You shoot yourself in each toe, iteratively, until you run out of toes, then you read in the next foot and repeat. If you run out of bullets, you continue with the attempts to shoot yourself anyway because you have no exception-handling capability.

      Pascal: The compiler won't let you shoot yourself in the foot.

      Ada: After correctly packing your foot, you attempt to concurrently load the gun, pull the trigger, scream, and shoot yourself in the foot. When you try, however, you discover you can't because your foot is of the wrong type.

      COBOL: Using a COLT 45 HANDGUN, AIM gun at LEG.FOOT, THEN place ARM.HAND.FINGER on HANDGUN.TRIGGER and SQUEEZE. THEN return HANDGUN to HOLSTER. CHECK whether shoelace needs to be re-tied.

      LISP: You shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds the gun with which you shoot yourself in the appendage which holds...

      FORTH: Foot in yourself shoot.

      Prolog: You tell your program that you want to be shot in the foot. The program figures out how to do it, but the syntax doesn't permit it to explain it to you.

      BASIC: Shoot yourself in the foot with a water pistol. On large systems, continue until entire lower body is waterlogged.

      Visual Basic: You'll really only _appear_ to have shot yourself in the foot, but you'll have had so much fun doing it that you won't care.

      HyperTalk: Put the first bullet of gun into foot left of leg of you. Answer the result.

      Motif: You spend days writing a UIL description of your foot, the bullet, its trajectory, and the intricate scrollwork on the ivory handles of the gun. When you finally get around to pulling the trigger, the gun jams.

      APL: You shoot yourself in the foot, then spend all day figuring out how to do it in fewer characters.

      SNOBOL: If you succeed, shoot yourself in the left foot. If you fail, shoot yourself in the right foot.

      Unix:
      % ls
      foot.c foot.h foot.o toe.c toe.o
      % rm * .o
      rm:.o no such file or directory
      % ls
      %

      Concurrent Euclid: You shoot yourself in somebody else's foot.

      370 JCL: You send your foot down to MIS and include a 400-page document explaining exactly how you want it to be shot. Three years later, your foot comes back deep-fried.

      Paradox: Not only can you shoot yourself in the foot, your users can, too.

      Access: You try to point the gun at your foot, but it shoots holes in all your Borland distribution diskettes instead.

      Revelation: You're sure you're going to be able to shoot yourself in the foot, just as soon as you figure out what all these nifty little bullet-thingies are for.

      Assembler: You try to shoot yourself in the foot, only to discover you must first invent the gun, the bullet, the trigger, and your foot.

      Modula2: After realizing that you can't actually accomplish anything in this language, you shoot yourself in the head.

      CLARION: You tell your computer to create a program for shooting y

      --
      ~REZ~ #43301. Who'd fake being me anyway?
  6. What I Hate... by larry2k · · Score: 1, Funny
    Perl programmers like punctuation. Python programmers like indentation. Every programming language has its own syntax, stemming from its philosophy

    And emacs handles all of this...

    --

    The package said "Windows XP or better. Pentium Class Processor or better"... So I got a Mac with OS X

  7. Re:PHP by DonkeyJimmy · · Score: 5, Funny

    What!? # is so cool looking though.

    As a perl programmer I just read that as "What!? "

    --
    "Probably the toughest time in anyone's life is when you have to murder a loved one because they're the devil." -Philips
  8. Two flame wars in one! by evronm · · Score: 5, Funny

    Anyone else noticed how, in the middles of the "my language is better than your language" flame war this guy was starting, he managed to slip in an editor flamewar by linking to vim?

    Truly brilliant!

  9. HA! Missed me! by secolactico · · Score: 2, Funny

    No mention whatsoever of BASIC or Logo. Yes! At least he spared my languages of choice.

    --
    No sig
  10. Calling Card of a Horrid Developer: by WndrBr3d · · Score: 4, Funny

    <%@ Language=VBScript %>

    Is you see this, please call Crime Stoppers at (888)580-TIPS.

    1. Re:Calling Card of a Horrid Developer: by nutbar · · Score: 2, Funny
      Is you see this, please call Crime Stoppers at (888)580-TIPS.

      But what's TBL's mom's number?

  11. Re:At the end of the day... by EvanED · · Score: 4, Funny

    >>I wish some higher level languages would force the use of comments in code, make it part of the declaration for a class or function.

    I'm not sure if that would help... how many "// fucking compiler requires this" comments would you see?

  12. Re:At the end of the day... by elmegil · · Score: 4, Funny

    /* this is the mandatory comment */

    --
    7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
  13. Believe it or not... by Anonymous Coward · · Score: 3, Funny

    ...I work at a company that uses an early 1970's mainframe (won't divulge any details). We use punchcards (yes punchcards) to program the beast in FORTRAN. As you may or may not know, FORTRAN was originally adapted to punch cards, hence the 80 column limit and the 6 column space prior to issuing commands. (These limitations have been relaxed in FORTRAN 90/95). Of course, I also program on other, more modern systems using other languages, mostly C++ and Perl. However, I still find myself writing programs that basically mimic FORTRAN's style. I prefer short lines no longer than 80 characters and capitalized command names, etc. Once I actually rewrote some of gcc's source code so that reserved words like for, while, switch, etc. were changed to FOR, WHILE, SWITCH, etc. I also capitalized the functions in the standard library (!). Since then, I've gotten over my capitalization fetish, but FORTRAN's code still looks better to me. I guess old habits never die.

  14. Re:Pretty limited scope by Usquebaugh · · Score: 2, Funny

    Haskell, you didn't mention Haskell. How can you mention Dylan, ML without Haskell.

    Eiffel, you didn't mention Eiffel. How can you mention Dylan, ML, Haskell without mentioning Eiffel.

  15. Re:BASIC by flippet · · Score: 4, Funny

    I hate to break it to you, but compiled BASIC is very very old, long before VB. I remember compiling eBASIC startrek games in 1979 on CDOS (a CP/M variant from Cromemco).

    Shhh, he's having a Microsoft bashing moment... it could be dangerous to interrupt slashdotters whilst in this state, you never know what they might do...

    Phil

    --
    "Cattle Prods solve most of life's little problems."
  16. Re:PHP by Hentai · · Score: 3, Funny

    syntaces.

    And 'anal-retentive' is hyphenated as a noun, but unhyphenated as an adjective - unless it is seperated from the noun it modifies.

    --
    -Hentai [in vita non pacem est]
  17. Re:At the end of the day... by los+furtive · · Score: 4, Funny
    Yeah, my favorite of all time:
    /**
    *
    * Javadoc goes here
    */
    --

    I'm a writer, a poet, a genius, I know it. I don't buy software, I grow it.

  18. Re:PHP by uberdave · · Score: 4, Funny

    "You don't tug on Superman's cape.
    You don't spit into the wind.
    You dont't pull the mask of the ol' Lone Ranger..."
    ...and you don't make yourself the target of a programming language flame war.

  19. What I want is... by Bendebecker · · Score: 4, Funny

    A programming language where I don't have to do any work. One where I can just decide, "hey, I have a great idea for a program" and then discover that my computer had already programmed it for me.

    --
    There's a growing sense that even if The Future comes,
    most of us won't be able to afford it.
    -- Lemmy
  20. Re:Pretty limited scope by Anonymous Coward · · Score: 3, Funny

    And how can you mention Dylan without mentioning the Mamas and the Papas? How can you mention Dylan without mentoining Woodie Guthrie?

  21. Don't get me started about machine language. by Anonymous Coward · · Score: 5, Funny

    I can't stand machine language. I'll be typing along and accidently type a '0' when I meant to type a '1' and my program goes apeshit. They should fix that.

    1. Re:Don't get me started about machine language. by sean23007 · · Score: 4, Funny

      Oh I know! One time I accidentally pressed '2' and my computer grew a leg and kicked me in the nuts. Who knew?

      --

      Lack of eloquence does not denote lack of intelligence, though they often coincide.
  22. Visual C++ by ucblockhead · · Score: 4, Funny

    Probably about as many as the number of "// TODO: Place code here" in Visual C++ projects.

    --
    The cake is a pie
  23. Re:Thanks for examples, dickhead. by Anonymous Coward · · Score: 3, Funny

    jerk off.

    I will, thank you.

    Unlike programming languages, jerking off is something we can ALL enjoy.

  24. Re:Thanks for examples, dickhead. by larry+bagina · · Score: 5, Funny
    Unlike programming languages, jerking off is something we can ALL enjoy.

    I don't have any hands you insensitive clod!

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  25. Whitespace: a great macro language for Python by SimHacker · · Score: 2, Funny

    Somebody should write a Whitespace macro front-end for Python, then it will be better than Lisp!

    --
    Take a look and feel free: http://www.PieMenu.com
  26. Re:Thanks for examples, dickhead. by Cached+Hit · · Score: 2, Funny

    FINALLY, my sig becomes useful!

    --
    "look ma! no hands!!!" - random amputee
  27. Exceptions in java by Anonymous Coward · · Score: 1, Funny

    >I like the idea of checked exceptions in some
    >situations, but forcing every method to catch all
    >exceptions that its child calls or may call can
    >be tedious. I'd rather be able to ignore an
    >exception and let it propagate upwards.
    >Sometimes, I'd rather not worry about exceptions
    >at all.

    public methodThatJustPropagatesException() throws SomeException {
    doStuffThatMayCauseExceptions();
    }

  28. Re:I hate by GlassHeart · · Score: 2, Funny

    I hate .wav files. They're so inefficient.

  29. Re:I hate by bbc22405 · · Score: 2, Funny

    I wonder why he didn't pick AAC or Ogg Vorbis. What a doof. :-)

  30. What i HATE about your programming language by digirave · · Score: 2, Funny

    What i HATE about your programming language... is YOU!

    bleh~!

  31. Of course he had nothing bad to say about ... by ironring · · Score: 2, Funny

    FORTRAN, tcl or S (R). Am I dating myself?

  32. Re:Can't anybody get C right? by Anonymous Coward · · Score: 1, Funny

    Nah, C+=2 would be better...

  33. It seems like Apple's "Objective C"... by callipygian-showsyst · · Score: 2, Funny

    It seems like Apple's "Objective C" is so irrelevant, it's not even on the list.

  34. NOT ADVOCACY?! by Anonymous Coward · · Score: 1, Funny

    Yes it is.

    That has clearcly been written by someone who is a vi fanatic!

    Emacs rules.

  35. Not quite ballistic podiatry, but... by 87C751 · · Score: 1, Funny
    I had a t-shirt made once that said

    #include

    What would the above list of languages use for an equivalent?

    Perl: use Clue;
    bash: . /etc/clue
    Pascal: uses Clue
    Java: public class main extends clue

    What else?

    --
    Mail? Put "slashdot" in the subject to pass the spam filters.
  36. The list didn't include Java... by revividus · · Score: 3, Funny

    ...in which you shoot yourself in a reference to your foot, and pass a message back to your foot informing it to behave as though it has been shot.