3 ms·
> One of the strengths that Java has over Lisp is that it's statically typed. With the caveat that Java's type system can be subverted and isn't expressive eno
by cbd1984 12y ago
> One of the strengths that Java has over Lisp is that it's statically typed.
With the caveat that Java's type system can be subverted and isn't expressive enough to catch any more than the most trivial kinds of errors a type system can catch.
- zak_mc_kracken 12y agoThat's a straw man, we're comparing Java to Lisp, not to another statically typed language. Because Java is statically typed, it catches a lot more errors at compile time than Lisp can.
- wtbob 12y agoLisp is optionally statically-typed. I am not aware of any type error Java can catch at compile time which Lisp cannot catch at compile time. Now, whether or not a particular implementation does catch it is an entirely different affair.
- yummyfajitas 12y agoMost type systems (including Haskell's) can be subverted. Java does catch many common errors, typically of the form "I refaxtored, now this function takes 4 args instead of 3" or "this function returns an X now". The latter sort are, in my experience, the most common form of type error and catching g them is awesome.
- peterashford 12y ago"Expressive" tends towards "complex". I would argue that Java's type system is pretty simple which is a good thing - a pragmatic choice. You sound like you're making "perfect" the enemy of "good"