由买买提看人间百态

topics

全部话题 - 话题: clojure
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
d********g
发帖数: 10550
1
来自主题: Programming版 - 以后Web就是Node的天下了
二爷能保证未来JVM上不会又冒出个新的语言把Clojure给干了?Python的缩进都导致一
些人不愿意碰,Clojure在JVM现在是没啥好选的,如果出一个更适合Java码工风格的,
Clojure还能活?JVM成了谁都能上的公交车,换语言还不是跟换衣服一样勤
这些都是未来,反正我们现在说的都没数据支持,那就当作纯意淫好了。这个说法没错
吧?

startup
a*f
发帖数: 1790
2
来自主题: Programming版 - 以后Web就是Node的天下了
原文是这样的:
In addition to the micro apps written to date, a Table also rebuilt the
entire legacy Java frontend replacing the entire 155,000 lines of have with
about 4000 lines of Clojure (accompanied by a large number of Moustache
templates shared by Node).
没办法看见他的改动,所以我按照他提供的信息来给你做个分析:
原来的系统里面有很多Form,每个都在JSP页面里面单独设计。新的系统里面这些Form
都用Moustache来做模板。注意工作量没有省掉,作者没提做了多少个模板。然后
Clojure只是用来调用这些模板而已。
这个例子看上去并不说明Clojure多强大,只是说明原来系统可以通过设计改进减少很
多编程。如果你觉得我这样说法还不够的话。我给你举个简单例子,以前的Form
Validation都要写代码验证,基本上每个Field ... 阅读全帖
d********g
发帖数: 10550
3
来自主题: Programming版 - 以后Web就是Node的天下了
15.5w行Java并不包含template部分:
“30,000 lines of JSP, 50,000 lines of javascript”
这些都是mustache做的,Java应该主要在所谓business logic
我不是很关心Clojure和Java谁牛,我只是说JVM内部是会干架的。这不你不就不服Java
干不过Clojure,要找Clojure单挑了吗
h*i
发帖数: 3446
4
来自主题: Programming版 - 以后Web就是Node的天下了
说得不错。
Clojure的哲学就是拥抱宿主,不管是在Java也好,Javascript也好,.net也好,甚至
android, iOS, 等等,都不是想取代宿主,而是要搞得比宿主语言爽点。这样Clojure
程序员到哪儿都有用武之地。
“Clojure is the new C”,uncle bob说得有点道理。

Java
b***e
发帖数: 1419
5
来自主题: Programming版 - Scala 1-star, would not program again
I in fact do not expect to see either clojure or scala survive for long (
they actually remind me of dojo ajax framework). Common Lisp syntax cannot
be appreciated by common developers. Scala's complication in language
features and type inference will eventually be a problem for common
developers as well. You, apparently, are among top level professionals as a
software engineer. I do not expect the vast majority of software
developers to reach your level of skills, interests and enthusiasm. ... 阅读全帖
p*****2
发帖数: 21240
6
来自主题: Programming版 - Node做大系统better than Java, .NET

