﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Cpp Fans-随笔分类-.net/c#</title><link>http://www.cppblog.com/threesh/category/3099.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 30 May 2008 13:17:55 GMT</lastBuildDate><pubDate>Fri, 30 May 2008 13:17:55 GMT</pubDate><ttl>60</ttl><item><title>[轉]七种武器——.NET工程师求职面试必杀技</title><link>http://www.cppblog.com/threesh/archive/2007/04/26/22884.html</link><dc:creator>Cpp Fans</dc:creator><author>Cpp Fans</author><pubDate>Thu, 26 Apr 2007 08:01:00 GMT</pubDate><guid>http://www.cppblog.com/threesh/archive/2007/04/26/22884.html</guid><wfw:comment>http://www.cppblog.com/threesh/comments/22884.html</wfw:comment><comments>http://www.cppblog.com/threesh/archive/2007/04/26/22884.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/threesh/comments/commentRss/22884.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/threesh/services/trackbacks/22884.html</trackback:ping><description><![CDATA[一、.NET框架（七种武器之孔雀翎） <br><br>开发人员应该熟悉.NET FrameWork体系结构和基本原理，熟悉CLR（公共语言运行时）和MSIL(中间语言)，熟悉.NET框架中的委托、线程、序列化、集合、垃圾回收机制、反射等内容。 <br><br>（世界上绝没有一种暗器能比孔雀翎更厉害，也绝没有一种武器能比孔雀翎更美丽&#8230;&#8230;孔雀翎娇小的身躯中隐藏着巨大的威力&#8230;&#8230;.NET框架的博大精深，正如同孔雀翎一样美丽而深不可测。） <br><br>二、面向对象软件开发（七种武器之霸王枪） <br><br>开发人员应该熟悉面向对象软件开发(OOP)基本概念，熟悉面向对象软件开发中的类、继承、封装、多态等概念，具备良好的面向对象软件开发思想和设计原则。 <br><br>（霸王，力拔山兮气盖世。枪，百兵之祖是为枪&#8230;&#8230;霸王枪是世上最霸道的兵器之一&#8230;&#8230;正如面向对象软件开发，它大小通吃，不论是采用何种软件开发框架，还是使用不同的开发语言，面向对象软件开发在其中畅通无阻，霸气十足。） <br><br>三、C# (七种武器之离别钩) <br><br>开发人员应该熟练掌握C#这门面向对象编程语言，虽然.NET框架支持多种编程语言，但C#无疑是最简洁、使用者最广泛和功能最强大的一种。 <br><br>（离别钩是一件武器，无论钩住人的任何部位，都能造成离别&#8230;&#8230;但使用它的初衷却是为了能够与所爱的人相聚&#8230;&#8230;C#是一门年轻的语言，它的出现，让更多的开发者爱上了C#，脱离了VB和ASP的阵营，造成离别。） <br><br>四、ASP.NET（七种武器之碧玉刀） <br><br>开发人员应该理解ASP.NET的页面生命周期、熟悉配置文件的格式、熟悉ASP.NET的各种服务器控件和数据控件、了解ASP.NET中的各种对象，了解ASP.NET2.0新特性。 <br><br>（刀是最容易上手的武器，也是使用最广泛的武器&#8230;&#8230;ASP.NET技术在网站开发当中的应用，正如同刀一样地使用频繁，更何况是一把华丽的碧玉刀。碧玉刀本身也是实力的象征，就如同ASP.NET在WEB开发中的位置。） <br><br>五、数据库(七种武器之长生剑) <br><br>开发人员需了解各种主流数据库，熟悉数据库的规范设计、精通SQL及存储过程、触发器的编写。 <br><br>（长生剑，世上最锋利的剑，剑气威力强大而又持续不断、绵绵不息&#8230;&#8230;正如同数据库一样，吸纳吞吐，化大象于无形，强力支撑着软件系统。要想在IT界获得长生，就看你数据库的功底了。） <br><br>六、AJAX技术(JAVASCRIPT和XML)(七种武器之多情环) <br><br>XML和JAVASCRIPT的跨平台特性，在实际软件开发中的运用越来越广泛，由于现代软件对用户界面和WEB前端的日益重视，集JAVASCRIPT和XML技术于大成的AJAX正在流行，特别是在基于WEB2.0的网站开发中。 <br><br>（多情环是一种奇特的武器。无论套住了什么，立刻就紧紧地缠住，绝不会再脱手，就像多情的恋人一样&#8230;&#8230;JAVASCRIPT和XML技术已经出现多年，此前一直不痛不痒，但由于集JAVASCRIPT和XML于大成的AJAX技术的出现及其在互联网上的不断应用，又重新焕发出生命活力，就像多情的环一样，将众多的开发者牢牢系住，在2006年红透了整个IT界，2007年AJAX技术将继续红火。） <br><br>七、软件体系架构(拳头) <br><br>优秀的软件离不开优秀的软件体系架构，作为开发人员，要想在IT行业更进一步，需要具备系统的、良好的软件体系架构思维，从而从更高层次决定软件的整体系统框架。 <br><br>（拳头也是一种武器。而且是无可替代的武器。当分散的五指握成拳头，它的力量又岂仅仅是原来的五倍&#8230;&#8230;优良的软件体系架构是整个软件开发体系的核心，就如同拳头一样，它是直接而致命的。但有一点，不是每个人的拳头都可以用做武器的。） <br><br>结束语：无论多可怕的武器，也比不上人类的信心。所以人类最厉害的武器。便是自己的信心。相信你自己，做最好的自己，你就会成功！ 
<img src ="http://www.cppblog.com/threesh/aggbug/22884.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/threesh/" target="_blank">Cpp Fans</a> 2007-04-26 16:01 <a href="http://www.cppblog.com/threesh/archive/2007/04/26/22884.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>程序员,难道你该跟在C#的后面?</title><link>http://www.cppblog.com/threesh/archive/2006/11/23/15571.html</link><dc:creator>Cpp Fans</dc:creator><author>Cpp Fans</author><pubDate>Thu, 23 Nov 2006 00:53:00 GMT</pubDate><guid>http://www.cppblog.com/threesh/archive/2006/11/23/15571.html</guid><wfw:comment>http://www.cppblog.com/threesh/comments/15571.html</wfw:comment><comments>http://www.cppblog.com/threesh/archive/2006/11/23/15571.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/threesh/comments/commentRss/15571.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/threesh/services/trackbacks/15571.html</trackback:ping><description><![CDATA[
		<p>
				<font size="2">C++、DELPHI、JAVA……这些耀眼的名字不仅占据了程序员的生活，而且似乎已经成为了某种信仰。这世界上好像没有什么比编程工具更能牵动程序员的心了。</font>
		</p>
		<br />
		<p>
				<font size="2">微软，这头已被法官和黑客们折腾得既疲惫又恼怒的狮子，发誓要保住它头上的王冠。于是拼尽全力，拿出了看家的本事——.NET战略。而作为 .NET的核心开发语言，C#就顺理成章地浮出了水面。</font>
		</p>
		<p>
				<font size="2">　　有选择就有痛苦，程序员，你选择跟在谁的后面？</font>
		</p>
		<p>
				<font size="2">　　要找出答案就不得不来作一番比较和预测：</font>
		</p>
		<p>
				<font size="2">　　先除去一切非技术方面的因素不议，C# 无疑是自盘古开天以来这个人类地球上最好的编程语言，它几乎集中了所有关于软件开发和软件工程研究的最新成果。面向对象、组件技术、类型安全、版本控制、跨平台异常处理、自动内存管理、代码安全管理……你不可能在另外的一种语言中找到所有这些特性。也许的也许，这时，你想到了JAVA，然而，C# 确实是走得更远。<br />　<br />　　回顾历史，非技术的因素好像往往更能决定一个产品的未来，尤其在计算机软件的历史上。</font>
		</p>
		<p>
				<font size="2">　　技术卓越的产品，如OS/2、Mac OS、UNIX等，都败在了Windows那漂亮的脸蛋儿下。而这一次，微软的角色好像从一个赤手空拳的革命者变成了仗势欺人的老地主，如果真是要变天，那C# 这孩子岂不是投错了胎？也可能情形并非如此糟糕，毕竟瘦死的骆驼比马大，而且C# 已经提交给了一个标准化组织，一旦成了国际标准，说不准真有哪个大侠（也有可能是微软自己）给移植到Linux 和别的平台上。</font>
		</p>
		<p>
				<font size="2">　　要是那样的话，JAVA小弟可就惨了。因为JAVA的用户主要是网络服务的开发者和嵌入式设备软件的开发者，嵌入式设备软件不是C# 的用武之地，而在网络服务方面，C# 的即时编译和本地代码Cache方案比JAVA虚拟机更具有绝对的性能优势。何况C# 一旦成为一个像C++ 一样的公共的标准，软件开发商既可以省去JAVA的许可证费用，也不必担心成为微软的奴隶，那些反微软的人士和主张厂商独立的人士可能也不会有什么意见。这可能正是微软所期待的。</font>
		</p>
		<p>
				<font size="2">　　再看，C# 和传统通用快速开发工具—VB、DELPHI等的较量，又是地地道道的白刃战。可能到时最惨的程序员就是VB程序员，在微软，VB就像离任的克林顿，不但失去了所有的光辉，而且乱事缠身。想想吧，VB6写的项目必须用转换工具转换成基于.NET的代码才能在VB7中调入，几乎面目全非。由于VB7遵循为迎合.NET而建立的通用语言规范（CLS），几乎把所有原来只在C++、JAVA等语言中可以运用的特性统统加了进来，只是语法和原来兼容。如果你是第一次在VB7中看到自己的旧VB6项目转换之后的代码，一定要当心你的心脏！所以，努力吧，别告诉我你将就此退休。DELPHI的状况也好不到哪里去，原来的看家本领是做起应用来又快又好，可现在看看最新的VS.NET Beta 1, 你会感到如此熟悉，众多的属性列表、组件……，唉，只有感叹的份了！　　最后，我们细品品，其实在编程语言中真正的霸主多年来一直就是C++，所有的操作系统和绝大多数的商品软件都是用C++作为主要开发语言的。JAVA的程序员绝大多数也是C++的爱好者，PHP的成功里面也有类似C++的语法的功劳。在操作系统、设备驱动程序、视频游戏等领域，C++在很长的时间内仍将占据主要地位，而在数量最大的应用软件的开发上，C# 很可能取代C++的位置。</font>
		</p>
		<p>
				<font size="2">　　首先，C# 和JAVA一样，简直就是照搬了C++的部分语法，因此，对于数量众多的C++程序员学习起来很容易上手，另外，对于新手来说，比C++要简单一些。其次，Windows是目前占垄断地位的平台，而开发Windows应用，当然微软的声音是不能忽略的。最重要的是，相对于C++，用C# 开发应用软件可以大大缩短开发周期，同时可以利用原来除用户界面代码之外的C++代码。</font>
		</p>
		<p>
				<font size="2">　　人无完人，编程语言它也是如此，C# 也有弱点。</font>
		</p>
		<p>
				<font size="2">　　首先，在大量的现有Windows平台上，C# 的程序还不能运行，因为C# 程序需要 .NET运行库作为基础，而 .NET运行库将作为新一代的Windows（Whistler）的一部分发行， 或以Service Pack的形式提交给Windows Me 和 Windows 2000用户。所以在近期，C# 会主要在服务器上得到应用。其次，C# 能够使用的组件或库还只有 .NET 运行库等很少的选择，没有丰富的第三方软件库可用，这需要有一个过程，同时各软件开发商的支持也很重要。第三，JAVA的成功因素里有一些是反微软阵营的吹捧，虽然“只写一次，到处运行”只是一句口号，但毕竟已经是一种成熟的技术。而C# 的鼓吹者目前只有名声不佳的微软，且只能运行在Windows上。实际上这两种语言都不是不可替代的，理智的说，对软件开发商而言，什么用的最熟什么就是最好的工具。尤其对C++的使用者，C# 没有带来任何新东西，因为.NET运行库在C++中也可以使用，没有要换的绝对的理由。</font>
		</p>
		<p>
				<font size="2">　　据以上分析，我们可以理所当然地得出结论：近几年，C# 将不可避免地崛起，在Windows平台上成为主角，而JAVA将在UNIX、Linux等平台上成为霸主，C++ 将继续在系统软件领域大展拳脚。非常有意思的是，这些语言的语法极其接近，因为JAVA和C# 都是由C++发展而来的。其他的开发工具当然还会在相当长的时间里继续他们的旅程，不过在市场份额上，将不可避免地受到冲击。</font>
		</p>
<img src ="http://www.cppblog.com/threesh/aggbug/15571.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/threesh/" target="_blank">Cpp Fans</a> 2006-11-23 08:53 <a href="http://www.cppblog.com/threesh/archive/2006/11/23/15571.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>