l*****t 发帖数: 2019 | 1 尼玛,这两天遇上Kakfa和Swagger的Scala version不兼容,烦死。又是自己给自己找
事。
scala这个不向后兼容好烦。 |
|
a*****e 发帖数: 1700 | 2 在 Haskell 里面也就一行:
powerset = filterM (\_ -> [True,False])
这里用到的 filterM 来自 Control.Monad 库,从它的类型基本可以推断出它的功能:
filterM :: (Monad m) => (a -> m Bool) -> [a] -> m [a]
也就是通过一个 monadic 的条件 (a -> m Bool),筛选列表 [a],得到结果的类型为
m [a]。
这样看,filterM 是一个非常 generic 的函数,和 powerset 八杆子打不着边,那么
最上面的定义该怎么理解呢?在 scala 里面使用 monad 应该也能给出类似的定义。
这里学 Haskell 和 Scala 的那几位,谁能解释清楚了,我打赏 50 个包子 :-)
另:goodbug 那个 java 版本是 tautology,从中学不到任何知识,没意义。
= |
|
s***o 发帖数: 2191 | 3 不错。看到了新的希望。我正犹豫是不是dump scala,虽然想起java由于type erasure
导致的各种问题,以及无穷无尽的configuration就头晕眼花。
Scala还有play的backward compatibility 一直很成问题啊 |
|
c******3 发帖数: 296 | 4 不会scala能学spark吗?spark里到底那些东西是java不行,非要scala的? |
|
h*******c 发帖数: 248 | 5 Scala learning curve 陡点, 但过了之后开发效率很高。开发习惯跟其它语言差别很
大。别的语言时间主要花在实现上,scala 的时间主要花在设计上。可以边开车边想结
构,想好了只写几行就可以了。 |
|
H****S 发帖数: 1359 | 6 我同意Scala对于程序员的要求确实导致组建一个像样的并且风格比较统一一致的团队
不是一件容易的事情。虽然我觉得你说的那些feature都其实理解起来还好,但是这个
评价也只是基于个人感受。话说回来,感觉写了Scala以后,回去写Java代码质量会提
高不少。 |
|
h*******c 发帖数: 248 | 7 到处都找不到会scala的人。spark现在如火如荼,将来两年之内scala人才缺口肯定巨
大。 |
|
j****y 发帖数: 684 | 8 看书, 比如
programming in scala
然后呢,学习那几个库,比如akka, spark, play?
不知道能用scala可以写一些小的东西,可以demo的?
有何建议? |
|
p*****2 发帖数: 21240 | 9 想驾驭好scala确实很难
盲目上scala很容易失败 |
|
w***g 发帖数: 5958 | 10 Odersky背景我不知道,肯定比你我都要牛上几个数量级,但是说要开山创派发明一个
新语言,我看确实还差一点。一个理想的新语言显然不是看揉和了多少别的语言的
construction,而是是否能提供一个语法结构使人能够从一个更有效的视角看问题。在
我看来Lisp是一个典范,Pascal是一个典范, Haskell是一个典范,互相之间看起来都
非常不一样,每一个又都很自洽。也可能是审美情趣有差异,Scala这种我欣赏不了。
比如王银搞的那个yin语言,一看一堆括号就知道没跳出Lisp的圈圈,这人牛逼程度的
上界就可以确定了。
查了下背景,这个Odersky的博士生导师就是Niklaus Wirth,结构化编程的先驱,
Pascal和若干别的语言的设计者。看来这个Odersky还没能青出于蓝。
Scala |
|
z****e 发帖数: 54598 | 11 ft
你做的project最后肯定是挂你的名字
受益的都是你自己,别人可抢不走
spark本身一开始只是作为hadoop的关联项目而存在
而且到现在也没有完全摆脱hadoop
基本上还是hadoop基础之上的一个东东
而且我觉得要看懂scala代码来获取idea
远比你直接看理论要困难得多
scala代码真不是那么容易阅读的
如果不是自己写的,一行都不想看
这样也好,可以有效防止剽窃
而且开源之后,其他人连偷的动力都没有
没有意义,都是免费的,对作者本身有意义
绝大多数人都是从release那边down下来就用
真看源代码的人实在是不多
一般都是发现bug之后,才会去看,免费的测试
而且spark上的graph那些算法pkg/lib迟早都会做出来
你早点做还有机会,对你本人大大有益
跳槽时候给hr一看你github,上面做过啥项目,很容易搞定
热门项目绝大多数人就是有contribute的意愿,都没戏
所以这个其实说到底不是为了“他们”,更多的是为了你自己
所有人的利益在这块是一致的
这个东西出现只是一个时间问题,早来早得
当然你可以不当一回事,其他人我可不说这些话
理论基础不过关,不... 阅读全帖 |
|
p*****2 发帖数: 21240 | 12 官网上有两个
Cascal*
Cascal is a simple Cassandra library built on the Scala language.
Phantom
Asynchronous Scala DSL for Apache Cassandra
第一个看着貌似很粗糙,第二个看的有点莫名其妙。
然后Twitter有个Cassie,看着更靠谱一点,但是官网上怎么没有Cassie呢?
大家用哪个? |
|
z****e 发帖数: 54598 | 13 scala编译好慢的说,你们怎么解决这个问题的?
吭哧吭哧等半天,用python写的verticle早搞定了
scala还在等 |
|
j****y 发帖数: 684 | 14 Scala for the Impatient book
The [AL][1-3] refer to Martin Odersky's Scala levels.
The Basics (A1)
Control Structures and Functions (A1)
Arrays (A1)
Maps and Tuples (A1)
Classes (A1)
Objects (A1)
Packages and Imports (A1)
Inheritance (A1)
Files and Regular Expressions (A1)
Traits (L1)
Operators (L1)
Higher-Order Functions (L1)
Collections (A2)
Pattern Matching and Case Classes (A2)
Annotations (A2)
XML Processing (A2)
Type Parameters (L2)
Advanced Types (L2)
Parsing and Domain-Specific Language... 阅读全帖 |
|
j****y 发帖数: 684 | 15 2爷不是还在犹豫选scala或go,这就学完了,
不过scala for impatience 似乎没有完全pdf版的,网上都是A1部分的。 |
|
p*****2 发帖数: 21240 | 16
上spark一定会上scala呀。
scala和go主要是为了高并发,现在觉得clojure就不错,准备看看haskell, 当然一般
的应用node就够了。 |
|
|
z****e 发帖数: 54598 | 18 对j2ee core patterns熟悉的话
scala倒是没那么困难了
lazy init在singleton那个模式里面也被讨论烂了
spring和guice的差异也类似
scala把这个做到了jvm level上去
蛮好,蛮好 |
|
z****e 发帖数: 54598 | 19 无论是scala还是spark
对于java程序员来说也都是很熟悉的东西
包括maven的使用
如果连gradle这种都搞不定的话
那要补的课就多了
啥时候rod johnson用scala重构一下spring
做一个summer出来就好了 |
|
c******o 发帖数: 1277 | 20 What I mean is
for example, Scala List:
++
++:
+:
/:
:+
::
:::
:\
they are not operators, they just functions. You can wrap them in another
name easily if you really want.
Scala has very few operators. |
|
w***g 发帖数: 5958 | 21 json写在javascript里面,是同一种语言。javascript可以表达程序也可以表达数据,
这很牛B。
xml写程序里那就是两种语言了。现在xml大有被json和别的格式取代的势头,难道再弄
一个json模式到scala里?下一个版本的scala是不是还要支持xml模式?
这个帖子主题是审美,我觉得还能发表点意见。至于industry怎么样,我已经看不懂了。
有句话叫黄锺毁弃瓦釜雷鸣,可能古今中外皆然吧。 |
|
w***g 发帖数: 5958 | 22 XML用library实现无可厚非,但是scala是直接在语法上支持啊
val b =
The Scala Language Specification
{scalaBook.version}
{scalaBook.authors.mkList("", ", ", "")}
不断放松语法来支持各种零碎的需求,我觉得这个不是好的设计方式,
每一个加入的特性总有一天会拖后腿,拖后腿的东西多了语言就不易发展了。
不过这确实也是一种彪悍。 |
|
z****e 发帖数: 54598 | 23 所以scala是给造轮子的人用的
比如给造spring那个rod johnson用就挺好
如果只是用轮子,没有必要用scala了
容易弄巧成拙,还是用各种简单脚本合适 |
|
l*********s 发帖数: 5409 | 24 clojure算那门子阳春啊,这货比scala容易多了 -- scala整个一个perl接班人,
lol |
|
|
z*******3 发帖数: 13709 | 26 不爽,所以不读scala代码
也所以用scala写的话,你可以尽情开源
反正别人读晕过去 |
|
q*c 发帖数: 9453 | 27 oh, come on, this is so scala style response.
Not that I can not do it, but just see people doing it generally are people
who do not care who/how to maintaining it.
BTW you do not use it, does not mean other people does not use DSL. If there
is a way, smart ass will always be there trying best to abuse it. It is
like democracy vs Dictation -- Dictation is scala, always more powerful and
efficient, but ALWAYS there will be asshole to fuck everything up. Even
super man like chairman Mao, with all ... 阅读全帖 |
|
H****S 发帖数: 1359 | 28 Scala in depth 基本上解释得很清楚。知道怎么用还是很必要的,不然读起别人code
来象天书。
[在 loganfreeman (Now we are one!) 的大作中提到:]
:大牛说说怎么掌握scala的implicit?
:【 在 peking2 (ECMA) 的大作中提到: 】
:........... |
|
p*****2 发帖数: 21240 | 29 据说jersey不如dropwizard
你们家不是常常frontend node backend scala吗
你家算用scala多的了 其他组用什么搞的? |
|
g*****g 发帖数: 34805 | 30 Spark替代 hadoop mapreduce有戏。但这跟Scala替代Java半毛钱关系也没有。Scala连
个像样的 ORM都没有呢。 |
|
z*******3 发帖数: 13709 | 31 scala会变成第二个c++
但是scala会造出类似c造的jvm一样的东西
比如sparksql |
|
w*r 发帖数: 2421 | 32 scala 的语言看起来比较ugly. 句法过于复杂,可读性差,可读性差的语言编程debug
难度就比较大,Java的一大优势就是句法consistent很容易看懂。
scala 对于function programming的想法是好的,但是语言做的不好,Java 8 lambda
expression算是catchup..也可以算是工业标准 |
|
S*******e 发帖数: 525 | 33 好像不太久之前,大牛才下决心真正学scala吧? 本不想学,要弄SPARK,还得要学。虽
然JAVA可以开发,但别人大部分还是用scala讨论实例和问题 -- 看不懂啊。 |
|
c******o 发帖数: 1277 | 34 你这个坑太大,比scala本身的坑大多了。
scala本身都那么争议了。 |
|
C*******n 发帖数: 193 | 35 问一下,scala之父的那本教程怎么样?值得看么?感觉太厚了
还是可以直接看scala for impatient? |
|
p*****2 发帖数: 21240 | 36 感觉不用看,其实scala for impatient也没有给把scala简化了。
cookbook还成。复杂的东西基本没提。 |
|
z****e 发帖数: 54598 | 37 scala是better java
你这样四种语言混搭的话
以后接盘的人就要哭了
四种语言,你自己想想这个学习成本有多高
一个scala可以搞死一批人
c++可以搞死剩下另外一批
python还有各种小技巧,js是web script
你去哪里找人给你接盘?你这里面还有各种数学原理
你这个东西发展成屎坑的可能性很大 |
|
g*****g 发帖数: 34805 | 38 貌似我搞Scala比你们都早,4年前我说FP唯一还有点前途的就是Scala了。你又Out了。 |
|
|
g*****g 发帖数: 34805 | 40 play没火过,akka实现的actor model写高并发还是很有意义的,这个我提过很多次。
spark也是基于akka的。从前景上看,我对于scala的看法没变,还是只适合小团队写并
发轮子。市场上需要更多能读懂scala代码的人,对于使用这些轮子有好处。 |
|
p*****2 发帖数: 21240 | 41 大牛上吧 别犹豫了
熟了挺有意思的
我们这里scala的活都抢着做
我一天没写scala code都心里不自在 |
|
p*****2 发帖数: 21240 | 42 感觉学了scala以后学别的都不难了 或者说简单了 因为那些feature scala已经有了 |
|
p*****2 发帖数: 21240 | 43
大牛试过吗?跟Scala的shell比如何?我基本不太可以去试那个了,我Scala用的好好
的。 |
|
z****e 发帖数: 54598 | 44 其实你对java了解的话
尤其是j2ee懂的话
很多东西在scala里面,都被简化成了一个key words
比如set/get方法,被凑上其他的features
被简化成了case类
这种做法好还是坏,我不知道
但是其实scala很多东西只是java patterns的变种而已
本质上是一样的
了。 |
|
c*******9 发帖数: 9032 | 45 嗯。想糙快猛的公司不会上scala。上scala的往往一开始就想以最小的浪费达到更多成
果,而不是在某阶段把前面阶段的东西丢掉。
java |
|
t**r 发帖数: 3428 | 46 scala driver for c* is coming
it's exciting.
scala will replace python to be the first language to learn in university. |
|
p*****2 发帖数: 21240 | 47 看了看,感觉主要的问题是Scala是OO的,Haskell是FP的。
本来Scala应该object.method, 但是搞了type class之后就变成了跟Haskell一样,
method object了,感觉怪怪的。 |
|
H****S 发帖数: 1359 | 48 你太out了,打个:k 在Scala console下看看。scalaz是production ready library,
加上Scala特有的implicit type system,甚至比Haskell还要更加强大。Haskell现在
的潮流就是向scalaz export以争取更广泛的用户。Haskell machines / stream
transducer很牛吧,原作者自己export成scalaz stream,比rxjava理念先进不止一倍,
颦。 |
|
c******o 发帖数: 1277 | 49 Scala has Kind, Applicative Functor 和 Arrow
I implemented Applicative/Arrow myself as a practice.
But the point is Scala is not pure FP, and do not want to be pure FP
Haskell on the other hand, is pure FP and great at that. |
|
p*****2 发帖数: 21240 | 50 all I know is:
after learning Haskell in the evenings/weekends for a few months, reading
language feature tutorials and writing a personal project, I understand
enough about enough typeclasses / GHC extensions / etc to write somewhat
abstract Haskell code without type errors, or to read those type errors and
grok them. the abstractions increase modularity, without decreasing
readability.
after the same time/effort with Scala, I know nothing about Scala's types,
or its errors. |
|