读《CLR via C#》差点毁三观~

mrz0953 2013-01-31 08:51:15
加精
读了《CLR via C#》后,知道了它的作者Jeffrey Richter。
真的是大神啊~
书中有一段话差点毁了我的世界观,价值观和爱情观:

“虽然这样说很难让人信服,但许多人(包括我)都认为托管应用程序的性能实际上超过了非托管应用程序。有许多原因使我们对此深信不疑---例如,当JIT编译器在运行时将IL代码编译成本地代码时,编译器对执行环境的认识比非托管编译器更深刻。”

“JIT编译器能判断代码是否运行在一个Intel Pentium 4 CPU上,并生成相应的本地代码来利用Pentium 4支持的任何【特殊】指令,相反,非托管代码通常是针对通用的、具有最小功能集合的CPU编译的,不会使用提升应用程序性能的特殊指令。”


后来百度了下Jeffrey Richter的其他作品,好像都很经典... 学C#到一定程度,就要开始学整个.NET CLR而不再是语言本身咯~~

这本书读了真是受益匪浅~~~~
...全文
71703 99 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
99 条回复
切换为时间正序
请发表友善的回复…
发表回复
gscienty 2015-10-09
  • 打赏
  • 举报
回复
引用 36 楼 Lost_Painting 的回复:
我期待微软出托管代码的OS,基于.NET的 OS 猜想她的名字叫 WINDOWS .NET
自行Wiki Cosmos 操作系统
松林贵人 2015-05-26
  • 打赏
  • 举报
回复 1
引用 20 楼 wddw1986 的回复:
[quote=引用 19 楼 sbwwkmyd 的回复:] JIT编译器再怎么优化,也优化不掉 对象的间接寻址 与 数组的随机越界判断。 虽然理论上可以说对于不同的应用,各有各的好处。但是实际上呢?
实际上就是因为C#的门槛比较低,所以好多人都混进门来搞C#,导致C#开发人员的平均素质比较低下,然后生产出很多垃圾把C#给搞臭了。 我感觉C#和相声基本是同一种形势,门槛低,相声有嘴就能说,C#,有手就能搞,都不需要有脑。结果就是鱼龙混杂,被别人瞧不起,而且行业整体也不够景气。[/quote] 同感。。。
青光 2015-05-21
  • 打赏
  • 举报
回复
托管代码处理数组太垃圾了! 性能越高的系统数组的使用就越频繁! 所以只要系统不变,.net C#的性能永远提升不上去
zujinsheng 2015-05-15
  • 打赏
  • 举报
回复
我擦..这么nb的书 竟然在我的书堆里放了那么久, 而我却还没看 ..
风吹腚腚凉 2015-05-15
  • 打赏
  • 举报
回复
我操挖坟,太牛B了
CalvinR 2015-05-13
  • 打赏
  • 举报
回复
这书确实很有水平 但是我没买 我看的是PDF 感觉要吃透这本书我还差点功力
nomasp 2015-05-06
  • 打赏
  • 举报
回复
我去 你摘录的这句话还真是短小而精悍
渃水 2015-05-04
  • 打赏
  • 举报
回复
传说中的赵三本啊!我也在看这本书。。。。
hdtyx 2015-05-03
  • 打赏
  • 举报
回复
技术无法创新时,就借鉴娱乐界的作法:吹嘘、炒作。还是回到原本比较好。
Minlearn 2013-04-05
  • 打赏
  • 举报
回复
还是欣赏vala,它既有别于cpp,又有别于c#,,这二者都用了编译,解释,等传统的技术。。 而vala,只做了一下转换,而且针对gtk c runtime,它的compiler实际上是translator,,,既避免了性能问题,又避免了cpp对于c developers在学习曲线上导致的sudden change。。。 可谓中间路线。
E次奥 2013-03-18
  • 打赏
  • 举报
回复
菜鸟二号飘过!!!话说电子书上传不成功。要怪就怪CSDN吧,说什么文件太大,扯蛋!!!
heisedeyongheng 2013-03-15
  • 打赏
  • 举报
回复
引用 91 楼 wht506520189 的回复:
引用 34 楼 heisedeyongheng 的回复:牛逼的不是语言不是编译器,而是使用语言使用编译器的思想,做到人机合一才是最高的境界,大侠用树枝也能发挥出剑的效果。 --------------------------------------------------------- 明显是个NC
俗话说一般说别人是什么的自己一般不必那个东西好到哪里去,请问这位仁兄是个啥东西啊?
月上流骚头 2013-03-05
  • 打赏
  • 举报
回复
引用 34 楼 heisedeyongheng 的回复:
牛逼的不是语言不是编译器,而是使用语言使用编译器的思想,做到人机合一才是最高的境界,大侠用树枝也能发挥出剑的效果。
--------------------------------------------------------- 明显是个NC
Kilin_Zhang 2013-02-18
  • 打赏
  • 举报
