Technologies to Watch: A Look at Four That May Challenge Java’s Development Dominance
Subject:   Not maintainable or english
Date:   2005-10-21 09:11:50
From:   greg_barton
Response to: Not maintainable or english

To your example, how about: use the red and yellow bowls for ketchup and mustard.

In English, strictly speaking, this is ambiguous. Can I use a yellow bowl for ketchup? Maybe. If you say, "You didn't understand..." I just come back with, "Well, you said I could use red and yellow bowls for both ketchup and mustard." You say, "I didn't mean BOTH!" And I say, "Well, why did't you say so?"

Anyway, I don't see the appeal for making a programming language more like English. English must be one of the least precise languages on the planet. That's great for rhetoric, poetry, and prose, but not for programming. I see nothing wrong with using a few more lines to get your point across as precisely as possible.

Full Threads Oldest First

Showing messages 1 through 3 of 3.

  • Not maintainable or english
    2005-11-01 17:30:19  kenliu [View]

    "Anyway, I don't see the appeal for making a programming language more like English."

    I have to agree with this sentiment. COBOL anyone?

    I've seen the "Englishness" of ruby (and Rails) mentioned a in various places as a Good Thing, but isn't this sort of a narrow view to be taking in today's world? Sure, English is still the lingua franca of the computing world, but surely all those native Hindi and Chinese speakers don't find English-like grammar to be nearly so intuitive.

    It's interesting to note in this context that ruby was designed by a Japanese guy. Good thing it didn't come out looking like Engrish ;)
  • Not maintainable or english
    2005-10-24 06:56:44  ikayak [View]

    Then red and yellow bowls for ketchup and mustard, respectively. Parallel assignments are useful here because you're eliminating the need for a temporary variable, and thus quite useful. To me, it's more expressive and elegant.
    • Not maintainable or english
      2005-11-03 12:50:13  evoke [View]

      With no offense intended, the 'to me' portion of your ending remark is illuminating, and reveals a major weakness of the use of parallel assignments in general. Secondarily there's a proounced use in the overly simple examples of strong cultural bias.

      When your team is diverse and includes someone from a country where, Murphy forbid, they store ketchup in purple bottles and mustard in red bottles, it's expressive and elegant indeed...

      It's similiar to contriving that blue and pink pay phones are for boys and girls. And forgetting that pay phones in some Asian countries are uniformly pink... Nice...

      Try thought experimenting that your wife has asked you to help at cooking dinner by leaving a stickypad note specifying the parallel assignment of: add salt and butter to the fish and potatoes, respectively. Which, you, of course, like all men magically competent in the kitchen are going to know which is for which, or was it for both, or aren't potatoes supposed to have both eventually and which first. Etc. A recipe for disaster, or perhaps oddly flavored dish.

      How about the more realistic example of: associate daily level yield and straight line amortizations to the payment and monthly balence schedules. Because you know automatically which are for which, right. Right ??

      (And all of your maintainence coders are going to know too ?? Or does your team not include anyone from other cultures, or maintainence coders, or domain experts who crossed over to be junior level coders, etc.)

      As far as Java is concerned, I find that parallel assigments feel much like nesting tertiary operators. You can do it, but you frelling shouldn't.

      It's like scribbling down a paragraph or chapter of a novel in shorthand under the influence of inspiration or efficiency. It's ok for protoypes or personal projects, but you wouldn't pass raw shorthand, or mostly text with bits of shorthand interspersed, to your test readers or editors.

      Please stop using parallel assignments - I'm tired of fixing the bugs you're doing so causes later.