crazyhadoop
发表于 2014-07-09 09:56
回复 10# jieforest
是OTP :wink: 这个是写Erlang 应用不可或缺的一部分,就指着这个框架了
pandaiam
发表于 2014-07-09 11:54
otp框架看的云里雾里。。
erlang关键是必须得靠otp啊。
cryboy2001
发表于 2014-07-09 14:31
路过一下。。。。。。。
jieforest
发表于 2014-07-09 22:22
回复 11# crazyhadoop
OTP就像C++的标准模板库,而且它超越了C++标准模板库的重要性,因为C++除了标准模板库,还有几个选择,而使用Erlang,你仅有OTP这个唯一的选择。
q1208c
发表于 2014-07-10 11:24
擦, 这本书有第二版啦?
可以直接送我一本不? :mrgreen:
shang2010
发表于 2014-07-10 23:14
liuadam 发表于 2014-07-07 15:06 static/image/common/back.gif
Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制 ...
吹牛的东西不要信,专找apache的短板打,apache也不服气哈
lkk_super
发表于 2014-07-11 00:18
書是好書 正在看這本書的英文版~~~
開發嘛咱還沒搞過,就扯扯學習吧
俺覺得不管是 erlang 還是 scala 也罷其實作爲 FP 都是差不多的 都有的 pattern match,變量不可變,木油 for 循環,只有尾遞歸等特性。一開始可能會覺得莫名其妙變量不可變叫變量幹啥。但是就像這書中說的一樣很多時候出現的問題都是變量的值莫名其妙被改了,於是乎程序跑飛了(C 的指針可謂是一個經典的例子)。一旦試着用它去寫一段代碼,然後再用熟悉的比如 C 等去實現同樣的功能,慢慢就能體會到其中的奧妙了。就像寫尾遞歸一樣,用 for 循環往往更符合我們的直觀感受,但是有的問題用遞歸一些反而更簡短。仔細一想背後的想法反而比 for 循環的版本要更簡單,更有邏輯性。比如下面這個問題。
有 1分 和 2 分兩種硬幣,一共有幾種方式湊出 1塊錢?
俺趕腳這樣比較着來學起來會比較好
至於 OTP 麼趕腳只有多寫代碼慢慢熟悉了,比如跟着 erlang in action 書裏面的例子手動敲一遍這樣的
hxksd
发表于 2014-07-11 12:18
1. 安装首先从Erlang官方网站,下载安装Erlang(http://www.erlang.org/download.html)
linux:获取源代码,根据说明编译;windows:直接安装
2. 认真阅读《programming erlang》(中文版图书已经问世),并不断动手练习书中的例程。
3. 遇到问题时,不要退却,坚持下去找到解决办法
4. 对语言熟悉时,浏览一些好的开源项目
5. 有信心时,开始动手做一个小项目
6. 不间断的与大家交流,共同提高
可能遇到的困难:
a) 对于语法的不适应?
坚持看下去,代码继续写下去,我相信1个月,你会喜欢上Erlang的语法
b) 有些数据类型不清楚?
认真看资料,或者询问朋友,比如我
c) 中文资料的缺乏?
Erlang中文的资料会越来越多,此外,Erlang的相关的英文资料也比较容易理解,还是那句话,别怕麻烦
hxksd
发表于 2014-07-11 12:28
优点:
(1)一切弱类型脚本语言的优点。
(2)现成的组件都很实用,包括ets、进程字典、gen_server、gen_fsm等。
(3)消息型并发模型和不变变量减少了需要考虑并发加锁的场景。
缺点:
(1)一切弱类型脚本语言的缺点,没有静态类型检测,在调用其他模块时比较依赖注解,不然就要自己看代码,影响效率。还有代码修改时往往不能及时发现依赖这段代码的其他代码也要修改,编译器有时候不会告诉你,要到运行时才发现。
(2)调试困难,倒不是没有调试工具,IM还是有的,但是非常不好用,有时候还不如用老方法debug("1111")来得快。
(3)由于函数式编程的语法特点,有些算法实现起来不是太顺手。
(4)还是语言特点,匹配模式和不变变量,让本来可以不那么长的程序结构变长了。
(5)使用record时必须很小心,不然很容易覆盖。
jieforest
发表于 2014-07-11 12:46
shang2010 发表于 2014-07-10 23:14 static/image/common/back.gif
吹牛的东西不要信,专找apache的短板打,apache也不服气哈
这种事太平常了,为了推销自己,就拼命说别人的坏话。哪个行业都是这样,编程界也不例外。