That means that you must also not like Scheme/Racket, Clojure, CL, or the ML's, ...
No, it doesn't. Please don't assume what I might think about something.
... and you must not consider them to have killer FP value either.
That part is true, to the extent that they are not ensuring referential transparency. Mind you "What makes an FP language?" is a great flame-war topic, but for me it has to be more than "Has first-order functions" or "Has pattern matching." I can get that in Ruby if I want but that doesn't make Ruby a functional programming language. It's functiony at best.
Also, pointing out features one does not like in a language is hardly hating on it, and I see far more Scala cheering than dissing on HN. I wish Scala users well. It's just not for me.
As someone who has used several functional and OO languages, I can witness that Scala is doing something very special and is not worthy of the criticisms you give it, whether or not you like Mirah more, and I am certainly a fan of Charles Nutter's work.
It's not a question of worthy or not. It's a matter of whether my comments accurate or not. If I'm wrong, I'm wrong (such as with my initial concerns over the size of the required bundling of runtime libs). But if I'm right then, well, people have to decide if it matters or not.
A few years ago I saw Bill Venners give a talk on Scala and while I appreciated that functiony features were finding their way into Java land the option to have code that was a OO here, FP there, really put me off. It seemed the language did not strongly encourage (or, better yet, out-right enforce) a set of conceptually simple, well-defined ground rules. That is, one would have to keep track of various coding options that were at odds with each other (OO being about carrying around and managing state, FP being close to the opposite).
If Scala and it's combination of features works for you, great. But that doesn't mean it doesn't legitimately fall short for others.
I think you're nit-picking at my choice of words a little too much rather than the points I was trying to make. For instance, when I said Scala was not worthy of your criticisms, I meant in effect, your comments aren't accurate! :-)
I can understand your criticism of well-defined ground rules. In Scala, it always feels like there are multiple good ways to accomplish a task. But I don't think that is necessarily a terrible thing.
Also, I disagree with your comment on OO and FP being at odds with each other. OO is at its hard encapsulated message passing. One of the things you can do with that is manage state, but that is NOT what OO is about. OO and FP can actually go very well together.
A great example of this is the Scala collections library. The OO features of Scala have allowed the language designers to create some powerful abstractions on functional data structures that makes the them a real pleasure to use. I haven't seen a collections library I like better than the one found in Scala.
No, it doesn't. Please don't assume what I might think about something.
... and you must not consider them to have killer FP value either.
That part is true, to the extent that they are not ensuring referential transparency. Mind you "What makes an FP language?" is a great flame-war topic, but for me it has to be more than "Has first-order functions" or "Has pattern matching." I can get that in Ruby if I want but that doesn't make Ruby a functional programming language. It's functiony at best.
Also, pointing out features one does not like in a language is hardly hating on it, and I see far more Scala cheering than dissing on HN. I wish Scala users well. It's just not for me.
As someone who has used several functional and OO languages, I can witness that Scala is doing something very special and is not worthy of the criticisms you give it, whether or not you like Mirah more, and I am certainly a fan of Charles Nutter's work.
It's not a question of worthy or not. It's a matter of whether my comments accurate or not. If I'm wrong, I'm wrong (such as with my initial concerns over the size of the required bundling of runtime libs). But if I'm right then, well, people have to decide if it matters or not.
A few years ago I saw Bill Venners give a talk on Scala and while I appreciated that functiony features were finding their way into Java land the option to have code that was a OO here, FP there, really put me off. It seemed the language did not strongly encourage (or, better yet, out-right enforce) a set of conceptually simple, well-defined ground rules. That is, one would have to keep track of various coding options that were at odds with each other (OO being about carrying around and managing state, FP being close to the opposite).
If Scala and it's combination of features works for you, great. But that doesn't mean it doesn't legitimately fall short for others.