许式伟 ID:xushiweizh
408268次访问,排名111好友3人,关注者35
[加为好友] [即时聊天] [发私信]
xushiweizh的文章
原创 123 篇
翻译 0 篇
转载 10 篇
评论 912 篇
许式伟的公告

本博客内容除非特殊说明均属原创,如需转载、引用其中的部分文字,请注意以下几点:

1)请在转载(引用)的内容开始添加本人署名,并提供本博客中相应文章的链接。如你的作品为非电子读物或纯文本,请给出链接的url。

2)请勿用于商业用途。

3)如果愿意,请给我邮件:xushiweizh@gmail.com,让我知道我的东西到哪去了。谢过。

重要链接


订阅

最近评论
xushiweizh:这里我补充一下我认为“模板引擎”变成“另一个PHP”的界限:当模板引擎支持用户自定义函数时,那么我就认为,它其实是“另一个PHP”。避免这一事件的发生,模板引擎唯一可以做的事情,就是不断扩展它的函数库,来适应新的格式化需求。
xushiweizh:这里我补充一下我认为“模板引擎”变成“另一个PHP”的界限:当模板引擎支持用户自定义函数时,那么我就认为,它其实是“另一个PHP”。避免这一事件的发生,模板引擎唯一可以做的事情,就是不断扩展它的函数库,来适应新的格式化需求。
ASP_lover:



www.soAsp.net 编程学习网 技术+ 实例应用 讲解不错。 推荐大家!

有很多 技术资料也很好!














xushiweizh:C++,这里就不继续讨论了。
关于模板引擎,没错,就是只有流程控制和格式化两个需求。不过需要注意的是,这里其实在循环定义。什么是模板引擎?不就是格式化引擎吗?那么这个引擎需要内置多少种格式化函数呢?我的意见是,多少种都不够!
xushiweizh:确实目的是一样的。不过我没想到他实现这个MultiIndex居然写了 419k 的源代码。好恐怖。而我的 Relation 只有 11k 而已,其中还包括了一个使用样例(如果加上一些周边设施,如 stdext/Tuple.h,stdext/StaticAlgo.h,也就21k)。
文章分类
收藏
相册
DocX预览图
Google vs. 百度
WinX相关
WINX团队
ebasil的专栏(RSS)
VisualFC/WINX专栏(RSS)
任风行(一路奔跑)(RSS)
绅士亦花心之WINX相关(RSS)
许伟群的专栏(RSS)
友情链接
QWL1996的专栏(RSS)
Sting的专栏(RSS)
SunHui的专栏(RSS)
不亦快斋(RSS)
于无声处(RSS)
手机开发论坛
珠穆朗玛(老汉)(RSS)
福&柯实验室(RSS)
存档
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes

原创 喜欢Erlang的三大理由收藏

新一篇: C++内存管理变革(6):通用型垃圾回收器 - ScopeAlloc | 旧一篇: 开辟VisualFC(WTL WinxGUI 可视化开发工具)专栏

喜欢Erlang的三大理由


  1. erlang严谨的,有严格的理论基础。但erlang同时也是务实的,他不是实验产品。这和我发布的winx库理念一样:务实。
  2. 一点都不喜欢防御式编程,所以看到erlang的fail fast理念,眼睛一亮。这几天实践下来,更是爱不释手。
  3. 也许你在乎erlang不能提供array的便利。但是想象一下,当我们有成千上万个单体(进程)在跑时,我们还会过分在意单体的速度吗?在计算机的power越来越强时,我更关注的是单体间如何协调,如何提供持续服务。 要想实现正真意义上的人工智能,我的观念,必须有无穷多个可以独立计算的单体(细胞),他们之间通过消息相互指令,而又保持独立。所以只有类似erlang这样的工作机制,才有可能实现"人工智能"。另外array在数据海量的情况下,弊端立即凸显。所有基于array的数据结构,如hash_map等,遭遇严重的性能瓶颈。所以,最好的数据结构,还是表处理。
关于array性能瓶颈的注解:
  1. 我在做电子表格的存盘时,因为用到了mfc的CMap(是一个HashMap),在大文件存盘时失去响应。使我头一次对HashMap的效率产生质疑。
  2. 去年这个时候,我在C#中,尝试了向一个Dictionary(是一个HashMap)加入1亿条整数,花了整整一天时间没有完成,最后Kill 进程告终。改用C++的std::map(红黑树),1小时搞定。后在C#改用OrderedDictionary(应该也是红黑树),2小时搞定(之所 以比C++慢,是C++的map::insert操作以inline提供的缘故)。

当然HashMap也并非真的一定会在海量数据时很慢。如果我们可以预测数据集的大小,HashMap肯定还是比红黑树快。但是问题就在这个前提。 我们可以准确预知未来吗?我们不能。所以HashMap要想获得好的性能,很累。但是如果我们采用树结构,我们获得的性能是稳定的,可以预测的。

 

发表于 @ 2008年01月15日 08:59:00|评论(loading...)|编辑

新一篇: C++内存管理变革(6):通用型垃圾回收器 - ScopeAlloc | 旧一篇: 开辟VisualFC(WTL WinxGUI 可视化开发工具)专栏

