<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.2" -->
<rss version="0.92">
<channel>
	<title>Hui's Thinkpad</title>
	<link>http://huichen.org</link>
	<description></description>
	<lastBuildDate>Wed, 20 Aug 2008 07:16:20 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>Teach yourself string theory in Half Life &#8230; with zombies</title>
		<description>From Half Life Physics </description>
		<link>http://huichen.org/109</link>
			</item>
	<item>
		<title>[下载] 一本C#和.NET的好书</title>
		<description>

《Pro C# 2008 and the .NET 3.5 Platform, Fourth Edition》

作者 Andrew Troelsen

我把这本电子书放在了Megaupload上，下载链接。打开时需要密码 c@sharp.com

这本书的前一半介绍C#和.NET的基础，包括四个部分，分别是：

1. .NET的基础概念(CLR/CTS/CLS等)和C#的编译环境。值得一提的是侧重介绍了非Visual Studio环境，包括命令行环境。这对理解C#的编译过程很有帮助。

2. 核心的C#语言构造，包括类的定义、继承、多态、成员函数重载、虚函数和抽象类，exception处理，以及特别有一章是关于garbage collection的，值得一看。

3. 高阶C#构造，包括interface, collection, delegate, indexder, 以及C#2008的新特性和LINQ入门。

4. 介绍 .NET 的assembly构造，多线程和CIL等。

后半介绍C#下的微软扩展库（比如ADO.NET, WCF, WindowsForms, WPF和ASP.NET等）。

特别值得一提的在附录中专门有一章介绍.NET的平台无关移植 -- Mono项目。

该书条理清晰，将一个个概念按逻辑顺序逐个解释，同时辅以例子。即可以作为初学者的入门书，同时这部1300页、拥有详细索引的书也可作为进阶的参考书，所以强烈推荐! </description>
		<link>http://huichen.org/106</link>
			</item>
	<item>
		<title>.NET比C/C++更快？</title>
		<description>C#和JAVA以及Python一样，是解释性语言(Interpreted language)的一种，这类语言和编译性语言(Compiled language)如C/C++/FORTRAN的区别在于后者将源代码编译为机器代码执行，而前者通过将源代码编译为平台无关的bytecode，然后再通过虚拟机的“即时编译”(Just-in-time compilation, JIT)在执行时“解释”为机器代码然后运行。在跨平台性和代码易于调试维护上前者比后者有绝对优势，而且往往添加了一些关键特性比如garbage collection。

通常编译性语言比解释性语言快，但并不是一定的。两者执行效率差距完全取决于编译器和虚拟机的质量。.NET平台就是一个很好的例子。

.NET 是微软的一种应用程序构架(Framework)，C#/C++/VB等源代码可以通过微软的编译器先生成一种称为CIL(Common Intermediate Language, 通用中间语言)的bytecode，然后通过.net的虚拟机编译为机器代码执行。C#是.NET的默认语言，你也许会争论C++是.NET的默认语言，因为其可控性更强，但这种争论是错误的，因为：C#和managed C++生成的都是相同的CIL bytecode，而C++语言本身显然缺少C#的新特性。

即使是C#.NET和unmanaged C++(非生成CIL的C++)相比，前者执行效率上也有优势。下面我通过实例（N体问题的数值解）来比较C#和C++(unmanaged)的运行效率，采用了computer language shootout中的源代码，并做了少量修改，但算法都是一样的。我修改过的代码在下面下载：

C# 源代码文件 nbody.cs
C 源代码文件 nbody.c
C++ 源代码文件 nbody.cpp

编译环境为：

CPU: Pentium 4 3.0Ghz
OS: Windows XP / SP2
Memory: 1G
Compilers: 
Visual Studio 08: .NET(3.5), C# 编译器 csc.exe (3.5.21022.8), C++/C 编译器 cl.exe(15.00.21022.08), 
Cygwin中的gcc/g++(3.4.4)
另外对C#编译后的.exe的bytecode还可以通过ngen.exe进行预编译为机器码放入Native Image Cache(C:\windows\assembler)中尝试加快执行速度（免去对CIL的JIT时间）。

编译和运行都在cygwin的shell下通过命令行执行，编译命令行和程序执行的时间见下。

C# (csc.exe)
$ csc /o nbody.cs
9.604s, 9.587s, 9.593s, 平均值 ...</description>
		<link>http://huichen.org/105</link>
			</item>
	<item>
		<title>机车男代码片段欣赏</title>
		<description>

上面是以前实验室一位机车男写的C++代码片段。

机车男的风格就是：当你厌倦了temp1, temp2, i, j, k等临时变量的时候，请考虑用 jiche1, jiche2 ... </description>
		<link>http://huichen.org/104</link>
			</item>
	<item>
		<title>Wenjing&#8217;s Kitchen Fu</title>
		<description>文静最近迷上了做菜，大家可以到相册里欣赏一下她的厨艺。文静的菜不仅好吃，而且很有卖相！

http://picasaweb.google.com/usa.chen/WenjingSKitchenFu


沙嗲牛肉


自制酸奶


红烧鱼


大家可以到MITBBS的food版找食谱，很多菜只要严格遵循食谱即可。
 </description>
		<link>http://huichen.org/102</link>
			</item>
</channel>
</rss>
