Redian新闻
>
赵策怎么看OOP hell的问题?
avatar
赵策怎么看OOP hell的问题?# Programming - 葵花宝典
b*f
1
父母第一次于2011年10月19号来美,2012年4月12号回国,在美停留时间175天。
父母第二次于2013年11月1号来美,2014年9月27号回国,在美停留近11个月。这次父母
在过境时硬向VO要了1年的停留期,父母理由是年龄大(60出头)不识字(小学没毕业
)了,来一趟美国不容易。当时VO经过一番询问也给了1年的时间。(这应该是硬伤)
父母于2015年12月24号在中信银行提交代签,今天拿到护照要求面签,但没有要求另外
提供材料。(这次我们夫妇是绿卡)
这次代签除了网上的材料,另附有一份邀请信。信的内容就是好久不见,希望父母能过
来待一段时间,一起去旅行顺便看看刚刚出生的小孩。
请大家帮忙出谋划策,一定要面签通过。要不然我们夫妇都上班,两娃就没人照看了。
不胜感激!!!
avatar
s*e
2
如果不上班就能活下去的话,我想那样做。
“混吃等死”成为了现在多少年轻人心中的“梦想”?的确,抛开那些高大上的理想,
现状就是很大一部分人上班只是为了维持生活罢了。
在日本,高度经济成长期时的死命工作是美德的想法已经成为了过去,长时间劳动的削
减、工作与生活平衡的重视已然成为了现代一大批年轻人对于工作的新定义。
只赚维持生活最低限度的钱,优先考虑自己的私人时间。个人兴趣比较重要,尽可能不
想上班。
现在的工作对于自己来说就是玩和兴趣,所以才会拼命地工作,就算私人时间都拿来工
作也没有关系!
avatar
y*g
3
【 以下文字转载自 Fashion 讨论区 】
发信人: iHeartGlass (我爱玻璃), 信区: Fashion
标 题: 今天去公园的路上看到一wsn
发信站: BBS 未名空间站 (Sun Apr 10 19:26:46 2011, 美东)
亚洲脸
我猜是中国人
猜是中国人的原因是
他皮肤白白的,在阳光下华丽丽慢吞吞的扭搭着跑步,边跑边听音乐
(不多说了,人人都有缺乏锻炼的时候,况且冬天才过)
听音乐也就算了,他不是用ipod而是手里夹个ipad
用ipad边跑步边听音乐也就算了,他还给ipad套了一个有coach logo的套子
avatar
J*R
4
这次真心感受到了。
组里一个烙印设计数据结构。基本就是3类metric,结构差不多。结果这货连interface
带class整了22个出来。。。。。问他为什么这么搞,说是为了reuse code, hold data
efficiently.问题是这货还是个lead,没法跟他吵。
avatar
D*0
5
帮顶
[在 bobelf (Maybe) 的大作中提到:]

:父母第一次于2011年10月19号来美,2012年4月12号回国,在美停留时间175天。
:...........
avatar
c*n
6
你土了吧, 你没看老太太跑步的时候还拿两个小哑铃, 适当的负荷可以防止骨质疏松
avatar
l*n
7
interface floods because Java doesnt allow multiple inheritance.

interface
data

【在 J****R 的大作中提到】
: 这次真心感受到了。
: 组里一个烙印设计数据结构。基本就是3类metric,结构差不多。结果这货连interface
: 带class整了22个出来。。。。。问他为什么这么搞,说是为了reuse code, hold data
: efficiently.问题是这货还是个lead,没法跟他吵。

avatar
b*f
8
Thank you, Dafu520!

【在 D*****0 的大作中提到】
: 帮顶
: [在 bobelf (Maybe) 的大作中提到:]
: :
: :父母第一次于2011年10月19号来美,2012年4月12号回国,在美停留时间175天。
: :...........

avatar
c*e
9
那叫品味。你不懂

