Live data from Hacker News

Typesafe raises $14M to commercialize Scala

techcrunch.com

91–100 of 105 posts

Re: Typesafe raises $14M to commercialize Scala

#91

Earlier quoted context omitted.

> That's why he did Datomic. That's definitely one reason. I'm willing to bet the other reason is that he believes that the world needs Datomic. Because it really, really does. His talks make it clear that he deeply understands that.

The world needs another piece of closed source, proprietary infrastructure written in an obscure language? My number one rule for infrastructure software: never, ever build your business on closed source software. Doesn't matter if it's free, or costs tens of thousands of dollars per month to operate, or is written by a superhuman like developer. You will be hurt Every. Single. Time. if you do.

> another piece of closed source, proprietary infrastructure

No, the world needs a modernized view of the relational database model.

> an obscure language

The APIs are Java-first, Clojure-second. The implementation is a mix of the two. Java isn't that obscure...

> never, ever build your business on closed source software.

I agree with that. Ask any one of my new coworkers how they feel about this company's dependency on Oracle and they'll tell you that they learned that lesson.

I'm not proposing that you take a dependency on Datomic for your startup. I'm saying that there are a lot of enterprises who have no choice, but to take dependencies on things they don't understand because they aren't software companies. Microsoft's entire enterprise business depends on people who want to outsource infrastructure to somebody else, and those customers pay enough money to secure the future and direction of that infrastructure. Rich Hickey & co can capitalize on that group of people. He gets to help them and they'll pay him for it. Along the way, database systems will adopt the improvements and new ideas that Datomic is leading the way with.

Re: Typesafe raises $14M to commercialize Scala

#92

Well, as someone in the last two weeks who: a) already is using Scala b) already is using Akka, and c) wanted a monitoring tool for both (which is part of the "Typespace Stack") and contacted Typesafe about their subscription, I can tell you that none of this matters for people on HN, product-wise. Their "console" is an obscene amount of money per node per year. Yes, PER NODE. With just a few nodes, it's literally ch…

What is Socco? Google didn't turn up anything.

I'm guessing: https://github.com/mashupbots/socko

Re: Typesafe raises $14M to commercialize Scala

#93

That is good but I have used Scala before and would not recommend it for an enterprise project. It was rather convoluted and had lots of concepts that just would not make sense to the java programmers in our company. There would be teams that could have used it and thrived but overall the complexity of the language seemed to outweigh any reasons I could give to use it. I wish them the best but I think they will have…

I think the bigger hurdle to Scala adoption isn't language complexity, but tooling. It's not as mature as Java tooling, and compilation is dreadfully slow. Typesafe is actually putting some effort in improving Scala tooling, so hopefully the additional funding will help them move the ball faster in that area.

Yeah, this is ultimately what prevents me from contemplating using Scala in a broader context. I will admit I haven't tried for a while, but every time I've tried out the Scala eclipse plugin it's been incredibly flaky. For the top tier of developers this doesn't matter too much (they can either handle flakiness or do without an IDE at all) but companies specifically do not want to build their systems dependent on constantly having top tier developers to do every little change they need.

You can contrast with Groovy which while still not perfect, has an awesome eclipse plugin and SpringSource offers a whole customised eclipse version for working with their stuff.

Re: Typesafe raises $14M to commercialize Scala

#95

Well, as someone in the last two weeks who: a) already is using Scala b) already is using Akka, and c) wanted a monitoring tool for both (which is part of the "Typespace Stack") and contacted Typesafe about their subscription, I can tell you that none of this matters for people on HN, product-wise. Their "console" is an obscene amount of money per node per year. Yes, PER NODE. With just a few nodes, it's literally ch…

Any particular reason for Socko instead of Spray? (http://spray.cc)

Re: Typesafe raises $14M to commercialize Scala

#96

That is good but I have used Scala before and would not recommend it for an enterprise project. It was rather convoluted and had lots of concepts that just would not make sense to the java programmers in our company. There would be teams that could have used it and thrived but overall the complexity of the language seemed to outweigh any reasons I could give to use it. I wish them the best but I think they will have…

Complexity of Scala has been debated many times. Just because a language adds some new concepts and is different than other mainstream languages, is not enough to call it "complex". Before you answer question about whether Scala is complex, try to answer the following questions first: Is JEE complex? Is Spring Framework complex? Is Maven complex? Are webservices complex? Is C# complex? They are, they introduce new co…

Let's take a look at it from a different angle.

Say, I have a group of developers who have been trained to use Java (both best-practices, idioms, tools, etc).

Let's say that JEE 6 shows up (no, I don't remember JEE 2.1, what is that? is that thing even exist?).

JEE 5/6 introduces a few things on top of my head (please pardon me of the syntaxes):

1) Dependency Injection via annotation (CDI in JEE6, EntityManager in JEE5)

Introduction: annotate the instance property you'd like to inject and GlassFish will magically give the class to you.

Example:

@Inject

AccountService accountService;

2) JAX-RS

Introduction: A class, that works like servlet, but without doGet() or doPost(), instead you have methods that maps to the request-path based on the annotation.

Example:

@Path("/account/{id}")

public Account get(@PathParam("id") final long id)

3) Transaction (in EJB3 which appears in JEE5)

Introduction: Sprinkle annotation in your class or method, you get transaction magically.

