由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - storm俨然是下一个冉冉升起的新星啊
相关主题
大牛给讲讲monad吧?vert.x 基本上没戏
Scala的思路Scala的用途
看来没跳Scala的坑是对的我对为什么使用FP的理解 (补)
今天跟公司confirm了,没有人用Scala现在还在“学”脚本语言的,都弱爆了
Spark会干掉Storm吗?FP 和 Procedural Programming 有什么不同?
Java的performance为什么Java在内置系统里争不过C++?
我擦,haskell很简洁啊长周末出去一趟,魏公公又冒头了?
我认为JVM上的语言,老大还是Java看来跳了Scala的坑是对的
相关话题的讨论汇总
话题: scala话题: storm话题: java话题: clojure话题: int
进入Programming版参与讨论
1 (共1页)
z****e
发帖数: 54598
1
在hadoop和cassandra之后,storm现在炙手可热
z****e
发帖数: 54598
2
顺序应该是cassandra,然后hadoop,下一个期待的是storm
目前版本号还没上1,还需要时间
z****e
发帖数: 54598
3
In this tutorial, you'll learn how to create Storm topologies and deploy
them to a Storm cluster. Java will be the main language used, but a few
examples will use Python to illustrate Storm's multi-language capabilities.
基本上符合我的观察,java和python将会是将来的主流,java的地位基本上不动摇
python可以把部署等步骤简化,至于clojure那种东西,让写storm的苦逼去遭罪去
z****e
发帖数: 54598
4
github上storm源代码就放在内森的页面
z****e
发帖数: 54598
5
storm的部署在aws上就是拖拖拽拽,hoho
d*******r
发帖数: 3299
6

不是正好多了一个学 Clojure 的理由吗
二爷快来参辩论

【在 z****e 的大作中提到】
: In this tutorial, you'll learn how to create Storm topologies and deploy
: them to a Storm cluster. Java will be the main language used, but a few
: examples will use Python to illustrate Storm's multi-language capabilities.
: 基本上符合我的观察,java和python将会是将来的主流,java的地位基本上不动摇
: python可以把部署等步骤简化,至于clojure那种东西,让写storm的苦逼去遭罪去

p*****2
发帖数: 21240
7

发信人: peking2 (clojure), 信区: JobHunting
标 题: Re: storm俨然是下一个冉冉升起的新星啊 (转载)
发信站: BBS 未名空间站 (Thu Oct 24 19:35:13 2013, 美东)
大牛说的不错。所以说学习Storm和Clojure才是王道。

【在 d*******r 的大作中提到】
:
: 不是正好多了一个学 Clojure 的理由吗
: 二爷快来参辩论

d*******r
发帖数: 3299
8
我纯菜鸟啊, 就等着二爷大牛发布新 Clojure & Storm 学习心得,好学习经验

【在 p*****2 的大作中提到】
:
: 发信人: peking2 (clojure), 信区: JobHunting
: 标 题: Re: storm俨然是下一个冉冉升起的新星啊 (转载)
: 发信站: BBS 未名空间站 (Thu Oct 24 19:35:13 2013, 美东)
: 大牛说的不错。所以说学习Storm和Clojure才是王道。

s*****V
发帖数: 21731
9
尼玛,你分裂了,昨天还发帖狂黑PYTHON

【在 z****e 的大作中提到】
: In this tutorial, you'll learn how to create Storm topologies and deploy
: them to a Storm cluster. Java will be the main language used, but a few
: examples will use Python to illustrate Storm's multi-language capabilities.
: 基本上符合我的观察,java和python将会是将来的主流,java的地位基本上不动摇
: python可以把部署等步骤简化,至于clojure那种东西,让写storm的苦逼去遭罪去

z****e
发帖数: 54598
10
python很难在web上替换掉ruby这些,尤其是php
但是python替换掉shell是我所希望看到的
shell太复杂了,同样,storm替换掉zookeeper下面那些也是我所希望看到的
storm更简单

【在 s*****V 的大作中提到】
: 尼玛,你分裂了,昨天还发帖狂黑PYTHON
相关主题
Java的performancevert.x 基本上没戏
我擦,haskell很简洁啊Scala的用途
我认为JVM上的语言,老大还是Java我对为什么使用FP的理解 (补)
进入Programming版参与讨论
z****e
发帖数: 54598
11
问题在于api都是java写的
clojure如果打算参与的话,会需要用到
用跟写是两回事

【在 p*****2 的大作中提到】
:
: 发信人: peking2 (clojure), 信区: JobHunting
: 标 题: Re: storm俨然是下一个冉冉升起的新星啊 (转载)
: 发信站: BBS 未名空间站 (Thu Oct 24 19:35:13 2013, 美东)
: 大牛说的不错。所以说学习Storm和Clojure才是王道。

z****e
发帖数: 54598
12
这种0.9版本的东西,大家都是菜鸟

【在 d*******r 的大作中提到】
: 我纯菜鸟啊, 就等着二爷大牛发布新 Clojure & Storm 学习心得,好学习经验
p*****2
发帖数: 21240
13

有clojure的DSL

【在 z****e 的大作中提到】
: 问题在于api都是java写的
: clojure如果打算参与的话,会需要用到
: 用跟写是两回事

p*****2
发帖数: 21240
14

马上就上了。test环境已经搭建好了。就等production machine到呢。

【在 d*******r 的大作中提到】
: 我纯菜鸟啊, 就等着二爷大牛发布新 Clojure & Storm 学习心得,好学习经验
p*****2
发帖数: 21240
15

公司里面大牛不少。

【在 z****e 的大作中提到】
: 这种0.9版本的东西,大家都是菜鸟
z****e
发帖数: 54598
16
还不如我自己弄一个

【在 p*****2 的大作中提到】
:
: 公司里面大牛不少。

p*****2
发帖数: 21240
17

又要造轮子?

【在 z****e 的大作中提到】
: 还不如我自己弄一个
z****e
发帖数: 54598
18
simplify, simplify
其它的都太复杂了

【在 p*****2 的大作中提到】
:
: 又要造轮子?

p*****2
发帖数: 21240
19

clojure还复杂吗?应该算是很简单的语言一种了吧?

【在 z****e 的大作中提到】
: simplify, simplify
: 其它的都太复杂了

z****e
发帖数: 54598
20
是吗?可能是我太懒得记那些符号了吧
回到主题上去
storm将来迟早会跟cassandra一样,被apache招安
在一起是大势所趋

【在 p*****2 的大作中提到】
:
: clojure还复杂吗?应该算是很简单的语言一种了吧?

相关主题
现在还在“学”脚本语言的,都弱爆了长周末出去一趟,魏公公又冒头了?
FP 和 Procedural Programming 有什么不同?看来跳了Scala的坑是对的
为什么Java在内置系统里争不过C++?Zhaoce给我们讲讲CORBA和中间件吧
进入Programming版参与讨论
p*****2
发帖数: 21240
21

是不是已经进了apache了?
clojure的符号不算多,scala才叫一个乱呢。

【在 z****e 的大作中提到】
: 是吗?可能是我太懒得记那些符号了吧
: 回到主题上去
: storm将来迟早会跟cassandra一样,被apache招安
: 在一起是大势所趋

H****S
发帖数: 1359
22
只要是在jvm上跑,绝对有scala dsl。随便一Google就找到一个
https://github.com/velvia/ScalaStorm

【在 p*****2 的大作中提到】
:
: 是不是已经进了apache了?
: clojure的符号不算多,scala才叫一个乱呢。

G****r
发帖数: 5579
23
看了一下 storm, 确实是好东西, 但Amazon没缘。

【在 z****e 的大作中提到】
: storm的部署在aws上就是拖拖拽拽,hoho
p*****2
发帖数: 21240
24

大牛我真没有说过scala没有DSL。我的意思是Scala的各种符号太多了,搞的太复杂了


【在 H****S 的大作中提到】
: 只要是在jvm上跑,绝对有scala dsl。随便一Google就找到一个
: https://github.com/velvia/ScalaStorm

m******t
发帖数: 635
25
如果连你这样比较高水平的都觉得复杂的话,那么Scala可能真的没有前途,就跟
MongoDB一样,等这一波吃螃蟹的吃出问题了,就算热过去了。大家再跳下个热点,简
历上多了一堆类似CORBA, DCOM那样的鸡肋。
追过太多的东西,对这些FAD(和时装差不多)免疫了。Clojure倒是真的不错,可能永
远就是小众了,小众就小众吧,哈哈

【在 p*****2 的大作中提到】
:
: 大牛我真没有说过scala没有DSL。我的意思是Scala的各种符号太多了,搞的太复杂了
: 。

p*****2
发帖数: 21240
26

我感觉storm如果火起来,clojure可能也能跟着火一下。感觉JVM上的动态语言还是有
一定优势的。

【在 m******t 的大作中提到】
: 如果连你这样比较高水平的都觉得复杂的话,那么Scala可能真的没有前途,就跟
: MongoDB一样,等这一波吃螃蟹的吃出问题了,就算热过去了。大家再跳下个热点,简
: 历上多了一堆类似CORBA, DCOM那样的鸡肋。
: 追过太多的东西,对这些FAD(和时装差不多)免疫了。Clojure倒是真的不错,可能永
: 远就是小众了,小众就小众吧,哈哈

z****e
发帖数: 54598
27
storm
https://github.com/nathanmarz/storm-deploy/wiki
spark
Amazon EC2: our EC2 scripts let you launch a cluster in about 5 minutes
http://spark.incubator.apache.org/docs/latest/ec2-scripts.html

【在 G****r 的大作中提到】
: 看了一下 storm, 确实是好东西, 但Amazon没缘。
z****e
发帖数: 54598
28
安装时候一堆的依赖,java, python还有mq都要装
应该简化一下安装和依赖,现在除了在aws上用比较简单外
local搞有些折腾

【在 p*****2 的大作中提到】
:
: 我感觉storm如果火起来,clojure可能也能跟着火一下。感觉JVM上的动态语言还是有
: 一定优势的。

z****e
发帖数: 54598
29
还没有,现在还是内森在做

【在 p*****2 的大作中提到】
:
: 我感觉storm如果火起来,clojure可能也能跟着火一下。感觉JVM上的动态语言还是有
: 一定优势的。

p*****2
发帖数: 21240
30

mq最新版还没干掉吗?
怎么还需要装python呢?

【在 z****e 的大作中提到】
: 安装时候一堆的依赖,java, python还有mq都要装
: 应该简化一下安装和依赖,现在除了在aws上用比较简单外
: local搞有些折腾

相关主题
scala和monadScala的思路
scala future之间通信有什么好办法吗?看来没跳Scala的坑是对的
大牛给讲讲monad吧?今天跟公司confirm了,没有人用Scala
进入Programming版参与讨论
p*****2
发帖数: 21240
31

http://incubator.apache.org/projects/storm.html

【在 z****e 的大作中提到】
: 还没有,现在还是内森在做
z****e
发帖数: 54598
32
是啊,我也觉得奇怪,是不是文档我看的有些老旧了
我再搜索搜索

【在 p*****2 的大作中提到】
:
: http://incubator.apache.org/projects/storm.html

z****e
发帖数: 54598
33
这个链接里面的东西几乎都是空的
点了几个外链,还不够完善,还有很长的路要走
spark倒是有些快毕业了的迹象

【在 p*****2 的大作中提到】
:
: http://incubator.apache.org/projects/storm.html

H****S
发帖数: 1359
34
说实话,按这个标准来看,jvm上最有前途的是groovy甚至jython。但是这两个语言的
作者一个公开承认scala可能会取代java,一个创造了numpy for cpython以后居然没有
把它port 到jython上。由此可见它们现在处于什么样的状态。
Scala的优势在于它强大的type system,可以帮助developer 直接通过compiler消除很
多在java里面只有runtime出先的bug。但是这件事分两面说,scala完全支持你写java
style的程序,这也是martin对scala程序员分类的第一类,等慢慢熟悉了可以再去
explore诸如type class,cake pattern这样的advanced feature。
最后说要一句学scala一定要学sbt,学习曲线一开始会很高,但是回报是相当高的。你
不光用sbt做依赖管理,同时也可方便的用它来做部署。

【在 m******t 的大作中提到】
: 如果连你这样比较高水平的都觉得复杂的话,那么Scala可能真的没有前途,就跟
: MongoDB一样,等这一波吃螃蟹的吃出问题了,就算热过去了。大家再跳下个热点,简
: 历上多了一堆类似CORBA, DCOM那样的鸡肋。
: 追过太多的东西,对这些FAD(和时装差不多)免疫了。Clojure倒是真的不错,可能永
: 远就是小众了,小众就小众吧,哈哈

m******t
发帖数: 635
35
我对Scala的认识相当肤浅,不过我发现Scala作为一个语言来说是相当庞大和复杂的,
如果它的学习成本基本上相当与C++的话,它是不可以持续的,我不会浪费时间去学习
另外一个C++,就算它短时间能够流行起来。
目前为止我所知道的比较大规模的应用就是Scala一两年前在Yammer,那是个彻底的失
败,主要原因就是语言和核心库变动剧烈,多种paradigm并存不只是对应用层面造成问
题,在库的层面的问题远远超过了普通Scala程序员的水平,学习成本高,系统维护费
用高。所以Yammer一年后转回了Java
我不认为以上那几点到现在得到根本的解决,现在这批吃螃蟹的要到一年以后才知道结
果,我大胆预测下,大多数会以悲剧结束。

java