【在 y****g 的大作中提到】
: 【 以下文字转载自 Fashion 讨论区 】
: 发信人: iHeartGlass (我爱玻璃), 信区: Fashion
: 标 题: 今天去公园的路上看到一wsn
: 发信站: BBS 未名空间站 (Sun Apr 10 19:26:46 2011, 美东)
: 亚洲脸
: 我猜是中国人
: 猜是中国人的原因是
: 他皮肤白白的,在阳光下华丽丽慢吞吞的扭搭着跑步,边跑边听音乐
: (不多说了,人人都有缺乏锻炼的时候,况且冬天才过)
: 听音乐也就算了,他不是用ipod而是手里夹个ipad

avatar
z*e
10
1)分pkg,把interface和impl分到不同的pkg里面去就好了
这样阿三写多少个都是阿三的事,你只需要看定义好的interface就行
2)这22个可以分给不同的小阿三去写,每个人写六七个
3)利用框架,用annotation来分,不是interface来分
一个@Component就可以顶掉一堆interface了
4)用default method,可以减少abstract class出现次数
avatar
b*f
11
It was said that my parents have to wait for another 6 months. Or they will
be refused if they have an interview now. Because 221 (g) didn't ask for any
additional documents.
Is it RIGHT? Please tell me "NO".
avatar
z*r
12
哥跑的不是步,是寂寞

【在 y****g 的大作中提到】
: 【 以下文字转载自 Fashion 讨论区 】
: 发信人: iHeartGlass (我爱玻璃), 信区: Fashion
: 标 题: 今天去公园的路上看到一wsn
: 发信站: BBS 未名空间站 (Sun Apr 10 19:26:46 2011, 美东)
: 亚洲脸
: 我猜是中国人
: 猜是中国人的原因是
: 他皮肤白白的,在阳光下华丽丽慢吞吞的扭搭着跑步,边跑边听音乐
: (不多说了,人人都有缺乏锻炼的时候,况且冬天才过)
: 听音乐也就算了,他不是用ipod而是手里夹个ipad

avatar
b*s
13
most OO programmers are just stupid

interface
data

【在 J****R 的大作中提到】
: 这次真心感受到了。
: 组里一个烙印设计数据结构。基本就是3类metric,结构差不多。结果这货连interface
: 带class整了22个出来。。。。。问他为什么这么搞,说是为了reuse code, hold data
: efficiently.问题是这货还是个lead,没法跟他吵。

avatar
h*s
14
关键是2013年11月来美那次网上的I94有效期到哪天。

will
any

【在 b****f 的大作中提到】
: It was said that my parents have to wait for another 6 months. Or they will
: be refused if they have an interview now. Because 221 (g) didn't ask for any
: additional documents.
: Is it RIGHT? Please tell me "NO".

avatar
p*y
15
原来可以这样看出国籍啊。。。

【在 y****g 的大作中提到】
: 【 以下文字转载自 Fashion 讨论区 】
: 发信人: iHeartGlass (我爱玻璃), 信区: Fashion
: 标 题: 今天去公园的路上看到一wsn
: 发信站: BBS 未名空间站 (Sun Apr 10 19:26:46 2011, 美东)
: 亚洲脸
: 我猜是中国人
: 猜是中国人的原因是
: 他皮肤白白的,在阳光下华丽丽慢吞吞的扭搭着跑步,边跑边听音乐
: (不多说了,人人都有缺乏锻炼的时候,况且冬天才过)
: 听音乐也就算了,他不是用ipod而是手里夹个ipad

avatar
J*R
16
谢谢!问题是这货的interface 里面没定义全部的method。大多情况下必须找parent
class或者底层class去找method. 我看完那一堆破class 都有抽他的冲动。
url, element , position ,......,count ,sum
就这么一个扁平的dimension metric 至于tmd搞出来5层的data structure么?

