n******7 发帖数: 12463 | 1 看着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是不是也没啥优势了? |
p*****2 发帖数: 21240 | |
n******7 发帖数: 12463 | 3 这个怎么定义的?
【在 p*****2 的大作中提到】 : 主要好处是productivity
|
p*****2 发帖数: 21240 | 4
同样的时间可以deliver更多的东西
【在 n******7 的大作中提到】 : 这个怎么定义的?
|
n******7 发帖数: 12463 | 5 你是说coding效率高?
那这就是看个人了
我觉得R写起来省心,我同事觉得matlab写起来省心
最后结果就是我不得不看他的matlab代码,也得写点matlab
【在 p*****2 的大作中提到】 : : 同样的时间可以deliver更多的东西
|
q*c 发帖数: 9453 | 6 your defination of productivuty must not include maintainace.
【在 p*****2 的大作中提到】 : 主要好处是productivity
|
c******o 发帖数: 1277 | 7 maintainace is mostly NOT comes from language feature |
q*c 发帖数: 9453 | 8 it does, otherwise why ppl stop using perl? Writing in perl is cool and fast.
【在 c******o 的大作中提到】 : maintainace is mostly NOT comes from language feature
|
z****e 发帖数: 54598 | 9 最近说fp跟异步有关
因为异步可以带来一定程度上运行效率的提升
所以后来都在讨论怎么借鉴这个feature
所以才有了java8的lambda
以及搭配lambda使用的reactive,具体到java就是rxjava
剩下的也看不出啥价值了,除了scala的数学符号可以自己定义以外 |
o**o 发帖数: 3964 | 10 fp is maintenance nightmare.
Programmer's dream tho because of job security.
【在 q*c 的大作中提到】 : your defination of productivuty must not include maintainace.
|
|
|
h*i 发帖数: 3446 | 11 Nonsense.
怎么个maintenance nightmare? Clojure 1000 LOC in one file, Java 50000 LOC in
10 files?
Which one is easier to maintain?
【在 o**o 的大作中提到】 : fp is maintenance nightmare. : Programmer's dream tho because of job security.
|
z****e 发帖数: 54598 | 12 代码少可维护性一定强?
这个coltzhao很早就驳斥过了
in
【在 h*i 的大作中提到】 : Nonsense. : 怎么个maintenance nightmare? Clojure 1000 LOC in one file, Java 50000 LOC in : 10 files? : Which one is easier to maintain?
|
h*i 发帖数: 3446 | 13 如果代码也很可读呢?
我还没听说过一个Clojure程序员抱怨读不懂别人的Clojure代码的,正在学习Clojure
的人
除外。
的确是这样,我在学Clojure的时候,有两个月觉得自己都不会写代码了。 呵呵,是有
这么一个过程,我是靠做4clojure.com的题来翻过这个坎的,过了之后,觉得这个语言
真他妈简单,老子再也不想学别人创造的什么鸟语法了。Life is too short.
【在 z****e 的大作中提到】 : 代码少可维护性一定强? : 这个coltzhao很早就驳斥过了 : : in
|
z****e 发帖数: 54598 | 14 我也没怎么遇到过抱怨ide的人
不会用,没用过的除外的话
你是第一个
你见到虫子他们抱怨过eclipse麻烦吗?
也就是你,天天说内存不够,跑不动ide
好意思,学ide和学clj哪个更简单?
ide还用学么?
Clojure
【在 h*i 的大作中提到】 : 如果代码也很可读呢? : 我还没听说过一个Clojure程序员抱怨读不懂别人的Clojure代码的,正在学习Clojure : 的人 : 除外。 : 的确是这样,我在学Clojure的时候,有两个月觉得自己都不会写代码了。 呵呵,是有 : 这么一个过程,我是靠做4clojure.com的题来翻过这个坎的,过了之后,觉得这个语言 : 真他妈简单,老子再也不想学别人创造的什么鸟语法了。Life is too short.
|
h*i 发帖数: 3446 | 15 其他IDE我不知道,我还没见过不抱怨Eclipse的程序员。哪个eclipse程序员不搞好几
个workspace的?好几个Eclipse的?为什么?他们高兴这样搞么?
呵呵。
【在 z****e 的大作中提到】 : 我也没怎么遇到过抱怨ide的人 : 不会用,没用过的除外的话 : 你是第一个 : 你见到虫子他们抱怨过eclipse麻烦吗? : 也就是你,天天说内存不够,跑不动ide : 好意思,学ide和学clj哪个更简单? : ide还用学么? : : Clojure
|
z****e 发帖数: 54598 | 16 那你问问他们,别用ide了,用vi看他们肯不肯
【在 h*i 的大作中提到】 : 其他IDE我不知道,我还没见过不抱怨Eclipse的程序员。哪个eclipse程序员不搞好几 : 个workspace的?好几个Eclipse的?为什么?他们高兴这样搞么? : 呵呵。
|
h*i 发帖数: 3446 | 17 有人肯,我就是从Eclipse转vim的。也才没转几年现在。逐步转的,一开始在eclipse
里面用viplugin, 后来就把eclipse扔掉了。现在写Clojure也用不着eclipse.
vim其实也不难,vimtutor用半小时就掌握了基本功,其他的慢慢学,活到老,学到老
,永远学不完,I like that。
【在 z****e 的大作中提到】 : 那你问问他们,别用ide了,用vi看他们肯不肯
|
n******7 发帖数: 12463 | 18 你用什么vim插件写clojure?
eclipse
【在 h*i 的大作中提到】 : 有人肯,我就是从Eclipse转vim的。也才没转几年现在。逐步转的,一开始在eclipse : 里面用viplugin, 后来就把eclipse扔掉了。现在写Clojure也用不着eclipse. : vim其实也不难,vimtutor用半小时就掌握了基本功,其他的慢慢学,活到老,学到老 : ,永远学不完,I like that。
|
h*i 发帖数: 3446 | 19 用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.vim'
Plugin 'ervandew/supertab'
Plugin 'scrooloose/nerdcommenter'
Plugin 'scrooloose/syntastic'
Plugin 'jcf/vim-latex'
Plugin 'chrisbra/csv.vim'
Plugin 'jnurmine/Zenburn'
Plugin 'junegunn/seoul256.vim'
Plugin 'majutsushi/tagbar'
Plugin 'bling/vim-airline'
Plugin 'Shougo/neocomplcache'
Plugin 'Shougo/neosnippet.vim'
" vim-scripts repos
Plugin 'L9'
Plugin 'paredit.vim'
Plugin 'JSON.vim'
Plugin 'matchit.zip'
Plugin 'Vim-R-plugin'
Plugin 'xoria256.vim'
【在 n******7 的大作中提到】 : 你用什么vim插件写clojure? : : eclipse
|
n******7 发帖数: 12463 | 20 好,我就用这个了
老看到推荐用emacs写clojure的,实在不想浪费脑细胞了
【在 h*i 的大作中提到】 : 用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'
|
|
|
l*********s 发帖数: 5409 | 21 上lighttable吧,也是clojure写的。
【在 n******7 的大作中提到】 : 好,我就用这个了 : 老看到推荐用emacs写clojure的,实在不想浪费脑细胞了
|
n******7 发帖数: 12463 | 22 这个我用了几分钟没搞明白怎么回事
界面基本就是黑的
console 什么的这些选项也没有个标记,都不知道选定没有
console打开了连接REPL server要很久
然后也不知道怎么在里面输入
linux和windows下面都试了一遍,都是这样..
另外在server上写东西,还是vim比较方便
用IDE的话我的搞X/forward,有时候响应比较慢
【在 l*********s 的大作中提到】 : 上lighttable吧,也是clojure写的。
|
f******x 发帖数: 98 | 23 我也是从IDE里解放出来了。以前用visual studio/eclipse写C++/java,现在完全抛弃
了这些破烂,vim和ipython notebook配合足矣。短平快,全糙猛,IDE的启动安装调试
学习时间省下来,就已经有10%生产力了。 |
n****l 发帖数: 1739 | 24 上次我debug一个common lisp程序花了几个小时,因为少打了一个括号。compiler的出错
信息象, you guessed it, C++ template programming, total garbage.
不知道各位大牛能说说新的fp解决了这个问题了吗?
in
【在 h*i 的大作中提到】 : Nonsense. : 怎么个maintenance nightmare? Clojure 1000 LOC in one file, Java 50000 LOC in : 10 files? : Which one is easier to maintain?
|
l*********s 发帖数: 5409 | 25 ctrl+space, 可以搜命令。看看tutorial video掌握下大郅用法,其余用到再学,比如
vi plugin。
【在 n******7 的大作中提到】 : 这个我用了几分钟没搞明白怎么回事 : 界面基本就是黑的 : console 什么的这些选项也没有个标记,都不知道选定没有 : console打开了连接REPL server要很久 : 然后也不知道怎么在里面输入 : linux和windows下面都试了一遍,都是这样.. : 另外在server上写东西,还是vim比较方便 : 用IDE的话我的搞X/forward,有时候响应比较慢
|
l*********s 发帖数: 5409 | 26 看compiler有多成熟。恐怕你要失望了。scala也许好点?
出错
【在 n****l 的大作中提到】 : 上次我debug一个common lisp程序花了几个小时,因为少打了一个括号。compiler的出错 : 信息象, you guessed it, C++ template programming, total garbage. : 不知道各位大牛能说说新的fp解决了这个问题了吗? : : in
|
r***y 发帖数: 4379 | 27 "上次我debug一个common lisp程序花了几个小时,因为少打了一个括号。"
这要是大项目到了maintenance , 老娘怕要被问候的背过气去...
出错
【在 n****l 的大作中提到】 : 上次我debug一个common lisp程序花了几个小时,因为少打了一个括号。compiler的出错 : 信息象, you guessed it, C++ template programming, total garbage. : 不知道各位大牛能说说新的fp解决了这个问题了吗? : : in
|
z****e 发帖数: 54598 | 28 给过你例子了
比如当你写一个app,尤其是游戏,跑一轮要10多分钟的时候
你没有debug简直是噩梦,如果再具体一点,比如做一个斗地主
你打扑克,这个没有debug怎么搞?那一轮很容易上10分钟
clj很多例子居然还是用swing做例子,fp和匿名类这些在app的应用上倒是不少
如果脱离了ide,用console.log的方式debug会把自己累死
swift比起来简直太爽了,我左边开着屏幕,右边直接改,改完就看到效果了
做起来飞快,android studio还是慢一点,但是也不可或缺啊
没有debug这搞啥,你何苦要因噎废食捏?
顺便,dumbcoder看来还是没有行动起来去实现他的游戏,哎,杯具
还有变量,扁平化,这些问题都实实在在,变量使得思考变简单
扁平化使得代码变工整,pure fp感觉天生就不愿意扁平化
你看例子中各种括号的嵌套,而rxjava很早就在琢磨如何解决这个问题
而且大受欢迎,搭配合适的工具可以让生活更美好
eclipse
【在 h*i 的大作中提到】 : 有人肯,我就是从Eclipse转vim的。也才没转几年现在。逐步转的,一开始在eclipse : 里面用viplugin, 后来就把eclipse扔掉了。现在写Clojure也用不着eclipse. : vim其实也不难,vimtutor用半小时就掌握了基本功,其他的慢慢学,活到老,学到老 : ,永远学不完,I like that。
|