评论

#solo_coder 发表于2008-01-15 11:58:51  IP: 222.35.23.*
up下,

咨询一个小白的问题,
Erlang现在的适用场合是哪些呢?
#xushiweizh 发表于2008-01-15 15:20:08  IP: 219.131.196.*
这是一个复杂的问题。以我目前的能力,不足以回答它。
#wyyl1 发表于2008-01-15 18:01:46  IP: 123.119.73.*
您能对什么是真正意义的“人工智能"谈一下自己的见解吗?
”要想实现正真意义上的人工智能,必须有无穷多个可以独立计算的单体(细胞),他们之间通过消息相互指令,而又保持独立。“能谈一下您是怎么得出这个结论的吗?

期待您的回答,以上两个问题回答后,我会提出第三个问题。

我的邮箱:abouluo@gmail.com
#lanphaday 发表于2008-01-15 18:37:40  IP: 218.107.55.*
楼上的问题很有意思,趁博主还没有回复之前,我也掺合一下。

我觉得博主之所以会说“要想实现正真意义上的人工智能,必须有无穷多个可以独立计算的单体(细胞),他们之间通过消息相互指令,而又保持独立。”
大概是因为人脑的机制可以用这个模型来表示罢。人脑由不同的神经元组成,每一个神经元是独立的计算单元,但计算频率很低,据说只有10Hz(可能记不准确了),但他们之间相互激励之后,可以对现实有很好的认知建模和记忆,从而产生智能。
人工神经网络算法就是利用这一模型的,模拟了神经元及其机理。博主可能比较看好ANN,认为 erlang 来实现 ANN 的话会能够更好地模拟人脑,所以说这样的话罢。

纯是个人猜测,欢迎讨论。
#suxiaojack 发表于2008-01-15 19:15:19  IP: 220.205.126.*
我也看好神经元模拟。
#gogovista 发表于2008-01-15 21:17:45  IP: 122.5.71.*
暗合如我,除了第二点。防御,不仅仅是代码的事情。
#xushiweizh 发表于2008-01-16 09:02:38  IP: 219.131.196.*
to wyyl1: 我的意思如lanphaday说的那样。我认为人脑的工作模式亦如此而已,一个计算单元无论多power都不能胜任“智能”这个词。
#xushiweizh 发表于2008-01-16 09:07:36  IP: 219.131.196.*
to gogovista: 恰恰是第二点,才是erlang的理念核心。建议看Joe的博士论文。有翻译非常棒的中文版(段先德译,感谢他)。
#wyyl1 发表于2008-01-16 10:49:25  IP: 123.119.74.*
首先感谢 lanphaday和博主。
“要想实现正真意义上的人工智能,我的观念,必须有无穷多个可以独立计算的单体(细胞),他们之间通过消息相互指令,而又保持独立。”中对于“无穷多个可以独立计算的单体(细胞)”博主是怎样理解的?

我的理解:
因为组成人体的元素是有限的,所以人类的细胞也是有限的。
从客观的角度来看,在人的一生中使用的细胞是有限的。但细胞又是在不断更新的,总能维持人体的需要,从这个角度可以理解为细胞是无限的。
#iambic 发表于2008-01-16 11:04:10  IP: 222.190.111.*
我晕……
#SanLeiYouXian 发表于2008-01-17 00:09:49  IP: 205.156.188.*
I'll try to answer solo_coder's question.
My former company use Erlang in VIOP system integration.
#clane 发表于2008-01-17 10:25:19  IP: 222.66.38.*
...LZ,hash_map插入本来就比红黑树慢很多,特别在你这种数量级,如果不是自定的hash_map,碰撞更可能惊人的多。。hash_map优势在查找。
#xushiweizh 发表于2008-01-17 11:24:46  IP: 219.131.196.*
to clane: 不能绝对地说hash_map的插入比红黑树慢。如果可以预测数据集大小,hash_map还是会快过红黑树。因为插入本身其实也是查找过程。hash_map慢是慢在rehash过程。这就像vector的append操作慢在reallcoate过程一样。
#jarodpku 发表于2008-01-25 02:37:08  IP: 124.17.18.*
就我目前了解到的情况是,很多搞神经的人都认为ANN仅仅模仿了一个结构而已,而且也仅是最最简单的结构,因此还初在非常低的水平上,离大脑差得很远。至于这就是“真正的人工智能”的方向?还没有定论吧。

另外,单体的速度是一定要在意的,“成千上万个单体”其实还远远不够。看看大脑里有多少亿神经元。另一方面,神经元传消息从一个到相邻的另一个,要多少时间。计算机中的单体能这么快么,内存能有这么多么放上亿个进程么。呵呵。
#xnature 发表于2008-02-04 11:47:00  IP: 125.116.246.*
期待 对人脑神经的研究 飞速发展....
#blooney 发表于2008-05-17 05:37:30  IP: 193.11.220.*
Erlang用higher order func这样处理的话,是不是就不需要Array了,对单个处理的话,感觉还是List就足够了啊,呵呵
您说的fail fast是不是就是直接让process crash掉啊?
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 许式伟