码农们,工作中你门用函数编程语言吗, Erlang, Clojure, Haskell, Scalar, F# etc?
本帖最后由 雪候鸟 于 2013-11-24 00:37 编辑最近erlang程序设计快读完了,还是颇有些感触,确实思维方式于常规不同。高并发,事务状态恢复,代码热体换,用其他通用高级语言不太容易实现的功能,在函数语言面前如此简单。不过函数编程语言可谓是小种中的小种语言,那位兄弟如此有幸在项目中实战过,出来现身说法吧!! emacs 不是要用 lisp 配置吗? chinapope 发表于 2013-11-24 09:40
emacs 不是要用 lisp 配置吗?
emacs 的lisp是中dialekt吧, 有人在项目中用? 本帖最后由 mandriva 于 2013-11-24 14:12 编辑
erlang 哪里有Fortran 厉害啊? 我 爱 Ansi C, Fortran 和 Assembly 。上世纪的事情,erlang 是80年代后期才出现, Ansi C 70年代初,而Fortran 50年代就出现, 而Assembly 40年代就出现 , 并且 和 http://en.wikipedia.org/wiki/Alan_Turing一起指引着后来的计算机工业。 Assembly 可以直接操作处理器让它做事。语言只是工具,人的思维最厉害,脱离操作系统束缚的必经之路是程序设计。
学任何一门语言 学到驾轻就熟 就厉害,语言可以设计语言,操作系统可以运行操作系统,虚拟机可以运行虚拟机,逻辑可以演绎逻辑。
看 C++ VS Java
http://stackoverflow.com/questions/145110/c-performance-vs-java-c
那上面的精英 萝卜青菜各有所爱,但是 谁都证明不了别人是错的。 本帖最后由 雪候鸟 于 2013-11-24 15:39 编辑
mandriva 发表于 2013-11-24 13:52
erlang 哪里有Fortran 厉害啊? 我 爱 Ansi C, Fortran 和 Assembly 。上世纪的事情,erlang 是80年代后期 ...
你不是嫌弃IT, 学习MB了吗?还总来我们ITer的帖子里踩什么。你选MB绝对是错误中的错误,这个以后你会后悔的。另外你有个问题,你回帖总是不审题啊里贴子主题很远。我并没有说什么语言是王者之王,而是说有些东西在其他语言里不容易实现而另外一中则很容易。按照unix哲学,每个程序应该就做好它自己的那一部分,然后串接起来。我本人比较烦感什么都行行的那种通用语言,搞得自己跟通才似得,弄得最后臃肿不堪,一个语言能干好一个领域的最为理想。 "高并发"感觉不是很准确? 英文里面concurrent programming跟parallel programming应该是两回事. functional programming 对应的应该是前者? 本帖最后由 mandriva 于 2013-11-24 16:29 编辑
雪候鸟 发表于 2013-11-24 15:21
你不是嫌弃IT, 学习MB了吗?还总来我们ITer的帖子里踩什么。你选MB绝对是错误中的错误,这个以后你会后悔的。另外你有个问题,你回帖总是不审题啊里贴子主题很远。我并没有说什么语言是王者之王,而是说有些东西在其他语言里不容易实现而另外一中则很容易。按照unix哲学,每个程序应该就做好它自己的那一部分,然后串接起来。我本人比较烦感什么都行行的那种通用语言,搞得自己跟通才似得,弄得最后臃肿不堪,一个语言能干好一个领域的最为理想。
呵呵,纵观你最近的几个帖,不正是想表现你在这些方面的高见么? 好不容易找到了个和你切磋的入口,没想到也没什么建树性的意见。工作中如若真遇到技术难题,会来这样的论坛求解?那当然了,大家闲的时候上上论坛也就是为了找找人云亦云的感觉,我看到这样的帖子当然会不吝指教。“通才”不是我自居的,也是别人吹牛吹捧的。知道的多就多多益善,并且能 在实践中 综合运用 来切菜和解决实际问题 最是一针见血。如果刺到你了,表示抱歉。 erlang很简洁
我们一般用来处理log
windeye 发表于 2013-11-24 16:08
"高并发"感觉不是很准确? 英文里面concurrent programming跟parallel programming应该是两回事. functional ...
我觉得没错 concurrent是并发, parallel是并行。erlang就是在高concurrency放面强大 mandriva 发表于 2013-11-24 16:25
呵呵,纵观你最近的几个帖,不正是想表现你在这些方面的高见么? 好不容易找到了个和你切磋的入口,没 ...
我说哪些是因为你对IT的态度,不是你的技术水平。也许你才华一等,那又怎么样。不喜欢和你这种态度的人讨论问题。 本帖最后由 mandriva 于 2013-11-24 18:19 编辑
雪候鸟 发表于 2013-11-24 17:47
我说哪些是因为你对IT的态度,不是你的技术水平。也许你才华一等,那又怎么样。不喜欢和你这种态度的人 ...
我 对IT的态度 什么了? 严谨治学,实事求是。。什么?MB界没有懂IT的?靠, FB, M$, App的老大都半路辍学的。莎士比亚, 达芬奇的 盖世之作也不是读了什么专业被教出来的,而是靠人生阅历和经验总结。当然 后辈 不敢 拿这样的前辈相提并论,但是可以向这样的前辈学习的态度就是 谦虚 ,没有门户之见。 只学习过scalar
不是很熟练~~
不过俺也不是玛侬
嘿嘿 mting 发表于 2013-11-24 17:13
erlang很简洁
我们一般用来处理log
恩我也这个观点。你说处理log, 是做log的分析,还是使用erlang来开发一个log server mandriva 发表于 2013-11-24 18:08
我 对IT的态度 什么了? 严谨治学,实事求是。。什么?MB界没有懂IT的?靠, FB, M$, App的老大都半路 ...
咱们不讨论了行吗 gameplay1212 发表于 2013-11-24 18:19
只学习过scalar
不是很熟练~~
不过俺也不是玛侬
scalar感觉有点overdesign了。有点想把自己搞得什么都可以做,语法糖衣也很多,真是不喜欢这种思路。不过个人有个人的爱好,你只是学习scalar还是在项目中也用。 雪候鸟 发表于 2013-11-24 18:26
scalar感觉有点overdesign了。有点想把自己搞得什么都可以做,语法糖衣也很多,真是不喜欢这种思路。不过 ...
我老师推崇~~
我不太习惯呢
老是用普通的思路
转不过湾来 我只是学习~~~ 雪候鸟 发表于 2013-11-24 18:23
恩我也这个观点。你说处理log, 是做log的分析,还是使用erlang来开发一个log server
log server
分析的话用perl之类的方便 mting 发表于 2013-11-24 19:06
log server
分析的话用perl之类的方便
我觉得也应该是这样。那你能说说erlang的哪些特点,决定你们需要用erlang来做这个log server. 相对于这个log server你们的客户端是什么应用程序。这个log server应该除了接受log外的还对其做归纳整理吗 gameplay1212 发表于 2013-11-24 18:44
我老师推崇~~
我不太习惯呢
老是用普通的思路
我觉得jvm上最好的函数语言是clojure. 你们老师喜欢scalar那么肯定以前也暗恋c++. 属于语法控{:5_332:} gameplay1212 发表于 2013-11-24 18:44
我老师推崇~~
我不太习惯呢
老是用普通的思路
我搞IT的也同样转不过来湾,这个需要适应 主要是用来做大并发下的信息跟踪
我们的程序处理大并发事务
然后使用erlang纪录信息
出问题的时候可以给我们分析提供参考
没啥专门的客户端 类似debug log 雪候鸟 发表于 2013-11-24 19:47
我觉得jvm上最好的函数语言是clojure. 你们老师喜欢scalar那么肯定以前也暗恋c++. 属于语法控
我没问过
不过法国女人 倒是风情万种的~~~ bambus2 发表于 2013-11-24 20:16
你有这种感触就说明你刚入门。其实都一样。这里省的其他的地方就要补回来。
这是自然, 例如erlang里做substring就比java和c++麻烦。但是我觉得让一种语言工具做好一个领域的事情就可以,不知道你是否这样认为, 愿听高见. bambus2 发表于 2013-11-24 20:26
关键是熟练的问题,如果你erlang特别熟,脑子还清楚,打字还快,做substring不用几十秒或者几分钟的。
我对所有编程语言其实都持中立态度,倒是编程语言折射出的编程思想更为重要,所以表现力在不同领域不同。那请叫你说的其他的地方需要补回来指的是什么