由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - scala 到底适合不适合写大系统?
相关主题
L家不再用scala了。。对L股价大跌的一点看法 (转载)
现在Scala又火了?上scala有一个直接的好处
scala看来也就这样了赵老师讲讲flink
akka/scala/jvm说道micro services.vert.x有什么长处呢?
谈谈为什么上scala计算机发展由简入繁了?
scala支持Restful web service的问题T倒了以后就靠D来撑Scala了?
Scala in LRedis和Memcached有什么区别?
感觉Scala要火real time distributed framework
相关话题的讨论汇总
话题: java话题: scala话题: options
进入Programming版参与讨论
1 (共1页)
T******7
发帖数: 1419
1
kafka, spark都是scala写的。
但是看了看卡福卡的代码,跟java似的。
上scala有必要么
l**********n
发帖数: 8443
2
你kafka看完了再来问,而不是看一眼

【在 T******7 的大作中提到】
: kafka, spark都是scala写的。
: 但是看了看卡福卡的代码,跟java似的。
: 上scala有必要么

T******7
发帖数: 1419
3
大牛给说说贝

【在 l**********n 的大作中提到】
: 你kafka看完了再来问,而不是看一眼
g*****g
发帖数: 34805
4
没啥必要,写个类库还差不多。这年头所有后端的大系统都是SOA。个别服务有复杂并
发要求用Scala是可以的,广泛使用不是什么好的选择。

【在 T******7 的大作中提到】
: kafka, spark都是scala写的。
: 但是看了看卡福卡的代码,跟java似的。
: 上scala有必要么

x***4
发帖数: 1815
5
同意。我觉得scala的codebase要做得容易理解,对码农的要求很高。从成本效益来说
不是很划算。

【在 g*****g 的大作中提到】
: 没啥必要,写个类库还差不多。这年头所有后端的大系统都是SOA。个别服务有复杂并
: 发要求用Scala是可以的,广泛使用不是什么好的选择。

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

一般大项目用scala的我都是躲。big data用scala非常make sense。

【在 T******7 的大作中提到】
: kafka, spark都是scala写的。
: 但是看了看卡福卡的代码,跟java似的。
: 上scala有必要么

d******e
发帖数: 2265
7
我现在做一个新项目,java8的,所以有机会考虑这个问题。
我的观点是scala应该比java更适合写大项目。
至少有几点. 1 case class
2. pattern matching.
3. built in async support.
其他的即使都一样。写出来的程序都更容易维护。
而且,现在scala的大系统也有几头了。 play, akka, spark.
另外,jet.com纯F#,
现在写scala系统最大的问题就是总体设计mind set.
如果码农上来还是framework/pluggin思路.
写出的系统一样难以维护和扩展。
但是上了microservice后,就是你全用python写也问题不大。

【在 T******7 的大作中提到】
: kafka, spark都是scala写的。
: 但是看了看卡福卡的代码,跟java似的。
: 上scala有必要么

d******e
发帖数: 2265
8
meanwhile,看看java 8 lambda, builter pattern, 加上framework/DI混起来是不是更
恶心。
return new Tree.Builder<>(Page::new,
Options::hasDoneCheck,
(b, d) -> d.ifPresent(b::hasDoneCheck))
.nextIf(Optional.of(false),
info -> doCheck(info, placeType),
dupeResults -> new Tree.Builder<>(Page.withResults(
dupeResults),
Options::hasDoneCheck,
(b, o) -> b.hasDoneCheck(true))
.next(Optional.of(true), Fields.apply(3))
.build())
.next(Optional.of(true), Fields.apply(3))
.build();
程序出了问题看到这里完全就迷茫了。

【在 d******e 的大作中提到】
: 我现在做一个新项目,java8的,所以有机会考虑这个问题。
: 我的观点是scala应该比java更适合写大项目。
: 至少有几点. 1 case class
: 2. pattern matching.
: 3. built in async support.
: 其他的即使都一样。写出来的程序都更容易维护。
: 而且,现在scala的大系统也有几头了。 play, akka, spark.
: 另外,jet.com纯F#,
: 现在写scala系统最大的问题就是总体设计mind set.
: 如果码农上来还是framework/pluggin思路.

g*****g
发帖数: 34805
9
Java8 可以让你写 oneliner, 并不逼着你写 oneliner. 你这个方法参数太多了,本身
就不是好的设计。真要 oneliner用 fluid风格一堆 setter过去都清楚的多。

hasDoneCheck))

