4 ms·
How do Actors not solve real day to day concurrency problems that we face all the time? And the 'technical excellent' stuff like internal DSL are there if you
by aschobel 17y ago
How do Actors not solve real day to day concurrency problems that we face all the time?
And the 'technical excellent' stuff like internal DSL are there if you want them, but you can safely ignore them. Maybe only library designers will use some of the more advanced features, but it is awesome having them available.
- donw 17y agoRe-read my post; Actors are incredibly useful, and I like the idea behind Scala's type system -- bind things together with contracts, explicitly declare types only when you have to, and let the compiler handle the rest. Let me repeat: I like Scala. I just wish that the Scala creators had avoided creating a syntax that is almost, but not entirely, quite unlike Java. Look at Lift -- fast, scalable, and may as well be written in Greek. What is '_ ::'? What about '(something _)' and '(__ thing __)'? Why does Lift require that the programmer require goat-sacrifices to Maven to get things working? It's very newcomer-unfriendly, and Scala people tend to be incredibly defensive of the language's odd syntax... and really hostile towards dynamic languages. Both static and dynamic-typed languages have their place in the programming world, so accept that and move on.
- JulianMorrison 17y agoLift strikes me as the worst thing to happen to Scala. It's a Ruby-like language in flexibility, something like Camping or Sinatra is a much better representation of Scala style than a do-everything Rails rewrite with a hard-on for Comet.
- michaelneale 17y agoI agree - it seems to be usurping some of the attention and certainly does not deserve nor has earned it. It really isn't innovative - isn't lightweight, and isn't based on some "killer app" - its just made up of interesting ideas (perhaps too many?). I certainly hope it doesn't reflect too much on scala. There seems to be a bit of a hang over from java framework-itis where people get more exited over generic meta frameworks rather then solving actual problems.
- aschobel 17y agoI can't comment on lift since we use scala with WebWork/struts2. Testing with specs and mockit has been much easier for us than in the bad ole Java days. val m = mock[java.util.List[String]] // a concrete class would be mocked with: mock(new java.util.LinkedList[String]) // stub a method call with a return value m.get(0) returns "one" // call the method m.get(0) // verify that the call happened, this is an expectation which will throw a FailureException if that is not the case m.get(0) was called // we can also check that another call did not occur m.get(1) wasnt called // or m.get(1) was notCalled http://code.google.com/p/specs/wiki/UsingMockito http://code.google.com/p/specs/wiki/UsingMockito Being able to write a test like this seems like a pretty big win. re: newcomer-unfriendly, the people I've spoken with all seem really excited about the language and want to share the love. shrug
- michaelneale 17y agounfortunately I hate how the current actors are deliberately type-unsafe. Has burnt me a few times ... the reason is that they were "borrowed" from erlang, as much as possible - the idea being that pattens could be added to the match on an actor (after it is created), so any unmatched "messages" in the "mailbox" will just sit there in hope that one day a pattern will fit - which I can't imagine is a common thing to want to do in reality.