Live data from Hacker News

Typesafe raises $14M to commercialize Scala

techcrunch.com

41–50 of 105 posts

Re: Typesafe raises $14M to commercialize Scala

#41
post #40

Earlier quoted context omitted.

They look fine to me and it also look good written in Perl :) use List::Util qw(sum max min); # 1 map { $_ * 2 } 1..10; # 2 sum 1..1000; # 3 my @wordlist = ("scala", "akka", "play framework", "sbt", "typesafe"); my $tweet = "This is an example tweet talking about scala and sbt."; grep { $tweet =~ m/\b$_\b/ } @wordlist; # 4 my $file_text = do { local $/ = undef; open my $fh, ' }; chomp( my @file_lines = do { open my $…

my $file_text = do { local $/ = undef; open my $fh, ' }; I have absolutely no idea what this line does. local? undef? ' ? This is how you read a file in Perl?

> This is how you read a file in Perl?

Nope. I use Path::Class from CPAN...

  use Path::Class 'file';
  my $file_text = file('data.txt')->slurp;

Re: Typesafe raises $14M to commercialize Scala

#42

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…

This really just amounts to vague hand-waving that language complexity somehow impacts productivity. Do you have any evidence to back up this fear? C# seems to have done reasonably well in the enterprise, and it has much greater complexity than Java. It doesn't have all the flexibility of Scala but for common use cases I think they are actually pretty comparable. Same goes with F#, which is not tailored to everyone's needs but is there out of the box in Visual Studio (it is an ML-based language). I've never seen it be an actual issue for people who are not experienced with e.g. functional programming, to perform maintenance on a program written with a lot of FP constructs. They may need a little guidance at first but every developer I've worked with loves this kind of stuff when they first see it. Bad code can be written in any language and it usually isn't clever people pushing the boundaries who write it.

Re: Typesafe raises $14M to commercialize Scala

#43

Earlier quoted context omitted.

This has come up plenty of times on Hacker News with plenty of examples. modersky generally just writes it off as being "harmful" to the community and other nonsense to avoid the issue. Harmful to his valuation is more like it.

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.

Re: Typesafe raises $14M to commercialize Scala

#44

Earlier quoted context omitted.

This has come up plenty of times on Hacker News with plenty of examples. modersky generally just writes it off as being "harmful" to the community and other nonsense to avoid the issue. Harmful to his valuation is more like it.

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.

Re: Typesafe raises $14M to commercialize Scala

#45

Earlier quoted context omitted.

So I get downvoted for pointing out the hubris of naming your company TypeSafe when your language isn't?

I'm guessing you got downvoted because it's a silly point to make. Companies have stupid names all the time. No investor is going to care about that.

There are stupid names and there are misleading names.

Re: Typesafe raises $14M to commercialize Scala

#46
post #21

Earlier quoted context omitted.

It's not Perl all over again. Have you even _read_ those one-liners? Those are neither line-noise, nor fickle one-line imperative solutions. On the contrary, they are elegant and easy to read --you just have to understand the basics of functional programming, map, reduce, filter and the like (which, in themselves are trivial concepts). Stuff like those in the article: (pmap process-line lines) (dotimes [n 4] (println…

To be fair, comparing something like this: (partition-by #(> % 60) [49 58 76 82 88 90]) to so-called line noise code seems reasonable enough. As with Perl, if you immediately know what all the punctuation means and what the underlying structure of the language is, it’s concise, but if you don’t, it’s quite a mess of random-looking symbols. For comparison, here’s a Haskell version, which in this case has a more intuit…

You are right.

in Perl:

grep { $_ > 60 } ( 49, 58, 76, 82, 88, 90)

Re: Typesafe raises $14M to commercialize Scala

#47
post #26
post #21

Earlier quoted context omitted.

It's not Perl all over again. Have you even _read_ those one-liners? Those are neither line-noise, nor fickle one-line imperative solutions. On the contrary, they are elegant and easy to read --you just have to understand the basics of functional programming, map, reduce, filter and the like (which, in themselves are trivial concepts). Stuff like those in the article: (pmap process-line lines) (dotimes [n 4] (println…

I still hate the square brackets and the slashes. Sorry, hate is such a strong word. I mean that I still find the language's typographic irregularities hopelessly distracting to the point where I won't touch it with a bargepole. They compare to perl one liners more than they do to Lisp one-liners due to their greater syntactic cruft.

I initially disliked the square brakets as well, but I got over it quickly because of the utter happiness I get from writing Clojure code in general.

FYI, the square brackets are not an arbitrary deviation from lisp syntax. Square brackets are Clojure's vector syntax, the use of square brackets in function and macro definitions reflects the fact that they are actually vectors.

Not sure what you meant with your objection to slashes though.

Re: Typesafe raises $14M to commercialize Scala

#48
post #21

Earlier quoted context omitted.

It's not Perl all over again. Have you even _read_ those one-liners? Those are neither line-noise, nor fickle one-line imperative solutions. On the contrary, they are elegant and easy to read --you just have to understand the basics of functional programming, map, reduce, filter and the like (which, in themselves are trivial concepts). Stuff like those in the article: (pmap process-line lines) (dotimes [n 4] (println…

To be fair, comparing something like this: (partition-by #(> % 60) [49 58 76 82 88 90]) to so-called line noise code seems reasonable enough. As with Perl, if you immediately know what all the punctuation means and what the underlying structure of the language is, it’s concise, but if you don’t, it’s quite a mess of random-looking symbols. For comparison, here’s a Haskell version, which in this case has a more intuit…

Scala : List(49, 58, 76, 82, 88, 90).filter( _ > 60 )

Re: Typesafe raises $14M to commercialize Scala

#49

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.

Could you be more specific? Is the compiler promising more than it can deliver, or are you saying the compiler could check something but simply doesn't?

You can have 100% type safety in a straight jacket, but scala pushes what it tries to type check to an extreme limit; "safe" but then also not as conservative as Haskell or ML. I see scala as the c++ of statically typed languages, filling that niche where you need more from your managed language and are willing to take a leap, but this is controversial and a personal opinion.

Re: Typesafe raises $14M to commercialize Scala

#50
post #21

Earlier quoted context omitted.

It's not Perl all over again. Have you even _read_ those one-liners? Those are neither line-noise, nor fickle one-line imperative solutions. On the contrary, they are elegant and easy to read --you just have to understand the basics of functional programming, map, reduce, filter and the like (which, in themselves are trivial concepts). Stuff like those in the article: (pmap process-line lines) (dotimes [n 4] (println…

To be fair, comparing something like this: (partition-by #(> % 60) [49 58 76 82 88 90]) to so-called line noise code seems reasonable enough. As with Perl, if you immediately know what all the punctuation means and what the underlying structure of the language is, it’s concise, but if you don’t, it’s quite a mess of random-looking symbols. For comparison, here’s a Haskell version, which in this case has a more intuit…

I know this is a discussion on syntax but I can't help pointing out that the semantics of paritition-by and filter are very different.
Post reply on HN