【在 z****e 的大作中提到】
: 1)分pkg,把interface和impl分到不同的pkg里面去就好了
: 这样阿三写多少个都是阿三的事,你只需要看定义好的interface就行
: 2)这22个可以分给不同的小阿三去写,每个人写六七个
: 3)利用框架,用annotation来分,不是interface来分
: 一个@Component就可以顶掉一堆interface了
: 4)用default method,可以减少abstract class出现次数

avatar
c*3
17
过境的时候找VO要了1年有效期?你确定不是父母烦的不行CBP随手写的?
B2签证一次最多6个月,要延期需要去USCIS申请,我估计这次就是因为这个原因要求面
谈的
最好查下上次的I-94给了多少时间
avatar
t*d
18
人家着急着上厕所,步子迈不开。

【在 y****g 的大作中提到】
: 【 以下文字转载自 Fashion 讨论区 】
: 发信人: iHeartGlass (我爱玻璃), 信区: Fashion
: 标 题: 今天去公园的路上看到一wsn
: 发信站: BBS 未名空间站 (Sun Apr 10 19:26:46 2011, 美东)
: 亚洲脸
: 我猜是中国人
: 猜是中国人的原因是
: 他皮肤白白的,在阳光下华丽丽慢吞吞的扭搭着跑步,边跑边听音乐
: (不多说了,人人都有缺乏锻炼的时候,况且冬天才过)
: 听音乐也就算了,他不是用ipod而是手里夹个ipad

avatar
d*e
19
oo是编程史上最蠢的想法没有之一。

【在 b*******s 的大作中提到】
: most OO programmers are just stupid
:
: interface
: data

avatar
b*f
20
有效期一年。谢谢

【在 h****s 的大作中提到】
: 关键是2013年11月来美那次网上的I94有效期到哪天。
:
: will
: any

avatar
d*e
21
oo是编程史上最蠢的想法没有之一。

【在 b*******s 的大作中提到】
: most OO programmers are just stupid
:
: interface
: data

avatar
l*n
22
oo是编程史上最蠢的想法没有之一。

【在 d******e 的大作中提到】
: oo是编程史上最蠢的想法没有之一。
avatar
l*n
23
class and interface should be interchangeble
avatar
l*n
24
interface is just public methods. you can have static methods and static
constants in interface.
avatar
l*n
25
the most stupid thing is that the interface inheritance is out of control
avatar
l*n
26
annotation is just separation of concern and has nothing to with interface
avatar
N*n
27

嗯,人笨怪刀钝一定要发多次。

【在 d******e 的大作中提到】
: oo是编程史上最蠢的想法没有之一。
avatar
g*g
28
Not as stupid as those who couldn't comprehend it.

【在 b*******s 的大作中提到】
: most OO programmers are just stupid
:
: interface
: data

avatar
w*z
29
用inner class 可以吗?

【在 J****R 的大作中提到】
: 谢谢!问题是这货的interface 里面没定义全部的method。大多情况下必须找parent
: class或者底层class去找method. 我看完那一堆破class 都有抽他的冲动。
: url, element , position ,......,count ,sum
: 就这么一个扁平的dimension metric 至于tmd搞出来5层的data structure么?

avatar
z*e
30

oo是管理学上的经典,认为oo蠢的人一般不适合当领导
适合当个猴子

【在 l**********n 的大作中提到】
: oo是编程史上最蠢的想法没有之一。
avatar
z*e
31

那这个就是滥用了,一般继承关系不超过3层,一般超过3层就多半是屎坑
java再怎么严格,也不可能阻止滥写代码
代码不是越多越好,也不是越少越好
太少的话,人看不懂
太多的话,人也看不懂
一定要适度,凡事过犹不及啊
一般屎坑有个特点,就是文件特别长
超过1000行的class基本上都是维护的噩梦
老代码,尤其是monolithic时代的垃圾,5,6k行一个class很常见
现在都microservice了,所以一般都控制在200-500之间,很少超过500的
合理的文件长度在200-500之间
我自己控制在200左右,超过200我就开始分文件了
但是文件太多同样也有问题,一个方法就来一个文件
这种多半有问题
现在java的发展都已经开始减少继承关系了
abstract class我都不记得上次是什么时候用的了
一般都是一个interface,搭配一个impl class,搞定
甚至如果是同一台虚拟机里面的,直接就是class上
极少数说,有重合的地方,用上abstract class
而且现在都spring了,用interface感觉很怪异
绝大多数功能都是一个annotation就搞定的事
写毛interface