immutability (JS code里mutable state漫天飞)
//immutability没有那么神奇,scala,clojure都允许mutate, 另外node是single
thread, mutation一点问题没有
laziness (好像没听说JS有)
//除了FP,其他语言都没有吧?有什么大问题吗?
seq (clojure/F# 里都有,JS不知道,估计得第三方)
//为什么一定需要这个?
tail-call optimization (好像也没听说)
//iteration不比tail-call更方便?Clojure还不是没有,只能模拟iteration了?
p*****2
发帖数: 21240
7
来自主题: Programming版 - Javascript确实是最优秀的语言之一

ECMASCRIPT
JS里的function可以有method,property,可以转换index, Clojure,Scala可以吗?
JS里的function有prototype, Clojure, Scala有吗?
你应该考虑一下为什么JS比Clojure,Scala流行度要强太多了。如果不好,早就没人用
了。
p*****2
发帖数: 21240
8
来自主题: Programming版 - 看来没跳Scala的坑是对的

我感觉能用好实在是太难了。
我当时也学过Scala几个月了,还是不敢下手,宁可新学一门Clojure。
Scala一开始学耳目一新,马上就想fuck Java,可是学的时间越长就越觉得自己陷进去
出不来了,这个感觉很不舒服。做项目的话,我感觉将就能做,但是能预料会出一堆问
题。比如method和function的区别,这些在Clojure里都不存在,因为只有function。
在Java里也不存在,因为Java只有method。我还是更喜欢简单,简洁,灵活的语言。
Node.js, Clojure都很好的满足了这个特点。Java是简单了,但是不够简洁很灵活。
Scala是可以简单,灵活,但是搞的太复杂了。很多地方像Ruby,但是都没有Ruby好用。
p*****2
发帖数: 21240
9
来自主题: Programming版 - 看来没跳Scala的坑是对的

我感觉能用好实在是太难了。
我当时也学过Scala几个月了,还是不敢下手,宁可新学一门Clojure。
Scala一开始学耳目一新,马上就想fuck Java,可是学的时间越长就越觉得自己陷进去
出不来了,这个感觉很不舒服。做项目的话,我感觉将就能做,但是能预料会出一堆问
题。比如method和function的区别,这些在Clojure里都不存在,因为只有function。
在Java里也不存在,因为Java只有method。我还是更喜欢简单,简洁,灵活的语言。
Node.js, Clojure都很好的满足了这个特点。Java是简单了,但是不够简洁很灵活。
Scala是可以简单,灵活,但是搞的太复杂了。很多地方像Ruby,但是都没有Ruby好用。
m******t
发帖数: 635
10
来自主题: Programming版 - 俺最近写lisp写得很开心
Racket就是一个工业化的scheme吧, 听起来很有意思啊。我在想你那个系统如果上
Clojure的话,是不是就内核和界面都搞定了?
关于Clojure和Ruby给展开说说吧,比如为啥Clojure在JVM上跑就没啥意思啊,我怎么
感觉无数Lisp变种都是因为ecosystem太小,各种库稀缺而死的啊, Clojure借jvm的东
风貌似很明智啊
Ruby在Scalability和QoS(这个放这里是从何谈起?)上很强么?
z****e
发帖数: 54598
11
来自主题: Programming版 - 王垠的这篇写的不错
王垠的结语:
程序语言与政治
很多人都曾经妄想着所谓的“社会主义”和“共产主义”能拯救全人类,就像很多程序
员都妄想着某一种最近流行的语言能够把他们从繁琐的编程工作里拯救出来一样。几十
年前,所谓的“革命者”为了这些很酷很炫的名词,试图把从前的一切文化都焚毁掉。
腐朽的资本主义!吃人的旧社会!这就像现在很多 Scala/Clojure/Go 的狂热分子对
Java 之类的语言充满了敌意,一提到这些语言心里就是火。腐朽的 Java,不思进取的
Lisp,Scala/Clojure/Go 就是你们的掘墓人!然而他们没有发现,那些他们试图完全
抛弃的语言里面其实有科学合理之处。他们没有看到这些东西之所以存在于那些语言里
,是经过了历史的经验教训。这些教训如果不被理解和吸取,当遇到同样的问题,这些
新语言就会一样的堕落掉。
有些程序员妄想着 Clojure 和 Go 所谓的 “纯函数式数据结构”,“transactional
memory”,“goroutine”等酷毙帅呆的新概念能够一劳永逸的解决并发计算的重重困
难,妄想着 Scala 能够让面向对象和函数式编程完美的结合。可是他们没有看到... 阅读全帖
z****e
发帖数: 54598
12
给你们解读一下王在写什么吧,看看在说谁,哈哈
程序员的心理疾病
说实话,虽然似乎为之奋斗了十多年,在真正进入软件行业的短短一年之后,我已经对
它感到相当的厌倦了。这并不是说这个行业没有前景,而是在这个行业工作,其实很难
得到心理上的快乐。
...
由于程序员的工作最近几年比较容易找,工资还不错,所以很多程序员往往只看到自己
的肚脐眼,看不到自己在整个社会里的位置其实并不是那么的关键和重要。很多程序员
除了自己会的那点东西,几乎对其它领域和事情完全不感兴趣,看不起其他人。这就是
为什么我的前同事 TJ 作为一个资深的天体物理学家,在一个软件公司里面那么卑微。
貌似会写点 node.js,iOS 软件的人都可以对他趾高气昂的样子,而其实这些东西的价
值哪里可能跟 TJ 知道的物理知识相提并论。让人感觉是在阴沟里翻了船被老鼠欺负。
------------在骂node.js,二爷此处不爽
如果力学工程师犯了错误,飞机会坠毁;如果结构工程师犯了错误,大桥会垮塌;可是
如果软件工程师犯了错误,大不了网站挂掉一小时,重启一下貌似又好了。所以所谓“
软件工程师”,由于门槛太低,他们的工作严谨程度,其... 阅读全帖
c******o
发帖数: 1277
13
来自主题: Programming版 - Scala这次又被比下去了
不到极限看不出来,大部分人用不到极限。
一般来说是
开发
clojure > scala > java
运行
java > scala > clojure
但是语言在里面影响速度的因素里面占的很少。
clojure的主要问题还是动态,对于多人合作很不利。
r****s
发帖数: 1025
14
来自主题: Programming版 - C++的牛B之处你们都还没体会到
这说到点子上了。
最牛逼的语言,是最接近英语的语言。这样对实现和维护极其复杂的业务逻辑,有巨大
的好处。
绝对不能牺牲clarity来换取brevity,这就是为什么lisp/clojure/huskell之类的语言
根本没法推广的原因。这啥functional programming的语法距离自然语言差距实在是太
大了。
谁都想这样写:
system.out.println("fuck you");
谁都不想这样写:
"fuck you" &(^(*^**&(&(
你再怎么说得天花乱坠啥lamda之类的瞎扯一气,没用。研究编译的不去研究如何改进
程序语言接近自然语言,反而瞎搞些花里胡哨的堆积符号之类实现一些本来早就实现的
功能,整个方向就错了。
重申一句,编译器的最终研究方向,应该是自然语言编程。这难度比瞎胡闹的FP,那可
高得不知道哪里去了。
好吧再比较一下Java和Lisp(或者Clojure之类):
Java一个词搞定:motherfucker
Lisp (Clojure)还得加上括号反过来搞:(fucker mother)
尼玛老子用FP?你弱智还是我弱智?
r****s
发帖数: 1025
15
来自主题: Programming版 - C++的牛B之处你们都还没体会到
这说到点子上了。
最牛逼的语言,是最接近英语的语言。这样对实现和维护极其复杂的业务逻辑,有巨大
的好处。
绝对不能牺牲clarity来换取brevity,这就是为什么lisp/clojure/huskell之类的语言
根本没法推广的原因。这啥functional programming的语法距离自然语言差距实在是太
大了。
谁都想这样写:
system.out.println("fuck you");
谁都不想这样写:
"fuck you" &(^(*^**&(&(
你再怎么说得天花乱坠啥lamda之类的瞎扯一气,没用。研究编译的不去研究如何改进
程序语言接近自然语言,反而瞎搞些花里胡哨的堆积符号之类实现一些本来早就实现的
功能,整个方向就错了。
重申一句,编译器的最终研究方向,应该是自然语言编程。这难度比瞎胡闹的FP,那可
高得不知道哪里去了。
好吧再比较一下Java和Lisp(或者Clojure之类):
Java一个词搞定:motherfucker
Lisp (Clojure)还得加上括号反过来搞:(fucker mother)
尼玛老子用FP?你弱智还是我弱智?
h*i
发帖数: 3446
16
来自主题: Programming版 - 我觉得在scala上浪费时间没意思
随便讲几个我知道的已经exit了的。
backtype, 用Clojure写了Apache Storm,被twitter买了。
Revelytix,被teradata买了。
flightcaster, 被next jump买了。
runa, 经常办湾区Clojure meetup, 被staples买了。(湾区每月其实有两个clojure
meetups,另一个在SF, 一般在几个startups之间轮换)。
还有很多正在搞的startups,我的也算一个,呵呵。
h*i
发帖数: 3446
17
我个人觉得Clojure OO特性挺多的,算是继承了Java oo好的方面,protocol 相当于
interface, record 相当于class, 等等。clojure大系统的写法与写Java大系统很类似
,也用dependency injection, component 很像spring。我觉得Clojure很适合Java 程
序员,沒有失去什么,得到不少。

★ 发自iPhone App: ChineseWeb 8.6
h*i
发帖数: 3446
18
这个就是"worse is better"现象了,等时间来改变。
我学clojure以前从没接确过Lisp,也没觉得有什么问题,习惯了就好,而且现代的IDE
里面,C style和clojure这种改良了的lisp看上去差别没有很大了,都是花花绿绿, 错
落有致的:-)
我个人觉得紧凑的代码更好读,有人说clojure的库文档不好的多,我用多了发现是因
为代码太容易读了,一个库直接去看代码一下就会了,作者写文档的ROI不高。

★ 发自iPhone App: ChineseWeb 8.6
n******7
发帖数: 12463
19
来自主题: Programming版 - FP的好处是不是就是Concurrency?
看着FP的讨论这么火,我也在周末杀老鼠之余看了下clojure
感觉这玩意挺有意思,没java那么啰嗦,还有REPL
我打算下个project用它代替python做 data processing
如果incanter好使的话,也可以部分代替R做analysis
不过仔细想想好像除了concurrency,似乎没有其他大优势了?
1.不考虑并行的话,clojure大致比纯java慢点,比纯python快。但是python很多需要
性能的包是c fortran写的,这样算起来,clojure并不一定快
2.据说用fp很容易实现concurrency,不用为了性能重新用c/c++写一遍 and/or 折腾
lock来实现并行。 其实我的大部分job可以很容易分成小份的单独跑,这样
concurrency是不是也没啥优势了?
h*i
发帖数: 3446
20
来自主题: Programming版 - FP的好处是不是就是Concurrency?
用vim写Clojure的几乎人人都用fireplace吧?
我用的所有vim插件如下:
" My Bundles here:
"
" original repos on github
Plugin 'tpope/vim-sensible'
Plugin 'tpope/vim-fugitive'
Plugin 'tpope/vim-surround'
Plugin 'tpope/vim-classpath'
Plugin 'tpope/vim-projectionist'
Plugin 'tpope/vim-dispatch'
Plugin 'tpope/vim-fireplace'
Plugin 'guns/vim-clojure-static'
Plugin 'guns/vim-clojure-highlight'
Plugin 'ekalinin/Dockerfile.vim'
Plugin 'kien/ctrlp.vim'
Plugin 'luochen1990/rainbow'
Plugin 'davidoc/taskpaper.vim'
Plugin 'othree/xml... 阅读全帖
h*i
发帖数: 3446
21
来自主题: Programming版 - FP 之我见 (长)
protocol和name space是两回事。
我教过software engineering课的,用head first design pattern那本书做教材。OOP
design pattern鼓励用composition而不用继承, 对不对?Composition的一种办法就
是用interface来实现polymorphism, 对不对?
Clojure的protocol就是interface, 里面declare一些method, 然后这样各种record或
者type可以来实现这些method. 无非是Clojure的protocol可以附加到任何Java class
上面, 不需要这个Java class事先实现这个interface, 所以改了个名字叫protocol以
示区别而已。
这些Clojue record, type和Java的class类似,里面可以有member. 无非是只能有
instance member, 没有Java class和instance member的区分而已,而且methods只能
是protocol里面的,大大简化了。为什么?因... 阅读全帖
h*i
发帖数: 3446
22
来自主题: Programming版 - FP 之我见 (长)
都说了很多遍了, Clojure的record就是类似于class的。为了强化这个概念,连写法
都一样,Clojure的record常规也用camel case来写,SomeRecord. 和其他clojure的
符号写法都不同,其他符号都是LISP写法,some-things。
要得到一个record instance,也必须要new, (new SomeRecord member1 member2), 语
法糖用(SomeRecord. member1 member2).
所以说这句话是nonsense: “fp和oop一个显著区别就是object或者class这个东西允
许不允许存在”。 说这话的人是既不懂FP, 也不懂OOP,完全一团浆糊。
h*i
发帖数: 3446
23
来自主题: Programming版 - 我对为什么使用FP的理解 (补)
OO和FP不矛盾。
Clojure里面,大型项目目前流行用record, protocol, component DI这一套来管理共
享的状态和资源,其实就是OOP,不过是FP的OOP。
但Clojure绝大部分的代码还是在immutable data上面折腾,充分利用FP的优势。
imperative OOP的毛病是本质上各种东西都是closely coupled, 因为你把一个object
的reference给别人之后,别人想干啥就干啥,所以你不能放心的给别人,要搞各种
pattern,弄得很复杂。这就没有FP那种“动这里绝对伤不到那里”的让人放心的保证
,这是最大的不同。所以我反复强调,用Clojure最大的不同就是immutable data, 是
一种不同的思维方式,因为很多IP程序员觉得最基本的东东都不能用了,得想别的办法
。不过其实过了这个坎,就会觉得其实别的办法也很简单(也许更简单?),以前不知
道而已。就为了能简简单单地放心,这个坎还是值得翻过去的。
h*i
发帖数: 3446
24
来自主题: Programming版 - 从心底讨厌scala
FP要更高层,更接近人的思维一些。
举一个手头上的例子,我正在用Clojure实现一个今年新出的文章里面的一个
clustering算法,写完发现,我写的Clojure代码和文章里的假代码完全是一一对应的
,非常好懂。而原作者自己实现的的C++代码长很多倍不说,外人是完全不可能读懂的。
更奇怪的是,文章里的假代码完全是按imperative编程的写法写的,到处都是for loop
,mutation,assignment,但转成FP完全就是几乎行行对应,只需要把for loop变成
Clojure sequence functions (map, reduce, iterate, etc)就行了。呵呵。
h*i
发帖数: 3446
25
来自主题: Programming版 - FP更接近人的思维
FP要更高层,更接近人的思维一些。IP更接近机器。
举一个手头上的例子,我正在用Clojure实现一个今年新出的文章里面的一个
clustering算法。现在发现我写的Clojure代码和文章里的假代码完全是一一对应的,
非常好懂。而原作者自己实现的的C++代码长很多倍不说,外人是完全不可能读懂的。
更奇怪的是,文章里的假代码完全是按imperative编程的写法写的,到处都是for loop
,mutation,assignment,但转成FP之后完全就是几乎行行对应,只需要把for loop变
成Clojure的map, reduce, iterate, 等等就行了。
h*i
发帖数: 3446
26
来自主题: Programming版 - FP更接近人的思维
你是说1M行Java code吧?同样的系统估计用Clojure写最多十万行,更可能是几万行。
架构的话, 我说过,Clojure大的应用的架构和Java Spring架构差不多,主要是用
component(https://github.com/stuartsierra/component)来做DI. 具体可以看看
Walmart这个youtube:
https://www.youtube.com/watch?v=av9Xi6CNqq4

clojure
h*i
发帖数: 3446
27
来自主题: Programming版 - FP更接近人的思维
没说mutable state不需要,这不是还用atom的么, 还是需要mutable state的。
component好像就是用atom实现的。
只是大家都没想到需要的地方这么少。Rich Hickey没想到,其他的Clojure early
adopters也没想到。但Clojure应用这么几年下来,就是发现了这么一个现象。
和atom比起来,ref, agent这些的确更难用一些,但几乎没有人用。而Clojure其他难
用的,甚至都很难搞懂的东东,比如core.async, reducers, transducers这些玩意儿
,一出来就有很多人用,说明难易不是主要问题。
h*i
发帖数: 3446
28
来自主题: Programming版 - FP更接近人的思维
目前我还没有遇到什么困难。
只是增加,删除节点这种树和图算法很容易用immutable结构来实现的,Rich Hickey
did the hard work, 各种sequence function直接用,不用自己写。比如修改节点用
update-in之类的函数很容易作。有的数据结构甚至是Clojure自带的,比如我需要一个
prefix trie来match words,而Clojure自己的数据结构就是trie,所以几乎是免费的
,几行代码就搞定了,性能和我用Java写的一样快。当然,不是所有树,图的算法都容
易写,看过一个blog好像有人写Fibonacci priority heap费了很大劲。我没写过,但
我怀疑她没有真正理解那个算法,完全照翻IP算法引起的。矩阵类算法和其他Java代码
一样,底下都是用的jBLAS啥的,无非Clojure包装好了,写起来感觉和immutable code
一样。
总的说来,我觉得还是很好用的。
h*i
发帖数: 3446
29
来自主题: Programming版 - FP更接近人的思维
从概念上说,每次操作都得到一个新的数据结构当然最清晰,没有比这更清晰的了,推
理起来最简单。
当然实现起来,不能这么实现,性能太差了。所以Clojure搞出一些immutable数据结构
来,让用户感觉是每次得到一个新的数据结构,实际上只有部分是新的。比如D<-C<-B-
>A这么一个树,B是root, 现在要把C删了,Clojure的做法是返回一个新的树,D<-B'->
A,原来的树D<-C<-B->A还在。只有B'是新的。这实际上就变成了一个trie。Clojure的
trie有32个分支,是很宽的,所以性能在实际应用中还不错。
具体可以看看这个解释:
http://hypirion.com/musings/understanding-persistent-vector-pt-
h*i
发帖数: 3446
30
看你看怎么地方了。Clojure的位置不太在你常见的地方发,发了也白发,没人来。
一般在Clojure人多的地方发,functionaljobs, clojurians slack, 甚至就在Clojure
Googlegroup 上发。大致就是这么个状况,人少,工作多,所以大多接受remote work。
h*i
发帖数: 3446
31
来自主题: Programming版 - 这个版上的主要矛盾
你要搞清楚,这儿说的老帮菜不是年龄,是心态。比如你这"积极上进宁愿把Java弄好
了"就是老帮菜思想。论年龄我肯定是这儿比较老的,我开始写java的时候可能有的小
朋友还没出生吧?那之前我是写C的,我写的C程序中国空军用了很多年。所以不要以为
这是一个装逼小青年在给你出主意,这是一个有经验的大叔在鼓励你上进。你想变成大
牛,老帮菜思想是要不得的。你想过沒有?除了这个版,什么地方各种牛人提到
clojure不是很敬佩的?有什么人说过clojure坏话么?clojure is new c,这样的话是
谁说的?自己去找找。

★ 发自iPhone App: ChineseWeb 8.7
h*i
发帖数: 3446
32
来自主题: Programming版 - 认真问一下wdong
我吹嘘Clojure是因为我用Clojure啊,这有什么问题么?就准你吹Java,不准我吹
Clojure?
算了吧,你经常弄错人,比如我从来没吹过haskell,你说我鼓吹haskell被打脸啥的。
你的问题是没有受过良好的教育,文化低了点(上了清华不说明你有文化),我不跟你
一般见识, OK?
n*****3
发帖数: 1584
33
来自主题: Programming版 - clojurescript 一年回顾
clojure 可以把 Java serve side work也做了。
clojure 和 clojure script very identical when programming
当然javaScript 也有 node。js
n*****3
发帖数: 1584
34
来自主题: Programming版 - clojurescript 一年回顾
storm is in java and clojure, in case u do not know
and storm is dying now . ppl all want to switch to
spark now, it ia hard for clojure to keep up,
我们组就有这个问题, 要用 spark streaming ,
clojure wrap to keep up to date很难
因为spark 自己天天变啊
h*i
发帖数: 3446
35
来自主题: Programming版 - CMU对教授oo有所变化
这个CMU教授的文章题目叫“教新生函数式编程”。他的观点是,函数式(FP)和指令
式(IP)编程是两种基本的编程模式,所以CS新生应该学这两种编程,各开一门课,FP
课用SML作为编程语言。而OOP不是基本的编程
模式,所以要从新生课程中取消,成为二年级选修课。
其实这也是我一直在这个版上说的观点,OO编程不是一个基本的编程模式,因为除了IP
可以搞, FP也可以搞OOP。比如作为一个纯函数式语言的Clojure就大量使用OOP的工具。
Clojure的protocol和Java的interface类似,Clojure的component framework和Spring
DI framework类似, 等等。
h*i
发帖数: 3446
36
一般来说,FP适合情况复杂需要更灵活更高的抽象的用例,而不是只是追求速度的用例
。这其实就是目前大部分应用程序,比如一个复杂的网站。其主要好处是提高生产力。
比如你有一个很复杂的应用,需要整合各种各样的数据,作复杂的操作,你只有一个很
小的团队,工期很紧。这种情况阿三经理会忽悠上级,狂招一堆阿三,同时把工期拖长
来处理。你不是阿三,没有那个本事,怎么办?是熬夜写Java, Python呢,还是早九晚
五写Clojure? 作为一个53俱乐部的成员,我选择早九晚五写Clojure.
写波音737 MAX的飞行诊断系统的团队作了同样的选择,六个程序员,用了两年,一万
六千行Clojure
代码搞定了这个机载诊断系统,细节见 https://www.youtube.com/watch?v=
iUC7noGU1mQ

多?
h*i
发帖数: 3446
37
来自主题: Programming版 - 教小孩C++?
作为第一门语言,还是scheme这种比较好,可以学到正确的路子,不走弯路。老一辈的
美国CS学生都是这么教出来的,他们创造了大部分现在的技术。
现在还有学校这么教的。比如伯克利。
我今年夏天招了三个实习生,都是伯克利大三本科女生,来之前都没听说过Clojure。
来了,从我给她们看她们所见到的第一行Clojure代码,到她们每个人都做完全部的
clojurescript koan题,只花了4个小时。第二天我就给她们看我们的生产代码,第三
天就正式干活了。现在三个月结束,她们完成了一个完整的产品,从美工设计,变成
HTML模版,再变成Clojurescript代码,到服务器端的Clojure代码,datomic数据库
schema设计到编码,都是她们自己干的,我只是告诉她们她们下一步做什么和问题答疑
。现在产品上线了。
这些小朋友,就上过几门CS的课,连软件工程,数据库的课都还没上过呢。要不是她们
的第一门语言是scheme,做到这些是不可能的。

玩.
n******7
发帖数: 12463
38
来自主题: Programming版 - 教小孩C++?
谢谢
无聊看了很久fp,决定还是上clojure了
昨天看了一个blog,他对python,R,以及各种fp的看法跟我(纸上谈兵)完全一致
http://www.metasoarous.com/how-i-fell-in-love-with-clojure/
可能因为是同行的缘故
clojure工作机会不多,就当玩玩了,反正玩啥都得花时间
g****t
发帖数: 31659
39
来自主题: Programming版 - AI 工作16年翻倍了
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是干啥的?
g****t
发帖数: 31659
40
来自主题: Programming版 - F# surprisingly good啊
F# ---- CLR
Clojure ---- JVM
F# was from the Ocaml.
Clojure was from the Lisp.
Both Clojure and F# are practical excellent tools.
h*i
发帖数: 3446
41
来自主题: Programming版 - macro is evil
不要瞎说哦。
Lisp的主要工作方式就是不停的refactor。所谓REPL driven bottom-up development,
"Lisp is not a language, it is a building material",这些都是一个意思,就是
写Lisp就是要不停的refactor,这是Lisp的生命所在。
作为一个vim person, 我用spacemacs的唯一原因就是emacs的Clojure layer (叫做
CIDER)有方便的refactor的功能. Clojure在IntelliJ的IDE(叫做Cursive),也有很强
大的refactor功能。
现在Clojure引入了spec,自动分析功能以后会更强。
h*i
发帖数: 3446
42
来自主题: Programming版 - macro is evil
Clojure就是Lisp。Clojure语言核心很多都是macro,最基本的比如fn, loop, for,
and,or这些都是macro。所以用macro不是什么问题,只要是大家通用的macro。不鼓励
应用程序员自己写macro主要是为了提高代码可读性和composibility。
所有Lisp的一个共同点就是REPL driven, keep evolving a live image of running
code,这都是为了支持不停的refactor代码。这种编程模式与Java这类语言是完全不同
的,很多人一开始不习惯。因为refactor可能太根本了,所以Lisp programmers don't
think it should have a name?
还有我觉得用Clojure的一个好处就是改代码的胆子更大了。主要有两个原因,一个大
多数代码都是纯函数,所以改动只是影响局部,不影响全局;二是immutable data by
default,随便改,别的地方不会受影响。
d******c
发帖数: 2407
43
文章触及了一个关键问题:
如果你想前端后端用一种语言,一个环境,只有scala.js。相比之下各种前端语言无法
顾及后端,除非用node.js,但那也不是好选择。
clojurescript和clojure的问题是语法需要适应。我已经在看clojure的书,并且很欣
赏Rich Hickey的talk,但还是觉得clojure读起来费劲,需要比较多时间适应。
当然scala问题也不少,许多是人为造成的,但本质选择有很多优越的地方,尤其是
type方面。

发帖数: 1
44
how difficult a lisp dialog could be?
if you think clojure is hard, try this link, you will learn clojure in ONE
day, no kidding.
https://kimh.github.io/clojure-by-example/

发帖数: 1
45
which sun不安全的包 clojure is using?
java 9 has very little impact to clojure. jigsaw may improve clojure start
up time, which most people don't even care now.
For lisp programmers, first class function and lambda are natural, not
forced upon.
http://www.mitbbs.org/article_t/Programming/31504537.html

发帖数: 1
46
来自主题: Programming版 - FP的死穴还是性能
非主流的原因主要是程序员被OOP洗脑太多年。immutability,对Clojure根本不是个事
,因为没有overhead。正相反,clojure的immutability避免了重新创建大的objects,
例如
http://mishadoff.com/blog/clojure-design-patterns/#episode-8-prototype

发帖数: 1
47
来自主题: Programming版 - 狗年语言学习计划
Clojure很实用,现在新的project我都用Clojure搞定
一般library都在这里 https://www.clojure-toolbox.com
没有的话java的library一样拿来用。

和c
b*******x
发帖数: 100
48
这个帖子挺有趣的,我还真不知道incanter,有时间看看去,更有意思的是我现在知道
R.Ihaka跟
D.T.lang在干什么了。。。。
btw:R可以平行运算。
http://cran.r-project.org/web/views/HighPerformanceComputing.html

在发展运行于.NET虚拟机上的版本)的一种现代的Lisp。clojure在2007年问世,发展迅
速,现在
已经发布到了1.2版本。clojure的主要优势是对并行计算的天然支持,与虚拟机的宿主
语言的无缝
结合,当然还有Lisp的语言优势。
clojure
NET
b*******x
发帖数: 100
49
我汗,才发现你这个题目起的,比我上一个主题贴还无语。已经是赤裸裸的菜市场叫卖
了。。我等等看
看有没有SAS支持者出来反驳你,不然我心里该极度不平衡了。哈哈。

展运行于.NET虚拟机上的版本)的一种现代的Lisp。clojure在2007年问世,发展迅速,
现在已经发
布到了1.2版本。clojure的主要优势是对并行计算的天然支持,与虚拟机的宿主语言的
无缝结合,当
然还有Lisp的语言优势。
clojure
NET
s*********e
发帖数: 1051
50
来自主题: Statistics版 - julia有前途吗?
多谢您百忙中的回复。
还有一个小问题。同样是FP,scala相对于clojure的优势又在哪里呢?clojure同样可以
调用Java的库,而且基于clojure的incanter好象还有点意思。
另外,我觉得学新语言还是要有一定预见和前瞻。否则,花进去的时间和精力就白费了,
还不如用来陪女儿呢。
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)