in reply to What do you use as a language litmus?

One thing I find rather useful is for a language to behave as expected. By this, I mean that if does not do odd things such as redefine operator precedence (see APL) or have odd restrictions, such as preventing one from casting an integer to a float.

What I want in a language are a sensible syntax, a reasonable set of arithmetic and logic operators (why, O Kernighan, doesn't C have an exponentiation operator?), a sensible method for passing data to and from subroutines, and the ability to link in libraries, especially those written in other languages.

I view regex as a feature that could be added, not something that needs to be intrinsic to the language, such as tail-call recursion or closures.

I've really not mucked around in languages other than imperative languages, so I can't comment on languages in any of the other families, such as Ocaml, Lisp, etc.

The one syntax feature I tend to dislike is for whitespace to be used for something other than token separators; in some languages, such as JCL, two, vs one, blank can completely change a statement's meaning. I also tend to dislike languages, like APL, which use a very non-standard character set.

Perl has passed my test; APL hasn't. I've been forced to use JCL, and still bear the scars. Two languages I would really like to learn are Ruby (got to love the name) and Lisp (good thing I can touch type; Lisp would wear out the markings on the open and close parenthesis keys).

  • Comment on Re: What do you use as a language litmus?