【在 J****R 的大作中提到】
: 谢谢!问题是这货的interface 里面没定义全部的method。大多情况下必须找parent
: class或者底层class去找method. 我看完那一堆破class 都有抽他的冲动。
: url, element , position ,......,count ,sum
: 就这么一个扁平的dimension metric 至于tmd搞出来5层的data structure么?

avatar
z*e
32

拜托,你是没写过吗?
不用annotation的话,你就需要自己造轮子
那就是interface什么满天飞了
现在开发,谁去搞什么interface
绝大多数时候就是一个annotation搞定
比如
@Service
public JSonObject myMethod()...
就开始写business logic了,定义什么interface?
然后轮子看到这个annotation之后
就自动暴露这个方法为web service
microservice了,醒醒,你们都凹凸了
还在用几十年前的老方法写代码
所以说脚本不能写多

【在 l**********n 的大作中提到】
: annotation is just separation of concern and has nothing to with interface
avatar
J*R
33
谢了!
再follow up 一个问题。也是我看不惯的一种做法。
你们往数据库里写的时候,会经常把比较复杂的data 写进一个class object,然后
serialize 进数据库吗?我通常不喜欢这么做,如果需要,也就是把数据放进map这类
collection里面serialize 进数据库。如果里面再复杂点,最多就是collection 里面
的element是个class。
如果把数据先写进一个巨复杂的object里面,然后再把这个object serialize 进数据
库,那一旦后面需要更改这个object的结构,之前存进去的数据做deserialize就会出
问题。

【在 z****e 的大作中提到】
:
: 拜托,你是没写过吗?
: 不用annotation的话,你就需要自己造轮子
: 那就是interface什么满天飞了
: 现在开发,谁去搞什么interface
: 绝大多数时候就是一个annotation搞定
: 比如
: @Service
: public JSonObject myMethod()...
: 就开始写business logic了,定义什么interface?

avatar
g*g
34
看什么数据库,NoSQL很常见,RDBMS不推荐。只要你只增加不改变减少变量是不会有兼
容问题的。推荐 Json serialization.

【在 J****R 的大作中提到】
: 谢了!
: 再follow up 一个问题。也是我看不惯的一种做法。
: 你们往数据库里写的时候,会经常把比较复杂的data 写进一个class object,然后
: serialize 进数据库吗?我通常不喜欢这么做,如果需要,也就是把数据放进map这类
: collection里面serialize 进数据库。如果里面再复杂点,最多就是collection 里面
: 的element是个class。
: 如果把数据先写进一个巨复杂的object里面,然后再把这个object serialize 进数据
: 库,那一旦后面需要更改这个object的结构,之前存进去的数据做deserialize就会出
: 问题。

avatar
J*R
35
谢谢!
设计这种数据结构的人压根没用过json,而且现在的问题已经够多了, 懒得跟他再提
这些了。

【在 g*****g 的大作中提到】
: 看什么数据库,NoSQL很常见,RDBMS不推荐。只要你只增加不改变减少变量是不会有兼
: 容问题的。推荐 Json serialization.

avatar
R*k
36

就是因为数据库表已经定了,再写这个class啊。要改class肯定也是因为表改了嘛,表
设计的好这个class也不用改了