【在 H****S 的大作中提到】
: 说实话,按这个标准来看,jvm上最有前途的是groovy甚至jython。但是这两个语言的
: 作者一个公开承认scala可能会取代java,一个创造了numpy for cpython以后居然没有
: 把它port 到jython上。由此可见它们现在处于什么样的状态。
: Scala的优势在于它强大的type system,可以帮助developer 直接通过compiler消除很
: 多在java里面只有runtime出先的bug。但是这件事分两面说,scala完全支持你写java
: style的程序,这也是martin对scala程序员分类的第一类,等慢慢熟悉了可以再去
: explore诸如type class,cake pattern这样的advanced feature。
: 最后说要一句学scala一定要学sbt,学习曲线一开始会很高,但是回报是相当高的。你
: 不光用sbt做依赖管理,同时也可方便的用它来做部署。

p*****2
发帖数: 21240
36

java
我学scala比clojure早多了。我相信我有能力把它学好,也有一定的热情。但是对于我
们的项目来说,我们需要快速开发,这也是为什么很多startup都选择动态语言的原因
。我认真比较了scala和clojure,为了这个我不得不学习一下clojure。
最后的结果是scala确实功能强大,但是开发效率会比clojure低很多。即使我学scala
要比clojure早很多,而且coursera上的course作业是100%对,clojure是一门新的语言
,有很不熟悉的lisp语法,但是我还是觉得clojure开发比scala快很多。
这样说吧,我学习scala大概花了7-10天上手,clojure是1-2天上手。clojure上手以后
慢慢的会觉得越来越简单,scala上手以后搞了几个月还是觉得很繁琐,复杂。而且
scala功能强大的部分,我认为都可以找到其他的解决方案。比如real time我们用
storm来做。

【在 H****S 的大作中提到】
: 说实话,按这个标准来看,jvm上最有前途的是groovy甚至jython。但是这两个语言的
: 作者一个公开承认scala可能会取代java,一个创造了numpy for cpython以后居然没有
: 把它port 到jython上。由此可见它们现在处于什么样的状态。
: Scala的优势在于它强大的type system,可以帮助developer 直接通过compiler消除很
: 多在java里面只有runtime出先的bug。但是这件事分两面说,scala完全支持你写java
: style的程序,这也是martin对scala程序员分类的第一类,等慢慢熟悉了可以再去
: explore诸如type class,cake pattern这样的advanced feature。
: 最后说要一句学scala一定要学sbt,学习曲线一开始会很高,但是回报是相当高的。你
: 不光用sbt做依赖管理,同时也可方便的用它来做部署。

c******o
发帖数: 1277
37
现在最大应该是 twitter 吧?
他们用得挺好的。
rod johnson 加入后明显有变化,scala2.11的宗旨是 smaller,stronger, faster。
没有新feature
1. modularizing the standard library and the compiler to allow more
selective use of Scala's features,
2. remove xml from stardard package
3. more optimization to help speed
4. stronger type inference, better REPL
感觉上在向user friendly 走

【在 m******t 的大作中提到】
: 我对Scala的认识相当肤浅,不过我发现Scala作为一个语言来说是相当庞大和复杂的,
: 如果它的学习成本基本上相当与C++的话,它是不可以持续的,我不会浪费时间去学习
: 另外一个C++,就算它短时间能够流行起来。
: 目前为止我所知道的比较大规模的应用就是Scala一两年前在Yammer,那是个彻底的失
: 败,主要原因就是语言和核心库变动剧烈,多种paradigm并存不只是对应用层面造成问
: 题,在库的层面的问题远远超过了普通Scala程序员的水平,学习成本高,系统维护费
: 用高。所以Yammer一年后转回了Java
: 我不认为以上那几点到现在得到根本的解决,现在这批吃螃蟹的要到一年以后才知道结
: 果,我大胆预测下,大多数会以悲剧结束。
:

p*****2
发帖数: 21240
38

不知道有没有twitter的大牛能share一下使用scala的经历。我上次去twitter面试也没
看出来他们对scala的热情。

【在 c******o 的大作中提到】
: 现在最大应该是 twitter 吧?
: 他们用得挺好的。
: rod johnson 加入后明显有变化,scala2.11的宗旨是 smaller,stronger, faster。
: 没有新feature
: 1. modularizing the standard library and the compiler to allow more
: selective use of Scala's features,
: 2. remove xml from stardard package
: 3. more optimization to help speed
: 4. stronger type inference, better REPL
: 感觉上在向user friendly 走

w**z
发帖数: 8232
39
Kafka by linkedin is written in Scala. 二爷,介绍一下哪个网站对experienced
Java developer 学 Scala 最好。 准备在下一次公司的Hack day 试试, 从写Unit
test 开始。

【在 p*****2 的大作中提到】
:
: 不知道有没有twitter的大牛能share一下使用scala的经历。我上次去twitter面试也没
: 看出来他们对scala的热情。

z****e
发帖数: 54598
40
如果rod johnson能把scala简化,那前途还是有的
之前搞得太复杂了,ejb那种复杂度都难以推广,scala比ejb还复杂
希望rod johnson搞出一个spring版的scala来

【在 c******o 的大作中提到】
: 现在最大应该是 twitter 吧?
: 他们用得挺好的。
: rod johnson 加入后明显有变化,scala2.11的宗旨是 smaller,stronger, faster。
: 没有新feature
: 1. modularizing the standard library and the compiler to allow more
: selective use of Scala's features,
: 2. remove xml from stardard package
: 3. more optimization to help speed
: 4. stronger type inference, better REPL
: 感觉上在向user friendly 走

相关主题
今天跟公司confirm了,没有人用Scala我擦,haskell很简洁啊
Spark会干掉Storm吗?我认为JVM上的语言,老大还是Java
Java的performancevert.x 基本上没戏
进入Programming版参与讨论
p*****2
发帖数: 21240
41

我觉得那个scala for impatient不错。对于java程序员来说要接受FP确实需要段时间
转变思维。主要是三点
1. immutability
2. function is first citizen
3. recursive, no iteration
感觉主要是第一点更需要时间去熟悉。所以scala来了一个混合型的。虽然可以让java
程序员过渡一下,但是也容易让人逻辑混乱。

【在 w**z 的大作中提到】
: Kafka by linkedin is written in Scala. 二爷,介绍一下哪个网站对experienced
: Java developer 学 Scala 最好。 准备在下一次公司的Hack day 试试, 从写Unit
: test 开始。

z****e
发帖数: 54598
42
其实我不认为把市场定位在让oo programmer转型会成功
反倒是定位在象aop一样,在某些场合,作为oop的补充
但是不替代oop在系统中主流位置,也就是不做first citizen
做second citizen的话,会很成功

java

【在 p*****2 的大作中提到】
:
: 我觉得那个scala for impatient不错。对于java程序员来说要接受FP确实需要段时间
: 转变思维。主要是三点
: 1. immutability
: 2. function is first citizen
: 3. recursive, no iteration
: 感觉主要是第一点更需要时间去熟悉。所以scala来了一个混合型的。虽然可以让java
: 程序员过渡一下,但是也容易让人逻辑混乱。

p*****2
发帖数: 21240
43

确实。我也不觉得会有多少java programmer会去转到scala上去。论开发效率,我也不
知道是不是scala比java一定高。

【在 z****e 的大作中提到】
: 其实我不认为把市场定位在让oo programmer转型会成功
: 反倒是定位在象aop一样,在某些场合,作为oop的补充
: 但是不替代oop在系统中主流位置,也就是不做first citizen
: 做second citizen的话,会很成功
:
: java

c******o
发帖数: 1277
44
async 的东东scala绝对比java开发效率快。
我觉得复杂数据模型,算法也快,就是可读性要特别注意
p*****2
发帖数: 21240
45

async java确实比较落后。我个人更倾向于async用node,jvm用clojure。
话说clojure的async貌似比scala差的挺多的。

【在 c******o 的大作中提到】
: async 的东东scala绝对比java开发效率快。
: 我觉得复杂数据模型,算法也快,就是可读性要特别注意

z****e
发帖数: 54598
46
fp比oop强的地方就在于写复杂计算比oop快简洁
这个没啥奇怪的,但是可读性也是本来就是fp比oop要弱的地方

【在 c******o 的大作中提到】
: async 的东东scala绝对比java开发效率快。
: 我觉得复杂数据模型,算法也快,就是可读性要特别注意

q*c
发帖数: 9453
47
看看 Zen of python.
简单,容易读, 语法唯一性
就是王道。 java python 都是这样有利于维护的语言。对比就是苦逼的 scala, perl
这些 精炼无比但是 write only 的前途无亮的东西。

【在 z****e 的大作中提到】
: In this tutorial, you'll learn how to create Storm topologies and deploy
: them to a Storm cluster. Java will be the main language used, but a few
: examples will use Python to illustrate Storm's multi-language capabilities.
: 基本上符合我的观察,java和python将会是将来的主流,java的地位基本上不动摇
: python可以把部署等步骤简化,至于clojure那种东西,让写storm的苦逼去遭罪去

q*c
发帖数: 9453
48
悲剧这是肯定的, 这玩意都是什么人开发出的语言? professsor and ph.d. 这些人
脑门是门夹过了,追求的东西不实在, 不是为了使用的人优化的,而是为了逻辑美学
,和写的人省事。
就连 twitter 里面用的最熟练 scala 的人,一看,果然,是个 AP 转过来的。喜欢这
玩意的人是有共性的。

【在 m******t 的大作中提到】
: 我对Scala的认识相当肤浅,不过我发现Scala作为一个语言来说是相当庞大和复杂的,
: 如果它的学习成本基本上相当与C++的话,它是不可以持续的,我不会浪费时间去学习
: 另外一个C++,就算它短时间能够流行起来。
: 目前为止我所知道的比较大规模的应用就是Scala一两年前在Yammer,那是个彻底的失
: 败,主要原因就是语言和核心库变动剧烈,多种paradigm并存不只是对应用层面造成问
: 题,在库的层面的问题远远超过了普通Scala程序员的水平,学习成本高,系统维护费
: 用高。所以Yammer一年后转回了Java
: 我不认为以上那几点到现在得到根本的解决,现在这批吃螃蟹的要到一年以后才知道结
: 果,我大胆预测下,大多数会以悲剧结束。
:

q*c
发帖数: 9453
49
用的好? lol
见过的人,开始用的, 没有一个不骂的。但是只要最开始的人用了,后面人没选择。
perl 这种狗屎一样的语言,amaOn 的 mason 照样在用。 你去问问 amazon 前端的,
几个不骂?amazn 照样好好的。
公司好不好,决定性是 商业决策。然后无论什么烂货技术,只要你花钱请牛逼程序员
,最后总能兜住。 这点技术上造成的效率差别,在商业决定造成的差别面前都是高阶
无限小。

【在 c******o 的大作中提到】
: 现在最大应该是 twitter 吧?
: 他们用得挺好的。
: rod johnson 加入后明显有变化,scala2.11的宗旨是 smaller,stronger, faster。
: 没有新feature
: 1. modularizing the standard library and the compiler to allow more
: selective use of Scala's features,
: 2. remove xml from stardard package
: 3. more optimization to help speed
: 4. stronger type inference, better REPL
: 感觉上在向user friendly 走

q*c
发帖数: 9453
50
早有人做了实验,训练4周,scala 开发比java 更有效率就是个谎言。网上有数据。
这也和我个人体会完全一致。少写一半程序狗屁不算,时间大部化在想怎么写, 数据格
式转换等等其他事情上。而且读 别人的 scala 偶尔出来几个找不到的 implicit 这种
垃圾中的战斗机,手打节省得时间就全进去了。

【在 p*****2 的大作中提到】
:
: async java确实比较落后。我个人更倾向于async用node,jvm用clojure。
: 话说clojure的async貌似比scala差的挺多的。

相关主题
Scala的用途FP 和 Procedural Programming 有什么不同?
我对为什么使用FP的理解 (补)为什么Java在内置系统里争不过C++?
现在还在“学”脚本语言的,都弱爆了长周末出去一趟,魏公公又冒头了?
进入Programming版参与讨论
q*c
发帖数: 9453
51
对于商业大型项目多人参与, 可读性几乎是唯一重要的东西。
如果语言已经需要特别注意可读性?几乎 保证最后没有可读性,这是人类自私天性和
多样性决定的。

【在 c******o 的大作中提到】
: async 的东东scala绝对比java开发效率快。
: 我觉得复杂数据模型,算法也快,就是可读性要特别注意

x****u
发帖数: 44466
52
狗屎语言可以提高程序员价格啊。
不少公司还不得不维护N年前的VC5天书server代码。

perl

【在 q*c 的大作中提到】
: 看看 Zen of python.
: 简单,容易读, 语法唯一性
: 就是王道。 java python 都是这样有利于维护的语言。对比就是苦逼的 scala, perl
: 这些 精炼无比但是 write only 的前途无亮的东西。

c******o
发帖数: 1277
53
..... meetup 里 Ity Kaul 和我说的。
你的是谁和你说的?至少说明你不是在说梦话吧。

【在 q*c 的大作中提到】
: 用的好? lol
: 见过的人,开始用的, 没有一个不骂的。但是只要最开始的人用了,后面人没选择。
: perl 这种狗屎一样的语言,amaOn 的 mason 照样在用。 你去问问 amazon 前端的,
: 几个不骂?amazn 照样好好的。
: 公司好不好,决定性是 商业决策。然后无论什么烂货技术,只要你花钱请牛逼程序员
: ,最后总能兜住。 这点技术上造成的效率差别,在商业决定造成的差别面前都是高阶
: 无限小。

