由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 感觉vert.x上的callback hell比node上还要更丑陋
相关主题
关于闭包,我发明了一个绝妙陷阱rxjava 1.0版本发布了
node promise发出reject之后,是不是只能hit catch block ?为了解决block的问题而引入了fp
java8 lambda 就是语法糖问个 rxjava 的问题
有几个人能 背着把gof 23种pattern 用java 随便写5,6个写出来狗狗抛弃Java转投swift?
Java8的FP真的真的很难用用了一下node.js, 看来js要一同天下啊,只要那些人
rxjava看起来还不错go真是好东西
Java 提高performance问题我来说说go的目标对手吧
设计一个大计算量的并行架构Node.js 写的 JS 代码有点难读懂
相关话题的讨论汇总
话题: function话题: var话题: showtime话题: aa话题: ab
进入Programming版参与讨论
1 (共1页)
p*****2
发帖数: 21240
1
正在看vert.x的code,callback hell照样比比皆是。这样看async还是golang最美。
p*****2
发帖数: 21240
2
f1(..., new Handler(){
@verride
public void handle(){
f2(..., new Handler(){
@overrid
public void handle() {
...
}
});
}
});
l**********n
发帖数: 8443
3
比java future丑陋吗?node用promise写非常优美。node的native callback是非常丑
陋啊
p*****2
发帖数: 21240
4

java future貌似很难用呀。

【在 l**********n 的大作中提到】
: 比java future丑陋吗?node用promise写非常优美。node的native callback是非常丑
: 陋啊

l**********n
发帖数: 8443
5
node的native callback很难读

【在 p*****2 的大作中提到】
:
: java future貌似很难用呀。

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

所以要用coffee呀。

【在 l**********n 的大作中提到】
: node的native callback很难读
q*c
发帖数: 9453
7
coffee 不就是 oop 嘛。
那这么苦逼干嘛不直接上 oop 的语言?

【在 p*****2 的大作中提到】
:
: 所以要用coffee呀。

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

coffee的class我们从来不用,我们用的是coffee的functional方面

【在 q*c 的大作中提到】
: coffee 不就是 oop 嘛。
: 那这么苦逼干嘛不直接上 oop 的语言?

N*****m
发帖数: 42603
9
promise+async

【在 l**********n 的大作中提到】
: 比java future丑陋吗?node用promise写非常优美。node的native callback是非常丑
: 陋啊

N*****m
发帖数: 42603
10
你真是赤裸裸的挑逗啊

【在 p*****2 的大作中提到】
: 正在看vert.x的code,callback hell照样比比皆是。这样看async还是golang最美。
相关主题
rxjava看起来还不错rxjava 1.0版本发布了
Java 提高performance问题为了解决block的问题而引入了fp
设计一个大计算量的并行架构问个 rxjava 的问题
进入Programming版参与讨论
p*****2
发帖数: 21240
11
我的意思是java的不要笑话node callback

【在 N*****m 的大作中提到】
: 你真是赤裸裸的挑逗啊
N*****m
发帖数: 42603
12
本版没几个人用vert.x

【在 p*****2 的大作中提到】
: 我的意思是java的不要笑话node callback
b***e
发帖数: 1419
13
没觉得promise有很大的帮助。promise并不消除callback.
generators才是解决之道。

【在 l**********n 的大作中提到】
: 比java future丑陋吗?node用promise写非常优美。node的native callback是非常丑
: 陋啊

g*****g
发帖数: 34805
14
You can use Rxjava

【在 p*****2 的大作中提到】
: 正在看vert.x的code,callback hell照样比比皆是。这样看async还是golang最美。
p*****2
发帖数: 21240
15

rxjava并发模型太陈旧了

【在 g*****g 的大作中提到】
: You can use Rxjava
g*****g
发帖数: 34805
16
RxJava is just a way to replace Future, it has nothing to do with
concurrency model. You can use vert.x along with it.

【在 p*****2 的大作中提到】
:
: rxjava并发模型太陈旧了

p*****2
发帖数: 21240
17
跟scala的future比如何?

【在 g*****g 的大作中提到】
: RxJava is just a way to replace Future, it has nothing to do with
: concurrency model. You can use vert.x along with it.

g*****g
发帖数: 34805
18
I guess you can find out by yourself.

【在 p*****2 的大作中提到】
: 跟scala的future比如何?
i**i
发帖数: 1500
19
跟个例子:










打开console看结果:
start in 1s ...
test.html:18 Show time: 22
test.html:23 pause for 1s in A.
test.html:18 Show time: 23
test.html:33 pause for 1s in B.
test.html:18 Show time: 24
test.html:36 aA returns '42'.
test.html:68 aB returns: Game over

【在 b***e 的大作中提到】
: 没觉得promise有很大的帮助。promise并不消除callback.
: generators才是解决之道。

j******f
发帖数: 825
20
Node建议用event emitter
相关主题
狗狗抛弃Java转投swift?我来说说go的目标对手吧
用了一下node.js, 看来js要一同天下啊,只要那些人Node.js 写的 JS 代码有点难读懂
go真是好东西java笑node的
进入Programming版参与讨论
b***e
发帖数: 1419
21
So your point is promise + generators is the way to go?