【在 J****R 的大作中提到】
: 谢了!
: 再follow up 一个问题。也是我看不惯的一种做法。
: 你们往数据库里写的时候,会经常把比较复杂的data 写进一个class object,然后
: serialize 进数据库吗?我通常不喜欢这么做,如果需要,也就是把数据放进map这类
: collection里面serialize 进数据库。如果里面再复杂点,最多就是collection 里面
: 的element是个class。
: 如果把数据先写进一个巨复杂的object里面,然后再把这个object serialize 进数据
: 库,那一旦后面需要更改这个object的结构,之前存进去的数据做deserialize就会出
: 问题。

avatar
w*z
37
直接serialize 成blob 不推荐。json 好一点,至少可以做到向后兼容一个版本。

【在 J****R 的大作中提到】
: 谢谢!
: 设计这种数据结构的人压根没用过json,而且现在的问题已经够多了, 懒得跟他再提
: 这些了。

avatar
z*e
38

我们用json,postgresql很好一点就是支持了json
nosql就更支持了,话说json其实也是serialize的一种

【在 J****R 的大作中提到】
: 谢了!
: 再follow up 一个问题。也是我看不惯的一种做法。
: 你们往数据库里写的时候,会经常把比较复杂的data 写进一个class object,然后
: serialize 进数据库吗?我通常不喜欢这么做,如果需要,也就是把数据放进map这类
: collection里面serialize 进数据库。如果里面再复杂点,最多就是collection 里面
: 的element是个class。
: 如果把数据先写进一个巨复杂的object里面,然后再把这个object serialize 进数据
: 库,那一旦后面需要更改这个object的结构,之前存进去的数据做deserialize就会出
: 问题。

avatar
z*e
39

其实都差不多
只是json看起来,改起来都更方便
效率上不如blob,但是这本来就不是追求效率的地方
如果要效率,用col和char那些了
所以再慢一点也无所
json主要是debug方便

【在 w**z 的大作中提到】
: 直接serialize 成blob 不推荐。json 好一点,至少可以做到向后兼容一个版本。
avatar
c*1
40
Depend on the type of application.
OO can perfectly represent the business logic for some application.

【在 d******e 的大作中提到】
: oo是编程史上最蠢的想法没有之一。
avatar
k*n
41
我想每种设计都有一定应用范围. 看上去你的Lead 是follow S.O.L.I.D的OO 设计原
则, 为保记reuse, 与不expose 非必要方法, 将interface 的grid 做的非常小.
如果楼主想用好OO, 并争得过老印, 必须搞明白solid 设计原则.

【在 J****R 的大作中提到】
: 谢谢!问题是这货的interface 里面没定义全部的method。大多情况下必须找parent
: class或者底层class去找method. 我看完那一堆破class 都有抽他的冲动。
: url, element , position ,......,count ,sum
: 就这么一个扁平的dimension metric 至于tmd搞出来5层的data structure么?

avatar
y*w
42
lz说的烙印明显就是半吊子,管你有啥优雅设计这笔玩意儿上来就是你十倍的代码(行
数),反正能用就行。回头汇报人家工作量也有,效果也过得去;对面你技术大拿花好
几天设计的精细结构,好吧,perfect design;赶上老板不怎么懂得还觉得你不好好干
活。回头烙印换工作,可以说俺干了team 2/3的活(代码)。

【在 k**n 的大作中提到】
: 我想每种设计都有一定应用范围. 看上去你的Lead 是follow S.O.L.I.D的OO 设计原
: 则, 为保记reuse, 与不expose 非必要方法, 将interface 的grid 做的非常小.
: 如果楼主想用好OO, 并争得过老印, 必须搞明白solid 设计原则.

avatar
b*s
43
老印其实就是贯彻了本版一个原则
无脑上
avatar
c*n
44
这是大实话 无数次花了额外时间搞了模块化 优化了性能 还未未来继续优化和扩展做
了准备
人pm的表情就是 你这么久就搞了这一个feature?

