[1
2
] |
|
|
2017-05-26 |
[发表评论] [写信问候] |
Re: 为什么design pattern对FP language来说就是渣 |
所谓类型安全是不存在的需求。比如你说说什么叫“保证类型安全”?这程序不是人自己写的么,程序又不会自己变。写对了不就行了么。
关键在于写的时候,Clojure讲究bottom up, REPL driven。从一个小函数开始,写的时候不停用REPL试各种case,试好一个,把这些REPL操作直接复制到unit test文件里面,改成合适的格式,就成了unit test。这样从底层开始逐步把函数一层层垒起来,每一层都是些简单函数,都可以独立测试。
不存在”类型安全“的问题,因为”类型“这种东西是不存在的,存在的只有输入数据,函数,输出数据。
要保证一个函数的输入数据是正确的输入,这一般是在程序的边缘,API层面才需要的东西。实现这种检查,那有各种办法。以前Clojure有一些轮子来做这样的runtime check,当然对performance有点影响。现在有core.spec,可以检测数据,看是不是长成想要的样子,还可以根据spec来自动产生数据,用来做property based test,看一个函数是不
...阅读全文 |
hci 发布于2017-05-26 17:43:28 | 浏览[2483] | 评论[0]
|
|
|
2016-12-21 |
[发表评论] [写信问候] |
Re: AI 工作16年翻倍了 |
呵呵,我早就说了啊,Clojure的工作机会在增多,而学的人增长没有同步,所以机会很好。
现在啥公司都号称做AI。软件行当就是时装业,周期性的,主要是没啥新可以创了,都在炒冷饭。
【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
: https://www.indeed.com/jobtrends/q-Artificial-Intelligence-q-clojure-q-
: javascript.html
: AI 工作16年翻倍了
: 另外之前hci说的clojure的趋势是靠谱的。
: 每个clojure的工作,只有1。6个人看。
: 每个AI的工作,只有2个人看。
: javascript,1。75
: Java,每个工作2。57个人看。
: 这么多人要AI是干啥的?
提示: 本博文来自于 Programming 版
|
hci 发布于2016-12-21 18:27:03 | 浏览[2517] | 评论[0]
|
|
|
2016-11-21 |
[发表评论] [写信问候] |
Re: 美国是我们所缔造,是我们的遗产,是属于我们白人的(转载) |
他们应该分清楚白人和日耳曼白人的区别。不分清楚这个,他们必然会失败。
不是所有白人都是日耳曼白人的朋友,事实上,大部分白人都是日耳曼白人的敌人。
【 在 cccpwx (Carp) 的大作中提到: 】
: Alt-Right Exults in Donald Trump’s Election With a Salute: ‘Heil Victory’
: http://www.nytimes.com/2016/11/21/us/alt-right-salutes-donald-trump.html?_r=0
: 发信人: sgrastar (Theodore), 信区: Military
: 标 题: 美国是我们所缔造,是我们的遗产,是属于我们白人的
: 发信站: BBS 未名空间站 (Mon Nov 21 11:43:12 2016, 美东)
: 纽约时报报道alt-right领袖Spencer在DC疮破胜利研讨会的演讲片段。
: Mr. Spencer’s after-dinner speech began with a polemic against the “
: mainstream media,” before he briefly paused. “Perhaps we should refer to
: them in the original German?” he said.
: The audience immediat
...阅读全文 |
hci 发布于2016-11-21 15:22:32 | 浏览[2452] | 评论[0]
|
|
|
2016-10-17 |
[发表评论] [写信问候] |
Re: 假如川普当选引发白人排外主义,华人怎么办? |
说得不错。
华人在西方求生存, 需要的其实就是两条:
1. Law and Order
2. Balance of Power
HRC上台,这两条都要泡汤。
【 在 kaonima (卡奥宁马,蒙古巴喀部传奇英雄) 的大作中提到: 】
: By 同耕学社 麦浪
: 这次选举,很多中间派华人同胞最为忧虑,并经常挂在嘴边的问题是:假如川普当选引
: 发白人排外主义,华人怎么办?大家都知道,川普不但不是种族主义者,相反,当去年
: 杰·布什在anchor baby问题上突然中伤华人时,以及几年前著名主持Rossie用种族主
: 义措词嘲笑华人时,全美国只有川普一个名人出来谴责这两个种族主义者对华人的攻击
: ;虽然川普本人是种族平等的守护者,但是他的支持者里可能有一些白人至上种族主义
: 者。川普当选会否助长这些人的白人排外主义?
: 这是一个很实在的问题,也是一个不认真思考就很容易被误导而作出错误判断的问题,
: 值得从根本上来说清楚,不和稀泥。
: 首先,我们必须承认种族主义
...阅读全文 |
hci 发布于2016-10-17 18:08:27 | 浏览[2387] | 评论[0]
|
|
|
2015-07-02 |
[发表评论] [写信问候] |
Re: Clojure上手123 |
现实。
这其实是个机器执行性能和人的生产力的矛盾,平衡点在哪里要看用例,这是一个CTO技术眼光的问题。
haskell这些编译成优化的机器码的当然性能不错,但生态环境要差点。Clojure直接用Java的生态环境,出东西快,而且稍微费点功夫去优化代码(比如用array而不用seq, 用unchecked math, 用type hint,等等),也可以做到和Java一样的性能。
关键就看值不值得去优化。一般Web应用,瓶颈在网络,所以大家用Clojure不怎么优化也觉得就够了。有的应用,比如数值分析,那Java也不行,还得调用原生的Fortran库,这个Clojure也能作。
总之Clojure的哲学是让方便的东西方便,简单的东西简单,需要优化的地方可能优化,尽量把语言本身带来的复杂性去掉,留下问题本身的复杂性让人来解决。
【 在 nowhere7 (折腾) 的大作中提到: 】
: 你说IP接近计算机实现,所以可以做到搞性能
: 如果我想用FP,又想兼顾性能,现实吗?
: 似乎Rust Haskell Ocaml 性
...阅读全文 |
hci 发布于2015-07-02 15:22:27 | 浏览[2740] | 评论[0]
|
|
|
2015-05-20 |
[发表评论] [写信问候] |
Re: YDNA为O不是中国人甚至东亚人的充分条件或必要条件 |
还充分必要条件,太out了。概率论是逻辑的generalization,贝爷斯听说过没有?
blah blah blah, 你的概念太不清楚了。Y-DNA哪管啥东亚人,中国人的,欧洲人的,自私的基因不管这些。
我都解释得很清楚了,Y-DNA只管把优秀的基因抢到手,这样自己才能更容易传下去。如果金发碧眼白牛的基因是优秀基因(当然不是了,因为白牛比较笨的可能性很大),O3男人就应该想办法把白牛抢来给自己生儿子,这样O3不就和优秀基因捆绑了么?不也就优秀了么?藤校招华女不招华男的道理是一样的,他们招优秀华女来配种,就是在抢本来属于O3的优秀基因。明白了么。我们在说Y-DNA之间的竞争,别的基因都属于战利品。
看到没有,其实现代科学和最一字不识的老农民的直觉是一致的,不要被复杂的理论给迷惑了。
【 在 Vorlon (伏龙) 的大作中提到: 】
: 一个金发碧眼的YDNA为N的芬兰人,你会把他当作东亚人吗?
: 一个YDNA为O3,100%的中国人娶个100%白人女子,然后升个儿
...阅读全文 |
hci 发布于2015-05-20 03:01:10 | 浏览[2704] | 评论[0]
|
|
|
2015-02-13 |
[发表评论] [写信问候] |
Re: 关于变量 |
我目前还不做轮子,因为计算机专业不是我的本行,发挥我的本专业做应用对我来说是利益最大化的。所以目前我只是用轮子,比如Kafka,是我log-centric体系机构的中心点。Kafka的作者是我的前同事,所以我知道得比较详细一些,中国人像他这样的需要多一些。
如果我的公司起来了,也是要做轮子的。从我个人来说,因为我现在是全职做计算机技术的领导职位了,需要有外部的reputation;作为一个硅谷的high tech公司,公司也需要这样的reputation。但我做轮子也不会是infra方面的,而会是analytics和UI方面的。
github不会在这儿贴,一是我的项目大多是private的,二是这不是自我人肉么?呵呵。
要不你贴个看看?
【 在 betterbug (好虫) 的大作中提到: 】
: 看啥?就看你出来吹我会fp我很牛逼叫做往上看?你说kafka是你写的,你根本就不用
: 出来吹。不是做轮子吗?把github拉出来大家看看就知道了。
提示: 本博文来自于 Programming 版
|
hci 发布于2015-02-13 16:09:56 | 浏览[2631] | 评论[0]
|
|
|
2015-02-10 |
[发表评论] [写信问候] |
Re: functional programming lang里面 如果我说以後会大面积火 |
如果不调用Java,全用Clojure数据结构的话,不会出null pointer exception crash. Clojure handle it for you.
如果调Java的数据的话,还是和写Java程序一样的,要自己make sure it's not null。Java's syntax check does not help with such runtime exceptions. Unless it has a type system like that of Haskell, but Java does not have that.
【 在 dumbCoder (HumbleCoder 不懂就问-_-) 的大作中提到: 】
: 大牛用 dynamic typing 难道没有错误地 access 某个变量,然后程序 crash 掉的吗?
: 比如我看你 clojure sample 里还有 access java class 的 data member 的代码,如
: 果那个 data member 不存在会如何?
: 我觉得 static typing 确实更 robust,不会run起来再 crash 掉。
: 还有,clojure 需要处理 validate remote message 这类的问题吗?
: ligthtable,
: has
提示: 本博文来自于 Programming 版
|
hci 发布于2015-02-10 18:42:12 | 浏览[2742] | 评论[0]
|
|
|
2015-02-03 |
[发表评论] [写信问候] |
Re: functional programming lang里面 如果我说以後会大面积火 |
是的,LISP好学。语法简单,就没有什么语法。
在过去只有单色显示器的时候,括号太多可能是个可读性问题。现代的编辑器都是彩色的,每层括号都有不同的颜色,就不存在这个问题了。而且LISP程序员读LISP代码的时候是看不见括号的,代码的缩进更重要,这个和其他语言没有什么区别(python?)。
而在写代码的时候,有括号是有很大的帮助的,用paredit这种类型的工具,感觉不是在编辑一串文本符号,而是在操作一个个代码的语义单位。总的来说,感觉更接近人的高层思维一些。
我个人觉得Clojure最大的好处是对数据的处理非常的直观,不像其他编程语言,数据的模型是放在程序员的脑袋里的,需要自己去想象数据长啥样,而在Clojure里面,所有数据结构都是可视化的,和JSON差不多:
比如()是表,和其他LISP不同,Clojure里面很少直接用表来作数据结构,一般用vector和map, 也就是[]和 {}。比如在代码里面直接就写
[{:id "hci" :work nil :location "CA"}
...阅读全文 |
hci 发布于2015-02-03 22:06:19 | 浏览[2768] | 评论[0]
|
|
|
[1
2
] |
|