z****e
发帖数: 54598
54
你这个例子举的真不是一般的精准,一查这姐们的education
Postgraduate Research Student
University of New South Wales
November 2008 – August 2011 (2 years 10 months)
Market Data Analysis - Trend Detection & Pattern Recognition

【在 c******o 的大作中提到】
: ..... meetup 里 Ity Kaul 和我说的。
: 你的是谁和你说的?至少说明你不是在说梦话吧。

c******o
发帖数: 1277
55
我靠,又不是叫兽。
码工有几个不是postgraduate ?
别人是twitter的engineer lead, 说用的好还不是她手下和同事?
这个不算,谁算。

【在 z****e 的大作中提到】
: 你这个例子举的真不是一般的精准,一查这姐们的education
: Postgraduate Research Student
: University of New South Wales
: November 2008 – August 2011 (2 years 10 months)
: Market Data Analysis - Trend Detection & Pattern Recognition

z****e
发帖数: 54598
56
是么?
貌似前面不止一个人跟你说了
twitter的人对scala没有你说得那么狂热
你知道为什么么?
因为你是从一个lead嘴巴里说听到的
她就是决策者,要是她说不好,那不是自己打自己耳光么?
但是面试的时候,钓丝就多了,看钓丝的反应最能说明问题

【在 c******o 的大作中提到】
: 我靠,又不是叫兽。
: 码工有几个不是postgraduate ?
: 别人是twitter的engineer lead, 说用的好还不是她手下和同事?
: 这个不算,谁算。

z****e
发帖数: 54598
57
当然我说一句小人心度君子腹的话
她这种两年没有搞下一个正规学历的
多半是冲击发考题路上的loser
如果是这种,那最麻烦,这种人遇到真牛逼的不行
但是到一般钓丝面前装逼,那是一流的
参考王某人

【在 c******o 的大作中提到】
: 我靠,又不是叫兽。
: 码工有几个不是postgraduate ?
: 别人是twitter的engineer lead, 说用的好还不是她手下和同事?
: 这个不算,谁算。

c******o
发帖数: 1277
58
算了算了,不说了。不想人生攻击了。
一个twitter内,一个twitter外
你说我该相信谁呢。
我从来没说啥java不好的,oop不好的。也没说scala 万能。
就几个心理受创的非要死缠烂打,把这弄成一言堂。

【在 z****e 的大作中提到】
: 当然我说一句小人心度君子腹的话
: 她这种两年没有搞下一个正规学历的
: 多半是冲击发考题路上的loser
: 如果是这种,那最麻烦,这种人遇到真牛逼的不行
: 但是到一般钓丝面前装逼,那是一流的
: 参考王某人

z****e
发帖数: 54598
59
你激动了

【在 c******o 的大作中提到】
: 算了算了,不说了。不想人生攻击了。
: 一个twitter内,一个twitter外
: 你说我该相信谁呢。
: 我从来没说啥java不好的,oop不好的。也没说scala 万能。
: 就几个心理受创的非要死缠烂打,把这弄成一言堂。

q*c
发帖数: 9453
60
...我就是每天听这些苦逼的人亲自说啊, 呵呵。

【在 c******o 的大作中提到】
: 算了算了,不说了。不想人生攻击了。
: 一个twitter内,一个twitter外
: 你说我该相信谁呢。
: 我从来没说啥java不好的,oop不好的。也没说scala 万能。
: 就几个心理受创的非要死缠烂打,把这弄成一言堂。

相关主题
看来跳了Scala的坑是对的scala future之间通信有什么好办法吗?
Zhaoce给我们讲讲CORBA和中间件吧大牛给讲讲monad吧?
scala和monadScala的思路
进入Programming版参与讨论
t****t
发帖数: 6806
61
习惯就好了, 他们几个是这样的, 说话时不能好好说, 一定要顺便各种taunt, 最后脏话
满天飞, 刚好这个版也没人管.

【在 c******o 的大作中提到】
: 算了算了,不说了。不想人生攻击了。
: 一个twitter内,一个twitter外
: 你说我该相信谁呢。
: 我从来没说啥java不好的,oop不好的。也没说scala 万能。
: 就几个心理受创的非要死缠烂打,把这弄成一言堂。

p*****2
发帖数: 21240
62

你知道twitter当时为什么选scala吗?

【在 q*c 的大作中提到】
: ...我就是每天听这些苦逼的人亲自说啊, 呵呵。
g*****g
发帖数: 34805
63
选scala纯粹是因为那些ruby背景的人觉得比较适应。但后期有钱招牛人了,java模块
就上得很多。
比如那个搜索模块,绝对是他们性能要求最高的一块。

【在 p*****2 的大作中提到】
:
: 你知道twitter当时为什么选scala吗?

z****e
发帖数: 54598
64
ruby和scala是不是有什么语法接近的地方?

【在 g*****g 的大作中提到】
: 选scala纯粹是因为那些ruby背景的人觉得比较适应。但后期有钱招牛人了,java模块
: 就上得很多。
: 比如那个搜索模块,绝对是他们性能要求最高的一块。

p*****2
发帖数: 21240
65

是很接近。不过我在想如果现在twitter选的话,会不会选clojure。当时clojure还太
年轻,twitter根本就没有考虑。clojure是动态语言,其实跟ruby更接近。当然如果
ruby 程序员整天玩OO的话,倒是scala更容易上手。ruby的fp特性还是不行。

【在 z****e 的大作中提到】
: ruby和scala是不是有什么语法接近的地方?
q*c
发帖数: 9453
66
你知道为啥当年 amazon 选 perl?
你知道为啥当年 xxx 选 yyyy?
不为啥, 太多数据, 你想啥结论, 就能得到啥结论, 因为没啥是完美的。
为啥? 就是因为当年开头那几个这么选, 他们喜欢, 而他们刚好运气好,
选了后来牛逼了的公司。
其实看看统计,还是选 java 的多的多。
选啥我看就完全是个随机过程。

【在 p*****2 的大作中提到】
:
: 是很接近。不过我在想如果现在twitter选的话,会不会选clojure。当时clojure还太
: 年轻,twitter根本就没有考虑。clojure是动态语言,其实跟ruby更接近。当然如果
: ruby 程序员整天玩OO的话,倒是scala更容易上手。ruby的fp特性还是不行。

g*****g
发帖数: 34805
67
动态语言天生性能不行。只能在性能要求不高的模块用用,比如前端。

【在 p*****2 的大作中提到】
:
: 是很接近。不过我在想如果现在twitter选的话,会不会选clojure。当时clojure还太
: 年轻,twitter根本就没有考虑。clojure是动态语言,其实跟ruby更接近。当然如果
: ruby 程序员整天玩OO的话,倒是scala更容易上手。ruby的fp特性还是不行。

g*****g
发帖数: 34805
68
这个没错,做产品的startup,刚开始牛逼从来不是因为语言,而是因为想法好。
到一定份上性能不行了就是两条路,一是自己往深里搞,比如facebook搞php。
二是SOA然后一块块换,比如twitter,twitter也想搞一,搞不定。

【在 q*c 的大作中提到】
: 你知道为啥当年 amazon 选 perl?
: 你知道为啥当年 xxx 选 yyyy?
: 不为啥, 太多数据, 你想啥结论, 就能得到啥结论, 因为没啥是完美的。
: 为啥? 就是因为当年开头那几个这么选, 他们喜欢, 而他们刚好运气好,
: 选了后来牛逼了的公司。
: 其实看看统计,还是选 java 的多的多。
: 选啥我看就完全是个随机过程。

p*****2
发帖数: 21240
69

看来大牛直接无视storm了

【在 g*****g 的大作中提到】
: 动态语言天生性能不行。只能在性能要求不高的模块用用,比如前端。
p*****2
发帖数: 21240
70

我不觉得是随机的。就像zhaoce说的,主要的原因是ruby跟scala很像

【在 q*c 的大作中提到】
: 你知道为啥当年 amazon 选 perl?
: 你知道为啥当年 xxx 选 yyyy?
: 不为啥, 太多数据, 你想啥结论, 就能得到啥结论, 因为没啥是完美的。
: 为啥? 就是因为当年开头那几个这么选, 他们喜欢, 而他们刚好运气好,
: 选了后来牛逼了的公司。
: 其实看看统计,还是选 java 的多的多。
: 选啥我看就完全是个随机过程。

相关主题
Scala的思路Spark会干掉Storm吗?
看来没跳Scala的坑是对的Java的performance
今天跟公司confirm了,没有人用Scala我擦,haskell很简洁啊
进入Programming版参与讨论
w**z
发帖数: 8232
71
我也看到文章说, Twitter觉得Ruby developer 转Scala 容易。 但现在大部份是Java
了。

【在 g*****g 的大作中提到】
: 选scala纯粹是因为那些ruby背景的人觉得比较适应。但后期有钱招牛人了,java模块
: 就上得很多。
: 比如那个搜索模块,绝对是他们性能要求最高的一块。

q*c
发帖数: 9453
72
这不就是随机的嘛 ~ 那几个人喜欢ruby 难道是注定的?

【在 p*****2 的大作中提到】
:
: 我不觉得是随机的。就像zhaoce说的,主要的原因是ruby跟scala很像

g*****g
发帖数: 34805
73
那几个喜欢ruby是因为那几年RoR火。换了今天有可能就node.js了。

【在 q*c 的大作中提到】
: 这不就是随机的嘛 ~ 那几个人喜欢ruby 难道是注定的?
g*****g
发帖数: 34805
74
这要看什么应用了,bottleneck如果是纯粹IO bound那当然用什么语言都区别不大。
搜索的类库就没见到用动态语言的。

【在 p*****2 的大作中提到】
:
: 我不觉得是随机的。就像zhaoce说的,主要的原因是ruby跟scala很像

z****e
发帖数: 54598
75
fb做php也做得不怎样,hhvm社区没什么人参与
就跟jython一样,都是门可罗雀,基本上就它们自己用

【在 g*****g 的大作中提到】
: 这个没错,做产品的startup,刚开始牛逼从来不是因为语言,而是因为想法好。
: 到一定份上性能不行了就是两条路,一是自己往深里搞,比如facebook搞php。
: 二是SOA然后一块块换,比如twitter,twitter也想搞一,搞不定。

p*****2
发帖数: 21240
76

这个当然了。

【在 g*****g 的大作中提到】
: 这要看什么应用了,bottleneck如果是纯粹IO bound那当然用什么语言都区别不大。
: 搜索的类库就没见到用动态语言的。

p*****2
发帖数: 21240
77

Java
现在T的scala很少了吗?
那现在scala用的多的有哪些?Linkedin, Square, OOyala?

【在 w**z 的大作中提到】
: 我也看到文章说, Twitter觉得Ruby developer 转Scala 容易。 但现在大部份是Java
: 了。

H****S
发帖数: 1359
78
Scala在业界一个成功应用的典范即用lift作为平台build up他们所有的网站以及rest
service的foursquare。而且fs已经在反哺开源社区了(rogue: a typesafe mongo db
dsl)
关于复杂度的问题,scala基本兼容所有的java library,所以一开始用scala写java
style的程序是完全可行的。
关于可读性的问题,well programmed scala/fp code绝对强于oo,但是这对程序员水
平确实提出了一定要求。implicit如果没具体明白它怎么work,有时候确实读起来有些
困难。推荐scala in depth,作者是sbt creator。

【在 m******t 的大作中提到】
: 我对Scala的认识相当肤浅,不过我发现Scala作为一个语言来说是相当庞大和复杂的,
: 如果它的学习成本基本上相当与C++的话,它是不可以持续的,我不会浪费时间去学习
: 另外一个C++,就算它短时间能够流行起来。
: 目前为止我所知道的比较大规模的应用就是Scala一两年前在Yammer,那是个彻底的失
: 败,主要原因就是语言和核心库变动剧烈,多种paradigm并存不只是对应用层面造成问
: 题,在库的层面的问题远远超过了普通Scala程序员的水平,学习成本高,系统维护费
: 用高。所以Yammer一年后转回了Java
: 我不认为以上那几点到现在得到根本的解决,现在这批吃螃蟹的要到一年以后才知道结
: 果,我大胆预测下,大多数会以悲剧结束。
:

z****e
发帖数: 54598
79
说绝对强于oo的话
来,我们做一个code challenge
我做一个游戏场景,里面大量使用到了局部的全局变量
以及对于各个角色的封装
这个用fp怎么搞?

rest
db

【在 H****S 的大作中提到】
: Scala在业界一个成功应用的典范即用lift作为平台build up他们所有的网站以及rest
: service的foursquare。而且fs已经在反哺开源社区了(rogue: a typesafe mongo db
: dsl)
: 关于复杂度的问题,scala基本兼容所有的java library,所以一开始用scala写java
: style的程序是完全可行的。
: 关于可读性的问题,well programmed scala/fp code绝对强于oo,但是这对程序员水
: 平确实提出了一定要求。implicit如果没具体明白它怎么work,有时候确实读起来有些
: 困难。推荐scala in depth,作者是sbt creator。

H****S
发帖数: 1359
80
我是说可读性强于oo,没有说一定实现起来强于oo。这个游戏的例子用Scala来写,还
是可以oo封装,人物的行为模式可以定义type class,在reacting programming时做
pattern mach。当然我需要更多输入来了解更多细节,但是my gut instinct如果我们
最后用Scala来实现,应该会end up with很多小的class和trait代表不同的方方面面,
具体到游戏的每个人物场景时再来做mixin

