H****S 发帖数: 1359 | 1 1. No built in tail recursive elimination for _all_ recursive functions. As
a result, trampoline has to be used, otherwise you don't have stack safe
call on composed functions
2. Type destructuring is terrible. For instance, given a type M, even if you
know it's actually the result of F[A], scalac won't be able to figure out.
You either have to explicitly provide the types to spoon feed the compiler,
or you will need to resort to the implicit Unapply type introduced in Scalaz
7
3. Heavy memory footprints: each function is basically an object in Scala,
this results in unnecessarily large set of intermediate objects when
composing the functions. Runar gave a talk about reasonably priced monad in
Scaladays 2014 which can help a _bit_ to address this.
These are all bad parts of Scala and functional programming in Scala. Now
To those trying to trash Scala, please write something more sensible instead
of what is already known to be lame to make your points. |
l**********n 发帖数: 8443 | 2 implicit is a terrible feature |
W***o 发帖数: 6519 | 3 含蓄点多好
【在 l**********n 的大作中提到】 : implicit is a terrible feature
|
p*****2 发帖数: 21240 | 4 我喜欢这个feature
【在 l**********n 的大作中提到】 : implicit is a terrible feature
|
B*****g 发帖数: 34098 | 5 就你一个人还挺斯卡拉,哈哈
【在 p*****2 的大作中提到】 : 我喜欢这个feature
|
l******t 发帖数: 55733 | 6 2说的什么没看懂。unapply是build in的 |
H****S 发帖数: 1359 | 7 Implicit is an awesome feature - this is one of a few things that Scala is
even more powerful than Haskell with.
【在 l**********n 的大作中提到】 : implicit is a terrible feature
|
H****S 发帖数: 1359 | 8 Unapply type, not the method unapply
http://typelevel.org/blog/2014/01/18/implicitly_existential.htm
【在 l******t 的大作中提到】 : 2说的什么没看懂。unapply是build in的
|
p*****2 发帖数: 21240 | 9 不是我挺 如果你是做big data的就会知道scala有多重要了
你以为我在乎语言吗?
【在 B*****g 的大作中提到】 : 就你一个人还挺斯卡拉,哈哈
|
c*****a 发帖数: 1638 | 10 scala就是给java加个钻头。对于java程序员来说,scala比其他任何scripting语言都
更好。协同效应。java自己没有脚本,scala就是java的脚本。
对java程序员,scala无脑上。非java的,可以考虑看看别的,特别是C/C++的,Python
可能更合适。 |
|
|
q*c 发帖数: 9453 | 11 I am pretty sure assembly is more powerful than scala can ever be.
【在 H****S 的大作中提到】 : Implicit is an awesome feature - this is one of a few things that Scala is : even more powerful than Haskell with.
|
l*********s 发帖数: 5409 | 12 看起啦确实是这样。就是不知道做big data的轮子有多好,需要什么样scala的level?
【在 p*****2 的大作中提到】 : 不是我挺 如果你是做big data的就会知道scala有多重要了 : 你以为我在乎语言吗?
|
c******o 发帖数: 1277 | 13
As
You can force it by Marco
you
.
,
Scalaz
It is the price on JVM
It is the price on JVM
when JVM get better for FP, Scala will be better for 2 and 3
【在 H****S 的大作中提到】 : 1. No built in tail recursive elimination for _all_ recursive functions. As : a result, trampoline has to be used, otherwise you don't have stack safe : call on composed functions : 2. Type destructuring is terrible. For instance, given a type M, even if you : know it's actually the result of F[A], scalac won't be able to figure out. : You either have to explicitly provide the types to spoon feed the compiler, : or you will need to resort to the implicit Unapply type introduced in Scalaz : 7 : 3. Heavy memory footprints: each function is basically an object in Scala, : this results in unnecessarily large set of intermediate objects when
|
N*****m 发帖数: 42603 | 14 说说第一个怎么搞
【在 c******o 的大作中提到】 : : As : You can force it by Marco : you : . : , : Scalaz : It is the price on JVM : It is the price on JVM : when JVM get better for FP, Scala will be better for 2 and 3
|
B*****g 发帖数: 34098 | 15 求推荐bigdata工作
【在 p*****2 的大作中提到】 : 不是我挺 如果你是做big data的就会知道scala有多重要了 : 你以为我在乎语言吗?
|
c******o 发帖数: 1277 | 16 http://stackoverflow.com/questions/3114142/what-is-the-scala-an
it will have compile error if can not optimized to tail recursive.
【在 N*****m 的大作中提到】 : 说说第一个怎么搞
|
H****S 发帖数: 1359 | 17 You would have to rely on trampoline to convert recursive call into tail
recursive loop. With some overhead of memory and GC, this is not the end of
the world. As a bonus, you would be able to understand more deeply about
recursion as well.
I forgot to mention, golang do you even realize recursion is a problem at
all?
【在 N*****m 的大作中提到】 : 说说第一个怎么搞
|
H****S 发帖数: 1359 | 18 I have no doubt Scala can get better, given how good it is already. The
point I
wrote these things with was to convey the idea if you wanna attack or trash
a language, better understand it first and then make your points. Scala is
too difficult to learn, Scala is too difficult to read, Scala is too
difficult to maintain, these are all too lame to even put on table for
discussion.
【在 c******o 的大作中提到】 : http://stackoverflow.com/questions/3114142/what-is-the-scala-an : it will have compile error if can not optimized to tail recursive.
|
g*********e 发帖数: 14401 | |
b***e 发帖数: 1419 | 20 For 3 yes, it's a runtime issue. I don't see how is JVM is relevant to 2.
2 is a type inference issue which is purely algorithmic at compile time.
【在 c******o 的大作中提到】 : http://stackoverflow.com/questions/3114142/what-is-the-scala-an : it will have compile error if can not optimized to tail recursive.
|
|
|
b***e 发帖数: 1419 | 21 Implicit was invented in 2000 by the Haskell community:
http://galois.com/wp-content/uploads/2014/08/pub_JL_ImplicitPar
【在 H****S 的大作中提到】 : Implicit is an awesome feature - this is one of a few things that Scala is : even more powerful than Haskell with.
|
p*****2 发帖数: 21240 | 22 我其实挺喜欢implicit的
【在 b***e 的大作中提到】 : Implicit was invented in 2000 by the Haskell community: : http://galois.com/wp-content/uploads/2014/08/pub_JL_ImplicitPar
|
z****e 发帖数: 54598 | 23 拉倒吧
scala根本不是脚本
java的脚本有groovy
要scala干嘛
scalascript不代表scala
Python
【在 c*****a 的大作中提到】 : scala就是给java加个钻头。对于java程序员来说,scala比其他任何scripting语言都 : 更好。协同效应。java自己没有脚本,scala就是java的脚本。 : 对java程序员,scala无脑上。非java的,可以考虑看看别的,特别是C/C++的,Python : 可能更合适。
|
G********f 发帖数: 17 | 24 Scala is too complicated, that's a fact, why is it a lame point? one doesn't
have to be an expert on Scala to see that
trash
is
【在 H****S 的大作中提到】 : I have no doubt Scala can get better, given how good it is already. The : point I : wrote these things with was to convey the idea if you wanna attack or trash : a language, better understand it first and then make your points. Scala is : too difficult to learn, Scala is too difficult to read, Scala is too : difficult to maintain, these are all too lame to even put on table for : discussion.
|