【在 d******e 的大作中提到】
: meanwhile,看看java 8 lambda, builter pattern, 加上framework/DI混起来是不是更
: 恶心。
: return new Tree.Builder<>(Page::new,
: Options::hasDoneCheck,
: (b, d) -> d.ifPresent(b::hasDoneCheck))
: .nextIf(Optional.of(false),
: info -> doCheck(info, placeType),
: dupeResults -> new Tree.Builder<>(Page.withResults(
: dupeResults),
: Options::hasDoneCheck,

g*****g
发帖数: 34805
10
play, akka, spark都只是类库,不是大系统。Scala的 implicit和符号满天飞,一个
东西有 N种写法,人一多很难维护。

【在 d******e 的大作中提到】
: 我现在做一个新项目,java8的,所以有机会考虑这个问题。
: 我的观点是scala应该比java更适合写大项目。
: 至少有几点. 1 case class
: 2. pattern matching.
: 3. built in async support.
: 其他的即使都一样。写出来的程序都更容易维护。
: 而且,现在scala的大系统也有几头了。 play, akka, spark.
: 另外,jet.com纯F#,
: 现在写scala系统最大的问题就是总体设计mind set.
: 如果码农上来还是framework/pluggin思路.

相关主题
scala支持Restful web service的问题对L股价大跌的一点看法 (转载)
Scala in L上scala有一个直接的好处
感觉Scala要火赵老师讲讲flink
进入Programming版参与讨论
p*****2
发帖数: 21240
11
有个问题micro service怎么就牛逼了?要多micro才算?

【在 d******e 的大作中提到】
: 我现在做一个新项目,java8的,所以有机会考虑这个问题。
: 我的观点是scala应该比java更适合写大项目。
: 至少有几点. 1 case class
: 2. pattern matching.
: 3. built in async support.
: 其他的即使都一样。写出来的程序都更容易维护。
: 而且,现在scala的大系统也有几头了。 play, akka, spark.
: 另外,jet.com纯F#,
: 现在写scala系统最大的问题就是总体设计mind set.
: 如果码农上来还是framework/pluggin思路.

g*****g
发帖数: 34805
12
microservice说到底就是逼着模块化,万一没人看得懂了,重写工作量有限。并非越小
越好,主要还是看耦合吧,如果A大量调用B,B又大量调用A,那么两个还是一个服务比
较合适。

【在 p*****2 的大作中提到】
: 有个问题micro service怎么就牛逼了?要多micro才算?
d****i
发帖数: 4809
13
This is your own problem. Why do you want to use Java 8 at first place? Just
because it adds some syntactic sugar? So many large systems use Java 6 or
even Java 5 and 4 for so many years and there have never been any problems.

【在 d******e 的大作中提到】
: 我现在做一个新项目,java8的,所以有机会考虑这个问题。
: 我的观点是scala应该比java更适合写大项目。
: 至少有几点. 1 case class
: 2. pattern matching.
: 3. built in async support.
: 其他的即使都一样。写出来的程序都更容易维护。
: 而且,现在scala的大系统也有几头了。 play, akka, spark.
: 另外,jet.com纯F#,
: 现在写scala系统最大的问题就是总体设计mind set.
: 如果码农上来还是framework/pluggin思路.

g*****g
发帖数: 34805
14
Java 8并没什么问题,就是加了个匿名内部类的语法糖而已,并不难读。一个方法弄个
十个参数 无论哪个版本哪个语言都很难读。典型的 anti pattern. 弄个 object 包一
下立马解决了。

Just
.

【在 d****i 的大作中提到】
: This is your own problem. Why do you want to use Java 8 at first place? Just
: because it adds some syntactic sugar? So many large systems use Java 6 or
: even Java 5 and 4 for so many years and there have never been any problems.

d****i
发帖数: 4809
15
Java 8's lambda is actually worse than anonymous inner class. It doesn't
specify the param types, which makes it harder to know which method is
available for the variable. Also it violates Java's static typed principle
as a static typed language.

【在 g*****g 的大作中提到】
: Java 8并没什么问题,就是加了个匿名内部类的语法糖而已,并不难读。一个方法弄个
: 十个参数 无论哪个版本哪个语言都很难读。典型的 anti pattern. 弄个 object 包一
: 下立马解决了。
:
: Just
: .

d******e
发帖数: 2265
16
要是我自己的code我会那出来抱怨嘛。
是个跑路的小白拿项目练习design pattern呢。

Just
.

【在 d****i 的大作中提到】
: This is your own problem. Why do you want to use Java 8 at first place? Just
: because it adds some syntactic sugar? So many large systems use Java 6 or
: even Java 5 and 4 for so many years and there have never been any problems.

d******e
发帖数: 2265
17
要是我自己的code我会那出来抱怨嘛。
是个跑路的小白拿项目练习design pattern呢。

Just
.

【在 d****i 的大作中提到】
: This is your own problem. Why do you want to use Java 8 at first place? Just
: because it adds some syntactic sugar? So many large systems use Java 6 or
: even Java 5 and 4 for so many years and there have never been any problems.

x***4
发帖数: 1815
18
java 8的lamba是可以specify param type的。自己要有个judgement看是不是需要。

【在 d****i 的大作中提到】
: Java 8's lambda is actually worse than anonymous inner class. It doesn't
: specify the param types, which makes it harder to know which method is
: available for the variable. Also it violates Java's static typed principle
: as a static typed language.

g*****g
发帖数: 34805
19
你这个理解是不对的,当然仍然是强类型的。就跟a.doB().doC() 一样。doC的类并没
有显式声明,但任何 IDE 都会有 syntax assistance. 匿名内部类主要用在
collection上,类型一目了然。换句话说,IDE能直接告诉你的类型是不会有什么歧义
的。

【在 d****i 的大作中提到】
: Java 8's lambda is actually worse than anonymous inner class. It doesn't
: specify the param types, which makes it harder to know which method is
: available for the variable. Also it violates Java's static typed principle
: as a static typed language.

d******e
发帖数: 2265
20
上个10年大家码东西都是搭架子,然后各种plugin扩展。
典型的jenkins, sonar,intellj,eclipse。
这个东西看上去很好,上来啥都有。
可惜问题是,java的东西又臭悠长,你要改动一点,对不起,先看懂框架,各种术语
class, 继承关系,先搭好开发环境,测试环境,然后开码吧。
所以,很简单一个扩展,逻辑可能就100行,新手要搞定,1个月吧。所以,以前碰到的
加一个sonar integration test code coverage 的plugin,全公司1年多都没搞定,最
后不了了之。
更大的,本来的做法是跳华尔滋,10年后大家决定要跳探戈了。这个时候你敢改框架嘛?
更小的一个问题:所有的代码都在一个repo里面,一个build break,全公司都停工。
至于micro service,理解为unix shell好了,cmd -> service, json->text.
剩下你愿意怎么搞就怎么搞。

【在 p*****2 的大作中提到】
: 有个问题micro service怎么就牛逼了?要多micro才算?
g*****g
发帖数: 34805
21
SOA的历史很久远,从 corba就开始了。microservice只不过是 web service和 cloud
盛行之后的一套 design pattern而已。。jenkins,eclipse和 j2ee的思想本来就不同
。单一应用让不同客户有限拓展,跟后端完全没有限制的商业逻辑是完全两码事。
microservice 不是天上掉下来的。

嘛?

【在 d******e 的大作中提到】
: 上个10年大家码东西都是搭架子,然后各种plugin扩展。
: 典型的jenkins, sonar,intellj,eclipse。
: 这个东西看上去很好,上来啥都有。
: 可惜问题是,java的东西又臭悠长,你要改动一点,对不起,先看懂框架,各种术语
: class, 继承关系,先搭好开发环境,测试环境,然后开码吧。
: 所以,很简单一个扩展,逻辑可能就100行,新手要搞定,1个月吧。所以,以前碰到的
: 加一个sonar integration test code coverage 的plugin,全公司1年多都没搞定,最
: 后不了了之。
: 更大的,本来的做法是跳华尔滋,10年后大家决定要跳探戈了。这个时候你敢改框架嘛?
: 更小的一个问题:所有的代码都在一个repo里面,一个build break,全公司都停工。

l**********n
发帖数: 8443
22
play的毛病一堆。

【在 d******e 的大作中提到】
: 我现在做一个新项目,java8的,所以有机会考虑这个问题。
: 我的观点是scala应该比java更适合写大项目。
: 至少有几点. 1 case class
: 2. pattern matching.
: 3. built in async support.
: 其他的即使都一样。写出来的程序都更容易维护。
: 而且,现在scala的大系统也有几头了。 play, akka, spark.
: 另外,jet.com纯F#,
: 现在写scala系统最大的问题就是总体设计mind set.
: 如果码农上来还是framework/pluggin思路.

1 (共1页)
进入Programming版参与讨论
相关主题
real time distributed framework谈谈为什么上scala
学scala从akka入手就可以了scala支持Restful web service的问题
准备开始练scalaScala in L
俺老10年前关于语言未来的论述感觉Scala要火
L家不再用scala了。。对L股价大跌的一点看法 (转载)
现在Scala又火了?上scala有一个直接的好处
scala看来也就这样了赵老师讲讲flink
akka/scala/jvm说道micro services.vert.x有什么长处呢?
相关话题的讨论汇总
话题: java话题: scala话题: options