【在 i**i 的大作中提到】
: 跟个例子:
:
:
:
:
:
:
:
:



of

【在 b***e 的大作中提到】
: /**
: To use promise is unnecessary. More succinct syntax can be achieve with
: other libs, such as "node-sync". This package also captures an emulation of
: call stack when there are exceptions.
: **/
: /* use "node-sync" package */
: var proc = require('node-sync');
: var cb = function(err, res) {
: if (err) {
: console.log('cb ERROR', err.stack);

z****e
发帖数: 54598
25
1)你没有用rxjava,which在vert.x里面很强调使用的东西,不用rxjava,你是很难写
出优雅代码的,这个是用vert.x的常识,甚至可以说是java程序员的常识,这种东西压
根不值得拿来做例子
2)这个是匿名类,which是java8以前的东西,写swing的话,这种东西到处都是,这就
是为啥我讨厌callback hell的主因,后来发现js居然把这种垃圾给捡过去了,我都快
吐了
3)异步要谨慎使用,除了会导致callback hell以外,还会让原本同步的操作变成
callback hell,邯郸学步
4)java本身没有办法阻止你写出callback hell,因为你在用fp的方式用oop,而且还
是比较旧版的java,如果你真的要用fp,就别用java好了,因为java根本不让你用fp,
好吧,部分可以,这个其实是fp的问题,不是java的问题,java已经把你往oop上去引
导了,你却非要迕逆java的引导,我能说啥?
5)你可以自己动手解决这个问题,看看rxjava怎么做的,其实原理不难,只要理解了
reflection,publish/subscribe模式
6)从java7->java8(lambda)->rxjava是三个不同阶段,你非要停留在java8-的阶段来
讨论问题,对现有工具和进步视而不见,吹毛求p,我也很无奈啊
p*****2
发帖数: 21240
26

有没有rxjava跟vert.x配合的代码例子?
另外vert.x的async库感觉很不成熟呀,用户量很少。

【在 z****e 的大作中提到】
: 1)你没有用rxjava,which在vert.x里面很强调使用的东西,不用rxjava,你是很难写
: 出优雅代码的,这个是用vert.x的常识,甚至可以说是java程序员的常识,这种东西压
: 根不值得拿来做例子
: 2)这个是匿名类,which是java8以前的东西,写swing的话,这种东西到处都是,这就
: 是为啥我讨厌callback hell的主因,后来发现js居然把这种垃圾给捡过去了,我都快
: 吐了
: 3)异步要谨慎使用,除了会导致callback hell以外,还会让原本同步的操作变成
: callback hell,邯郸学步
: 4)java本身没有办法阻止你写出callback hell,因为你在用fp的方式用oop,而且还
: 是比较旧版的java,如果你真的要用fp,就别用java好了,因为java根本不让你用fp,

z****e
发帖数: 54598
27
VERT.X V3

【在 p*****2 的大作中提到】
:
: 有没有rxjava跟vert.x配合的代码例子?
: 另外vert.x的async库感觉很不成熟呀,用户量很少。

p*****2
发帖数: 21240
28
上次试了js不work

【在 z****e 的大作中提到】
: VERT.X V3
z****e
发帖数: 54598
29
你应该不会这么急着上吧?
再等等吧,现在主要问题是scala那边需要大量重构代码
不兼容java的api,其他语言都能兼容,制作组不想写太多scala代码
但是目前看,没有特别好的方法,因为v2的scala刚写完没多久
又要再写一遍,如果你实在想搞
单独用rxjava,vert.x只是一个简单的网络listener而已
自己写一个也不难,还有一个worker
理解了rxjava的idea,其实剩下的无非是实现verticle的interface的问题
这两个整合好像没有那么难吧?以前hibernate,struts什么比这个恶心多了

【在 p*****2 的大作中提到】
: 上次试了js不work
z****e
发帖数: 54598
30
https://github.com/vert-x3/vertx-rx
作者是vert.x的scala部分的作者
他来负责vert.x的rxjava部分
水平应该是有的
能不能work,我也不知道,毕竟还在开发阶段
可以问问他
我现在想的是,如何跟vert.x里面那个bus直接通信
用swift,而非java
vert.x多有趣啊,好多事情可以做,好多东西可以搞
相关主题
感觉解决JS callback hell的最佳解决办法就是Monadnode promise发出reject之后,是不是只能hit catch block ?
真正对异步有需求的应该是游戏类服务器java8 lambda 就是语法糖
关于闭包,我发明了一个绝妙陷阱有几个人能 背着把gof 23种pattern 用java 随便写5,6个写出来
进入Programming版参与讨论
p*****2
发帖数: 21240
31

看了一下,rxjava这个pattern,node.js早就有了吧?

