::Blog信息::
名称: 海螺子狂想
作者: hci
域名: blog.mitbbs.com/hci
站点: BBS 未名空间站

档案日期:20150201000000 ~ 20150301000000


2015-02-13 16:09:56

主题: Re: 关于变量
我目前还不做轮子,因为计算机专业不是我的本行,发挥我的本专业做应用对我来说是利益最大化的。所以目前我只是用轮子,比如Kafka,是我log-centric体系机构的中心点。Kafka的作者是我的前同事,所以我知道得比较详细一些,中国人像他这样的需要多一些。

如果我的公司起来了,也是要做轮子的。从我个人来说,因为我现在是全职做计算机技术的领导职位了,需要有外部的reputation;作为一个硅谷的high tech公司,公司也需要这样的reputation。但我做轮子也不会是infra方面的,而会是analytics和UI方面的。

github不会在这儿贴,一是我的项目大多是private的,二是这不是自我人肉么?呵呵。

要不你贴个看看?

【 在 betterbug (好虫) 的大作中提到: 】
: 看啥?就看你出来吹我会fp我很牛逼叫做往上看?你说kafka是你写的,你根本就不用
: 出来吹。不是做轮子吗?把github拉出来大家看看就知道了。




提示: 本博文来自于 Programming 版



2015-02-10 18:42:12

主题: 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 版



2015-02-03 22:06:19

主题: Re: functional programming lang里面 如果我说以後会大面积火
是的,LISP好学。语法简单,就没有什么语法。

在过去只有单色显示器的时候,括号太多可能是个可读性问题。现代的编辑器都是彩色的,每层括号都有不同的颜色,就不存在这个问题了。而且LISP程序员读LISP代码的时候是看不见括号的,代码的缩进更重要,这个和其他语言没有什么区别(python?)。

而在写代码的时候,有括号是有很大的帮助的,用paredit这种类型的工具,感觉不是在编辑一串文本符号,而是在操作一个个代码的语义单位。总的来说,感觉更接近人的高层思维一些。

我个人觉得Clojure最大的好处是对数据的处理非常的直观,不像其他编程语言,数据的模型是放在程序员的脑袋里的,需要自己去想象数据长啥样,而在Clojure里面,所有数据结构都是可视化的,和JSON差不多:

比如()是表,和其他LISP不同,Clojure里面很少直接用表来作数据结构,一般用vector和map, 也就是[]和 {}。比如在代码里面直接就写

[{:id "hci" :work nil :location "CA"} 
 {:id "goodbug" :work "netflix" :location "CA"}]

加上一堆常用的函数,map, reduce, filter,等等,处理数据很爽,很适合数据处理类的应用。

总的说来,Clojure的哲学是能用数据的地方就不用逻辑,能用函数来表达的逻辑就不用宏来表达,Data > Function > Macro, 这些都很合我意。Clojrue程序感觉很灵活很直白,改起来很容易。代码短,作一个事情总有一个idomatic的写法,不鼓励人乱写,这样读别人的代码也很容易。

【 在 fantasist (fan) 的大作中提到: 】
: lisp容易学???




提示: 本博文来自于 Programming 版



2015-02-03 20:42:31

主题: Re: functional programming lang里面 如果我说以後会大面积火
我觉得Clojure发展算很快的了,已经算进入半主流了。现在公司做新项目用Clojure已经很平常了, 纯用Clojure的公司也多起来了,特别是作数据分析类的公司。

Clojure去年已经在Gartner PL index排15位了,作为这么年轻的语言,这个上升速度是蛮可以的了,更何况还是一个LISP。

Language  Gartner 2014 Programming Language Index Rating
Java  1
JavaScript  2
Python  3
C  4
PHP  5
C++  6
Ruby  7
C#  8
Perl  9
Objective-C  10
Scala  11
Haskell  12
Matlab  13
R  13
Clojure  15
Lua  16
CoffeeScript  17
Shell  18
D  19
Groovy  20
F#  21
Dart  22
Erlang  23
Go  24
Visual Basic .NET  24
ColdFusion  26
Delphi  27
FORTRAN  28
Swift  29
Smalltalk  30
PL/SQL  31
TypeScript  32
RPG  33
COBOL  34
PL1  35

【 在 peking2 (Lambda) 的大作中提到: 】
: clojure是不错,但是貌似发展很缓慢呀。storm也被spark整的够呛
: 说起来fp,真是个矛盾体




提示: 本博文来自于 Programming 版



BBS 未名空间站