erlang, 支付宝, 以及其他

时间:2022-06-01 17:38:09
5月29日00:51我发了一篇新浪微博:
瑞典的在线支付公司Klarna(http://t.cn/zOdc4CM )使用erlang构建其网络支付基础架构。支付宝啥时候行动,把你们笨重的JEE换掉?哈哈。


未曾想一石激起片片涟漪(若干转发评论),读罢颇有收获,兹照录如下,争取按照时间顺序排列,并斗胆点评,与君分享。
顺便牢骚一句新浪微博,如果能推出一个快速找到所有本线索的所有相关微博的功能就好了。很多转发者后面的评论不转发我都看不到,不得不一个个点开每一个转发者的微博去找。。。


【@风再起时四月天:我们公司的支付框架就是erlang的,已经拿到支付牌照了,我负责开发的 (5月29日 08:26)】
风再起后面回复说他们公司是上海电银(http://www.chinaebi.com/ ),大家可以关注一下。


【@ShopEx王磊:上次ecug和一个在瑞典做支付的华人哥们一起午饭,穿件印有erlang代码的体恤,不知道是不是这家公司 (5月29日 22:23)】
说的是这个 http://ecug.org/ ?网站上说:ECUG Con 2011,国内第一场以 Go 语言为主题的盛宴!我们认为,尽管 Erlang 给分布式开发带来了很好的思路,但是距离大规模应用的可能性还很远。Erlang 语言的优点和缺陷同样明显。但是 Go 语言带来了工程上大范围应用的希望。这两门语言有着相同的理念:让分布式开发更容易。Erlang 是这个领域的先河,Golang 则是集大成者。


【@肖源初:JEE的优势在于支持厂商多,代码规范好维护,第三方框架、工具多,调试方便好招人,适合大规模工业化开发。最重要的:It works,没事换它干嘛?//@没有粗面: 同问 //@刘青焱: 赞!方便透露一下公司名称吗?呵呵。//@风再起时四月天: 我们公司的支付框架就是erlang的,已经拿到支付牌照了,我负责开发的 (5月29日 22:23)】
对JEE的优势总结的不错,值得学习和反思。It works很重要,不过JEE just sucks。


【@楼鑫华:我想到了卡马克的一句话,DirectX9.0已经可以做很多事情了,为什么还要DirectX10.0,11,呢,这些搞接口的人总得搞点事情做做的,哈哈哈。 (5月29日 20:27)】
其实我真的很怀念当年和曾经的女朋友现在的老婆鸿雁传情的。。。it works, why email?


【@肖源初:回复@楼鑫华:哈哈,有点像当年鼓吹ror的那批人,现在已经销声匿迹了。Erlang好不好用,适合不适合还是等时间的检验后再说吧。总有人当小白鼠的啊 (5月29日 20:31)】
RoR在US很火,虽然我完全不会玩。Ruby语法感觉不太适应,据说那个很火的Puppet就是用Ruby写的。
时间?erlang 1986;Java 1990。
小白鼠?Klarna算吗?Klarna 2005;支付宝 2004.12。AXD301 (1998)算吗?170万行erlang。


【@叶一火:语种选择,1要对照问题,2要与时俱进,3要玩到极致,4要和道相佐,5要尊重别派,@肖源初,@没有粗面 @刘青焱 (5月29日 20:34)】
老叶看问题一贯很全面、很高度。


【@spawn3:支持换掉!//@ShopEx王磊: 上次ecug和一个在瑞典做支付的华人哥们一起午饭,穿件印有erlang代码的体恤,不知道是不是这家公司 (5月29日 22:50)】
激进派?不知道是不是支付宝的,小心被保守派灭掉,哈哈。


【@温高铁:这是错误的方向! (5月30日 12:20)】
请分享见解。


【@晓_飞_子:为撒要换?人力?稳定?跟风?支付宝还要跟别人风? (5月30日 12:22)】
支付宝已经是全宇宙最NB的公司了,绝对不能跟别人风!
好吧,Outside-in thinking真的那么难吗?


【@庄国林-在路上:整个瑞典还没有杭州人口多吧? (5月30日 12:26)】
2011 瑞典人口 946万;杭州人口 873万(常住人口)695万(户籍人口)。
2010 瑞典GDP 4845亿美元;杭州GDP 878亿美元。
数据源:wikipedia


【@美味书签-lbt05 :要相信保守作风//@淘宝褚霸:@淘宝正明 (5月30日 12:30) 】
Management某种程度上意味着保守和kill idea。只是不知这位是管理层还是站的高,呵呵。
多数时候,在不当的层次上思考问题常常是一种自愉,而这种自愉的感觉常常让我们失去偏执的怀疑精神——也许这正是我们的文化所不喜欢的,没有正好。呵呵。


【@一壶浊酒喜相逢x:太搞笑了,普通客户谁会介意支付宝用j2ee或erlang?用户体验搞好了,比什么都重要!!!//@淘宝褚霸: @淘宝正明 (5月30日 12:40)】
普通用户不会介意你用A还是B,但同时却也不会觉得用A或者B “太搞笑了”。哪怕是brainfuck,也OK。
所以当看到前两个分句的前后分裂时,真的感到很不解。
客户讲产品;UX讲用户体验;技术人员讲技术。最好不要几张嘴同时说话。
这正是:你和他讲产品,他和你讲技术;你和他谈技术,他和你谈用户体验;你和他讲用户体验,他和你讲产品。。。


【@此处空无一人 :也许10年后,某种OO语言在这个地球上只有万分之一的公司在用的时候,会有人给出答案。//@万峰: cc @许式伟 //@淘宝褚霸: @淘宝正明 (5月30日 12:45)】
the next COBOL?哈哈


【@geeklu:回复@一壶浊酒喜相逢x:同意.这个人说的有问题,替换,最多替换某个特定的功能模块。 (5月30日 13:00)】
这个人。。。泪奔。您能说说“这个事”么?


【@平田SUN__抑制不了的咆哮欲望:你们不会真打算这么搞吧~~~· (5月30日 13:01)】
表担心,看支付宝的同学是很坚定和稳健的!


【@cwinux:XLIB是用C语言实现的面向对象编程,10年前在C++兴起时,各路大牛们准备用C++重写,结局就是那个版本永远没有发布:bug太多。//@此处空无一人: 也许10年后,某种OO语言在这个地球上只有万分之一的公司在用的时候,会有人给出答案。//@万峰: cc @许式伟 //@淘宝褚霸: @淘宝正明 (5月30日 13:05)
=> @胡宇光微博:OO就是个笑话,但C++不是。10年前在程序员眼里c++只是OO语言,现在已经不是了。】
真心觉得OO是UI领域的DSL。哈哈,Java language写Android还算爽呀!一日千里。
其实看回复学习到一点,很多坚定支持Java的同学其实是还没分清楚Java和JEE。。。也没分清楚Java language和Java。


BTW,cwinux的签名档:坚决打H2,持久反公知,关注需谨慎。赞一个。


【@每壹分钟:底层框架用什么技术是次要的,技术架构做好了,足以支撑今后1-2年的发展,等别的公司证明了新的技术能够带来更多效益、更低的成本,再投入改造不迟。 (5月30日 13:07)】
说的似乎是起步。我是challenge一下已经用了多年的JEE,看看JEE的同学能有多radical。


【@_踏浪飞奔_ :新系统支持用erlang,真心好用。在用系统没遇到大问题就不要折腾了//@淘宝褚霸:@淘宝正明 (5月30日 13:10)】
支付宝的?
 
【@我不告诉你我是谁:erlang。。。这东西和java有可比性么 (5月30日 13:17)】
COP 和 OOP 没啥可比性。。。


【@崔玉松:ErLang上千工程师进行大规模协作估计是噩梦,除了Java外很少有成熟的经验,当然,在性能要求高的核心功能上可以部分的替换 (5月30日 13:23)】
这位同学开玩笑的吧?170万行的AXD101泪奔了。
“上千工程师进行大规模协作。。。除了Java外很少有成熟的经验”,这位同学是真心觉得这世界上唯一适合大规模工程、上千码农协作的语言就是Java了。Java无敌!


另外,支付宝也就一千多工程师吧。我不认为所有工程师在进行所谓“大规模协作”。“大规模协作”的“软件工程”在web领域就是鬼话。细胞组织模式和敏捷开发才是正解。


【@LincolnYe:作为工程,相信楼主说替换只是开个玩笑,或者说给Erlang做个宣传。混合语言开发倒还可以接受,但维护成本会高。 (5月30日 13:50)】
呃,我是挑战一下,或者说,激进的怀疑一下。
宣传谈不上。


【@jametong:回复@淘宝褚霸:我觉得关键点是,国内有多少高质量的ERlang工程师,可以解决支付宝遭遇的问题。ERLang相对于Java的优势有多少? (5月30日 14:07)
@淘宝褚霸:回复@jametong:哈哈,人家的想法,娱乐下也好。。。 (5月30日 14:08)
@jametong:回复@淘宝褚霸:我搞不明白,爱立信的人为啥有这么傻,这么不靠谱的想法。 (5月30日 14:09)
@淘宝褚霸:回复@jametong:隔行如隔山 (5月30日 14:10)】
好像这个 褚霸 就是那个 “erlang非业余研究”的erlang高手yufeng。久仰。直率的讲,还真是不喜欢这种虚与委蛇。对一个自己凭兴趣研究颇深的技术,却不能敢爱敢恨、观点鲜明,而是拿别人的观点作挡箭牌,没有技术实证却有政治判断,这种做法也是很可怕的一件事情吧。
至于政治判断,其实是偏颇的很,像隔行如隔山之类——难道Klarna不是支付行业吗?淘宝和支付宝不也是“隔行”?真是奇怪的很。


至于那个jametong,不评价。因为像“我搞不明白,支付宝的人怎么都是些只有立场没有是非、除了会扣帽子和一杆子打翻一船人之外一无是处的家伙”这样和地域偏见一样低等的思维方式和认知水平,任何一个有着科学理性精神的人都是断然不会有的。引用一下理查德 道金斯(对,那个著名的生物学家,《自私的基因》的作者)在edge.org上的几句话。他是说如果我们的教育能够教会所有人双盲对照实验后能够给我们认知水平带来哪些提高:
1. 我们会学会不从零星事件中去归纳得出普遍化结论;
2. 我们会学会怎样评估一个貌似很重要的结果其实可能只是偶然发生;
3. 我们会知道排除主观偏见有多么困难。
4. 我们会学会更加广泛的使用批判性和怀疑的思维习惯。


【@崔玉松:回复@淘宝褚霸:JAVA在整个工程领域有非常丰富的工业实践理论和方法,甚至包括项目管理领域,有事实上的工业标准,而其他语言解决问题是可以,但缺乏这些东西,对于一个千人级别的超级团队来说,没有大家公认的实践方法管理上会是噩梦,作为部分功能的替代倒是可以考虑 (5月30日 14:19)】
Java? JEE? 千人超级团队?好NB啊。在这位同学的眼中,语言就是划分成两类:Java和“其他语言”。人多就是力量大。这不得不说是一种狭隘。
如果不是亲见支付宝的产品经理痛诉技术部门龟速响应、系统架构和技术管理混乱造成上了新需求引入新bug,如果不是亲听当年SUN是怎么帮助阿里重构系统、把阿里捆绑到Java上、现在高层又是怎样为JEE的人员、机器高消耗而头疼不已的,如果不是直接体会过支付宝糟糕的用户体验、聆听过支付宝的战略困境,我几乎要被“千人级别的超级团队”唬住了。
可惜,同学,技术是用来改善我们的生活的,而不是用来唬人的。


总结:
1. 没搞清状况就喷 和 评事先评人 是我们讨论问题的问题之一。
2. Get hands dirty和hacking精神真的很稀有。
3. erlang做在线支付真的算不上crazy idea,在我心目中,发射小型宇宙飞船、电动车无线充电、量子纠缠通信、基因组敲出和重组之类的也许算得上那么一点点crazy吧。
4. 以上,纯粹对事不对人。
5. JEE就是holy shit。支付宝就是宣称全宇宙无敌也改变不了JEE sucks这个事实。我观点鲜明,立场坚定,谢谢。