Redian新闻
>
scala 到底适合不适合写大系统?
avatar
scala 到底适合不适合写大系统?# Programming - 葵花宝典
A*H
1
药店卖给我一瓶本来应该召回的 Children's Motrin Liquids
儿子半夜发烧,吃了家里的原来有的 Children's Motrin Liquids,一个小时不见什么
效果。打电话给医生,说是有可能是药有问题。再过一个多小时后烧退了一些,不知道
是自然的过程,还是要还是有用。
折腾了一清早,找邻居帮忙看孩子,出发去稍微远一点的要点,因为附近的几家药店都
说 Children's Motrin 缺货。后来孩子他妈在第一个进去的 Rite Aid 就买到了。我
就觉得奇怪,回来打电话一检查 NDC 号码,好家伙,果然是属于召回的药品。只好再
折腾,在另外一家CVS买了片剂。
现在有几个选择项,大家觉得我选那个比较合适?
1,把刚从 Rite Aid 买的丢掉
2,去 Rite Aid 退钱或者换
3,问 Rite Aid 怎么办,然后它怎么说怎么办。
4,找 Rite Aid 算账
5,找 Rite Aid 算账,并且说已经吃了药
6,直接上小额法庭
7,直接找律师(估计不会有人接案子)
avatar
l*8
2
加拿大签证护照寄出去交的VAC费用是多少现在,31多刀还是37多刀,有知道的朋友告
诉一下,谢谢
avatar
a*v
3
Anyone know the demand data for Nov. 2010? Just want to estimate how many
EB2IC got approved from Nov. 2010 to Nov. 2011?
avatar
c*p
4
好几天没来了.
我放剪刀,刀, 铲子, 锄头, 堵在它进来的洞. 总算安静了几天.不知道是不是
吃了苦头.
avatar
T*7
5
kafka, spark都是scala写的。
但是看了看卡福卡的代码,跟java似的。
上scala有必要么
avatar
r*n
6
去店里退或者上mcneil网站上填表要refund
avatar
s*x
7
网申的时候交的100加刀不是vac?

【在 l******8 的大作中提到】
: 加拿大签证护照寄出去交的VAC费用是多少现在,31多刀还是37多刀,有知道的朋友告
: 诉一下,谢谢

avatar
y*r
8
1600 and 3200?
avatar
D*1
9
但愿如此,不过我不乐观。呵呵

【在 c*********p 的大作中提到】
: 好几天没来了.
: 我放剪刀,刀, 铲子, 锄头, 堵在它进来的洞. 总算安静了几天.不知道是不是
: 吃了苦头.

avatar
l*n
10
你kafka看完了再来问,而不是看一眼

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