Example:

@TransactionAttribute(REQUIRED)

public class AccountRepository

or

@TransactionAttribute(REQUIRED)

public Account updateAccount(final Account toUpdate) {...}

So I'm not sure how complex all of these to grok, granted if you need to do something out of the ballpark, you may have to learn a bit more of each individual component but to get started and be productive seems quite easy for me.

Now let's compare that with picking up Scala from zero (given that you know Java already) and get comfortable and productive with Scala, its tools, and its libraries to build web-application with the similar setting of that in JEE (web-service, REST, persistence/db/orm/transaction layer, unit-test, integration-test, etc).

No cheating though: no calling/utilizing JEE. Has to use all-things Scala libraries.

Re: Typesafe raises $14M to commercialize Scala

#97

Earlier quoted context omitted.

Complexity of Scala has been debated many times. Just because a language adds some new concepts and is different than other mainstream languages, is not enough to call it "complex". Before you answer question about whether Scala is complex, try to answer the following questions first: Is JEE complex? Is Spring Framework complex? Is Maven complex? Are webservices complex? Is C# complex? They are, they introduce new co…

> Complexity of Scala has been debated many times. Just because a language adds some new concepts and is different than other mainstream languages, is not enough to call it "complex". It seems to me that the JVM community has moved on from Scala and is actively looking for a language that offers most of the benefits that Scala offers without the downsides. Kotlin (from JetBrains) and Ceylon (from RedHat) seem to be t…

To be honest, by the time they are ready for production, Java 8 will provide the most of the features they are promising. So for developers who only want to have lambdas and slightly better libraries (like ability to call filter on a collection), there is no need to move. Just wait for Java 8.

On the other hand, for programmers doing some more serious stuff than just moving data from database to the website, they offer too little to be attractive, and they actually haven't solved any problem that Scala hasn't solved (Ceylon's generics reification - a good joke, man). They are nowhere near Scala in expressiveness and flexibility and being only slightly better than Java is not enough for power-coders. There were some languages targeted as "better Java", e.g. Nice long time ago and they also failed.

From the alternative languages for JVM, currently only Clojure and Scala (and probably Groovy too) got some serious usage in industry. All others are still in kindergarden.

Re: Typesafe raises $14M to commercialize Scala

#98

Earlier quoted context omitted.

Complexity of Scala has been debated many times. Just because a language adds some new concepts and is different than other mainstream languages, is not enough to call it "complex". Before you answer question about whether Scala is complex, try to answer the following questions first: Is JEE complex? Is Spring Framework complex? Is Maven complex? Are webservices complex? Is C# complex? They are, they introduce new co…

Let's take a look at it from a different angle. Say, I have a group of developers who have been trained to use Java (both best-practices, idioms, tools, etc). Let's say that JEE 6 shows up (no, I don't remember JEE 2.1, what is that? is that thing even exist?). JEE 5/6 introduces a few things on top of my head (please pardon me of the syntaxes): 1) Dependency Injection via annotation (CDI in JEE6, EntityManager in JE…

"So I'm not sure how complex all of these to grok, granted if you need to do something out of the ballpark, you may have to learn a bit more of each individual component but to get started and be productive seems quite easy for me."

It is so easy only if you don't try to write some serious production level stuff using it. You must be insane to start a project in JEE knowing only some basic tutorials and without deep understanding how the full stack works. I worked for a company that do JEE trainings. It was near impossible to teach a team using full JEE stack in 5 days (7 hour / day) - no, actually each single component is like 1-2 days of training, given that everything is preconfigured and ready to go. And after training they usually ask for consulting, because they still have some technical problems with it.

This is similar to Scala. You have to probably have someone on the team with deep understanding, but most of the coders just need to know how to do basic things in it.

We used Scala for a project in the company, and the only concern then was poor tooling (that was 2 years ago - it is much much better now), not the language itself. Most programmers just jumped right into it as a Java with slightly simplified syntax - "oh, I don't need to know when to use Integer and int, cool!".

// Errata: I meant EJB 2.1, not JEE 2.1, sorry for the mistake.

Re: Typesafe raises $14M to commercialize Scala

#99

Earlier quoted context omitted.

Static (and even dynamic) type safety is always a shade of gray vs. a black and white thing. A language that is 100% type safe is a language that doesn't do very much (...or requires a theorem prover). Scala is very pragmatic in that regard.

I'm not sure what world you're living in, but Haskell and ML seem to offer some measure of type safety and are also quite practical. Sure there is unsafePerformIO. But the problem is with Scala you don't even need to use unsafe language features to get an unexpected class cast exception. Given that you worked on Scala I'm rather surprised you don't know about this already.

I never, ever had a ClassCastException in Scala that I wasn't warned about by the compiler. Maybe in theory you are right. But what counts is practice.

Re: Typesafe raises $14M to commercialize Scala

#100

Earlier quoted context omitted.

Scala is type-safe, but type-safe with escape hatches (which every good language has sometimes , when the programmer knows the truth of theorems the type-checker can't prove). It also has an undecidable type system, but then, so does half of everything nowadays.

It isn't even about "escape hatches". There are programs that can be written without any special language features that will cause class cast exceptions. Please do your research.

Perhaps there are, but in over 20000 lines of Scala code I haven't encountered any. So this is a non-issue in practice.
Post reply on HN