I'm a little surprised the discussion has moved to the in my opinion 
relative strawman of collections API performance. As Dick said, the golden 
rule of performance optimization is to FIRST make sure you're using the 
most efficient algorithm possible because that will always outpace whatever 
performance suckiness you're facing from your language / VM / library 
(unless you're using a library with a known inefficient algorithm, but, 
boy, then you really picked a sucky library to roll with!). Even if scala's 
collection API performance is bad, that can be fixed.

What I find far more condemning, in fact, THE 'this is the true essence of 
why scala sucks, at least for us' line in it, is the scala community.

This line is perhaps not exactly fair to the community at large, but it 
felt like it hit the nail on the head:

Quote:

As my team navigated these waters, they would occasionally ask things
like: "So this one guy says the only way to do this is with a bijective map on a
semi-algebra, whatever the hell that is, and this other guy says to use a
library which doesn't have docs and didn't exist until last week and that he
wrote. The first guy and the second guy seem to hate each other. What's the
Scala way of sending an HTTP request to a server?"


That. That right there, that's gotta hurt. And to be perfectly honest I think 
this line of complaining is on to something. The gist is: The community just 
doesn't work for your average business - they have vastly different concerns, 
make assumptions about my knowledge of type systems and academic programming 
arcana that are way, way off, get cocky when it becomes clear I don't have 
their grasp of terminology and concepts, do not care about the things I care 
about, I don't care about the things they DO care about, and any foray into 
google or other search-for-help channels is 90%+ certain to lead in a big 
headache and no answer to show for it. We gotta fend for ourselves, there's no 
real way of doing things that is feasible for a business like us to maintain, 
which means even if somehow seasoned scala developers were beating the door 
down to our recruitment department, the learning curve for them to get up to 
speed on our code base will always be far, far larger vs. java.


These questions spring to mind.

(A) Is this complaint correct? (My guess: Yes, it is, very).

(B) If it is, how bad is that for scala's future (My guess: Very bad).

(C) Can it be fixed? (My guess: Probably not - I have no idea where to even 
start).

(D) Is this anybody's 'fault' - is there a lesson to be learned here for future 
languages? (My guess: Oh, I don't even know where to start).


To reiterate, I don't think this is just about a few bad apples that are 
turning droves of would-be enthusiasts AWAY from scala due to their behaviour, 
i.e. this is not about Tony Morris, Kevin Wright, and a select few other well 
known let's say, uh, 'enthusiastic' scala supporters. Coda's complaint goes a 
lot deeper than that.


In regards to question D - there's a chance that Scala's kind of complexity is 
the kind that attracts this community, and it's obvious to me that a 
community's rough outline is decided by the early adopters. Java doesn't get 
away scot free here - one very stupid side-effect that's IMO _entirely_ the 
fault of the java community is badly designed API. Pick any random java library 
and the API is likely a complete clusterfrak that any half-brained java 
enthusiast with some common sense and a day or two to think it through can do 
way, way, better. You know, avoid the FoobarFactoryFactoryGenerator and 25 
separate convoluted XML files. Still, no matter how annoying it is to work with 
this (and I do see this changing, very slowly), you can go out there, ask for 
help, find examples, figure it out, and move on with your day. Also, even a 
crappy standard is still a standard and probably beats 15 novel and creative 
but ultimately vastly different ways of doing it.

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/javaposse/-/RAuhHDYZye8J.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to