【在 z****e 的大作中提到】
: 说绝对强于oo的话
: 来,我们做一个code challenge
: 我做一个游戏场景,里面大量使用到了局部的全局变量
: 以及对于各个角色的封装
: 这个用fp怎么搞?
:
: rest
: db

相关主题
我认为JVM上的语言,老大还是Java我对为什么使用FP的理解 (补)
vert.x 基本上没戏现在还在“学”脚本语言的,都弱爆了
Scala的用途FP 和 Procedural Programming 有什么不同?
进入Programming版参与讨论
l*********s
发帖数: 5409
81
what is 局部的全局变量?

【在 z****e 的大作中提到】
: 说绝对强于oo的话
: 来,我们做一个code challenge
: 我做一个游戏场景,里面大量使用到了局部的全局变量
: 以及对于各个角色的封装
: 这个用fp怎么搞?
:
: rest
: db

d******3
发帖数: 70
82
thrust说的对,有的人就喜欢语不惊人死不休,寻开心呗,也没啥恶意。大牛别往心里
去,该说啥说啥。

【在 c******o 的大作中提到】
: 算了算了,不说了。不想人生攻击了。
: 一个twitter内,一个twitter外
: 你说我该相信谁呢。
: 我从来没说啥java不好的,oop不好的。也没说scala 万能。
: 就几个心理受创的非要死缠烂打,把这弄成一言堂。

m*******l
发帖数: 12782
83
static?

【在 l*********s 的大作中提到】
: what is 局部的全局变量?
c******o
发帖数: 1277
84
这个没有detail很难说,只能说非常大致感觉是这样的。
先把各个“角色”抽象成为一个type,这个type包括了一个abstract trait, 和几个
extend的 case class,取决于model可能很复杂,里面可能包括了状态。
角色之间/和环境的互动抽象为function
对于可读性,我并不认为FP一定好
scala好玩的是可以用 主谓宾,定状补来写code,如果需要
对于并行处理
imperative:
player1.attack(player2)
player1, player2 内部状态改变
player1.hitByThunder()
player1 内部状态改变
两个动作无关的话也不好并行
FP:
attack(player1, player2) => (newplayer1, newplayer2)
hitByThunder(player1) => newplayer1
如果两个动作不相关, 它们都返回Future type, 可以直接
for (
a1 <- attack...
a2 <- hitByThunder...
) yield (combine (a1, a2))
并行处理,绝对没事
你注意到,这里没OO什么事,OO和FP是完全兼容的。

【在 z****e 的大作中提到】
: 说绝对强于oo的话
: 来,我们做一个code challenge
: 我做一个游戏场景,里面大量使用到了局部的全局变量
: 以及对于各个角色的封装
: 这个用fp怎么搞?
:
: rest
: db

z****e
发帖数: 54598
85
其实我在实践的过程中
发现大量的递归和函数间的重复套用
这会使得可读性瞬间下降
而且撇开数学建模部分,一旦需要对客观世界做映射的时候
不oo真是很痛苦的一个东西
实际上我们对sql本身就有很多不满,sql就是fp,在很多时候
所以才有了后来的orm
hibernate和jpa的推广很大程度上就是fp不是很靠谱的一个例子
我大概明白你们想干什么了
你们其实想做的就是用fp来搞定business logic
前提是,最好要把state给扼杀掉,以保证所有参数都通过函数来传递
难怪rod johnson会跑过去,因为当初spring的singleton缺省就是去掉state的bean啊
其实就是对oo里面函数本身的一个简化罢了

【在 H****S 的大作中提到】
: 我是说可读性强于oo,没有说一定实现起来强于oo。这个游戏的例子用Scala来写,还
: 是可以oo封装,人物的行为模式可以定义type class,在reacting programming时做
: pattern mach。当然我需要更多输入来了解更多细节,但是my gut instinct如果我们
: 最后用Scala来实现,应该会end up with很多小的class和trait代表不同的方方面面,
: 具体到游戏的每个人物场景时再来做mixin

z****e
发帖数: 54598
86
状态

【在 l*********s 的大作中提到】
: what is 局部的全局变量?
g*****g
发帖数: 34805
87
如果两个动作无关,Java也很好并行。比如用Spring,你给
attack和hitByThunder两个方法都加上@Async就得。结果就是调用的时候会自动起线程
在threadpool里跑。

【在 c******o 的大作中提到】
: 这个没有detail很难说,只能说非常大致感觉是这样的。
: 先把各个“角色”抽象成为一个type,这个type包括了一个abstract trait, 和几个
: extend的 case class,取决于model可能很复杂,里面可能包括了状态。
: 角色之间/和环境的互动抽象为function
: 对于可读性,我并不认为FP一定好
: scala好玩的是可以用 主谓宾,定状补来写code,如果需要
: 对于并行处理
: imperative:
: player1.attack(player2)
: player1, player2 内部状态改变

c******o
发帖数: 1277
88
内部当然都是大同小异的,在一样的JVM上跑。
就是在编的时候会好model很多,都是immutable。
上面那个例子,我可以在很容易的组合任意多个future在yield里。
如果两个有关联,就直接吧前一个的结果放到后一个输入里,自然就会等待。
for (
a1 <- attack...
a2 <- hitByThunder(a1)
a3 <- die(a2)
a4 <- hitByWind()
) yield (combine (a3,a4))
主要是可读和可操作性好多了,你知道它是不变的,不可能会受其他future/thread的
影响。
还有,上面的结果也是future, 其实就是说,你还可以继续在其他地方拿它组合,完全
是对你透明的。

【在 g*****g 的大作中提到】
: 如果两个动作无关,Java也很好并行。比如用Spring,你给
: attack和hitByThunder两个方法都加上@Async就得。结果就是调用的时候会自动起线程
: 在threadpool里跑。

c******o
发帖数: 1277
89
忘说了
for (
a1 <- attack...
a2 <- hitByThunder(a1)
a3 <- die(a2)
a4 <- hitByWind
) yield (combine (a1,a2))
其实是
attack.flatMap {
a1 => hitByThunder(_).flatMap {
a2 => die(_).flatMap {
a3 => hitByWind.map {
a4 => combine (a1,a2)
}
}
}
}
这才是FP combinator的真面目,你可一看到里面的higher order function, 用一个
function来改变一个type内部的内容,在产生一个同样的type

【在 c******o 的大作中提到】
: 内部当然都是大同小异的,在一样的JVM上跑。
: 就是在编的时候会好model很多,都是immutable。
: 上面那个例子,我可以在很容易的组合任意多个future在yield里。
: 如果两个有关联,就直接吧前一个的结果放到后一个输入里,自然就会等待。
: for (
: a1 <- attack...
: a2 <- hitByThunder(a1)
: a3 <- die(a2)
: a4 <- hitByWind()
: ) yield (combine (a3,a4))

H****S
发帖数: 1359
90
纯fp对于程序员来说绝对是non trivial task。所以Scala对两者的结合是一件好事情
:)对于SQL,Scala slick可以让你用for loop写出type safe的code来查询,更新和
插入数据。如果加上cake pattern,同样的code可以几乎不用改变移植到其他类型数据
库上。
你说这个还提醒我件事,话说unix shell pipe用起来挺像fp的:)对前一层的输入做一
定处理然后影射到下个level,这个过程只有状态转换,没有mutation。话说bash用熟
了真觉得python做shell programming还是太罗嗦了。

【在 z****e 的大作中提到】
: 其实我在实践的过程中
: 发现大量的递归和函数间的重复套用
: 这会使得可读性瞬间下降
: 而且撇开数学建模部分,一旦需要对客观世界做映射的时候
: 不oo真是很痛苦的一个东西
: 实际上我们对sql本身就有很多不满,sql就是fp,在很多时候
: 所以才有了后来的orm
: hibernate和jpa的推广很大程度上就是fp不是很靠谱的一个例子
: 我大概明白你们想干什么了
: 你们其实想做的就是用fp来搞定business logic

相关主题
为什么Java在内置系统里争不过C++?Zhaoce给我们讲讲CORBA和中间件吧
长周末出去一趟,魏公公又冒头了?scala和monad
看来跳了Scala的坑是对的scala future之间通信有什么好办法吗?
进入Programming版参与讨论
H****S
发帖数: 1359
91
good example of monads!这样的程序读起来难道不是很一目了然吗:)

