Martin Odersky (Scala creator) launches company to commercialize scala and akka
typesafe.com
typesafe.com
"Over the next versions, we plan to gradually merge Akka with scala.actors"
Martin Odersky - http://groups.google.com/group/scala-user/browse_thread/thre...
obj.( (a, b) => a + "." + b)
obj.(_ + "." + _)
obj { (a,b) => a + "." + b }
Seems to me that's syntactic sugar. The flexibility of Scala is the source of my love/hate relationship with the language. That being said, it's still my favorite thing to code in when I get the opportunity... error: identifier expected but '(' found.
What you probably meant is that a b c
and a.b(c)
are the same thing. And admire the effect of the semicolons in http://article.gmane.org/gmane.comp.lang.scala.debate/2231scala> object Test { | def myMethod( f:(String,String)=>String) { | println("MyMethod result =" + f("a", "b")) | } | } defined module Test
scala> Test.myMethod( _ + "&" + _ ) MyMethod result =a&b
scala> Test.myMethod( (a,b)=> a+"&"+b ) MyMethod result =a&b
scala> Test.myMethod { (a,b)=>a+"&"+b } MyMethod result =a&b
case class Lol (a: Int, b: Int)
Lol(2, 3) match {
case x Lol y => x
}You can code a domain specific options parser in scala so that your final code actually looks like this -
"@ $20 spot, price 5 calls, @ $25 strike, 59 days to expiry"
This is as simple as it can get. In fact, the senior quants literally say the above line word for word. So its practically English. Can't get any simpler than that.
Reference: http://www.scala-lang.org/node/1403
Of course code is hard to read if you don't know the language.
also, portions of the scala api are a work in progress. constructs for multidimensional arrays have changed several times.
i may recommend the wampler book when they come out with a rewrite, say in a few months time. Now it seems too rushed. Some of it reads like a collection of blogposts.
Also wampler's idea of functional programming is very basic. No details on commonly used functional data structures or functional pgmming algorithms. More like "functional pgmming is X as opposed to OO pgmming is Y".
Okasaki's book ( http://news.ycombinator.com/item?id=1138979 ) needs to be written in Scala. That'll sell a boatload of copies. Even a modest attempt at that would work for a start. That's an awesome book.
Is there a "killer app" for the Scala/Akka stack that I'm missing?
Many people don't like to maintain polyglots. Scala is expressive enough to write your frontend code in, but fast enough to also handle your backend code.
slide 34: immutable msgs , typed actors
I'd like to see the ideas behind the Art of the Metaobject Protocol applied to type systems. Allow users to selectively fill those holes that relevant for their domain.
REPLY: You're argument is reductive to the point of being useless - i.e. you could write a type checker for a domain of programs so small as to be comical. type safety and the domain of the provable programs are inextricably intertwined.
This is where you have it wrong, and it's well known that it's wrong. Anyways...
Scala's is a series of compromises made to give a more expressive type system to a language that interacts with the JVM and and Java libraries. Saying its not "safe" to some arbitrary metric is neither insightful nor helpful to anyone. You can find it as "ironic" as you like, but it's not a particularly fair criticism by many metric.
what typesafety is talking about is errors. not trade-offs. that the type system says something is safe when it is not.
isn't #963 more or less fixed? (It crashes the compiler, but doesn't fail at runtime anymore ...)
Could you post a new example of it if it isn't?
Is there something wrong with trying to encourage them to fix these problems and make Scala all the better for it?
A world leading company which hasn't launched...
Red Hat & VMWare would seem to be the most obvious bidders for Typesafe as they both offer Java-based stacks with enterprise support that Scala & Akka would fit in very well with.
While we're at it, what web framework are you guys using in your Scala webapps? Lift? Wicket? Play?
Just yesterday I had an interview for a developer position with a hedge fund where the partners used M$ Excel, M$ SQL Server, M$ VBA macros and a bunch of Bloomberg terminals for the datafeed. I had prepared a presentation that advocated Scala as the primary toolset, Hadoop on the backend & a couple of DCOM hooks ( JIntegra ) that got data in & out of the Bloomberg & the rest of M$ world without getting all tangled up in M$ land.
Must say I didn't get very far. "Seems too cutting edge, no commercial support, we only have few 1000 rows so why not just use a SQL Server, what about front-end solutions for this newfangled language, does Scala do reporting, does Scala talk to Bloomberg, do other IB's use Scala, we'll use Scala when an IB starts using Scala " were some of the concerns I got.
They haven't said no, but I have a feeling they'll end up hiring a dotNet veteran who'll happily code VBA macros till the end of time instead of taking a chance on a platform that'll genuinely change the nature of s/w development as we know it.
Its amazing to see people happily betting the farm on CDS defaults of XYZ company, where they stand to lose a couple hundred million dollars if the bet goes wrong. But the same folks won't bet on a promising new technology because its too new & has no commercial support, preferring instead to stick with 30 year old M$ tech due to comfort level. The chance of a loss here is several orders of magnitude lesser, yet they don't get it.
I've been rewriting most of my financial analytics code in Scala & its a genuine pleasure to see code sizes reduce 5-6 times...
What did you write your analytics code in before?! Most quants use R, Matlab, q/kdb+, OCaml, Python, etc. I can't imagine an analyst would ever use a language like Java or C++ for research.
M$ Excel, M$ SQL Server, M$ VBA macros
Also known as: what most of Wall Street uses. Are you sure you want a career in this industry?
what about front-end solutions for this newfangled language, does Scala do reporting, does Scala talk to Bloomberg, do other IB's use Scala
All of which are legitimate concerns. Did you bother to address any of those?
As the others have mentioned, banks aren't looking for "fast" or even "productive"; they're looking for "reliable". Wall Street doesn't chase technology the same way Silicon Valley does. Remember the FourSquare outage (MongoDB) or the numerous issues with Twitter back in the day (Ruby on Rails)? Banks need to have better uptime than that.
So does the "M$" spelling...
Other than reporting ( you really can't compete with SAP/Crystal Reports on that front), solutions in Scala address the rest of your legitimate concerns using DCOM hooks to pre-existing C libraries & DLLs. Why reinvent the wheel ?
I don't see why you are getting so worked up about my "inexperienced rant". I simply described a real-life situation I encountered which I felt was funny viz. highly risk-taking alpha personalities getting hugely risk-averse when it comes to something quite innocent like language adoption.
And yet you say in this post that you're in the midwest:
http://news.ycombinator.com/item?id=2507002
The reason I criticized your post (and I'm not the only one) is that I don't want a young'un to read this and believe that's the right way to be thinking about career or business decisions.
You interviewed somewhere that isn't for you. So try someplace else. Whining on the Internet about "teh M$" doesn't make you look like a brazen intellectual.
Deleted comment