Ian Bicking: the old part of his blog

Re: Respecting The Programmer

"Python is not the language for companies who expect mediocrity in their programmers"

Sounds like you think some companies are really smart, and they get Python coders, while all the stupid companies use Java for their protection...

Strongly typed languages don't mean to disrespect you (try Standard ML). Static typing is more about filtering LOTS of mistakes out in the compile step. And by that I don't mean prevent evil/stupid coders from ruining your program, but also catching errors where you made small typos or where you forgot to update something after a refactoring or changing of some code passage. In Python, Scheme or Obj-C or Smalltalk (even Java) you have to wait for the runtime crash (like NullPointerException). An ML program that compiles, usually runs correct on the first try -- goodbye testing. And Dijkstra had something when he said that testing can only prove the presence of bugs, never their absence ;)

Comment on Respecting The Programmer
by Iam Bitching

Comments:

I'd be a bit more impressed with ML if there were more kick-ass ML programs out there. If it's really everything (some) people say it is, even with its small user base there should be great things being produced with it.

But anyway, I certainly wouldn't group ML with Java. I'd probably put it alongside Lisp, as an interesting language with a lot of power possibilities, that is hampered by its accessibility. ML's typing system certainly has very different motivations than Java's.

# Ian Bicking

Sure. ML probably should be more mainstreamy (though OCaml IIRC does just that). The Lisp and FP communities (I guess) consist more of scientists/math people than programmers, so there are no real app repositories, although there seems to be work on that.

I wouldn't group ML and Java either (God, no!), but their static typing solves lots of problems in my experience (Java much less, though).

# Mr Bitching, again

I believe it was Donald Knuth who said:

Do not trust this code, I have only proved it correct, not tested it.

# Eyal Lotem