4 ms·
I only skimmed the article but it seemed they were starting to deal more in softwares that are not typesafe, therefore the name is misleading. It's a great name
by efnx 11y ago
I only skimmed the article but it seemed they were starting to deal more in softwares that are not typesafe, therefore the name is misleading. It's a great name for a Haskell shop!
- eloisant 11y agoWhat they say is that a lot of their clients use Java (since most of the products have a dual Java/Scala API) and Java is not the most typesafe language there is. Also Akka is not very typesafe, with the actors message being of the "Any" type!
- tormeh 11y agoThat's misleading. Yes, you can pass anything as a message, but you pattern match the message to find the type. I suppose you could typecast the message, but, uh... why would you ever do that?
- the_af 11y agoHow do you get compile-time errors, which are the point of statically typed languages?
- Jacoby6000 11y agoThey're currently working on "typed actors" which will hopfully absolve the Scala world of these awful TypeDangerous actors, thus redeeming the name "TypeSafe"
- tormeh 11y agoIf you cast, you don't. If you pattern match, you do. Pattern matching allows you to determine the type of an object and extract its contents, by "testing" which type it is. Everything is typechecked.
- morsch 11y agoThe compiler prevents you from doing case x: Warble => modifyTheWargle(x) but it doesn't stop you from sending out a Wargle to the actor that only expects Warbles.
- the_af 11y agoI know what pattern matching is; I'm not unfamiliar with Scala or other statically-typed languages with pattern matching. I was referring to what user morsch is saying in his/her comment. The problem I see is in the sender, who doesn't know if the message makes sense for the receiver. Isn't this like programming in Smalltalk or Ruby, with their "doesNotUnderstand" or "method_missing"? How does this mesh with Scala's static typing, which aims to give you compile-time errors when you screw up?
- virtualwhys 11y agoInteresting, can you name a distributed system that preserves types across machines? Other than the experimental typed actors library that Akka is working on, and Cloud Haskell, I'm not aware of any type preserving distributed system, certainly nothing production ready/widely used. So, the critique, "oh no, Any, how horrible!" seems absurd given the current state-of-the-art ;-)
- jameshart 11y agoThe word 'Jini' is bubbling up from the depths of my memory... Java-based distributed architecture which relied on the 'write once run anywhere' model to distribute proxies for remote objects...