avatar
c*n
11
It is a class II recall, so you may have your refund. I doubt you can claim
that it did any harm to the patient and seek further compensation.
avatar
t*d
12
31.19
avatar
a*v
13
OK, I found demand data for Apr. 2011 visa bulletin.
Demand Prior To China India Other Total
January 1, 2006.. 0 0 0 0
January 1, 2007.. 3900 13,300 0 17200
January 1, 2008.. 9,425 23100 0 32525
January 1, 2011.. 9500 23200 100 32800
Demand data for Nov. visa bulletin is 3000, So there are ~30000 approval
from Apr. to Oct. Porting from Apr. to Nov. is not included in the Apr. visa
bulletin, but absorbed in the Nov. visa bulletin. So the actual number can
be more than 30000. Adding the number from Oct. to Apr. approval. Last year
the total approval can be ~35000. Meaning ~30000 spillover.
If this year has similar spillovers which is very likely, DOS should build a
inventory at least 40000 which almost all the way to the end of 2008.
avatar
c*p
14
你说对了. :(. 力气真大, 把砖推开了.

【在 D*******1 的大作中提到】
: 但愿如此,不过我不乐观。呵呵
avatar
T*7
15
大牛给说说贝

【在 l**********n 的大作中提到】
: 你kafka看完了再来问,而不是看一眼
avatar
m*0
16
扔了吧,别浪费时间了.但如果你有时间的话也可,

【在 A**H 的大作中提到】
: 药店卖给我一瓶本来应该召回的 Children's Motrin Liquids
: 儿子半夜发烧,吃了家里的原来有的 Children's Motrin Liquids,一个小时不见什么
: 效果。打电话给医生,说是有可能是药有问题。再过一个多小时后烧退了一些,不知道
: 是自然的过程,还是要还是有用。
: 折腾了一清早,找邻居帮忙看孩子,出发去稍微远一点的要点,因为附近的几家药店都
: 说 Children's Motrin 缺货。后来孩子他妈在第一个进去的 Rite Aid 就买到了。我
: 就觉得奇怪,回来打电话一检查 NDC 号码,好家伙,果然是属于召回的药品。只好再
: 折腾,在另外一家CVS买了片剂。
: 现在有几个选择项,大家觉得我选那个比较合适?
: 1,把刚从 Rite Aid 买的丢掉

avatar
g*e
17
请问网上还有一个37.72的是怎么回事呢?

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

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

avatar
H*s
19
上mcneil网站上填表要refund or a coupon for the product.
avatar
g*e
20
问过了,这个是亲自去vac申请的人要交的费用。所以,网络申请的不用交。

【在 g****e 的大作中提到】
: 请问网上还有一个37.72的是怎么回事呢?
avatar
x*4
21
同意。我觉得scala的codebase要做得容易理解,对码农的要求很高。从成本效益来说
不是很划算。

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

avatar
E*e
22
这个,本来退烧药稍微有点时间才有效果
我去的CVS,所有MORTIN/泰诺都撤柜了,只卖CVS自己牌子的了
药随便你扔不扔,到MCNEIL网站要求REFUND就好了

【在 A**H 的大作中提到】
: 药店卖给我一瓶本来应该召回的 Children's Motrin Liquids
: 儿子半夜发烧,吃了家里的原来有的 Children's Motrin Liquids,一个小时不见什么
: 效果。打电话给医生,说是有可能是药有问题。再过一个多小时后烧退了一些,不知道
: 是自然的过程,还是要还是有用。
: 折腾了一清早,找邻居帮忙看孩子,出发去稍微远一点的要点,因为附近的几家药店都
: 说 Children's Motrin 缺货。后来孩子他妈在第一个进去的 Rite Aid 就买到了。我
: 就觉得奇怪,回来打电话一检查 NDC 号码,好家伙,果然是属于召回的药品。只好再
: 折腾,在另外一家CVS买了片剂。
: 现在有几个选择项,大家觉得我选那个比较合适?
: 1,把刚从 Rite Aid 买的丢掉

avatar
p*2
23

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

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

avatar
w*o
24
一瓶猫春值得你这么折腾吗
avatar
d*e
25
我现在做一个新项目,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有必要么

avatar
d*e
27
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思路.

avatar
f*s
28
ask for refund from the company. they will mail a check for $10
avatar
g*g
29
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,

avatar
C*2
30
此人很贪,想靠诉人发财。没那末容易的。有这时间还是干点正事发财比较靠谱。

【在 A**H 的大作中提到】
: 药店卖给我一瓶本来应该召回的 Children's Motrin Liquids
: 儿子半夜发烧,吃了家里的原来有的 Children's Motrin Liquids,一个小时不见什么
: 效果。打电话给医生,说是有可能是药有问题。再过一个多小时后烧退了一些,不知道
: 是自然的过程,还是要还是有用。
: 折腾了一清早,找邻居帮忙看孩子,出发去稍微远一点的要点,因为附近的几家药店都
: 说 Children's Motrin 缺货。后来孩子他妈在第一个进去的 Rite Aid 就买到了。我
: 就觉得奇怪,回来打电话一检查 NDC 号码,好家伙,果然是属于召回的药品。只好再
: 折腾,在另外一家CVS买了片剂。
: 现在有几个选择项,大家觉得我选那个比较合适?
: 1,把刚从 Rite Aid 买的丢掉

avatar
g*g
31
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思路.

avatar
m*y
32
Forget about it, at least you can't find a good lawyers willing to go after
pharmacists.
avatar
p*2
33
有个问题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思路.

avatar
g*1
34
It is just a little bit higher dose than it should be.

【在 A**H 的大作中提到】
: 药店卖给我一瓶本来应该召回的 Children's Motrin Liquids
: 儿子半夜发烧,吃了家里的原来有的 Children's Motrin Liquids,一个小时不见什么
: 效果。打电话给医生,说是有可能是药有问题。再过一个多小时后烧退了一些,不知道
: 是自然的过程,还是要还是有用。
: 折腾了一清早,找邻居帮忙看孩子,出发去稍微远一点的要点,因为附近的几家药店都
: 说 Children's Motrin 缺货。后来孩子他妈在第一个进去的 Rite Aid 就买到了。我
: 就觉得奇怪,回来打电话一检查 NDC 号码,好家伙,果然是属于召回的药品。只好再
: 折腾,在另外一家CVS买了片剂。
: 现在有几个选择项,大家觉得我选那个比较合适?
: 1,把刚从 Rite Aid 买的丢掉

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

【在 p*****2 的大作中提到】
: 有个问题micro service怎么就牛逼了?要多micro才算?
avatar
b*y
36
咦,你不是跟你老婆在闹离婚,老婆不管孩子了吗?看来孩子他妈还是很关心孩子的呀
avatar
d*i
37
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思路.

avatar
g*g
39
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.

avatar
s*l
40
想折腾的话就告一把。说不定就提前退休了。
avatar
d*i
41
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
: .

avatar
d*e
42
要是我自己的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.

avatar
d*e
43
要是我自己的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.

avatar
x*4
44
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.

avatar
g*g
45
你这个理解是不对的,当然仍然是强类型的。就跟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.

avatar
d*e
46
上个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才算?
avatar
g*g
47
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,全公司都停工。

avatar
l*n
48
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思路.

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。