【在 y****w 的大作中提到】
: lz说的烙印明显就是半吊子,管你有啥优雅设计这笔玩意儿上来就是你十倍的代码(行
: 数),反正能用就行。回头汇报人家工作量也有,效果也过得去;对面你技术大拿花好
: 几天设计的精细结构,好吧,perfect design;赶上老板不怎么懂得还觉得你不好好干
: 活。回头烙印换工作,可以说俺干了team 2/3的活(代码)。

avatar
c*m
45
OOP不是hell, 只不过是软件工程发展很多年总结出来的一个适合做项目又manageable
的方法而已。
既然是方法,必然有它适应的领域,基本上小项目,小feature, 用OOP是不会带来啥好
处,有些几百行的小feature,如果没有将来扩充的需要或者跟别人接口,最简单的方
式就是全写在main里。

interface
data

【在 J****R 的大作中提到】
: 这次真心感受到了。
: 组里一个烙印设计数据结构。基本就是3类metric,结构差不多。结果这货连interface
: 带class整了22个出来。。。。。问他为什么这么搞,说是为了reuse code, hold data
: efficiently.问题是这货还是个lead,没法跟他吵。

avatar
x*4
46
几百行太长了。我一般争取每个func不超过60。

manageable

【在 c*m 的大作中提到】
: OOP不是hell, 只不过是软件工程发展很多年总结出来的一个适合做项目又manageable
: 的方法而已。
: 既然是方法,必然有它适应的领域,基本上小项目,小feature, 用OOP是不会带来啥好
: 处,有些几百行的小feature,如果没有将来扩充的需要或者跟别人接口,最简单的方
: 式就是全写在main里。
:
: interface
: data

avatar
d*e
47
今天有时间,多说两句。
oop就是错误的封装方式。看看wirting testable code,所有的问题都几乎出在cotr上
。所有的结局方法就是一条,case class + builder+ factory + DI. 既然这样,直
接转scala好了。monadic worflow又短又天然的解决了所有的config->context->fact-
> exec的问题。
神马叫做oop. 90年代就是继承家封装。现在就是class + DI. 首先这个概念就是一个
moving target.
基本上,java后面所有的版本都是给1.0擦屁股。
先是四个蠢蛋总结出23条模式了。后来基本都作废了。
一会要用inteface了,但是就是一个协议。面试问和abstract class的区别了。一会又
又默认的方法了。
后来又羞答答搞了functinal interface了。到了,最后终于上lambda + option了。
所以说,老实的吧数据和行为分离,type + func.你会得到更加可测试和更短,更加可
以维护的程序。也不会鬼扯的DI, IOC这样的概念了。简单例子:
F#重写c#, loc从 34万行降到了3万行。测试率从14%增加到了44%.

【在 c********1 的大作中提到】
: Depend on the type of application.
: OO can perfectly represent the business logic for some application.

avatar
d*e
48
今天有时间,多说两句。
oop就是错误的封装方式。看看wirting testable code,所有的问题都几乎出在cotr上
。所有的结局方法就是一条,case class + builder+ factory + DI. 既然这样,直
接转scala好了。monadic worflow又短又天然的解决了所有的config->context->fact-
> exec的问题。
神马叫做oop. 90年代就是继承家封装。现在就是class + DI. 首先这个概念就是一个
moving target.
基本上,java后面所有的版本都是给1.0擦屁股。
先是四个蠢蛋总结出23条模式了。后来基本都作废了。
一会要用inteface了,但是就是一个协议。面试问和abstract class的区别了。一会又
又默认的方法了。
后来又羞答答搞了functinal interface了。到了,最后终于上lambda + option了。
所以说,老实的吧数据和行为分离,type + func.你会得到更加可测试和更短,更加可
以维护的程序。也不会鬼扯的DI, IOC这样的概念了。简单例子:
F#重写c#, loc从 34万行降到了3万行。测试率从14%增加到了44%.

【在 c********1 的大作中提到】
: Depend on the type of application.
: OO can perfectly represent the business logic for some application.