【在 c******o 的大作中提到】
: 忘说了
: for (
: a1 <- attack...
: a2 <- hitByThunder(a1)
: a3 <- die(a2)
: a4 <- hitByWind
: ) yield (combine (a1,a2))
: 其实是
: attack.flatMap {
: a1 => hitByThunder(_).flatMap {

c******o
发帖数: 1277
92
再来一个程序
运行结果是在下一贴
import scala.concurrent._
import ExecutionContext.Implicits.global
object F extends App {
val xFut: Future[Int] = future {
Thread.sleep(10000);
println("x happened");
10
}.flatMap(i => Future.successful(i + 1))
val aFut: Int => Future[(Option[Int], Option[Int])] = a => {
val yFut: Future[Option[Int]] = future {
println("y begin")
Thread.sleep(6000);
println("y happened " + a);
Some(20)
}
val zFut: Future[Option[Int]] = future {
println("z begin")
Thread.sleep(5000);
println("z hapenned " + a);
Some(30)
}
for {
y <- yFut
z <- zFut
} yield ((y,z))
}
val result: Future[(Int, Option[Int], Option[Int])] = for {
x <- xFut
(y,z) <- aFut(x)
} yield (x, y, z)
Thread.sleep(20000)
println("\nThe end")
}
c******o
发帖数: 1277
93
结果是
x happened
y begin
z begin
z hapenned 11
y happened 11
The end
c******o
发帖数: 1277
94
y begin
z begin
almost same time
q*c
发帖数: 9453
95
square 的 founder 就是 twitter 的 founder -- 铁杆嬉皮士。 it 就是要用 scala,
business model 做的好。 it 就算用 fortran, 照样成功。
就像老毛葬送红 4 军无数人, 照样得天下 -- 这并不说明消灭红四军就是正确得举
动。

rest
db

【在 H****S 的大作中提到】
: Scala在业界一个成功应用的典范即用lift作为平台build up他们所有的网站以及rest
: service的foursquare。而且fs已经在反哺开源社区了(rogue: a typesafe mongo db
: dsl)
: 关于复杂度的问题,scala基本兼容所有的java library,所以一开始用scala写java
: style的程序是完全可行的。
: 关于可读性的问题,well programmed scala/fp code绝对强于oo,但是这对程序员水
: 平确实提出了一定要求。implicit如果没具体明白它怎么work,有时候确实读起来有些
: 困难。推荐scala in depth,作者是sbt creator。

p*****2
发帖数: 21240
96

0.9.0 will be the last non-apache release. We're targeting 0.9.1 as the
first Apache release

【在 z****e 的大作中提到】
: 这个链接里面的东西几乎都是空的
: 点了几个外链,还不够完善,还有很长的路要走
: spark倒是有些快毕业了的迹象

b*******r
发帖数: 361
97
赞语法唯一性

perl

【在 q*c 的大作中提到】
: 看看 Zen of python.
: 简单,容易读, 语法唯一性
: 就是王道。 java python 都是这样有利于维护的语言。对比就是苦逼的 scala, perl
: 这些 精炼无比但是 write only 的前途无亮的东西。

z****e
发帖数: 54598
98
8错
招安得很快

【在 p*****2 的大作中提到】
:
: 0.9.0 will be the last non-apache release. We're targeting 0.9.1 as the
: first Apache release

z****e
发帖数: 54598
99
在hadoop和cassandra之后,storm现在炙手可热
z****e
发帖数: 54598
100
顺序应该是cassandra,然后hadoop,下一个期待的是storm
目前版本号还没上1,还需要时间
相关主题
大牛给讲讲monad吧?今天跟公司confirm了,没有人用Scala
Scala的思路Spark会干掉Storm吗?
看来没跳Scala的坑是对的Java的performance
进入Programming版参与讨论
z****e
发帖数: 54598
101
In this tutorial, you'll learn how to create Storm topologies and deploy
them to a Storm cluster. Java will be the main language used, but a few
examples will use Python to illustrate Storm's multi-language capabilities.
基本上符合我的观察,java和python将会是将来的主流,java的地位基本上不动摇
python可以把部署等步骤简化,至于clojure那种东西,让写storm的苦逼去遭罪去
z****e
发帖数: 54598
102
github上storm源代码就放在内森的页面
z****e
发帖数: 54598
103
storm的部署在aws上就是拖拖拽拽,hoho
d*******r
发帖数: 3299
104

不是正好多了一个学 Clojure 的理由吗
二爷快来参辩论

【在 z****e 的大作中提到】
: In this tutorial, you'll learn how to create Storm topologies and deploy
: them to a Storm cluster. Java will be the main language used, but a few
: examples will use Python to illustrate Storm's multi-language capabilities.
: 基本上符合我的观察,java和python将会是将来的主流,java的地位基本上不动摇
: python可以把部署等步骤简化,至于clojure那种东西,让写storm的苦逼去遭罪去

p*****2
发帖数: 21240
105

发信人: peking2 (clojure), 信区: JobHunting
标 题: Re: storm俨然是下一个冉冉升起的新星啊 (转载)
发信站: BBS 未名空间站 (Thu Oct 24 19:35:13 2013, 美东)
大牛说的不错。所以说学习Storm和Clojure才是王道。

【在 d*******r 的大作中提到】
:
: 不是正好多了一个学 Clojure 的理由吗
: 二爷快来参辩论

d*******r
发帖数: 3299
106
我纯菜鸟啊, 就等着二爷大牛发布新 Clojure & Storm 学习心得,好学习经验

【在 p*****2 的大作中提到】
:
: 发信人: peking2 (clojure), 信区: JobHunting
: 标 题: Re: storm俨然是下一个冉冉升起的新星啊 (转载)
: 发信站: BBS 未名空间站 (Thu Oct 24 19:35:13 2013, 美东)
: 大牛说的不错。所以说学习Storm和Clojure才是王道。

s*****V
发帖数: 21731
107
尼玛,你分裂了,昨天还发帖狂黑PYTHON

【在 z****e 的大作中提到】
: In this tutorial, you'll learn how to create Storm topologies and deploy
: them to a Storm cluster. Java will be the main language used, but a few
: examples will use Python to illustrate Storm's multi-language capabilities.
: 基本上符合我的观察,java和python将会是将来的主流,java的地位基本上不动摇
: python可以把部署等步骤简化,至于clojure那种东西,让写storm的苦逼去遭罪去

z****e
发帖数: 54598
108
python很难在web上替换掉ruby这些,尤其是php
但是python替换掉shell是我所希望看到的
shell太复杂了,同样,storm替换掉zookeeper下面那些也是我所希望看到的
storm更简单

【在 s*****V 的大作中提到】
: 尼玛,你分裂了,昨天还发帖狂黑PYTHON
z****e
发帖数: 54598
109
问题在于api都是java写的
clojure如果打算参与的话,会需要用到
用跟写是两回事

【在 p*****2 的大作中提到】
:
: 发信人: peking2 (clojure), 信区: JobHunting
: 标 题: Re: storm俨然是下一个冉冉升起的新星啊 (转载)
: 发信站: BBS 未名空间站 (Thu Oct 24 19:35:13 2013, 美东)
: 大牛说的不错。所以说学习Storm和Clojure才是王道。

z****e
发帖数: 54598
110
这种0.9版本的东西,大家都是菜鸟

【在 d*******r 的大作中提到】
: 我纯菜鸟啊, 就等着二爷大牛发布新 Clojure & Storm 学习心得,好学习经验
相关主题
Java的performancevert.x 基本上没戏
我擦,haskell很简洁啊Scala的用途
我认为JVM上的语言,老大还是Java我对为什么使用FP的理解 (补)
进入Programming版参与讨论
p*****2
发帖数: 21240
111

有clojure的DSL

【在 z****e 的大作中提到】
: 问题在于api都是java写的
: clojure如果打算参与的话,会需要用到
: 用跟写是两回事

p*****2
发帖数: 21240
112

马上就上了。test环境已经搭建好了。就等production machine到呢。

【在 d*******r 的大作中提到】
: 我纯菜鸟啊, 就等着二爷大牛发布新 Clojure & Storm 学习心得,好学习经验
p*****2
发帖数: 21240
113

公司里面大牛不少。

【在 z****e 的大作中提到】
: 这种0.9版本的东西,大家都是菜鸟
z****e
发帖数: 54598
114
还不如我自己弄一个

【在 p*****2 的大作中提到】
:
: 公司里面大牛不少。

p*****2
发帖数: 21240
115

又要造轮子?

【在 z****e 的大作中提到】
: 还不如我自己弄一个
z****e
发帖数: 54598
116
simplify, simplify
其它的都太复杂了

【在 p*****2 的大作中提到】
:
: 又要造轮子?

p*****2
发帖数: 21240
117

clojure还复杂吗?应该算是很简单的语言一种了吧?

【在 z****e 的大作中提到】
: simplify, simplify
: 其它的都太复杂了

z****e
发帖数: 54598
118
是吗?可能是我太懒得记那些符号了吧
回到主题上去
storm将来迟早会跟cassandra一样,被apache招安
在一起是大势所趋

【在 p*****2 的大作中提到】
:
: clojure还复杂吗?应该算是很简单的语言一种了吧?

p*****2
发帖数: 21240
119

是不是已经进了apache了?
clojure的符号不算多,scala才叫一个乱呢。

【在 z****e 的大作中提到】
: 是吗?可能是我太懒得记那些符号了吧
: 回到主题上去
: storm将来迟早会跟cassandra一样,被apache招安
: 在一起是大势所趋

H****S
发帖数: 1359
120
只要是在jvm上跑,绝对有scala dsl。随便一Google就找到一个
https://github.com/velvia/ScalaStorm

【在 p*****2 的大作中提到】
:
: 是不是已经进了apache了?
: clojure的符号不算多,scala才叫一个乱呢。

相关主题
现在还在“学”脚本语言的,都弱爆了长周末出去一趟,魏公公又冒头了?
FP 和 Procedural Programming 有什么不同?看来跳了Scala的坑是对的
为什么Java在内置系统里争不过C++?Zhaoce给我们讲讲CORBA和中间件吧
进入Programming版参与讨论
G****r
发帖数: 5579
121
看了一下 storm, 确实是好东西, 但Amazon没缘。

【在 z****e 的大作中提到】
: storm的部署在aws上就是拖拖拽拽,hoho
p*****2
发帖数: 21240
122

大牛我真没有说过scala没有DSL。我的意思是Scala的各种符号太多了,搞的太复杂了


【在 H****S 的大作中提到】
: 只要是在jvm上跑,绝对有scala dsl。随便一Google就找到一个
: https://github.com/velvia/ScalaStorm

m******t
发帖数: 635
123
如果连你这样比较高水平的都觉得复杂的话,那么Scala可能真的没有前途,就跟
MongoDB一样,等这一波吃螃蟹的吃出问题了,就算热过去了。大家再跳下个热点,简
历上多了一堆类似CORBA, DCOM那样的鸡肋。
追过太多的东西,对这些FAD(和时装差不多)免疫了。Clojure倒是真的不错,可能永
远就是小众了,小众就小众吧,哈哈

【在 p*****2 的大作中提到】
:
: 大牛我真没有说过scala没有DSL。我的意思是Scala的各种符号太多了,搞的太复杂了
: 。

p*****2
发帖数: 21240
124

我感觉storm如果火起来,clojure可能也能跟着火一下。感觉JVM上的动态语言还是有
一定优势的。

【在 m******t 的大作中提到】
: 如果连你这样比较高水平的都觉得复杂的话,那么Scala可能真的没有前途,就跟
: MongoDB一样,等这一波吃螃蟹的吃出问题了,就算热过去了。大家再跳下个热点,简
: 历上多了一堆类似CORBA, DCOM那样的鸡肋。
: 追过太多的东西,对这些FAD(和时装差不多)免疫了。Clojure倒是真的不错,可能永
: 远就是小众了,小众就小众吧,哈哈

z****e
发帖数: 54598
125
storm
https://github.com/nathanmarz/storm-deploy/wiki
spark
Amazon EC2: our EC2 scripts let you launch a cluster in about 5 minutes
http://spark.incubator.apache.org/docs/latest/ec2-scripts.html

【在 G****r 的大作中提到】
: 看了一下 storm, 确实是好东西, 但Amazon没缘。
z****e
发帖数: 54598
126
安装时候一堆的依赖,java, python还有mq都要装
应该简化一下安装和依赖,现在除了在aws上用比较简单外
local搞有些折腾

【在 p*****2 的大作中提到】
:
: 我感觉storm如果火起来,clojure可能也能跟着火一下。感觉JVM上的动态语言还是有
: 一定优势的。

z****e
发帖数: 54598
127
还没有,现在还是内森在做

【在 p*****2 的大作中提到】
:
: 我感觉storm如果火起来,clojure可能也能跟着火一下。感觉JVM上的动态语言还是有
: 一定优势的。

p*****2
发帖数: 21240
128

mq最新版还没干掉吗?
怎么还需要装python呢?

【在 z****e 的大作中提到】
: 安装时候一堆的依赖,java, python还有mq都要装
: 应该简化一下安装和依赖,现在除了在aws上用比较简单外
: local搞有些折腾

p*****2
发帖数: 21240
129

http://incubator.apache.org/projects/storm.html

【在 z****e 的大作中提到】
: 还没有,现在还是内森在做
z****e
发帖数: 54598
130
是啊,我也觉得奇怪,是不是文档我看的有些老旧了
我再搜索搜索

【在 p*****2 的大作中提到】
:
: http://incubator.apache.org/projects/storm.html

相关主题
scala和monadScala的思路
scala future之间通信有什么好办法吗?看来没跳Scala的坑是对的
大牛给讲讲monad吧?今天跟公司confirm了,没有人用Scala
进入Programming版参与讨论
z****e
发帖数: 54598
131
这个链接里面的东西几乎都是空的
点了几个外链,还不够完善,还有很长的路要走
spark倒是有些快毕业了的迹象

【在 p*****2 的大作中提到】
:
: http://incubator.apache.org/projects/storm.html

H****S
发帖数: 1359
132
说实话,按这个标准来看,jvm上最有前途的是groovy甚至jython。但是这两个语言的
作者一个公开承认scala可能会取代java,一个创造了numpy for cpython以后居然没有
把它port 到jython上。由此可见它们现在处于什么样的状态。
Scala的优势在于它强大的type system,可以帮助developer 直接通过compiler消除很
多在java里面只有runtime出先的bug。但是这件事分两面说,scala完全支持你写java
style的程序,这也是martin对scala程序员分类的第一类,等慢慢熟悉了可以再去
explore诸如type class,cake pattern这样的advanced feature。
最后说要一句学scala一定要学sbt,学习曲线一开始会很高,但是回报是相当高的。你
不光用sbt做依赖管理,同时也可方便的用它来做部署。

【在 m******t 的大作中提到】
: 如果连你这样比较高水平的都觉得复杂的话,那么Scala可能真的没有前途,就跟
: MongoDB一样,等这一波吃螃蟹的吃出问题了,就算热过去了。大家再跳下个热点,简
: 历上多了一堆类似CORBA, DCOM那样的鸡肋。
: 追过太多的东西,对这些FAD(和时装差不多)免疫了。Clojure倒是真的不错,可能永
: 远就是小众了,小众就小众吧,哈哈

m******t
发帖数: 635
133
我对Scala的认识相当肤浅,不过我发现Scala作为一个语言来说是相当庞大和复杂的,
如果它的学习成本基本上相当与C++的话,它是不可以持续的,我不会浪费时间去学习
另外一个C++,就算它短时间能够流行起来。
目前为止我所知道的比较大规模的应用就是Scala一两年前在Yammer,那是个彻底的失
败,主要原因就是语言和核心库变动剧烈,多种paradigm并存不只是对应用层面造成问
题,在库的层面的问题远远超过了普通Scala程序员的水平,学习成本高,系统维护费
用高。所以Yammer一年后转回了Java
我不认为以上那几点到现在得到根本的解决,现在这批吃螃蟹的要到一年以后才知道结
果,我大胆预测下,大多数会以悲剧结束。

java

【在 H****S 的大作中提到】
: 说实话,按这个标准来看,jvm上最有前途的是groovy甚至jython。但是这两个语言的
: 作者一个公开承认scala可能会取代java,一个创造了numpy for cpython以后居然没有
: 把它port 到jython上。由此可见它们现在处于什么样的状态。
: Scala的优势在于它强大的type system,可以帮助developer 直接通过compiler消除很
: 多在java里面只有runtime出先的bug。但是这件事分两面说,scala完全支持你写java
: style的程序,这也是martin对scala程序员分类的第一类,等慢慢熟悉了可以再去
: explore诸如type class,cake pattern这样的advanced feature。
: 最后说要一句学scala一定要学sbt,学习曲线一开始会很高,但是回报是相当高的。你
: 不光用sbt做依赖管理,同时也可方便的用它来做部署。

p*****2
发帖数: 21240
134

java
我学scala比clojure早多了。我相信我有能力把它学好,也有一定的热情。但是对于我
们的项目来说,我们需要快速开发,这也是为什么很多startup都选择动态语言的原因
。我认真比较了scala和clojure,为了这个我不得不学习一下clojure。
最后的结果是scala确实功能强大,但是开发效率会比clojure低很多。即使我学scala
要比clojure早很多,而且coursera上的course作业是100%对,clojure是一门新的语言
,有很不熟悉的lisp语法,但是我还是觉得clojure开发比scala快很多。
这样说吧,我学习scala大概花了7-10天上手,clojure是1-2天上手。clojure上手以后
慢慢的会觉得越来越简单,scala上手以后搞了几个月还是觉得很繁琐,复杂。而且
scala功能强大的部分,我认为都可以找到其他的解决方案。比如real time我们用
storm来做。

【在 H****S 的大作中提到】
: 说实话,按这个标准来看,jvm上最有前途的是groovy甚至jython。但是这两个语言的
: 作者一个公开承认scala可能会取代java,一个创造了numpy for cpython以后居然没有
: 把它port 到jython上。由此可见它们现在处于什么样的状态。
: Scala的优势在于它强大的type system,可以帮助developer 直接通过compiler消除很
: 多在java里面只有runtime出先的bug。但是这件事分两面说,scala完全支持你写java
: style的程序,这也是martin对scala程序员分类的第一类,等慢慢熟悉了可以再去
: explore诸如type class,cake pattern这样的advanced feature。
: 最后说要一句学scala一定要学sbt,学习曲线一开始会很高,但是回报是相当高的。你
: 不光用sbt做依赖管理,同时也可方便的用它来做部署。

c******o
发帖数: 1277
135
现在最大应该是 twitter 吧?
他们用得挺好的。
rod johnson 加入后明显有变化,scala2.11的宗旨是 smaller,stronger, faster。
没有新feature
1. modularizing the standard library and the compiler to allow more
selective use of Scala's features,
2. remove xml from stardard package
3. more optimization to help speed
4. stronger type inference, better REPL
感觉上在向user friendly 走

【在 m******t 的大作中提到】
: 我对Scala的认识相当肤浅,不过我发现Scala作为一个语言来说是相当庞大和复杂的,
: 如果它的学习成本基本上相当与C++的话,它是不可以持续的,我不会浪费时间去学习
: 另外一个C++,就算它短时间能够流行起来。
: 目前为止我所知道的比较大规模的应用就是Scala一两年前在Yammer,那是个彻底的失
: 败,主要原因就是语言和核心库变动剧烈,多种paradigm并存不只是对应用层面造成问
: 题,在库的层面的问题远远超过了普通Scala程序员的水平,学习成本高,系统维护费
: 用高。所以Yammer一年后转回了Java
: 我不认为以上那几点到现在得到根本的解决,现在这批吃螃蟹的要到一年以后才知道结
: 果,我大胆预测下,大多数会以悲剧结束。
:

p*****2
发帖数: 21240
136

不知道有没有twitter的大牛能share一下使用scala的经历。我上次去twitter面试也没
看出来他们对scala的热情。

【在 c******o 的大作中提到】
: 现在最大应该是 twitter 吧?
: 他们用得挺好的。
: rod johnson 加入后明显有变化,scala2.11的宗旨是 smaller,stronger, faster。
: 没有新feature
: 1. modularizing the standard library and the compiler to allow more
: selective use of Scala's features,
: 2. remove xml from stardard package
: 3. more optimization to help speed
: 4. stronger type inference, better REPL
: 感觉上在向user friendly 走

w**z
发帖数: 8232
137
Kafka by linkedin is written in Scala. 二爷,介绍一下哪个网站对experienced
Java developer 学 Scala 最好。 准备在下一次公司的Hack day 试试, 从写Unit
test 开始。

【在 p*****2 的大作中提到】
:
: 不知道有没有twitter的大牛能share一下使用scala的经历。我上次去twitter面试也没
: 看出来他们对scala的热情。

z****e
发帖数: 54598
138
如果rod johnson能把scala简化,那前途还是有的
之前搞得太复杂了,ejb那种复杂度都难以推广,scala比ejb还复杂
希望rod johnson搞出一个spring版的scala来

【在 c******o 的大作中提到】
: 现在最大应该是 twitter 吧?
: 他们用得挺好的。
: rod johnson 加入后明显有变化,scala2.11的宗旨是 smaller,stronger, faster。
: 没有新feature
: 1. modularizing the standard library and the compiler to allow more
: selective use of Scala's features,
: 2. remove xml from stardard package
: 3. more optimization to help speed
: 4. stronger type inference, better REPL
: 感觉上在向user friendly 走

p*****2
发帖数: 21240
139

我觉得那个scala for impatient不错。对于java程序员来说要接受FP确实需要段时间
转变思维。主要是三点
1. immutability
2. function is first citizen
3. recursive, no iteration
感觉主要是第一点更需要时间去熟悉。所以scala来了一个混合型的。虽然可以让java
程序员过渡一下,但是也容易让人逻辑混乱。

【在 w**z 的大作中提到】
: Kafka by linkedin is written in Scala. 二爷,介绍一下哪个网站对experienced
: Java developer 学 Scala 最好。 准备在下一次公司的Hack day 试试, 从写Unit
: test 开始。

z****e
发帖数: 54598
140
其实我不认为把市场定位在让oo programmer转型会成功
反倒是定位在象aop一样,在某些场合,作为oop的补充
但是不替代oop在系统中主流位置,也就是不做first citizen
做second citizen的话,会很成功

java

【在 p*****2 的大作中提到】
:
: 我觉得那个scala for impatient不错。对于java程序员来说要接受FP确实需要段时间
: 转变思维。主要是三点
: 1. immutability
: 2. function is first citizen
: 3. recursive, no iteration
: 感觉主要是第一点更需要时间去熟悉。所以scala来了一个混合型的。虽然可以让java
: 程序员过渡一下,但是也容易让人逻辑混乱。

相关主题
今天跟公司confirm了,没有人用Scala我擦,haskell很简洁啊
Spark会干掉Storm吗?我认为JVM上的语言,老大还是Java
Java的performancevert.x 基本上没戏
进入Programming版参与讨论
p*****2
发帖数: 21240
141

确实。我也不觉得会有多少java programmer会去转到scala上去。论开发效率,我也不
知道是不是scala比java一定高。

【在 z****e 的大作中提到】
: 其实我不认为把市场定位在让oo programmer转型会成功
: 反倒是定位在象aop一样,在某些场合,作为oop的补充
: 但是不替代oop在系统中主流位置,也就是不做first citizen
: 做second citizen的话,会很成功
:
: java

c******o
发帖数: 1277
142
async 的东东scala绝对比java开发效率快。
我觉得复杂数据模型,算法也快,就是可读性要特别注意
p*****2
发帖数: 21240
143

async java确实比较落后。我个人更倾向于async用node,jvm用clojure。
话说clojure的async貌似比scala差的挺多的。

【在 c******o 的大作中提到】
: async 的东东scala绝对比java开发效率快。
: 我觉得复杂数据模型,算法也快,就是可读性要特别注意

z****e
发帖数: 54598
144
fp比oop强的地方就在于写复杂计算比oop快简洁
这个没啥奇怪的,但是可读性也是本来就是fp比oop要弱的地方

【在 c******o 的大作中提到】
: async 的东东scala绝对比java开发效率快。
: 我觉得复杂数据模型,算法也快,就是可读性要特别注意

q*c
发帖数: 9453
145
看看 Zen of python.
简单,容易读, 语法唯一性
就是王道。 java python 都是这样有利于维护的语言。对比就是苦逼的 scala, perl
这些 精炼无比但是 write only 的前途无亮的东西。

【在 z****e 的大作中提到】
: In this tutorial, you'll learn how to create Storm topologies and deploy
: them to a Storm cluster. Java will be the main language used, but a few
: examples will use Python to illustrate Storm's multi-language capabilities.
: 基本上符合我的观察,java和python将会是将来的主流,java的地位基本上不动摇
: python可以把部署等步骤简化,至于clojure那种东西,让写storm的苦逼去遭罪去

q*c
发帖数: 9453
146
悲剧这是肯定的, 这玩意都是什么人开发出的语言? professsor and ph.d. 这些人
脑门是门夹过了,追求的东西不实在, 不是为了使用的人优化的,而是为了逻辑美学
,和写的人省事。
就连 twitter 里面用的最熟练 scala 的人,一看,果然,是个 AP 转过来的。喜欢这
玩意的人是有共性的。

【在 m******t 的大作中提到】
: 我对Scala的认识相当肤浅,不过我发现Scala作为一个语言来说是相当庞大和复杂的,
: 如果它的学习成本基本上相当与C++的话,它是不可以持续的,我不会浪费时间去学习
: 另外一个C++,就算它短时间能够流行起来。
: 目前为止我所知道的比较大规模的应用就是Scala一两年前在Yammer,那是个彻底的失
: 败,主要原因就是语言和核心库变动剧烈,多种paradigm并存不只是对应用层面造成问
: 题,在库的层面的问题远远超过了普通Scala程序员的水平,学习成本高,系统维护费
: 用高。所以Yammer一年后转回了Java
: 我不认为以上那几点到现在得到根本的解决,现在这批吃螃蟹的要到一年以后才知道结
: 果,我大胆预测下,大多数会以悲剧结束。
:

q*c
发帖数: 9453
147
用的好? lol
见过的人,开始用的, 没有一个不骂的。但是只要最开始的人用了,后面人没选择。
perl 这种狗屎一样的语言,amaOn 的 mason 照样在用。 你去问问 amazon 前端的,
几个不骂?amazn 照样好好的。
公司好不好,决定性是 商业决策。然后无论什么烂货技术,只要你花钱请牛逼程序员
,最后总能兜住。 这点技术上造成的效率差别,在商业决定造成的差别面前都是高阶
无限小。

【在 c******o 的大作中提到】
: 现在最大应该是 twitter 吧?
: 他们用得挺好的。
: rod johnson 加入后明显有变化,scala2.11的宗旨是 smaller,stronger, faster。
: 没有新feature
: 1. modularizing the standard library and the compiler to allow more
: selective use of Scala's features,
: 2. remove xml from stardard package
: 3. more optimization to help speed
: 4. stronger type inference, better REPL
: 感觉上在向user friendly 走

q*c
发帖数: 9453
148
早有人做了实验,训练4周,scala 开发比java 更有效率就是个谎言。网上有数据。
这也和我个人体会完全一致。少写一半程序狗屁不算,时间大部化在想怎么写, 数据格
式转换等等其他事情上。而且读 别人的 scala 偶尔出来几个找不到的 implicit 这种
垃圾中的战斗机,手打节省得时间就全进去了。

【在 p*****2 的大作中提到】
:
: async java确实比较落后。我个人更倾向于async用node,jvm用clojure。
: 话说clojure的async貌似比scala差的挺多的。

q*c
发帖数: 9453
149
对于商业大型项目多人参与, 可读性几乎是唯一重要的东西。
如果语言已经需要特别注意可读性?几乎 保证最后没有可读性,这是人类自私天性和
多样性决定的。

【在 c******o 的大作中提到】
: async 的东东scala绝对比java开发效率快。
: 我觉得复杂数据模型,算法也快,就是可读性要特别注意

x****u
发帖数: 44466
150
狗屎语言可以提高程序员价格啊。
不少公司还不得不维护N年前的VC5天书server代码。

perl

【在 q*c 的大作中提到】
: 看看 Zen of python.
: 简单,容易读, 语法唯一性
: 就是王道。 java python 都是这样有利于维护的语言。对比就是苦逼的 scala, perl
: 这些 精炼无比但是 write only 的前途无亮的东西。

相关主题
Scala的用途FP 和 Procedural Programming 有什么不同?
我对为什么使用FP的理解 (补)为什么Java在内置系统里争不过C++?
现在还在“学”脚本语言的,都弱爆了长周末出去一趟,魏公公又冒头了?
进入Programming版参与讨论
c******o
发帖数: 1277
151
..... meetup 里 Ity Kaul 和我说的。
你的是谁和你说的?至少说明你不是在说梦话吧。

【在 q*c 的大作中提到】
: 用的好? lol
: 见过的人,开始用的, 没有一个不骂的。但是只要最开始的人用了,后面人没选择。
: perl 这种狗屎一样的语言,amaOn 的 mason 照样在用。 你去问问 amazon 前端的,
: 几个不骂?amazn 照样好好的。
: 公司好不好,决定性是 商业决策。然后无论什么烂货技术,只要你花钱请牛逼程序员
: ,最后总能兜住。 这点技术上造成的效率差别,在商业决定造成的差别面前都是高阶
: 无限小。

z****e
发帖数: 54598
152
你这个例子举的真不是一般的精准,一查这姐们的education
Postgraduate Research Student
University of New South Wales
November 2008 – August 2011 (2 years 10 months)
Market Data Analysis - Trend Detection & Pattern Recognition

【在 c******o 的大作中提到】
: ..... meetup 里 Ity Kaul 和我说的。
: 你的是谁和你说的?至少说明你不是在说梦话吧。

c******o
发帖数: 1277
153
我靠,又不是叫兽。
码工有几个不是postgraduate ?
别人是twitter的engineer lead, 说用的好还不是她手下和同事?
这个不算,谁算。

【在 z****e 的大作中提到】
: 你这个例子举的真不是一般的精准,一查这姐们的education
: Postgraduate Research Student
: University of New South Wales
: November 2008 – August 2011 (2 years 10 months)
: Market Data Analysis - Trend Detection & Pattern Recognition

z****e
发帖数: 54598
154
是么?
貌似前面不止一个人跟你说了
twitter的人对scala没有你说得那么狂热
你知道为什么么?
因为你是从一个lead嘴巴里说听到的
她就是决策者,要是她说不好,那不是自己打自己耳光么?
但是面试的时候,钓丝就多了,看钓丝的反应最能说明问题

【在 c******o 的大作中提到】
: 我靠,又不是叫兽。
: 码工有几个不是postgraduate ?
: 别人是twitter的engineer lead, 说用的好还不是她手下和同事?
: 这个不算,谁算。

z****e
发帖数: 54598
155
当然我说一句小人心度君子腹的话
她这种两年没有搞下一个正规学历的
多半是冲击发考题路上的loser
如果是这种,那最麻烦,这种人遇到真牛逼的不行
但是到一般钓丝面前装逼,那是一流的
参考王某人

【在 c******o 的大作中提到】
: 我靠,又不是叫兽。
: 码工有几个不是postgraduate ?
: 别人是twitter的engineer lead, 说用的好还不是她手下和同事?
: 这个不算,谁算。

c******o
发帖数: 1277
156
算了算了,不说了。不想人生攻击了。
一个twitter内,一个twitter外
你说我该相信谁呢。
我从来没说啥java不好的,oop不好的。也没说scala 万能。
就几个心理受创的非要死缠烂打,把这弄成一言堂。

【在 z****e 的大作中提到】
: 当然我说一句小人心度君子腹的话
: 她这种两年没有搞下一个正规学历的
: 多半是冲击发考题路上的loser
: 如果是这种,那最麻烦,这种人遇到真牛逼的不行
: 但是到一般钓丝面前装逼,那是一流的
: 参考王某人

z****e
发帖数: 54598
157
你激动了

【在 c******o 的大作中提到】
: 算了算了,不说了。不想人生攻击了。
: 一个twitter内,一个twitter外
: 你说我该相信谁呢。
: 我从来没说啥java不好的,oop不好的。也没说scala 万能。
: 就几个心理受创的非要死缠烂打,把这弄成一言堂。

q*c
发帖数: 9453
158
...我就是每天听这些苦逼的人亲自说啊, 呵呵。

【在 c******o 的大作中提到】
: 算了算了,不说了。不想人生攻击了。
: 一个twitter内,一个twitter外
: 你说我该相信谁呢。
: 我从来没说啥java不好的,oop不好的。也没说scala 万能。
: 就几个心理受创的非要死缠烂打,把这弄成一言堂。

t****t
发帖数: 6806
159
习惯就好了, 他们几个是这样的, 说话时不能好好说, 一定要顺便各种taunt, 最后脏话
满天飞, 刚好这个版也没人管.

【在 c******o 的大作中提到】
: 算了算了,不说了。不想人生攻击了。
: 一个twitter内,一个twitter外
: 你说我该相信谁呢。
: 我从来没说啥java不好的,oop不好的。也没说scala 万能。
: 就几个心理受创的非要死缠烂打,把这弄成一言堂。

p*****2
发帖数: 21240
160

你知道twitter当时为什么选scala吗?

【在 q*c 的大作中提到】
: ...我就是每天听这些苦逼的人亲自说啊, 呵呵。
相关主题
看来跳了Scala的坑是对的scala future之间通信有什么好办法吗?
Zhaoce给我们讲讲CORBA和中间件吧大牛给讲讲monad吧?
scala和monadScala的思路
进入Programming版参与讨论
g*****g
发帖数: 34805
161
选scala纯粹是因为那些ruby背景的人觉得比较适应。但后期有钱招牛人了,java模块
就上得很多。
比如那个搜索模块,绝对是他们性能要求最高的一块。

【在 p*****2 的大作中提到】
:
: 你知道twitter当时为什么选scala吗?

z****e
发帖数: 54598
162
ruby和scala是不是有什么语法接近的地方?

【在 g*****g 的大作中提到】
: 选scala纯粹是因为那些ruby背景的人觉得比较适应。但后期有钱招牛人了,java模块
: 就上得很多。
: 比如那个搜索模块,绝对是他们性能要求最高的一块。

p*****2
发帖数: 21240
163

是很接近。不过我在想如果现在twitter选的话,会不会选clojure。当时clojure还太
年轻,twitter根本就没有考虑。clojure是动态语言,其实跟ruby更接近。当然如果
ruby 程序员整天玩OO的话,倒是scala更容易上手。ruby的fp特性还是不行。

【在 z****e 的大作中提到】
: ruby和scala是不是有什么语法接近的地方?
q*c
发帖数: 9453
164
你知道为啥当年 amazon 选 perl?
你知道为啥当年 xxx 选 yyyy?
不为啥, 太多数据, 你想啥结论, 就能得到啥结论, 因为没啥是完美的。
为啥? 就是因为当年开头那几个这么选, 他们喜欢, 而他们刚好运气好,
选了后来牛逼了的公司。
其实看看统计,还是选 java 的多的多。
选啥我看就完全是个随机过程。

【在 p*****2 的大作中提到】
:
: 是很接近。不过我在想如果现在twitter选的话,会不会选clojure。当时clojure还太
: 年轻,twitter根本就没有考虑。clojure是动态语言,其实跟ruby更接近。当然如果
: ruby 程序员整天玩OO的话,倒是scala更容易上手。ruby的fp特性还是不行。

g*****g
发帖数: 34805
165
动态语言天生性能不行。只能在性能要求不高的模块用用,比如前端。

【在 p*****2 的大作中提到】
:
: 是很接近。不过我在想如果现在twitter选的话,会不会选clojure。当时clojure还太
: 年轻,twitter根本就没有考虑。clojure是动态语言,其实跟ruby更接近。当然如果
: ruby 程序员整天玩OO的话,倒是scala更容易上手。ruby的fp特性还是不行。

g*****g
发帖数: 34805
166
这个没错,做产品的startup,刚开始牛逼从来不是因为语言,而是因为想法好。
到一定份上性能不行了就是两条路,一是自己往深里搞,比如facebook搞php。
二是SOA然后一块块换,比如twitter,twitter也想搞一,搞不定。

【在 q*c 的大作中提到】
: 你知道为啥当年 amazon 选 perl?
: 你知道为啥当年 xxx 选 yyyy?
: 不为啥, 太多数据, 你想啥结论, 就能得到啥结论, 因为没啥是完美的。
: 为啥? 就是因为当年开头那几个这么选, 他们喜欢, 而他们刚好运气好,
: 选了后来牛逼了的公司。
: 其实看看统计,还是选 java 的多的多。
: 选啥我看就完全是个随机过程。

p*****2
发帖数: 21240
167

看来大牛直接无视storm了

【在 g*****g 的大作中提到】
: 动态语言天生性能不行。只能在性能要求不高的模块用用,比如前端。
p*****2
发帖数: 21240
168

我不觉得是随机的。就像zhaoce说的,主要的原因是ruby跟scala很像

【在 q*c 的大作中提到】
: 你知道为啥当年 amazon 选 perl?
: 你知道为啥当年 xxx 选 yyyy?
: 不为啥, 太多数据, 你想啥结论, 就能得到啥结论, 因为没啥是完美的。
: 为啥? 就是因为当年开头那几个这么选, 他们喜欢, 而他们刚好运气好,
: 选了后来牛逼了的公司。
: 其实看看统计,还是选 java 的多的多。
: 选啥我看就完全是个随机过程。

w**z
发帖数: 8232
169
我也看到文章说, Twitter觉得Ruby developer 转Scala 容易。 但现在大部份是Java
了。

【在 g*****g 的大作中提到】
: 选scala纯粹是因为那些ruby背景的人觉得比较适应。但后期有钱招牛人了,java模块
: 就上得很多。
: 比如那个搜索模块,绝对是他们性能要求最高的一块。

q*c
发帖数: 9453
170
这不就是随机的嘛 ~ 那几个人喜欢ruby 难道是注定的?

【在 p*****2 的大作中提到】
:
: 我不觉得是随机的。就像zhaoce说的,主要的原因是ruby跟scala很像

相关主题
Scala的思路Spark会干掉Storm吗?
看来没跳Scala的坑是对的Java的performance
今天跟公司confirm了,没有人用Scala我擦,haskell很简洁啊
进入Programming版参与讨论
g*****g
发帖数: 34805
171
那几个喜欢ruby是因为那几年RoR火。换了今天有可能就node.js了。

【在 q*c 的大作中提到】
: 这不就是随机的嘛 ~ 那几个人喜欢ruby 难道是注定的?
g*****g
发帖数: 34805
172
这要看什么应用了,bottleneck如果是纯粹IO bound那当然用什么语言都区别不大。
搜索的类库就没见到用动态语言的。

【在 p*****2 的大作中提到】
:
: 我不觉得是随机的。就像zhaoce说的,主要的原因是ruby跟scala很像

z****e
发帖数: 54598
173
fb做php也做得不怎样,hhvm社区没什么人参与
就跟jython一样,都是门可罗雀,基本上就它们自己用

【在 g*****g 的大作中提到】
: 这个没错,做产品的startup,刚开始牛逼从来不是因为语言,而是因为想法好。
: 到一定份上性能不行了就是两条路,一是自己往深里搞,比如facebook搞php。
: 二是SOA然后一块块换,比如twitter,twitter也想搞一,搞不定。

p*****2
发帖数: 21240
174

这个当然了。

【在 g*****g 的大作中提到】
: 这要看什么应用了,bottleneck如果是纯粹IO bound那当然用什么语言都区别不大。
: 搜索的类库就没见到用动态语言的。

p*****2
发帖数: 21240
175

Java
现在T的scala很少了吗?
那现在scala用的多的有哪些?Linkedin, Square, OOyala?

【在 w**z 的大作中提到】
: 我也看到文章说, Twitter觉得Ruby developer 转Scala 容易。 但现在大部份是Java
: 了。

H****S
发帖数: 1359
176
Scala在业界一个成功应用的典范即用lift作为平台build up他们所有的网站以及rest
service的foursquare。而且fs已经在反哺开源社区了(rogue: a typesafe mongo db
dsl)
关于复杂度的问题,scala基本兼容所有的java library,所以一开始用scala写java
style的程序是完全可行的。
关于可读性的问题,well programmed scala/fp code绝对强于oo,但是这对程序员水
平确实提出了一定要求。implicit如果没具体明白它怎么work,有时候确实读起来有些
困难。推荐scala in depth,作者是sbt creator。

【在 m******t 的大作中提到】
: 我对Scala的认识相当肤浅,不过我发现Scala作为一个语言来说是相当庞大和复杂的,
: 如果它的学习成本基本上相当与C++的话,它是不可以持续的,我不会浪费时间去学习
: 另外一个C++,就算它短时间能够流行起来。
: 目前为止我所知道的比较大规模的应用就是Scala一两年前在Yammer,那是个彻底的失
: 败,主要原因就是语言和核心库变动剧烈,多种paradigm并存不只是对应用层面造成问
: 题,在库的层面的问题远远超过了普通Scala程序员的水平,学习成本高,系统维护费
: 用高。所以Yammer一年后转回了Java
: 我不认为以上那几点到现在得到根本的解决,现在这批吃螃蟹的要到一年以后才知道结
: 果,我大胆预测下,大多数会以悲剧结束。
:

z****e
发帖数: 54598
177
说绝对强于oo的话
来,我们做一个code challenge
我做一个游戏场景,里面大量使用到了局部的全局变量
以及对于各个角色的封装
这个用fp怎么搞?

rest
db

【在 H****S 的大作中提到】
: Scala在业界一个成功应用的典范即用lift作为平台build up他们所有的网站以及rest
: service的foursquare。而且fs已经在反哺开源社区了(rogue: a typesafe mongo db
: dsl)
: 关于复杂度的问题,scala基本兼容所有的java library,所以一开始用scala写java
: style的程序是完全可行的。
: 关于可读性的问题,well programmed scala/fp code绝对强于oo,但是这对程序员水
: 平确实提出了一定要求。implicit如果没具体明白它怎么work,有时候确实读起来有些
: 困难。推荐scala in depth,作者是sbt creator。

H****S
发帖数: 1359
178
我是说可读性强于oo,没有说一定实现起来强于oo。这个游戏的例子用Scala来写,还
是可以oo封装,人物的行为模式可以定义type class,在reacting programming时做
pattern mach。当然我需要更多输入来了解更多细节,但是my gut instinct如果我们
最后用Scala来实现,应该会end up with很多小的class和trait代表不同的方方面面,
具体到游戏的每个人物场景时再来做mixin

【在 z****e 的大作中提到】
: 说绝对强于oo的话
: 来,我们做一个code challenge
: 我做一个游戏场景,里面大量使用到了局部的全局变量
: 以及对于各个角色的封装
: 这个用fp怎么搞?
:
: rest
: db

l*********s
发帖数: 5409
179
what is 局部的全局变量?

【在 z****e 的大作中提到】
: 说绝对强于oo的话
: 来,我们做一个code challenge
: 我做一个游戏场景,里面大量使用到了局部的全局变量
: 以及对于各个角色的封装
: 这个用fp怎么搞?
:
: rest
: db

d******3
发帖数: 70
180
thrust说的对,有的人就喜欢语不惊人死不休,寻开心呗,也没啥恶意。大牛别往心里
去,该说啥说啥。

【在 c******o 的大作中提到】
: 算了算了,不说了。不想人生攻击了。
: 一个twitter内,一个twitter外
: 你说我该相信谁呢。
: 我从来没说啥java不好的,oop不好的。也没说scala 万能。
: 就几个心理受创的非要死缠烂打,把这弄成一言堂。

相关主题
我认为JVM上的语言,老大还是Java我对为什么使用FP的理解 (补)
vert.x 基本上没戏现在还在“学”脚本语言的,都弱爆了
Scala的用途FP 和 Procedural Programming 有什么不同?
进入Programming版参与讨论
m*******l
发帖数: 12782
181
static?

【在 l*********s 的大作中提到】
: what is 局部的全局变量?
c******o
发帖数: 1277
182
这个没有detail很难说,只能说非常大致感觉是这样的。
先把各个“角色”抽象成为一个type,这个type包括了一个abstract trait, 和几个
extend的 case class,取决于model可能很复杂,里面可能包括了状态。
角色之间/和环境的互动抽象为function
对于可读性,我并不认为FP一定好
scala好玩的是可以用 主谓宾,定状补来写code,如果需要
对于并行处理
imperative:
player1.attack(player2)
player1, player2 内部状态改变
player1.hitByThunder()
player1 内部状态改变
两个动作无关的话也不好并行
FP:
attack(player1, player2) => (newplayer1, newplayer2)
hitByThunder(player1) => newplayer1
如果两个动作不相关, 它们都返回Future type, 可以直接
for (
a1 <- attack...
a2 <- hitByThunder...
) yield (combine (a1, a2))
并行处理,绝对没事
你注意到,这里没OO什么事,OO和FP是完全兼容的。

【在 z****e 的大作中提到】
: 说绝对强于oo的话
: 来,我们做一个code challenge
: 我做一个游戏场景,里面大量使用到了局部的全局变量
: 以及对于各个角色的封装
: 这个用fp怎么搞?
:
: rest
: db

z****e
发帖数: 54598
183
其实我在实践的过程中
发现大量的递归和函数间的重复套用
这会使得可读性瞬间下降
而且撇开数学建模部分,一旦需要对客观世界做映射的时候
不oo真是很痛苦的一个东西
实际上我们对sql本身就有很多不满,sql就是fp,在很多时候
所以才有了后来的orm
hibernate和jpa的推广很大程度上就是fp不是很靠谱的一个例子
我大概明白你们想干什么了
你们其实想做的就是用fp来搞定business logic
前提是,最好要把state给扼杀掉,以保证所有参数都通过函数来传递
难怪rod johnson会跑过去,因为当初spring的singleton缺省就是去掉state的bean啊
其实就是对oo里面函数本身的一个简化罢了

【在 H****S 的大作中提到】
: 我是说可读性强于oo,没有说一定实现起来强于oo。这个游戏的例子用Scala来写,还
: 是可以oo封装,人物的行为模式可以定义type class,在reacting programming时做
: pattern mach。当然我需要更多输入来了解更多细节,但是my gut instinct如果我们
: 最后用Scala来实现,应该会end up with很多小的class和trait代表不同的方方面面,
: 具体到游戏的每个人物场景时再来做mixin

z****e
发帖数: 54598
184
状态

【在 l*********s 的大作中提到】
: what is 局部的全局变量?
g*****g
发帖数: 34805
185
如果两个动作无关,Java也很好并行。比如用Spring,你给
attack和hitByThunder两个方法都加上@Async就得。结果就是调用的时候会自动起线程
在threadpool里跑。

【在 c******o 的大作中提到】
: 这个没有detail很难说,只能说非常大致感觉是这样的。
: 先把各个“角色”抽象成为一个type,这个type包括了一个abstract trait, 和几个
: extend的 case class,取决于model可能很复杂,里面可能包括了状态。
: 角色之间/和环境的互动抽象为function
: 对于可读性,我并不认为FP一定好
: scala好玩的是可以用 主谓宾,定状补来写code,如果需要
: 对于并行处理
: imperative:
: player1.attack(player2)
: player1, player2 内部状态改变

c******o
发帖数: 1277
186
内部当然都是大同小异的,在一样的JVM上跑。
就是在编的时候会好model很多,都是immutable。
上面那个例子,我可以在很容易的组合任意多个future在yield里。
如果两个有关联,就直接吧前一个的结果放到后一个输入里,自然就会等待。
for (
a1 <- attack...
a2 <- hitByThunder(a1)
a3 <- die(a2)
a4 <- hitByWind()
) yield (combine (a3,a4))
主要是可读和可操作性好多了,你知道它是不变的,不可能会受其他future/thread的
影响。
还有,上面的结果也是future, 其实就是说,你还可以继续在其他地方拿它组合,完全
是对你透明的。

【在 g*****g 的大作中提到】
: 如果两个动作无关,Java也很好并行。比如用Spring,你给
: attack和hitByThunder两个方法都加上@Async就得。结果就是调用的时候会自动起线程
: 在threadpool里跑。

c******o
发帖数: 1277
187
忘说了
for (
a1 <- attack...
a2 <- hitByThunder(a1)
a3 <- die(a2)
a4 <- hitByWind
) yield (combine (a1,a2))
其实是
attack.flatMap {
a1 => hitByThunder(_).flatMap {
a2 => die(_).flatMap {
a3 => hitByWind.map {
a4 => combine (a1,a2)
}
}
}
}
这才是FP combinator的真面目,你可一看到里面的higher order function, 用一个
function来改变一个type内部的内容,在产生一个同样的type

【在 c******o 的大作中提到】
: 内部当然都是大同小异的,在一样的JVM上跑。
: 就是在编的时候会好model很多,都是immutable。
: 上面那个例子,我可以在很容易的组合任意多个future在yield里。
: 如果两个有关联,就直接吧前一个的结果放到后一个输入里,自然就会等待。
: for (
: a1 <- attack...
: a2 <- hitByThunder(a1)
: a3 <- die(a2)
: a4 <- hitByWind()
: ) yield (combine (a3,a4))

H****S
发帖数: 1359
188
纯fp对于程序员来说绝对是non trivial task。所以Scala对两者的结合是一件好事情
:)对于SQL,Scala slick可以让你用for loop写出type safe的code来查询,更新和
插入数据。如果加上cake pattern,同样的code可以几乎不用改变移植到其他类型数据
库上。
你说这个还提醒我件事,话说unix shell pipe用起来挺像fp的:)对前一层的输入做一
定处理然后影射到下个level,这个过程只有状态转换,没有mutation。话说bash用熟
了真觉得python做shell programming还是太罗嗦了。

