未名博客 - 未名空间
当前在线人数6307
首页 - 博客首页 - 海螺子狂想 [博客首页] [博客论坛] [博客搜索]
欢迎访问hci的博客 - 海螺子狂想
[收藏该博客]
随想随记,无所顾忌
作者介绍
hci
上站次数:6110
经验值 :[19083](齐天大圣)
表现值 :[19](还不错)
创建博客时间:2007-08-20
共发表日志: 11篇
栏目分类
每月档案
2019年09月 2019年8月
2019年7月 2019年6月
2019年5月 2019年4月
2019年3月 2019年2月
2019年1月 2018年12月
2018年11月 2018年10月
2018年9月 2018年8月
2018年7月 2018年6月
2018年5月 2018年4月
2018年3月 2018年2月
2018年1月 2017年12月
2017年11月 2017年10月
2017年9月 2017年8月
2017年7月 2017年6月
2017年5月 2017年4月
2017年3月 2017年2月
2017年1月 2016年12月
2016年11月 2016年10月
2016年9月 2016年8月
2016年7月 2016年6月
2016年5月 2016年4月
2016年3月 2016年2月
2016年1月 2015年12月
2015年11月 2015年10月
2015年9月 2015年8月
2015年7月 2015年6月
2015年5月 2015年4月
2015年3月 2015年2月
2015年1月 2014年12月
2014年11月 2014年10月
2014年9月 2014年8月
2014年7月 2014年6月
2014年5月 2014年4月
2014年3月 2014年2月
2014年1月 2013年12月
2013年11月 2013年10月
2013年9月 2013年8月
2013年7月 2013年6月
2013年5月 2013年4月
2013年3月 2013年2月
2013年1月 2012年12月
2012年11月 2012年10月
2012年9月 2012年8月
2012年7月 2012年6月
2012年5月 2012年4月
2012年3月 2012年2月
2012年1月 2011年12月
2011年11月 2011年10月
2011年9月 2011年8月
2011年7月 2011年6月
2011年5月 2011年4月
2011年3月 2011年2月
2011年1月 2010年12月
2010年11月 2010年10月
2010年9月 2010年8月
2010年7月 2010年6月
2010年5月 2010年4月
2010年3月 2010年2月
2010年1月 2009年12月
2009年11月 2009年10月
2009年9月 2009年8月
2009年7月 2009年6月
2009年5月 2009年4月
2009年3月 2009年2月
2009年1月 2008年12月
2008年11月 2008年10月
2008年9月 2008年8月
2008年7月 2008年6月
2008年5月 2008年4月
2008年3月 2008年2月
2008年1月 2007年12月
2007年11月 2007年10月
2007年9月 2007年8月
友情链接
XML
[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  |  浏览[900]  |  评论[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  |  浏览[988]  |  评论[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  |  浏览[991]  |  评论[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  |  浏览[920]  |  评论[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  |  浏览[1291]  |  评论[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  |  浏览[1220]  |  评论[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  |  浏览[1217]  |  评论[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  |  浏览[1267]  |  评论[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  |  浏览[1306]  |  评论[0]
 
[1 2 ]

访问量 30103 更新时间: 2017-05-26 17:43:28
©All Rights Reserved http://blog.mitbbs.com/hci

 
Site Map - Contact Us - Terms and Conditions - Privacy Policy

版权所有BBS 未名空间站(mitbbs.com) since 1996