惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog
V
Vulnerabilities – Threatpost
P
Proofpoint News Feed
Google DeepMind News
Google DeepMind News
Y
Y Combinator Blog
V
Visual Studio Blog
阮一峰的网络日志
阮一峰的网络日志
腾讯CDC
月光博客
月光博客
T
Troy Hunt's Blog
博客园_首页
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
Netflix TechBlog - Medium
Microsoft Security Blog
Microsoft Security Blog
Recorded Future
Recorded Future
Blog — PlanetScale
Blog — PlanetScale
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Scott Helme
Scott Helme
T
Threat Research - Cisco Blogs
P
Palo Alto Networks Blog
T
The Exploit Database - CXSecurity.com
Simon Willison's Weblog
Simon Willison's Weblog
Know Your Adversary
Know Your Adversary
SecWiki News
SecWiki News
Security Archives - TechRepublic
Security Archives - TechRepublic
T
Threatpost
Forbes - Security
Forbes - Security
S
Schneier on Security
P
Proofpoint News Feed
T
Tor Project blog
Cyberwarzone
Cyberwarzone
The Hacker News
The Hacker News
Cloudbric
Cloudbric
S
Security @ Cisco Blogs
Webroot Blog
Webroot Blog
Attack and Defense Labs
Attack and Defense Labs
Hacker News: Ask HN
Hacker News: Ask HN
Google DeepMind News
Google DeepMind News
Hacker News - Newest:
Hacker News - Newest: "LLM"
C
CERT Recently Published Vulnerability Notes
The Last Watchdog
The Last Watchdog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
S
SegmentFault 最新的问题
V
V2EX
量子位
B
Blog RSS Feed
宝玉的分享
宝玉的分享
T
The Blog of Author Tim Ferriss
罗磊的独立博客
J
Java Code Geeks

博客园 - 深瞳

懒惰化、标准化、自动化——工具化--利用合适的工具构建流水线软件过程 脚本语言的游戏开发 准妈妈必听的十首乐曲完全版 [原创]Flex和PHP脚本的整合(2)--AMFPHP篇 [原创]Flex和PHP脚本的整合(1)--XML篇 夜如深瞳,瞳深如夜 新一波VB.NET升级需求涌现 使用VS2005的WEB部署工程 VS2005web应用程序项目教程(7)Upgrading VS 2003 Web Projects to be VS 2005 Web Application Projects VS2005web应用程序项目教程(6)Creating and Using User Control Libraries VS2005web应用程序项目教程(5)Using Master Pages and Site Navigation VS2005web应用程序项目教程(4)Data Binding against Objects VS2005web应用程序项目教程(3)Building Pages with VS 2005 Web Application Projects VS2005web应用程序项目教程(2)Code-Behind with VS 2005 Web Application Projects VS2005web应用程序项目教程(1)Building Your First Web Application Project CSVS 和CSSDK 的区别 ASP.net(1.1)原理学习笔记--第十一章 安全性Security ASP.net(1.1)原理学习笔记--第十章 状态管理State Management ASP.net(1.1)原理学习笔记--第九章 缓存Caching
在.net开发中几个重要的认识误区
深瞳 · 2006-01-31 · via 博客园 - 深瞳

.net如今已经很流行,成为赶时髦的程序员的首选。但是,大量刚刚接触.net的程序员的确存在一定的认识误区,这里先介绍一部分。

一、.net程序再运行一次就会更快

许 多人对此的解释是:.net程序第一次运行时会被编译成本地代码,所以再次运行会更快。但遗憾的是,其实每次运行,那些IL都会被翻译一次,不会保留下 来。所以并不会变快。但为什么有时候真的觉得快了呢?其实所有程序都是这样,这是Windows再为你缓存用过的组件。真正需要CPU时间的程序,多运行 是不会加快速度的。

二、.net程序运行起来一定很慢

由于存在IL被翻译成本地代码的过程,.net程序的确要消耗一部分时 间。但是.net程序仍然具有很高的效率,这一点许多Java虚拟机都比不上,这是为什么呢?因为多数.net程序内含的代码很少,几乎都是调用.net Framework中的类库,而这些类库在.net Framework安装的时候全部编译成为本机优化的本地码,并保存在程序集缓存里面。有了这个程序集缓存,你程序事实上的大部分已经是高效的本地代码, 所以当然快了。但是,如果你进行大量数值计算类的操作,还是能够感到第一次运算的速度明显下降。所以建议大家将计算密集型的程序分离出来,编译成本地代码 并保存在程序集缓存中,以后使用起来就很快了。

三、C#比VB.net快,功能更强大

必须得承认,C#编译器和VB.net 编译器在处理某些细节上确实有些不同,导致两者编译功能类似的程序效率通常会有差异。但对于一个编制完整的项目,是不会有任何差别的。原因是首先 VB.net编译器并没有比C#有实质上的缺陷,其次大部分代码都是.net Framework类库中的代码,两者调用起来没有差别。至于C#比VB.net功能强大,这牵扯到心理学问题。VB并不比C#差,也没有“语法混乱”、 “为了兼容而设计”之类传说中的毛病。用VB.net一样可以写出出色的、结构完美的应用程序。而且VB.net也是Visual Studio.net唯一的宏语言。

这里面还有一个问题,著名的Linux下的.net——Mono中是否只支持C#?当然不是,用 VB.net开发出的程序一样可以在Mono中正确运行。而且最新的Mono将包含Mono Basic语言,这样,掌握VB.net语法的人,就可以完全在Linux等系统下开发。

四、微软只想推广C#,他想放弃VB.net

不 要听信杞人忧天的话。微软无时无刻不在推广VB.net上用心。MSDN上关于.net开发的文章,用VB.net做例子的比用C#还要多。微软还专门推 出VB技术节目——VBTV,帮助开发者更好地了解VB.net。微软在列出Visaual Studio中的开发工具时,Visual Basic总是排在第一个——这是微软5年来的传统。所以担心VB.net会被淘汰的人,现在该松口气了。

五、微软用.net对抗Java,所以我也要支持.net,反对Java

千万不要有这种想法,MS当然想占领Java的市场,Sun当然不愿意,但这不关你的事。哪一方赢了你都不会有实质上的好处。还是两个都学吧。与其在网上挑起争论,不如多学一个本事,你马上就会看到回报的。

好了,从下一次开始,将着重介绍技术上的误区。祝大家好运。