【在 z****e 的大作中提到】
: 其实我在实践的过程中
: 发现大量的递归和函数间的重复套用
: 这会使得可读性瞬间下降
: 而且撇开数学建模部分,一旦需要对客观世界做映射的时候
: 不oo真是很痛苦的一个东西
: 实际上我们对sql本身就有很多不满,sql就是fp,在很多时候
: 所以才有了后来的orm
: hibernate和jpa的推广很大程度上就是fp不是很靠谱的一个例子
: 我大概明白你们想干什么了
: 你们其实想做的就是用fp来搞定business logic

H****S
发帖数: 1359
189
good example of monads!这样的程序读起来难道不是很一目了然吗:)

【在 c******o 的大作中提到】
: 忘说了
: for (
: a1 <- attack...
: a2 <- hitByThunder(a1)
: a3 <- die(a2)
: a4 <- hitByWind
: ) yield (combine (a1,a2))
: 其实是
: attack.flatMap {
: a1 => hitByThunder(_).flatMap {

c******o
发帖数: 1277
190
再来一个程序
运行结果是在下一贴
import scala.concurrent._
import ExecutionContext.Implicits.global
object F extends App {
val xFut: Future[Int] = future {
Thread.sleep(10000);
println("x happened");
10
}.flatMap(i => Future.successful(i + 1))
val aFut: Int => Future[(Option[Int], Option[Int])] = a => {
val yFut: Future[Option[Int]] = future {
println("y begin")
Thread.sleep(6000);
println("y happened " + a);
Some(20)
}
val zFut: Future[Option[Int]] = future {
println("z begin")
Thread.sleep(5000);
println("z hapenned " + a);
Some(30)
}
for {
y <- yFut
z <- zFut
} yield ((y,z))
}
val result: Future[(Int, Option[Int], Option[Int])] = for {
x <- xFut
(y,z) <- aFut(x)
} yield (x, y, z)
Thread.sleep(20000)
println("\nThe end")
}
相关主题
为什么Java在内置系统里争不过C++?Zhaoce给我们讲讲CORBA和中间件吧
长周末出去一趟,魏公公又冒头了?scala和monad
看来跳了Scala的坑是对的scala future之间通信有什么好办法吗?
进入Programming版参与讨论
c******o
发帖数: 1277
191
结果是
x happened
y begin
z begin
z hapenned 11
y happened 11
The end
c******o
发帖数: 1277
192
y begin
z begin
almost same time
q*c
发帖数: 9453
193
square 的 founder 就是 twitter 的 founder -- 铁杆嬉皮士。 it 就是要用 scala,
business model 做的好。 it 就算用 fortran, 照样成功。
就像老毛葬送红 4 军无数人, 照样得天下 -- 这并不说明消灭红四军就是正确得举
动。

rest
db

【在 H****S 的大作中提到】
: Scala在业界一个成功应用的典范即用lift作为平台build up他们所有的网站以及rest
: service的foursquare。而且fs已经在反哺开源社区了(rogue: a typesafe mongo db
: dsl)
: 关于复杂度的问题,scala基本兼容所有的java library,所以一开始用scala写java
: style的程序是完全可行的。
: 关于可读性的问题,well programmed scala/fp code绝对强于oo,但是这对程序员水
: 平确实提出了一定要求。implicit如果没具体明白它怎么work,有时候确实读起来有些
: 困难。推荐scala in depth,作者是sbt creator。

p*****2
发帖数: 21240
194

0.9.0 will be the last non-apache release. We're targeting 0.9.1 as the
first Apache release

【在 z****e 的大作中提到】
: 这个链接里面的东西几乎都是空的
: 点了几个外链,还不够完善,还有很长的路要走
: spark倒是有些快毕业了的迹象

b*******r
发帖数: 361
195
赞语法唯一性

perl

【在 q*c 的大作中提到】
: 看看 Zen of python.
: 简单,容易读, 语法唯一性
: 就是王道。 java python 都是这样有利于维护的语言。对比就是苦逼的 scala, perl
: 这些 精炼无比但是 write only 的前途无亮的东西。

z****e
发帖数: 54598
196
8错
招安得很快

【在 p*****2 的大作中提到】
:
: 0.9.0 will be the last non-apache release. We're targeting 0.9.1 as the
: first Apache release

c******3
发帖数: 296
197
Storm到底牛在哪里?初看上去象是去掉了Container的EJB集群。很蹩脚。而且负载一
大就重新估算Bolt数目,还要重起。事物支持还得自己写,太弱智了。比已经失势的
EJB差的不只一条街。初学,望大牛们指点。
z****e
发帖数: 54598
198
storm就是一个前端的cache,你这么理解就好了
ejb支持不了太大数量的并发,每一个thread都需要额外开一个beans去处理
这个其实不合理

【在 c******3 的大作中提到】
: Storm到底牛在哪里?初看上去象是去掉了Container的EJB集群。很蹩脚。而且负载一
: 大就重新估算Bolt数目,还要重起。事物支持还得自己写,太弱智了。比已经失势的
: EJB差的不只一条街。初学,望大牛们指点。

p*****2
发帖数: 21240
199

好像说storm一个node 每秒可以处理million级别的events.

【在 z****e 的大作中提到】
: storm就是一个前端的cache,你这么理解就好了
: ejb支持不了太大数量的并发,每一个thread都需要额外开一个beans去处理
: 这个其实不合理

c******3
发帖数: 296
200
>ejb支持不了太大数量的并发
这个Storm也做不到。Spout送的tuple太多,bolt来不及处理,Storm也撑死了。所以才
会有参数限定最多排队。

【在 z****e 的大作中提到】
: storm就是一个前端的cache,你这么理解就好了
: ejb支持不了太大数量的并发,每一个thread都需要额外开一个beans去处理
: 这个其实不合理

相关主题
大牛给讲讲monad吧?今天跟公司confirm了,没有人用Scala
Scala的思路Spark会干掉Storm吗?
看来没跳Scala的坑是对的Java的performance
进入Programming版参与讨论
z****e
发帖数: 54598
201
这个最好的办法还是测试一下看结果
当然单纯从功能上说,ejb肯定能做
但是我比较怀疑ejb的负载能不能达到storm的程度
或者反过来

【在 c******3 的大作中提到】
: >ejb支持不了太大数量的并发
: 这个Storm也做不到。Spout送的tuple太多,bolt来不及处理,Storm也撑死了。所以才
: 会有参数限定最多排队。

z****e
发帖数: 54598
202
说说你们怎么用storm?

【在 p*****2 的大作中提到】
:
: 好像说storm一个node 每秒可以处理million级别的events.

g*****g
发帖数: 34805
203
stateless session bean可以支持很大的并发量,而且这不就是堆服务器就可以了吗,
瓶颈通常都不会应用服务器上。问题都在数据库上。

【在 c******3 的大作中提到】
: >ejb支持不了太大数量的并发
: 这个Storm也做不到。Spout送的tuple太多,bolt来不及处理,Storm也撑死了。所以才
: 会有参数限定最多排队。

z****e
发帖数: 54598
204
貌似storm可以搞stateful的worker

【在 g*****g 的大作中提到】
: stateless session bean可以支持很大的并发量,而且这不就是堆服务器就可以了吗,
: 瓶颈通常都不会应用服务器上。问题都在数据库上。

z****e
发帖数: 54598
205
跟storm最接近的ejb应该是以前的messaging bean
现在的jms,但是我觉得,跟jms相比
第一是storm比较轻,除了这一块它什么都没有
jms你要全套jee才有
其次就是storm支持streaming处理,这个如果你用ejb做的话
怕是会超时
最后就是异步处理,这个jms其实也是异步处理,所以还好了
这个最好让有jms以及storm等经验的人来说说
这一块我经验也比较少
d*******r
发帖数: 3299
206
关注 ~~
p*****2
发帖数: 21240
207

storm是scalable的吧?

【在 c******3 的大作中提到】
: >ejb支持不了太大数量的并发
: 这个Storm也做不到。Spout送的tuple太多,bolt来不及处理,Storm也撑死了。所以才
: 会有参数限定最多排队。

p*****2
发帖数: 21240
208

kafka+storm+clojure+mongodb+redis

【在 z****e 的大作中提到】
: 说说你们怎么用storm?
p*****2
发帖数: 21240
209

可以。

【在 z****e 的大作中提到】
: 貌似storm可以搞stateful的worker
1 (共1页)
进入Programming版参与讨论
相关主题
看来跳了Scala的坑是对的Spark会干掉Storm吗?
Zhaoce给我们讲讲CORBA和中间件吧Java的performance
scala和monad我擦,haskell很简洁啊
scala future之间通信有什么好办法吗?我认为JVM上的语言,老大还是Java
大牛给讲讲monad吧?vert.x 基本上没戏
Scala的思路Scala的用途
看来没跳Scala的坑是对的我对为什么使用FP的理解 (补)
今天跟公司confirm了,没有人用Scala现在还在“学”脚本语言的,都弱爆了
相关话题的讨论汇总
话题: scala话题: storm话题: java话题: clojure话题: int