回复
话说,现在的硬件都这么牛逼了,就算软件是少了那么点性能又能如何呢
  • 打赏
  • 举报
回复
比如说有些人“死抠”一些bmp图片进行分析,这样的人一定会对一些编程语言的看法与我们不同,这样人对于软件开发中的“层次感”与项目经理是正好相反的。一个公司有一个这样的人就够了,(可能)就能够去做一些图片分析的项目了(例如分析卫星数据),因为真正的算法知识不需要这些人研究(需要一大堆博士硕士去研究),这些编程的人只是代码民工而已。 这样就回到了实际应用。我们假设都是开发人员,那么我们应该了解地底层还是瞧不起底层呢? 实际上没有一定的是非,而是靠实践来回答这个问题。
  • 打赏
  • 举报
回复
关于纠结于“底层驱动”的问题,其实就好像设计别墅区、你必定要一些底层民工一样。对于c程序员(而不是c++程序员)就用做底层驱动开发人员就好了,不会开发底层驱动的程序员,不要听他们吹什么“c语言好啊”之类的话;对于会开发驱动的程序员,只要有一个就够了,让他们踏实地成年累月死抠、抄袭那一点c代码就行了。 而项目经理的则往往需要层次比较高的开发人员来顶替,而不是死抠底层编程语言的人。
  • 打赏
  • 举报
回复
引用 79 楼 shigaofei1 的回复:
let me tell u why! 因为开发飞信的人比较水。此其一。 其次,VC++ 已经诞生很多年,有很多代码积累,你的明白?(比如时下比较流行的:DirectUI) 另外,飞信自己搞了一个虚拟机,事实上这给程序更新带来了不少麻烦,这其实是自作自受。自己找麻烦。
瞎说。飞信使用的是当时(包括现在)很难找到、非常奇葩的Salamandar。不是什么“自己搞了一个虚拟机”。 任何事情都应该实验,只不过当时飞信没有醒悟得早一些而已。如果早一点,那么就没有必要打包那个有着20多M大的Salamander,而直接在安装程序中集成.net 2.0就好了。 至于说c++版,实际上在飞信产品研发之前两年就有一个c++版程序,是与飞信(之前是腾讯给中移动做的161手机交友和速配)相接的,只是一直是1、2个开发人员个人玩儿,没有很正规地作为一个项目让4、5个人去开发而已。飞信后来内部产生“大战”这很可能导致了拿产品去攻击别人,而没有真正去研发。 话说回来,飞信那类的IM客户端程序其实非常简单。你可以看到不但有PC版本,也有各种手机版本。实际上复杂的事服务器端系统,而客户端系统可以用各种编程语言甚至某些扯淡的“易语言”,只要知道服务器端api就可以开发了。因此客户端开发“人员”自身的素质是决定因素,而不是什么编程语言。
quanben 2013-02-11
  • 打赏
  • 举报
回复
原则上说C#相对不容易催生不良的设计和代码。由于限制相对(像C++这样的语言)多一些,程序员可以跟集中精力地设计C#编译器能够比较好地优化的逻辑实现需求,这也从某个侧面说明为什么总体上说对C#程序的执行性能不比过分担忧。至于底层一些的,这暂时是没办法的,当然目前完全可以用unsafe、P/I或者CLI等手段去做。
mrsupersky 2013-02-11
  • 打赏
  • 举报
回复
引用 86 楼 sp1234 的回复:
引用 79 楼 shigaofei1 的回复:let me tell u why! 因为开发飞信的人比较水。此其一。 其次,VC++ 已经诞生很多年,有很多代码积累,你的明白?(比如时下比较流行的:DirectUI) 另外,飞信自己搞了一个虚拟机,事实上这给程序更新带来了不少麻烦,这其实是自作自受。自己找麻烦。 瞎说。飞信使用的是当时(包括现在)很难找到……
多谢指点,我也只是略知一二。学习啦,
mrsupersky 2013-02-08
  • 打赏
  • 举报
回复
引用 83 楼 tomcat1983 的回复:
let me tell u why! 因为开发飞信的人比较水。此其一。 其次,VC++ 已经诞生很多年,有很多代码积累,你的明白?(比如时下比较流行的:DirectUI) 另外,飞信自己搞了一个虚拟机,事实上这给程序更新带来了不少麻烦,这其实是自作自受。自己找麻烦。 ------------------------------------ C#程序员的逻辑一贯如……
说的不错,但是C#有些东西由于先天的缺陷,即使是这么久了也积累不下什么。比如靠近底层的。 还有,你要明白程序语言也是有先来后道的。就好像,开发PC游戏,Dx SDK 本身是C++,而且业界一向主要用C++。。。这么多年了,网络上的知识和资源积累也都是C++。。。你突然要用C#。。。。虽然C#语言本身比较优秀,但是 那些用C++已经开发了很多年的同学又怎么会砸自己的饭碗呢。。。而且还要弃成熟思路,冒风险接受新兴的事物。。。
加载更多回复(79)

7,774

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