p*3 发帖数: 197 | 1 Cascalog 据称scale能力超强 可以轻松处理petabytes
SWI-Prolog 因为发展时间更长 可能功能更稳定成熟?
新手一枚 请大niu指教 |
|
t****a 发帖数: 1212 | 2 用着目前最elegant的语言,做着machine learning的方向,和最聪明的人一起工作,
说不定还可以大发一笔,那该是多么欢乐的事情。
可惜,人的hiring manager看不上啊。
另外有意思的是他们是少有的招cascalog使用者的公司,然而cascalog的主要开发者却
都不在他们公司;cascalog主要开发者在的那个公司却不用cascalog。 |
|
p*****2 发帖数: 21240 | 3 【 以下文字转载自 Programming 讨论区 】
发信人: tninja (K dash), 信区: Programming
标 题: 谈谈我认识的一些lisp程序员
发信站: BBS 未名空间站 (Mon Oct 21 00:45:15 2013, 美东)
仅仅是为了有份工作养家的程序员不会去学lisp;想在大公司混成manager并且
有更大impact的人也不会学lisp;努力去学lisp的程序员,可能是很有好奇心,
并且真心热爱编程的人。
对于有些人而言,程序语言的选择不重要,程序写的有没有美感也不重要;他们
的目标是完成工作。 而对于另外一些人而言,他们会喜欢上他们所使用的语言。
对于后面一种人,他们每个人都有不同的喜好。有些人喜欢C,有些人喜欢java,
有些人喜欢python,...,有些人喜欢lisp。因此才有本版的长年累月不停息的
战争。
我设想程序设计语言和程序员之间是双向选择的,不仅仅是人选择语言,语言也
选择人,如果你长期喜欢某一门语言,抛开工作需要的原因不谈,某种程度上也
是因为你是这样个性的人,因此你才肯定这种语言的设计。
那么,喜欢lisp语言的都... 阅读全帖 |
|
f********x 发帖数: 99 | 4 当然是选Scala,对应的pipeline的开发可以用scalding来替换cascalog。scalding背
靠Twitter,应该够用一阵子了。如果需要实施复杂的算法,从Scala还可以扩展到
Spark。最后,我感觉用原生的Java+Cascading也比cascalog强。因为用Clojure的话,
又存在于Groovy的竞争关系。 |
|
|
t****a 发帖数: 1212 | 6 仅仅是为了有份工作养家的程序员不会去学lisp;想在大公司混成manager并且
有更大impact的人也不会学lisp;努力去学lisp的程序员,可能是很有好奇心,
并且真心热爱编程的人。
对于有些人而言,程序语言的选择不重要,程序写的有没有美感也不重要;他们
的目标是完成工作。 而对于另外一些人而言,他们会喜欢上他们所使用的语言。
对于后面一种人,他们每个人都有不同的喜好。有些人喜欢C,有些人喜欢java,
有些人喜欢python,...,有些人喜欢lisp。因此才有本版的长年累月不停息的
战争。
我设想程序设计语言和程序员之间是双向选择的,不仅仅是人选择语言,语言也
选择人,如果你长期喜欢某一门语言,抛开工作需要的原因不谈,某种程度上也
是因为你是这样个性的人,因此你才肯定这种语言的设计。
那么,喜欢lisp语言的都是什么样的人呢?我就谈谈我知道的,
- 艺术家气质型
有趣的是我发现很多lisp程序员有艺术背景,比如本科读的是音乐或者美术。众
所周知Paul Graham是学画画的。Rich Hickey本科是学音乐的。(如果你喜欢
lisp却不知道他们是谁建议上网搜一下)
我在... 阅读全帖 |
|
|
t****a 发帖数: 1212 | 8 通常我不用java/c++来写,一方面因为很久不写了比较生疏,另一方面因为用这两种语
言写开发效率太低。我们的code通常不是prod的code,所以对机器执行效率要求不高。
在这种情况下,通常用执行效率换取开发效率。
主要使用的语言包括: R, python, clojure,org-mode以及相关的各种open source
package。操作大数据那一块刚开始使用cascalog。 |
|
t****a 发帖数: 1212 | 9 感觉就是不想用其他语言了,连python在内。所以也不谈什么对其他语言的帮助了,真
要逼着我去用其他语言,大概就想办法挑选一些support FP的语言来做。
Pros:
clojure配emacs的slime写程序太爽了阿,写几句话测试几句话,然后包裹成函数。R除
外,R还是超爽,本身就是functional programming,而且和emacs+org-mode配合的更
好。不过需要package的时候还是要用python。
现在可以天天打乒乓球了,很爽。因为reproducible research+clojure+
cascalog+R+d3很快把大数据的计算和分析报告搞定了...
Cons:
Clojure是动态语言,没有静态检查。就算自己的程序很小心,但调用的某个package里
的函数行为不对劲,也会出问题。比如incanter里头的柏松分布随机数居然有时候返回
list有时候返回int,这个坑不注意写的时候没事,真运行的时候挂了查很久才查出源
头来。
所以,还是慎重考虑学一门静态检查的FP语言,不然程序写大了没有静态检查还是蛮恐
怖的。
单打独斗,周围的人不用这种语... 阅读全帖 |
|
p*****2 发帖数: 21240 | 10 没用过真是一点办法也没有,用过了就是不一样,只是用过一点也会很不一样,比纸上
谈兵要好很多。感觉下边几个方面都比较重要。
1. NO SQL:
K/V store: Memcached, Redis
Document based: Mongodb, CouchDB (zhaoce大牛最钟爱的)
Column based: HBase, Cassandra
Graph based: Neo4j
2. BigData
Hadoop including HDFS and Mapreduce (800题大牛的钟爱)
HBase
Hive, Pig, Cascalog etc
Data mining
3. Concurrency
Multi threading: Java, C++
Actor model: Scala AKKA, Erlang
Reactor model: Node.js, Ruby eventmachine, Python twisted
STM: Clojure, Haskell
4. Distributed computing
很多技术的融合,这个应该800题大牛来讲讲,... 阅读全帖 |
|
p*****2 发帖数: 21240 | 11
T不用吗?我感觉貌似cascalog比scalding好用一些呀。 |
|
t****a 发帖数: 1212 | 12 cascalog配合emacs的nrepl.el,coding速度那叫一个暴快,可惜周围无人理解愿意学
。以前在A家的时候估计是全公司唯一一个用这个的。
scalding还是不很熟悉,不好多说。就从目前我的理解来看,现有的很多code倾向于写
很大的函数,code里出bug的可能性要高。而且没有emacs那调试的效率没法比的,因为
那可能意味着要写完整个job才能开始调试,不能切成片调试。 |
|
|
x***i 发帖数: 585 | 14 最近因为用cascalog的原因, 苦练clojure, 感觉完全颠覆以前编程的思路. 大家如何
看其未来发展, 和scala比呢?
去年用过一阵子scala. 感觉即支持传统的编程模式,也能functional programming. 但
是语言细节及其复杂, 一阵子不用, 很快就忘记了. |
|
t****a 发帖数: 1212 | 15 刚查了一下这位牛人,他在Friedman,也就是王银曾师从的大牛,scheme的作者手下做
postdoc。和Friedman合著The reasoned scheme。
今天Clojure/West下午的主题多和core.logic有关。我没用过,不过看起来和cascalog
语法有些相似。看起来很像类SQL的查询语言,但是要更加灵活。今天下午的talk中有
个做fraud detection的公司似乎在用这个做data mining。
教主的Datomic好像是值得看的东西。似乎已经把多种数据源比如sql数据库,amazon
dynamo db等接口抽象好了。
这里有懂Datomic的同学能给个介绍吗? |
|
p*****2 发帖数: 21240 | 16
现在搞个什么cascalog都还只能用java6呢 |
|
p*****2 发帖数: 21240 | 17 跟cascading比起来如何?准备看看应该上pig还是scalding, 或者cascalog。 |
|
p*****2 发帖数: 21240 | 18
我随便说几点吧。
1. Dynamic, 极高的productivity, 这也是为什么Nathan他们2,3个人可以把一个
Storm做出来
2. 85%的FP,而Scala是50%的FP
3. 自带STM, 而Scala是库
4. Async, 实现了goroutine (学Go的)
5. 不但可以跑在JVM上,还可以跑在node上和browser上,一个语言可以通吃最流行的
几个平台
6. Cascalog跟Hadoop绝配
7. Storm就不用说了,native language
8. Macro, 使得其他语言的meta programming成为了小儿科,更不要说Scala了
9. 比Scala要容易学习很多 |
|
p*****2 发帖数: 21240 | 19
所以说未来呀。这两年随着cascalog, storm的流行,clojure的空间会更广阔一些。
goodbug不是说了吗?语言不是主要的,重要的是库和生态系统。关键是未来的startup
在选择tech stack的时候,clojure会是一个非常好的选择。这个就会影响python。 |
|
t****a 发帖数: 1212 | 20 incanter虽然比较挫,但是配上cascalog或者storm(我没试过,猜想可以)还是很有
潜力的。潜力就在
1. java library
2. 分布式
我现在的看法是R取代不了,单独一个语言也解决不了所有问题,让各种语言各司其职
,各取所长吧。 |
|