【在 z****e 的大作中提到】
: 你应该不会这么急着上吧?
: 再等等吧,现在主要问题是scala那边需要大量重构代码
: 不兼容java的api,其他语言都能兼容,制作组不想写太多scala代码
: 但是目前看,没有特别好的方法,因为v2的scala刚写完没多久
: 又要再写一遍,如果你实在想搞
: 单独用rxjava,vert.x只是一个简单的网络listener而已
: 自己写一个也不难,还有一个worker
: 理解了rxjava的idea,其实剩下的无非是实现verticle的interface的问题
: 这两个整合好像没有那么难吧?以前hibernate,struts什么比这个恶心多了

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

Observable就是monad吧?rxjava就是FP呀。

【在 p*****2 的大作中提到】
:
: 看了一下,rxjava这个pattern,node.js早就有了吧?

g*****g
发帖数: 34805
33
如果有那要RxJs干啥?

【在 p*****2 的大作中提到】
:
: Observable就是monad吧?rxjava就是FP呀。

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

Why RxJS?
One question you may ask yourself, is why RxJS? What about Promises?
Promises are good for solving asynchronous operations such as querying a
service with an XMLHttpRequest, where the expected behavior is one value and
then completion. The Reactive Extensions for JavaScript unifies both the
world of Promises, callbacks as well as evented data such as DOM Input, Web
Workers, Web Sockets. Once we have unified these concepts, this enables rich
composition.

【在 g*****g 的大作中提到】
: 如果有那要RxJs干啥?
z****e
发帖数: 54598
35
有啊,这个pattern早就有了,关键有没有人去实现而已
自己做也无非那么一回事,又不是什么rocket science
之所以用类库,无非是以后找人维护方便点而已

【在 p*****2 的大作中提到】
:
: Why RxJS?
: One question you may ask yourself, is why RxJS? What about Promises?
: Promises are good for solving asynchronous operations such as querying a
: service with an XMLHttpRequest, where the expected behavior is one value and
: then completion. The Reactive Extensions for JavaScript unifies both the
: world of Promises, callbacks as well as evented data such as DOM Input, Web
: Workers, Web Sockets. Once we have unified these concepts, this enables rich
: composition.

z****e
发帖数: 54598
36
我自己的实现是通过一个list来完成
其实就是jms的ioc

【在 p*****2 的大作中提到】
:
: Why RxJS?
: One question you may ask yourself, is why RxJS? What about Promises?
: Promises are good for solving asynchronous operations such as querying a
: service with an XMLHttpRequest, where the expected behavior is one value and
: then completion. The Reactive Extensions for JavaScript unifies both the
: world of Promises, callbacks as well as evented data such as DOM Input, Web
: Workers, Web Sockets. Once we have unified these concepts, this enables rich
: composition.

z****e
发帖数: 54598
37
observer, listener这个在swing时代就有了
再早vc,smark什么叉叉什么不知道
但是估计也有,jms的subscriber还是后来的事了
属于21个patterns里面不怎么为人所用的一个
除了jms和swing这种,现在做的无非是一些infra
以后其他人用了可以不用再重复造这个轮子罢了
没啥大不了的,用点脑子,自己做一个出来也不是什么难事
关键是一堆蠢货明明知道有callback hell,还能把代码写成那样
那绝对是奇芭,vert.x v3当rxjava出来之后,马上adopt
然后所有代码重构,这就是正确的态度
v2->v3是一个非常大的跨越,如果不是对原理特别熟悉的话
强烈建议等v3出来之后再搞,另外不用node的原因也很简单
因为多线程,社交网站各个thread之间可以隔离,但是我的需求可不是这么一回事
不同的thread之间需要交流,在内存中就要communicate
share objects几乎是必需的,如果存到persistence上去再回来
都不知道猴年马月了,估计差评一堆了,redis也慢,也不方便
web还是太简单了
p*****2
发帖数: 21240
38
需要communication node确实不方便了

【在 z****e 的大作中提到】
: observer, listener这个在swing时代就有了
: 再早vc,smark什么叉叉什么不知道
: 但是估计也有,jms的subscriber还是后来的事了
: 属于21个patterns里面不怎么为人所用的一个
: 除了jms和swing这种,现在做的无非是一些infra
: 以后其他人用了可以不用再重复造这个轮子罢了
: 没啥大不了的,用点脑子,自己做一个出来也不是什么难事
: 关键是一堆蠢货明明知道有callback hell,还能把代码写成那样
: 那绝对是奇芭,vert.x v3当rxjava出来之后,马上adopt
: 然后所有代码重构,这就是正确的态度

1 (共1页)
进入Programming版参与讨论
相关主题
Node.js 写的 JS 代码有点难读懂Java8的FP真的真的很难用
java笑node的rxjava看起来还不错
感觉解决JS callback hell的最佳解决办法就是MonadJava 提高performance问题
真正对异步有需求的应该是游戏类服务器设计一个大计算量的并行架构
关于闭包,我发明了一个绝妙陷阱rxjava 1.0版本发布了
node promise发出reject之后,是不是只能hit catch block ?为了解决block的问题而引入了fp
java8 lambda 就是语法糖问个 rxjava 的问题
有几个人能 背着把gof 23种pattern 用java 随便写5,6个写出来狗狗抛弃Java转投swift?
相关话题的讨论汇总
话题: function话题: var话题: showtime话题: aa话题: ab