C#中的Linq和.net4.5中的异步是不是借鉴了javascript的思想?
请问借鉴了javascript中的什么思想?我发现.net类库怎么越来越像Windows API
请问原先的.NET类库如何不像Windows API,而现在什么改变使得它像了?请正面回答,谢谢。
请问借鉴了javascript中的什么思想?我发现.net类库怎么越来越像Windows API
请问原先的.NET类库如何不像Windows API,而现在什么改变使得它像了?请正面回答,谢谢。
好的 那我就简单解释一下,Linq的基础建立在类型推断、扩展方法、lamdba表达式之上的,这谓select form where的SQL形式,你我都明白它就是一块语法糖,实质上select之类的都是一些.net集合中的扩展方法,有些人认为它是神来之笔,可Java阵营心里就不爽了(这个在此就不提了),可是就是这么个神来之笔(不改变底层结构,修改语法树),它的关键就是lamdba表达式,C#之父讲Linq时,举了Javascript、Ruby的例子,C#之父明确表示C#受动态语言的影响,是的,您能想象有一天您写代码诸如var f1=int eat(){};//假如 ,这样写比lamdba表达式还爽
var f2=delegate(){};//匿名代理
var f3=()=>{};//.net 3.5
var f4=function (){};//javascript形式
是的,就是函数能像数据一样赋值,这就是动态语言的特点C#是一个强类型的静态语言,至于它是怎么实现或者模拟这种动态语言特性的,这个您如果研究下IL就知道了,Linq的目的是解决业务逻辑中数据和程序的不对等性(这是Linq项目的初衷,当初是一个实验项目,研究了好几年,后来是在Anders的帮助下才加入到.net中的),抛开这个内涵不提,它的外在就是语义话API设计的典范,而在这方面,Ruby on Rails ,jQuery都是这方面的典范,Anders也多次提到这些,我询问Anders是否借鉴,这也在情理之中对于异步,任何一个成熟的js库中都有defer这个东西,C#中搞出await关键字,背地里怎么样,您如果看下IL代码,就清楚了对于像不像API问题,如实的说,您的论据我想想确实很有道理
兄弟给你个建议,想要搅水的话去博客园,别来这里。
您这样回复就很好嘛 我看着就非常爽 回答到点子上了 这个表达式树就是点子 是不是Linq高手,就看你玩表达式的水平 您如果有兴趣 咱们可以找个例子 PK下表达式树的水平我不是什么高手 当然是抱着学习交流的态度来的
关于您Rosyln这个东西 我不了解 不知能否介绍一下
您这个说法的确如此,但这是Linq的表象,它的实质就是要解决数据和程序的不对等性,它解决没有?我无法做评论,但是它这种编程模式确实是对传统操作数据的一种颠覆
您的说法我赞同,设计模式是一种思想,C当然可以有,整个windows和linux都处处洋溢着设计模式的哲学
你的叙述中忽略了我的一个关键点 “函数可以当做数据使用,可以赋值” 我是C/C++出身的,学过汇编,win32汇编,可以说我受C派系影响特别严重可是你就此说语言只是一种形式,重要的是思想,恐怕您也是C一族的语言学习者实际上语言有一个更大的派系,就是Lisp派系,建议您看看我转载的Lisp本质,仔细看看作者的阐述,这对学传统C派系语言的我是一种颠覆,相信你也会找到些灵感还是那句话“函数可以当做数据使用,可以赋值” 这一点很神奇 希望你仔细品味下 你要说这没什么神奇的呀,C中也可以呀,这个我当然知道 我如果就是这种境界我当然不会向您屡次提起这句话 建议您好好思考下它的巧妙之处 看下我转载的Lisp本质(主要是写的好 ,在此之前就接触Lisp了) 你或许会有收获
http://www.cnblogs.com/Ninputer/archive/2011/07/03/2096944.html
http://www.cnblogs.com/Ninputer/archive/2011/07/03/2096944.html
要顶一下,前辈呀 最近一直忙于一个图形算法库 打算过了这阵也写一个C#编译器 当初的想法和前辈的思想是一致的,也是编译器的套路,以IL代码为最终目的,这方面的研究在国外还真的很多,开源的也比较多,后来仔细静下心来分析一下,发现即使有这个IL代码作“依托”,实现一个完整的C#编译器几乎是高不可攀,发现用Emit体系(微软建议用这个搞编译器)实现一个真正的C#编译器对我个人来说几乎不可能,后来发现CodeDOM体系也可以,但是仔细想想,这些东西对于练自己的技术很有好处,在大型软件中构建DSL还是真不错的,但实际产品的用途真的不大,后来想法就更简单了,Emit、CodeDOM都不用,我直接把C#做为中间语言,构建可扩展性语法说归说,做归做,做这些东西或许用途不大,但对自己的锻炼绝对是一流的,在此顶一下前辈,谢谢分享精神,祝前辈在.net之路上更上一层楼,更加优秀
等系统恢复正常再说吧。你知道你能一下发3个帖子,删除的时候弄不好一下子也能全部删除。上次就出现了这样的情况(我不知道是不是正好有另一个斑竹在同时操作,但是csdn缓存有问题),一下把3个重复贴全删掉了刚才试着删其中一个,但是没有删掉,无法确定是不是缓存没有刷新的结果。