由买买提看人间百态

topics

全部话题 - 话题: clojure
1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
h*i
发帖数: 3446
1
来自主题: Programming版 - 如何找Clojure工作
Clojure工作数量当然不如Scala多,更和Java没法比,但一个人也就要一个工作,所以
找工容不容易要看candidates/jobs的比率。目前并没有多少能写Clojure的人,所以找
工竞争对手少,这个比率还是比较小的,比Java小那是肯定的。一个表现,就是很大比
例的Clojure位置写明了可以远程工作,说明supply小于demand,在本地区招不到人。
下面是几个link,其实自己狗一下就有的:
https://lispjobs.wordpress.com/
http://functionaljobs.com/
其他的在常见的job网站上就可以搜到。比如
http://careers.stackoverflow.com/jobs/tag/clojure
http://www.indeed.com/q-Clojure-jobs.html
http://www.simplyhired.com/k-clojure-jobs.html
https://angel.co/clojure/jobs
https://www.linkedin.com/job/clojure-jobs/... 阅读全帖
p****o
发帖数: 1340
2
来自主题: Programming版 - [bssd]使用clojure的一些个人体会
就冲着hci说过的“clojure没有坑”这句话,我就试水了一下clojure,写了几个小程
序。现在给大家汇报一些使用体会。
1. 包管理超强。程序猿可以集中注意在编程,而不是其他乱七八糟的东西上。
2. 作为一种 FP 语言, clojure 有个性,在很多问题上强迫你转换思维。
3. clojure 非常简练,没有废话。
4. 库质量很高,即使是 github 上的三方库的问题都很少。这和 clojure 的语言设计
有关系的,当然用 clojure 的 nerds 水平相应也比较高。
5. clojure 的 FP 设计使得写程序很方便。具体例子,有两次使用的库没有我需要的
功能。看了库的代码后,自己就搞了functor,嵌入到库的framework上了。这在
python 或者 R 上是非常困难滴。
6. clojure 嵌入别的语言很容易,比如用来写网页,无论是HTML还是js。这一点对别
的语言的马工可能不太容易理解,这和 clojure/lisp 的 macro 有关。用 clojure 生
成一个 domain specific language 相对容易,而且自然。... 阅读全帖
r*****3
发帖数: 143
3
来自主题: Programming版 - 《Clojure编程乐趣》英文文字版[PDF]
中文名: Clojure编程乐趣
原名: The Joy of Clojure
作者: Michael Fogus
Chris Houser
图书分类: 软件
资源格式: PDF
版本: 英文文字版
出版社: Manning
书号: 9781935182641
发行时间: 2011年
地区: 美国
语言: 英文
简介:
内容介绍:
If you've seen how dozens of lines of Java or Ruby can dissolve into just a
few lines of Clojure, you'll know why the authors of this book call it a "
joyful language." Clojure is a dialect of Lisp that runs on the JVM. It
combines the nice features of a scripting language with the powerful
features of a production environment—feat... 阅读全帖
h*i
发帖数: 3446
4
不是大牛,我学Clojure以前没有接触过任何LISP。所以不懂scheme, 据我听说,
Clojure不是很纯粹的LISP, 除了list之外,还引入了其他核心数据结构,map, vector
, set,就是{}, [], #{}, 不像其他LISP只用(),所以把数据弄来弄去的倒腾很容易,
很直观;没有reader macro, 社区也不鼓励用macro, macro主要是高手们用来作轮子用
的,一般应用程序猿基本不用宏,所以有些LISP程序员不喜欢Clojure。不过Clojure的
用户也不是他们,而是我们这种本来用Java的人。
其他的,主要就是Clojure的数据缺省是强制性immutable的,没有变量的存在,scheme
应该不是这样的。这样的话,一般程序员学Clojure一开始,可能会觉得自己都不会编
程了,因为不能用for loop啥的。Clojure的for是list comprehension, 和for loop
完全不同, Clojure的loop recur倒是有点像for loop, 不过也是被皱眉头的。
当然Clojure用熟了,核心的那些map,... 阅读全帖
h*i
发帖数: 3446
5
来自主题: Programming版 - Clojure主要用途是什么?
我个人的看法,Clojure主要适用于繁杂的数据转换。现实中用Clojure的大部分人都在
用它做Web, 可能主要是因为web应用说白了就是数据的整合和转换。Clojure其他的功
能都是锦上添花。比如理论上很好听的大并发啦啥的其实用到的地方很少,算是吸引人
进来的噱头。人进来能呆下来的原因,其实是因为数据处理的方便。
Clojure日常编程主要的任务就是在用一些常用函数把几个常用数据结构折腾来折腾去
。Clojure代码的可读性很强,就在于常用的东西就那么几个。从某种意义上说,
Clojure把C系语言的常用结构扩展了一点点,从一切都是循环,变成了一切都是几十个
函数在几个数据结构上操作,记住了就完了。
当年我用C作主打语言的时候,其实也能记住标准库的所有函数,所以觉得Clojure其实
复杂程度和C也差不多。而Java更复杂,要理解一个Java写的东东需要很长时间,主要
是因为Java OOP把什么东西都包起来藏起来,而C和Clojure几乎都是裸露的数据结构。
我还是喜欢直白的东西,不愿意学别人的概念体系,也不喜欢用僵硬的体系机构来组织
程序。说白了,Clojure就是吧jso... 阅读全帖
h*i
发帖数: 3446
6
来自主题: Programming版 - Clojure主要用途是什么?
我个人的看法,Clojure主要适用于繁杂的数据转换。现实中用Clojure的大部分人都在
用它做Web, 可能主要是因为web应用说白了就是数据的整合和转换。Clojure其他的功
能都是锦上添花。比如理论上很好听的大并发啦啥的其实用到的地方很少,算是吸引人
进来的噱头。人进来能呆下来的原因,其实是因为数据处理的方便。
Clojure日常编程主要的任务就是在用一些常用函数把几个常用数据结构折腾来折腾去
。Clojure代码的可读性很强,就在于常用的东西就那么几个。从某种意义上说,
Clojure把C系语言的常用结构扩展了一点点,从一切都是循环,变成了一切都是几十个
函数在几个数据结构上操作,记住了就完了。
当年我用C作主打语言的时候,其实也能记住标准库的所有函数,所以觉得Clojure其实
复杂程度和C也差不多。而Java更复杂,要理解一个Java写的东东需要很长时间,主要
是因为Java OOP把什么东西都包起来藏起来,而C和Clojure几乎都是裸露的数据结构。
我还是喜欢直白的东西,不愿意学别人的概念体系,也不喜欢用僵硬的体系机构来组织
程序。说白了,Clojure就是吧jso... 阅读全帖
h*i
发帖数: 3446
7
来自主题: Programming版 - 介绍一个学习Clojure的好地方
Clojure一般自建系统,比如搞deeplearning有cortex,等等,不用Clojure的话也不会
知道。
当然也有一些系统是给大家用的,比如metabase, riemann,还有以前的Storm。
Clojure是糙快猛,因为一两个人可以干其他语言十几个人甚至更多人干的事。
比如我的最早的付费用户一直以为我司有几十个人,其实就我一个人加上三个实习生在
写Clojure代码。这些实习生来之前都没听说过Clojure,三个月后完成一个大项目,从
UI设计到数据库,全部用Clojure/Clojurescript实现了,你说是不是糙快猛?
以前我不用Clojure的时候,我觉得搞个DSL很高大上,现在觉得很自然很容易。我两个
星期搞出一个我司现在核心的DSL, compiler, runtime都有了,一个月就加上个Web
based IDE。这些不用Clojure是不可能的。
h*i
发帖数: 3446
8
我不懂Haskell, 只会Clojure。 以下是一些对比,完全基于我知道的事实:
1. Haskell是搞计算机语言研究的学术界人士组织了一个委员会来发明的语言,发明于
1990年。目前是计算机语言实验研究的一个通用语言,而且是很多大学计算机系的正式
课程。
Clojure是工业界的一个人发明的语言,发明于2007年,发明人Rich Hickey没拿过计算
机学位,而是学音乐出身的,其职业是程序员。据我所知,目前没有什么大学计算机系
把Clojure放入正式课程。
2. Haskell是直接编译成机器码的原生语言。
Clojure是寄生语言,编译成宿主语言或者代码,目前在JVM上编译成Java byte code,
在Javascript上编译成Google Closure javascript code, 在.net上编译成CLR byte
code, 其他宿主包括Flash, python, ruby, 甚至还有perl。作为寄生语言,Clojure追
求和宿主共生,尽量利用宿主的生态环境,和宿主语言相互调用一般很方便。
3. Haskell是ML系的FP 语言, Clojur... 阅读全帖
t**r
发帖数: 3428
9
来自主题: Programming版 - use clojure data collection in java..
在java里用clojure的immutable data collection, 比如persistentHashMap.
这样用好处是immutable?具体来说immutable能解决多线程的问题?
compound operation还是得自己保护吧?
package persistent;
import clojure.lang.IPersistentMap;
import clojure.lang.IPersistentSet;
import clojure.lang.IPersistentVector;
import clojure.lang.PersistentHashMap;
import clojure.lang.PersistentHashSet;
import clojure.lang.PersistentVector;
public class PersistentTest {
public static void main(String[] args) {
IPersistentMap m = PersistentHashMap.create("... 阅读全帖
h*i
发帖数: 3446
10
其实喜欢Clojure,又有能力搞ML的话,参加进去,把Clojure的ML库搞起来还是大有可
为的。目前Clojure生态环境里面大多是没有什么数学背景的程序员,学术届也几乎没
有什么用Clojure的,但Clojure其实非常适合搞数据科学,只是有这方面背景的
Clojure程序员太少了。
这个aria42当然不是一般人,是Stanford出来的博士,Chris Manning的学生,发过不
少文章的。Stanford的人搞starup很有风气,这人就去搞了个公司,用Clojure的,后
来公司被买了,现在估计还在坐四年监狱,所以没事就写了个这个库。
h*i
发帖数: 3446
11
很多Clojure书的第一章会比较clojure和java的括号层数,结论是一样多,无非是括号
位置不同,Java其实是把同样的金字塔拉长。而增加代码行数会减少代码可读性。实验
研究表明只有代码行数是和可读性直接成负相关的,和语法无关。这是为什么理解一个
Clojure包的最简单办法是读代码,而理解Java包的最简单办法不是读代码,而是读文
档。
Clojure一般用2个字符缩进,没有人用4个字符缩进。
Clojure可以用->, ->>, as->宏来把代码搞平,比如下面的代码:
(defn bag-of-words
[docs]
(->> (r/map remove-hashtag-screenname docs)
(r/map tokenize)
r/flatten
(r/remove #(= "" %))
(r/map s/lower-case)
r/foldcat))
这是我们产品里面的代码,干什么的一眼就看明白了吧。r/xyz是Clojure reducer包里
面的函数版本,用来并发提速的。
O... 阅读全帖
h*i
发帖数: 3446
12
来自主题: Programming版 - clojure 在业界比scala的job要多。
I am not sure.
Clojure is one of those languages that once you go there, you will not go
back. I doubt a Clojure shop will be using Clojure "in addition to Java".
Once Clojure is used in a team, there is simply no benefit of using Java for
this team any more. Because whatever Java delivers, Clojure delivers better
. OOP? Check; Ecosystem? Check;
The only thing prevent Clojure from being adopted is the FUD that some old
guards are tirelessly spreading around. It does not matter. Old guards die.
h*i
发帖数: 3446
13
用武之地很多,前后端都可以用。可以做到前后用一样的语言,很适合小团队做一个完
整的产品。数据分析型初创公司用Clojure的很多。
大公司的新产品也开始有用Clojure的, 比如现在Walmart打印出来的每张recipt后端
都要走Clojure的code path (https://www.youtube.com/watch?v=av9Xi6CNqq4)
Walmart这个项目算典型的Clojure大项目,大量使用Clojure的OOP特性,用各种
protocol和component。我自己的创业公司的clojure code也是写成这样的。这其实和
Java Spring的项目结构差不多。
h*i
发帖数: 3446
14
来自主题: Programming版 - Clojure上手123
1. 先设好Clojure的编程环境。编辑器(emacs;vim用fireplace)或者IDE(IntelliJ
用cursive; Eclipse用CCW;还有lighttable)啥的,根据自己的喜好设置好,必要的
LISP插件装好,比如paredit啥的,不要闹“数括号”的笑话。最终目的是在这个环境
里能方便地(一个快捷键)用REPL跑代码。Clojure程序是从下到上,一个小函数一个
小函数的用REPL试出来的。
2. 我个人觉得刷4clojure是必须的。自己作完了一个题,再看看高手的代码(跟几个
高手就行了),可以提高很快。等核心的函数基本上记住了(大概作了一百道题之后吧
),也就差不多了。然后就看你想干什么了,上手做项目就行了。
3. 做项目要学会用lein。读lein的example project.clj很有用。
Clojure是反框架的,所以不要期望有什么大而全的框架可以学,都是各种各样的小库
,需要的时候github上找。一般常用功能都能找到几个库,根据自己的喜好和库的情况
选一个,如果github一年都没更新过的库,那就算了。一般的库都没啥文档,看代码就
行了... 阅读全帖
h*i
发帖数: 3446
15
来自主题: _FunctionalProgramming版 - Clojure
After almost a year, I think I can call myself a Clojure programmer now.
Yes, I have all 4 clojure books on the market. Joy of Clojure is the one I
like the most. Practical Clojure is pretty good too. But what really got my
going is actually doing Clojure programming exercise in a functional style.
4clojure.com is a good place to try. Project Euler is good too, there's a
euler-clojure wiki where people share their solutions.

and
OnLisp
h*i
发帖数: 3446
16
我觉得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 ... 阅读全帖
h*i
发帖数: 3446
17
来自主题: Programming版 - Clojure上手123
Rich Hickey在今年JavaOne会议上的talk,算是他最新的也是最明确的对Clojure的宣
传了。不了解Clojure的程序员,特别是Java程序员,如果有一个小时空闲的话,可以
看看:
http://youtu.be/VSdnJDO-xdg
Clojure经过这么多年的应用,现在社区对Clojure的真正优势有了共识,他这个
Talk算是在阐述这个共识:那就是Clojure是一个以数据为中心的语言。
h*i
发帖数: 3446
18
说明Clojure成熟了,不再是个hippie语言了。
我说过了,Clojure适合某些类型的老程序员,会成为这些人的最后一个语言。每一代
的程序员里面都会出现相当数量的这种人。这些人会发现它,并且发誓只用它。这种宗
教热情,在别的语言可能比较少见。
而且因为Clojure是寄生型的,会适应环境,所以Clojure会一直存在下去,在各种地方
都会出现。
O***b
发帖数: 104
19
这个提法还真是第一次听到,safe option for startup,确实是很关键的一个评价标
准。
我曾经让学生用 Clojure seesaw 做了一个 GUI 来练手,主要用途是让使用者听一段
录音,然后对录音内容做出匹配选择。这个学生没什么编程功底,但是捣鼓捣鼓几个礼
拜也就做出来了,而且分发出去大家用得都挺顺手。当然了,界面是基于Swing 的所以
丑了点。虽然 GUI不是Clojure /JVM 的主攻方向,但是它出活的速度和质量,我还是
很满意的。
总体而言我觉得 Clojure/Clojurescript 很适合小团队创业用。如果这套东西的趋势
真的是聚拢到创业小团队上,那么Clojure 在后端的整体占比不再增加恐怕也是正常的。
h*i
发帖数: 3446
20
来自主题: Programming版 - 大家推荐clojure几个重要的库?
number crunching其实不管用什么语言,底层的东西都是BLAS这类,或者用GPU,所以
没有什么Clojure不适合的道理。
Clojure非常适合处理数据,是所谓data oriented programming。
所以看你想干什么。
如果想要自己实现算法,Clojure很合适。我以前在这儿说过,用Clojure实现number
crunching算法非常方便,我自己实现过不少,基本就是按文章上的伪代码翻译。因为
人写的number crunching的伪代码,其实都是用FP的风格, 即使他自己实现的时候用的
C++,用imperative风格来实现的,但他描述这个算法的时候,不用FP风格的话,文章
的小篇幅是讲不清楚的。
如果你想用现成的东西,那Clojure是没有啥可用的(其实Java也没啥可用的),你不
如用R用python来得方便。
h*i
发帖数: 3446
21
看你想要什么样的typing,Clojure大多能支持。
1. 如果你要Java那种,手工搞一堆class,Clojure有deftype, defprotocol,
defrecord这一套,其实就是现代的基于interface的OOP,不搞继承,program to
interface。
2. 如果你要Haskell这种,infer type的, Clojure有core.typed。
3. 另外就是core.spec, Clojure独有的一种typing的方法。
1和3在Clojure里面是非常普及的。比如我们在谈的flare库,就大量使用这两种typing。
d*******r
发帖数: 3299
22
来自主题: Programming版 - Clojure Storm 用在生产环境中如何?
Clojure Storm 用在生产环境中到底如何,简单可靠吗,坑多不多...?
我们组里讨论完,老板同意试用 Clojure Storm 来做做数据分析。
我呆在中部地区一个做Sports视频直播的小公司(农村人民特喜欢Sports, 我们还有不
少用户),公司从视频录制, 到上传到我们AWS的servers 上,再到最后分发 streaming
到 终端player,都是我们自己在写。
现在需要较快地分析大量从 终端player 软件上返回的各种信息, 比如直播效果和广告
的信息。
大家讨论说 hadoop2.0 是不是太慢太复杂,干脆去看看能用 Clojure Storm 不 --
其实我们组在这方面都是些菜菜,大家瞎折腾... :D
大牛们有在实际生产中用 Storm 相关的经验吗? 用这东西主要要注意哪些坑?还有,
我们都是些主用 Python 的菜菜,如果组里先不用 Clojure,只用 Python 能玩得动
Storm 不?
我们现在需求还有点模糊,等回头做了一阵可能再来请教大家。
h*i
发帖数: 3446
23
是的,LISP好学。语法简单,就没有什么语法。
在过去只有单色显示器的时候,括号太多可能是个可读性问题。现代的编辑器都是彩色
的,每层括号都有不同的颜色,就不存在这个问题了。而且LISP程序员读LISP代码的时
候是看不见括号的,代码的缩进更重要,这个和其他语言没有什么区别(python?)。
而在写代码的时候,有括号是有很大的帮助的,用paredit这种类型的工具,感觉不是
在编辑一串文本符号,而是在操作一个个代码的语义单位。总的来说,感觉更接近人的
高层思维一些。
我个人觉得Clojure最大的好处是对数据的处理非常的直观,不像其他编程语言,数据
的模型是放在程序员的脑袋里的,需要自己去想象数据长啥样,而在Clojure里面,所
有数据结构都是可视化的,和JSON差不多:
比如()是表,和其他LISP不同,Clojure里面很少直接用表来作数据结构,一般用
vector和map, 也就是[]和 {}。比如在代码里面直接就写
[{:id "hci" :work nil :location "CA"}
{:id "goodbug" :work "netflix" :location "... 阅读全帖
h*i
发帖数: 3446
24
static typing, dynamic type, 这是永远扯不清的。
我个人没觉得static typing对我写程序有多大帮助,从static的Java换到dynamic的
Clojure,我没有觉得缺少了什么东西。大概static typing的好处我没感受到吧。你说
的IDE的这些方便东东, dynamic语言也能做到,实现的方法不同而已,比如用王垠那种
东西。对用户来说,如何实现的不值得关心,一样的用就行了。Clojure的ligthtable,
cursive等等据说都是很好的IDE,应该也有这些自动补全的功能。
个人的编程风格不同,我没要试图说服你。我以前是Java程序员,Java对我来说是has
been,你这些说法对我没什么用,所以也不要试图来说服我。
统计表明,大部分Clojure程序员以前是Java程序员,很少有FP背景的人变为Clojure程
序员的,因为那些人都很恨JVM,哈哈。
n******7
发帖数: 12463
25
谢谢建议
今天看了一个比较scala和clojure的blog也说这个community的问题
The Community
Ok, so Scala gets a 3.5 star rating. I deducted 1 star from Scala because
Martin Odensky doesn’t attend it. I asked how people got in touch with him
and I got comments like “He contacted me on Skype once”, “He uses white
rats as messengers” etc. He’s not involved and interacting with the
community in the same way Rich Hickey (author of Clojure) is and that really
makes all the difference. The last 0.5 star I deducted was because I
act... 阅读全帖
c******o
发帖数: 1277
26
重点在clojure的一致和简单,所有的程序在clojure的眼中都是类似这几个程序的结构
,没有例外。
只以简单的几种基本数据为重点,通过各种函数转化,再加上无所不能的macro(因为
clojure/lisp的哲学,数据和程序是一模一样的结构,所以macro用一致的数据方法处
理已有的程序,动态改变,重写,几乎是无所不能的,真正强的dsl在这儿)。
习惯以后是极简一致后的一种奇怪的感觉,好像一切cs都在那几个秘籍中的感觉。
哦,我是抛砖引玉,clojure不是我的主要语言,其他大牛们再说说。
h*i
发帖数: 3446
27
来自主题: Programming版 - Clojure主要用途是什么?
clojure能做前端,用Clojurescript。
但目前很少有只用clojurescript而不用clojure作后端的。一般来说,后端已经用了
clojure的小组,为了前端能继续用他们喜欢的语言,还有就是追求前后端的对称性,
比如用同样的代码来进行HTML渲染,很多人就在前端也用clojurescript。
特别是现在clojure 1.7引入条件编译以后,同一个cljc文件可以同时含有clj和cljs代
码,就更能促进前后端的代码共用。
h*i
发帖数: 3446
28
来自主题: Programming版 - Clojure主要用途是什么?
你说的数据处理是numerical analysis,已经是规整的矩阵数据了。我说的数据处理是
日常的ETL,是进来乱七八糟各种各样的数据,出去也是乱七八糟各种各样的数据。
clojure作numerical analysis现在还不行,主要是没有有闲的专业人士来弄。学术界
的人用clojure的很少,用clojure的人大都是搞web应用的,没这闲功夫,可能也没有
能力来弄比较好的numerical analysis库,需要啥的时候,得自己弄。
至于乱七八糟数据的ETL,还没有比clojure更方便的。
h*i
发帖数: 3446
29
来自主题: Programming版 - Clojure主要用途是什么?
clojure能做前端,用Clojurescript。
但目前很少有只用clojurescript而不用clojure作后端的。一般来说,后端已经用了
clojure的小组,为了前端能继续用他们喜欢的语言,还有就是追求前后端的对称性,
比如用同样的代码来进行HTML渲染,很多人就在前端也用clojurescript。
特别是现在clojure 1.7引入条件编译以后,同一个cljc文件可以同时含有clj和cljs代
码,就更能促进前后端的代码共用。
h*i
发帖数: 3446
30
来自主题: Programming版 - Clojure主要用途是什么?
你说的数据处理是numerical analysis,已经是规整的矩阵数据了。我说的数据处理是
日常的ETL,是进来乱七八糟各种各样的数据,出去也是乱七八糟各种各样的数据。
clojure作numerical analysis现在还不行,主要是没有有闲的专业人士来弄。学术界
的人用clojure的很少,用clojure的人大都是搞web应用的,没这闲功夫,可能也没有
能力来弄比较好的numerical analysis库,需要啥的时候,得自己弄。
至于乱七八糟数据的ETL,还没有比clojure更方便的。
h*i
发帖数: 3446
31
来自主题: Programming版 - Clojure上手123
三周完全够了。其实4clojure那种“自己实现某核心函数“的题有点误导,完成这些题
往往需要recursion。但在真正的项目中,很少用到recursion,基本上就是直接用各种
核心函数组合起来,很适合ad hoc数据处理。
等你翻过了坎,做了一些项目,就会意识到,从本质上说,Clojure其实是很
imperative的,真正项目的大部分代码都是在隐含包在do里面,比如在let,doseq等等
里面,这其实都是在一步一步执行的。所以用Clojure实现算法的pseudo-code往往觉得
是行行对应的。
总的来说,Clojure是一个实用性的语言,口味是追求简单实用的,并不追求什么纯粹
性, 这和haskell完全不同。比如我完全不懂什么是monad,但一点也不妨碍我用
Clojure。
h*i
发帖数: 3446
32
来自主题: Programming版 - Clojure上手123
现实。
这其实是个机器执行性能和人的生产力的矛盾,平衡点在哪里要看用例,这是一个CTO
技术眼光的问题。
haskell这些编译成优化的机器码的当然性能不错,但生态环境要差点。Clojure直接用
Java的生态环境,出东西快,而且稍微费点功夫去优化代码(比如用array而不用seq,
用unchecked math, 用type hint,等等),也可以做到和Java一样的性能。
关键就看值不值得去优化。一般Web应用,瓶颈在网络,所以大家用Clojure不怎么优化
也觉得就够了。有的应用,比如数值分析,那Java也不行,还得调用原生的Fortran库
,这个Clojure也能作。
总之Clojure的哲学是让方便的东西方便,简单的东西简单,需要优化的地方可能优化
,尽量把语言本身带来的复杂性去掉,留下问题本身的复杂性让人来解决。
g*****g
发帖数: 34805
33
来自主题: Programming版 - Clojure上手123
这个需要我怕吗?你丫鼓吹了clojure好几年,clojure牛逼了吗?你丫喜欢clojure,
没什么不行。但成天自我安慰啥clojure这种语言才是未来,就是不敢面对现实被现实
生生打脸
,根本不用我来。也不撒泡尿照照镜子,看看谁是活宝。

呵。
O***b
发帖数: 104
34
我在 LA 的时候经常去 Clojure meetup ,组织者都是 Factual 公司的人,这个公司
是比较死忠的 Clojure shop,很核心的基础设施都是Clojure搭的。不知道这几年
Factual发展怎么样了,他家在我的认知当中是一个标杆企业。
h*i
发帖数: 3446
35
Factual是个大数据公司,可能也就那样了,最后不卖掉的话,可能也不能做得太大。
发展如何我不太清楚。他们SF办公室的Zack Tellman已经走了几年了。
现在初创公司用Clojure已经算是一个安全的选择了。很多Clojure公司都exit了。
初创公司,技术选择的重要性主要体现在对资源的要求不同,选Clojure主要是为了少
花钱,多办事。
p*****2
发帖数: 21240
36
来自主题: JobHunting版 - 中国人应该学习Clojure (转载)
【 以下文字转载自 Programming 讨论区 】
发信人: peking2 (clojure), 信区: Programming
标 题: 中国人应该学习Clojure
发信站: BBS 未名空间站 (Sun Nov 17 18:47:16 2013, 美东)
Clojure的Logo就是中国古老的阴阳鱼。
g*******o
发帖数: 156
37
来自主题: JobHunting版 - 中国人应该学习Clojure (转载)
clojure挺有意思的。有时候会有错觉,感觉clojure coding就象以前做数学证明和推
导,哈哈~~
话说回来写ruby也挺爽,就是效率不如clojure。。。
d*******r
发帖数: 3299
38
来自主题: Programming版 - clojure这语言真不错
为什么要混用,node.js 写复杂点的算法不行吗?
另外,一直没搞懂,为什么clojure没有scala那么流行。
Clojure貌似可以寄生在任何一门语言中: http://langlangmatrix.com/
二爷是要用 ClojureScript 和 Node.js 一起用吗? 这样就全是 JavaScript 了
发个好玩的 IDE,Clojure 专用,支持所谓 Live coding
http://www.chris-granger.com/lighttable/
c******o
发帖数: 1277
39
来自主题: Programming版 - Scala or clojure
there is no problem to use either.
the key is what project you gonna do.
you should use clojure for prototype/fast project/not known project
for long term/big team/well understood project, i definitely say scala.
clojure has one way to do things and very clean. but that way is not the
best for everything.
scala is very complex if you want to use all powers. but it really the only
thing you can use like a Haskell and at the same time use like a clean power
Java. a good plan IMO can make scala co... 阅读全帖
p*****2
发帖数: 21240
40
来自主题: Programming版 - 发现Clojure才是语言的王中王
发现无论使用什么语言的大牛到了评论Clojure的时候都赞不绝口。连zhaoce这样对语
言极端挑剔的大牛也对Clojure钟爱不已。
看来学习Clojure才是王道呀。
z****e
发帖数: 54598
41
来自主题: Programming版 - 写clojure写起来真的很爽
一个人单干,那效率是杠杠的
少写很多文字,各种符号飞过啊
map #(+ % 5) [1 2 3]
-> [6 7 8]
用java的话会写很多
你用python的目的是什么?
难道不是让别人更容易看懂你的代码?
你用clojure来写会让别人很难阅读你的代码
clojure是让别人抓狂的代码,最好不要在team work中用
用了接手的人一定会在心中默默问候你家人
但是如果你要参加什么编程比赛,或者只有一个人时候创业
或者给面试的人一个下马威,那用clojure其实挺好
你小样,看哥写得比你快多了,好处是对方如果不懂的话
不能随便说你错,皇帝的新衣
m******t
发帖数: 635
42
来自主题: Programming版 - 写clojure写起来真的很爽
clojure可读性很强的,像macro这样的重武器一般很少用,recursion和lazy seq用的
也不多,一般做应用的话基本的那套seq就搞定很大一部分活了
clojure的符号真的用的不多, 常用的有(), [], #{}, #, %, ',“, 真不算多,用
macro的话,倒是很费脑力,各种符号满天飞,clojure和clojurescript还稍有不同
m******t
发帖数: 635
43
来自主题: Programming版 - tdd for Clojure project?
just use the built-in Clojure.test?
玩票Clojure也一年多了,以前都是自己的toy project,这次第一次要上生产系统,写
测试的话,用哪个库比较好,还是就用clojure.test就可以了?
二爷给点建议呗
n*****3
发帖数: 1584
44
请教一下· CLOJURE DataManipulation/Data munging 好写吗? 我觉得 CLOJURE
没 dataframe 这东西啊。。。

我们组 要 用 CLOJURE 把 R 写 的 Data munging/FEATURE ENGINEERING code
重写, move everything to JVM
h*i
发帖数: 3446
45
你说的flat无非就是给一个东西一个名字,这个方式在小范围是有效的,在Clojure里
面,一般用let来实现:
(let [place (.rise sun)]
(.go goodbug place))
问题是如果只有这么一种flat的办法,用在一切地方,就过分的,成了kingdom of
nouns.
clojure的办法就多一些,一是数据的直白化,二是用常用的宏来扁平化,三是在合适
的地方用名字。
不同的人喜欢不同的风格吧,比如我写Java的时候也是从来不用debugger的,从来不设
断点,喜欢打印式debug。我喜欢clojure也不奇怪。
h*i
发帖数: 3446
46
其他的FP语言我不知道。在Clojure这个生态环境里面,目前我还没有发现有啥缺了没
人作的东东。JVM上啥没有?Clojure只是JVM上薄薄的一层。想用一个FooClass类上的
method1和方法method2?
(doto (FooClass. "bar" 1)
(.method1 arg1)
(.method2 arg2))
就这么简单。
我不用IDE而已,我看那些用IDE的Clojure程序员也很高兴,没觉得缺了啥。我是从IDE
党转成vi党的,这又怎么说?
f******x
发帖数: 98
47
完全同意,我也是在做完4clojure上的题目后才真正理解和认同Clojure的philosophy。
编程不学LISP,纵写亿行也枉然
Clojure,Clojure,不用赋值最牛逼,
l*********s
发帖数: 5409
48
来自主题: Programming版 - clojure的书那本好 适合学习?
programing clojure and clojure programming, + the joy of clojure
h*i
发帖数: 3446
49
来自主题: Programming版 - clojure的书那本好 适合学习?
Emerick, Carper & Grand, Clojure Programming, O'Reilly, 2012. 比较系统和全面
,适合从头学习。
Fogus & Houser, The Joy of Clojure, 2nd Edition, Mannings, 2015
更深一些,写得比较chatty, 但是对掌握Clojure的思想精髓很有帮助,没事可以读读
玩。
还有就是做题, 4clojure.com
h*i
发帖数: 3446
50
来自主题: Programming版 - clojure 在业界比scala的job要多。
That's because you are not a Clojure user. Clojure's not for everyone. But
for people who like it, there's no reason to choose Java over Clojure. That'
s the truth.
You don't like it, that's fine. But denying that truth doesn't work. Because
you are not one of those people who like it.
The static vs. dynamic debate is like a religious wars, It doesn't make
sense for static people to bash dynamic people. For example, I never felt
what the static language does for me is useful. Because most of the... 阅读全帖
1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)