avatar
g*g
49
OOP本来就是物理对世界的自然描述。这个世界是由物体和物体的相互作用描述的,不
是matrix。
世界上最大的软件都是用OO的方法组织的,你看好的FP出现比OOP还早,到现在然并卵。
现实最大,不以个人喜好为转移。

fact-

【在 d******e 的大作中提到】
: 今天有时间,多说两句。
: oop就是错误的封装方式。看看wirting testable code,所有的问题都几乎出在cotr上
: 。所有的结局方法就是一条,case class + builder+ factory + DI. 既然这样,直
: 接转scala好了。monadic worflow又短又天然的解决了所有的config->context->fact-
: > exec的问题。
: 神马叫做oop. 90年代就是继承家封装。现在就是class + DI. 首先这个概念就是一个
: moving target.
: 基本上,java后面所有的版本都是给1.0擦屁股。
: 先是四个蠢蛋总结出23条模式了。后来基本都作废了。
: 一会要用inteface了,但是就是一个协议。面试问和abstract class的区别了。一会又

avatar
d*e
50
我同意OOp是自然的描述。自然的描述不等于工程上最好的描述。这个可能不太好好理
解。
不太好的比喻,你可以建造一头熊。但是你要建造一条或者几头好测试的熊,那么久不
容易了。
类似的,java 1的代码可能很好理解,到了java 8久支离破碎了。
大的软件不能说明问题,而去恨可能不是oo的。例如以前cobal写的或者等火星的控制
软件(python)。
毕竟上个20年大家都认为oo是一条正确的道路。
至于fp,以前系统用不起啊。现在性能和内存都不是问题,这是一个时机到没到的问题。

卵。

【在 g*****g 的大作中提到】
: OOP本来就是物理对世界的自然描述。这个世界是由物体和物体的相互作用描述的,不
: 是matrix。
: 世界上最大的软件都是用OO的方法组织的,你看好的FP出现比OOP还早,到现在然并卵。
: 现实最大,不以个人喜好为转移。
:
: fact-

avatar
z*e
51
monad有多少人能正确理解的? 很多人知道了都解释不清楚,还谈什么简单? 自己都搞
不清楚的东西别人看坑爹

:今天有时间,多说两句。
:oop就是错误的封装方式。看看wirting testable code,所有的问题都几乎出在cotr
上。所有的结局方法就是一条,case class + builder+ factory + DI. 既然这样,直
avatar
g*g
52
那你等FP统治了再来吹牛不迟。Scala, F#都10年以上了,top 10都没排上呢。做人也
要现实一点。

题。

【在 d******e 的大作中提到】
: 我同意OOp是自然的描述。自然的描述不等于工程上最好的描述。这个可能不太好好理
: 解。
: 不太好的比喻,你可以建造一头熊。但是你要建造一条或者几头好测试的熊,那么久不
: 容易了。
: 类似的,java 1的代码可能很好理解,到了java 8久支离破碎了。
: 大的软件不能说明问题,而去恨可能不是oo的。例如以前cobal写的或者等火星的控制
: 软件(python)。
: 毕竟上个20年大家都认为oo是一条正确的道路。
: 至于fp,以前系统用不起啊。现在性能和内存都不是问题,这是一个时机到没到的问题。
:

avatar
z*e
53

题。
工程最好的p是test, debug最为友好的p
fp的debug简直就是噩梦一般的存在

【在 d******e 的大作中提到】
: 我同意OOp是自然的描述。自然的描述不等于工程上最好的描述。这个可能不太好好理
: 解。
: 不太好的比喻,你可以建造一头熊。但是你要建造一条或者几头好测试的熊,那么久不
: 容易了。
: 类似的,java 1的代码可能很好理解,到了java 8久支离破碎了。
: 大的软件不能说明问题,而去恨可能不是oo的。例如以前cobal写的或者等火星的控制
: 软件(python)。
: 毕竟上个20年大家都认为oo是一条正确的道路。
: 至于fp,以前系统用不起啊。现在性能和内存都不是问题,这是一个时机到没到的问题。
:

avatar
d*e
54
这话说的也对。事实上scala不是一个好语言。第一,jvm上,毛病很多。第二,学习C+
+, 思路不清楚,太复杂。
F# 微软的,没人理。
等新的语言出来吧。

【在 g*****g 的大作中提到】
: 那你等FP统治了再来吹牛不迟。Scala, F#都10年以上了,top 10都没排上呢。做人也
: 要现实一点。
:
: 题。

avatar
l*s
55
I like clojure a lot. Unfortunately it does not have big companies backing
like scala does.
avatar
z*e
56

C+
什么叫思路清楚?
clojure算不算思路清楚?
结果还不是一样黄了?
现实中解决问题就是这么复杂的
哪有那么理想的,理想的环境还写什么代码
直接机器处理了,现实中就是各种问题接踵而来
丢掉jvm可以啊,跨平台一个搞死人
谁有办法在这里浪费那么多时间
开发都是mac/windows,生产都是linux
不跨平台需要到linux上去编译,然后linux时不时丢掉问题出来
然后你再在linux上去改代码,那效率多低的一件事
debug都很麻烦

【在 d******e 的大作中提到】
: 这话说的也对。事实上scala不是一个好语言。第一,jvm上,毛病很多。第二,学习C+
: +, 思路不清楚,太复杂。
: F# 微软的,没人理。
: 等新的语言出来吧。

avatar
l*s
57
give it some time, Rome is not built in one day. In addition, clojure can
run on either jvm or v8.

【在 z****e 的大作中提到】
:
: C+
: 什么叫思路清楚?
: clojure算不算思路清楚?
: 结果还不是一样黄了?
: 现实中解决问题就是这么复杂的
: 哪有那么理想的,理想的环境还写什么代码
: 直接机器处理了,现实中就是各种问题接踵而来
: 丢掉jvm可以啊,跨平台一个搞死人
: 谁有办法在这里浪费那么多时间

avatar
g*g
58
clojure如果有戏,至少得有个 trend. 都不是春天的鸡了。
说将来某种 FP会统治我没法证伪。就像上帝我也没法证明不存在一样。

【在 l*********s 的大作中提到】
: give it some time, Rome is not built in one day. In addition, clojure can
: run on either jvm or v8.

avatar
z*e
59

true, but it doesn't mean u have to build it again & again
dont u have any other things to do?
god, u got no creativity at all

【在 l*********s 的大作中提到】
: give it some time, Rome is not built in one day. In addition, clojure can
: run on either jvm or v8.

avatar
b*s
60
OOP is only good for systems requires a lot of interactions
as I said many times

卵。

【在 g*****g 的大作中提到】
: OOP本来就是物理对世界的自然描述。这个世界是由物体和物体的相互作用描述的,不
: 是matrix。
: 世界上最大的软件都是用OO的方法组织的,你看好的FP出现比OOP还早,到现在然并卵。
: 现实最大,不以个人喜好为转移。
:
: fact-

avatar
b*s
61
I'm on your side.
BTW, design patterns are as great as JEE, but too heavy to afford.
Users should fully understand the downside of 'em and make the best usage

fact-

【在 d******e 的大作中提到】
: 今天有时间,多说两句。
: oop就是错误的封装方式。看看wirting testable code,所有的问题都几乎出在cotr上
: 。所有的结局方法就是一条,case class + builder+ factory + DI. 既然这样,直
: 接转scala好了。monadic worflow又短又天然的解决了所有的config->context->fact-
: > exec的问题。
: 神马叫做oop. 90年代就是继承家封装。现在就是class + DI. 首先这个概念就是一个
: moving target.
: 基本上,java后面所有的版本都是给1.0擦屁股。
: 先是四个蠢蛋总结出23条模式了。后来基本都作废了。
: 一会要用inteface了,但是就是一个协议。面试问和abstract class的区别了。一会又

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