-
2009-11-17
爱恨情仇?Windows 7中的Ribbon界面
之前写过几篇文章介绍Windows 7中Ribbon界面的开发,随着Windows 7的发布,Ribbon界面成为一种趋势。这周,CodeProject就Ribbon界面做了一个调查,看看程序们对Ribbon界面是爱是恨》
The Windows 7 Ribbon. Love it or Loathe it?
Survey period: 9 Nov 2009 to 16 Nov 2009
Do you like the Windows 7 (formerly Office 2007) Ribbon or do you loathe it?
Option Votes %
I love it 208 19.85
I like it 324 30.92
I'm ambivalent or don't have an opinion 254 24.24
I don't like it 149 14.22
I can't stand it 113 10.78
Total 1048 100%从结果来看,半数参与调查的人对Ribbon界面抱着欢迎的态度,其中有约20%甚至是Love的程度。只有约10&的人比较讨厌Ribbon界面,看来是程序员中比较守旧的一部分。
v从结果上分析,微软在Windows 7中推出的二代Ribbon界面还是比较成功的,能够被多数人说认同和接受,Ribbon逐渐成为一种趋势,不再是一个空洞的口号。想当初,我写下Ribbon界面会成为趋势的时候,还在担心自己会成为历史的笑话呢。这些有些放心了。
实际上,我个人也是比较接受Ribbon界面的,虽然开发起来更麻烦。
-
2009-11-03
Visual Studio 2010对并行计算的支持
IT168 专稿】小时候,老师总是教育我们上课要专心,“一心不可二用”。可是这个道理在计算机的世界却行不通。睡着多核心CPU的推出,一芯多用,成为越来越普遍的事情。从单核到双核,从双核到四核,再到八核等等,我们开始进入一个一芯多核的时代。
软件是 运行在硬件之上的。当硬件发展了,软件也要做相应的变化,才能跟上时代的步伐。面对多核时代的到来,软件世界的并行计算开始兴盛起来。如何更加充分地利用 CPU的多个核心?如何发挥多核的威力,带来软件性能上的提升?如何改造现有的程序,让她更好地适应多核时代?如何简便地实现并行计算,使自己开发的应用 程序充分地利用硬件升级所带来的性能提升?这些问题,无不困扰着我们这些多核时代的程序员们。
现在崭新的Visual Studio 2010为我们带来了完整的并行计算解决方案,让我们可以从容面对多核时代的到来。
天下不再有“免费的午餐”
在以往的计算机发展历史中,硬件技术的发展,特别是CPU频率的不断提高,总是给软件带来免费的性能提升。从386到586,从赛扬到奔腾,每次CPU 频率的提升,都带来软件性能的大幅提升,而软件无需做任何变动。如果有客户抱怨你的软件性能不佳,我们无需着急,只需要坐等Intel或者AMD推出更高 频率的CPU就可以了。程序员们把这形象地称为“免费的午餐”。

图1,多核时代
当单核CPU的频率发展到3G之后,再往上发展就遇到了技术瓶颈,单核心CPU的发展已经到达一个极限,硬件厂商不得不转而向多核芯CPU发展,在一颗 芯片中加入两个甚至多个运算核心,通过核心的增加,来提高芯片总的频率。虽然在硬件厂商看来,这仿佛是一个创举,但是却给软件厂商带来了无尽的烦劳。程序 员们发现,进入多核时代后,这种“免费的午餐”再也没有了。这其中最主要的原因就是当前的应用程序几乎都是针对一个运算核心而设计的,当硬件通过增加运算 核心来提高性能时,由于受到其架构的影响,软件并不能充分地利于多个运算核心所带来的性能提升,甚至有的时候性能还有所下降。在这种情况下,开发者不得不 改变应用程序的架构和开发方法,以应对这种多核的趋势,使得自己的软件可以充分利于硬件升级所带来的性能提升。开发者希望有一个工具能够帮助他们分析应用 程序中的性能瓶颈,能够简便地将现有的业务逻辑并行化处理,从而更好地利用硬件,提升软件的性能。面对这样的需求,作为下一代开发平台,Visual Studio 2010加大了对并行运算的支持。微软正在使得尽量大的范围内的开发者都能高效而简便地进行并行计算的开发,不管他使用的是非托管代码还是.NET Framework。从而将开发者从繁琐而复杂的多线程开发中解放出来,将更多的精力放到业务逻辑上。在Visual Studio 2010中,我们将看到:
• Visual Studio IDE对并行计算开发的大量支持。比如,Visual Studio 2010的调试器知道代码的并行特性,并且能够在调试程序的不同执行单元的时候,表现应用程序的状态。
• 非托管的C++库和编译器对并行计算的支持
• .NET Framework 4.0对并行计算的大量支持,包括PLINQ、并行语言语句等等
另外,Visual Studio 2010还提供了一个“并行性能分析器”,它可以帮助我们分析应用程序的性能瓶颈,找到需要并行处理和可以进行并行处理的地方,并以图形化的形式表现出 来。这样,“并行性能分析器”配合着Visual Studio 2010,我们就可以轻松地实现应用程序的并行化。
-
2009-10-21
Visual Studio 2010 Beta 2 Training Kit发布
紧随的发布,微软今天发布了Visual Studio 2010 Beta 2 Training Kit。通过这个Training Kit,通过丰富的PPT和动手实验,我们可以了解和学习beta2中的各种新特性,为迎接明年正式版的到来打下基础。
The Beta 2 version of DPE’s Visual Studio 2010 Training Kit is now live (you can find it at http://tinyurl.com/Beta2Training).
A training kit includes presentations, hands-on labs, and demos. This content is designed to help you learn how to utilize a variety of Visual Studio 2010 and .NET Framework 4 technologies.
The Beta 2 release of the Training Kit contains 15 presentations, 19 hands-on labs, and 13 demos. Many technologies are covered in this release, including: C# 4, VB 10, F#, Parallel Extensions, Windows Communication Foundation, Windows Workflow, Windows Presentation Foundation, ASP.NET 4, Entity Framework, ADO.NET Data Services, Managed Extensibility Framework, and Visual Studio Ultimate.
There’s a lot of content covered here. See for yourself:
Presentations
- What’s New in .NET Framework 4
- What’s New in Visual Studio 2010
- Introduction to ASP.NET MVC
- Introduction to Managed Extensibility Framework
- Introduction to .NET RIA Services
- Introduction to “Velocity”
- Parallel Computing for Managed Developers
- Web Deployment with Visual Studio 2010
- What’s New in ASP.NET AJAX 4
- What’s New in ASP.NET Web Forms 4
- What’s New in C# and VB
- What’s New in ADO.NET Data Services
- What’s New in Entity Framework 4
- What’s New in Windows Presentation Foundation 4
- What’s New in Windows Workflow 4
Hands-On Labs
- Introduction to ADO.NET Data Services
- Exercise 1: Creating and Consuming ADO.NET Data Services
- Exercise 2: Consuming ADO.NET Data Services using ASP.NET AJAX
- Exercise 3: Extending Data Services with Service Operations and Interceptors
- Exercise 4: Adding Client-Side Paging with Row Count
- ASP.NET AJAX 4
- Exercise 1: Leveraging a Client-Side Template
- Exercise 2: Using the DataView Control
- Exercise 3: Creating Custom Markup Extensions
- Exercise 4: Declaratively Instantiating Behaviors
- Creating Plan My Night – ASP.NET MVC Application
- Exercise 1: Creating an ASP.NET MVC Application, Plan My Night
- Exercise 2: Creating Entity Framework Data Model
- Exercise 3: Adding AJAX For Searching Activities
- Enhancing Plan My Night – ASP.NET MVC Application
- Exercise 1: Adding Caching using “Velocity”
- Exercise 2: Structuring an Application using MVC Areas
- Introduction to ASP.NET Web Forms 4
- Exercise 1: Controlling Server Control ClientIds
- Exercise 2: Enabling Bi-Directional Routing Support
- Exercise 3: Granular ViewState
- Microsoft Office Programmability in C# and Visual Basic
- Introduction to F#
- Exercise 1: Types in F#
- Exercise 2: Using the Let keyword
- Exercise 3: Functions
- Exercise 4: Lists
- Exercise 5: Pattern Matching and Recursion
- Exercise 6: Types and Discriminated Unions
- Introduction to the Managed Extensibility Framework
- Exercise 1: Using MEF To Dynamically Add Modules to an Application
- Exercise 2: Dynamically extending a form
- Introduction to “Velocity”
- Exercise 1: Setting up and running “Velocity”
- Exercise 2: Programming directly against “Velocity” as a generic object cache
- Exercise 3: Using Velocity’s SessionState provider with ASP.NET
- Exercise 4 (Optional): Configure “Velocity” Cache in a cluster
- Introduction to Workflow 4
- Exercise 1: Hello Workflow
- Exercise 2: Refactoring Workflows
- Exercise 3: The CodeActivity
- Exercise 4: Dynamic Workflows with XAML
- Exercise 5: Testing Workflows
- Exercise 6: WorkflowApplication
- Exercise 7: Adding If/Else Logic
- Exercise 8: Error Handling
- Exercise 9: Activity Designers
- Exercise 10: Hosted Designer
- Introduction to Parallel Extensions
- Exercise 1: Parallelize existing algorithm using static Parallel helper class
- Exercise 2: Create and run parallelized Tasks
- Exercise 3: Using the Task<T> class to create and run tasks that return a value
- Exercise 4: Parallelizing LINQ queries using PLINQ
- Test-Driven Development in Visual Studio 2010
- WCF Service Discovery
- Exercise 1: Ad-Hoc Discovery
- Exercise 2: Metadata Extensions
- Exercise 3: Announcements
- Exercise 4: Discovery Proxy
- Exercise 5: Legacy Discovery
- Web Development in Visual Studio 2010
- Exercise 1: Using HTML Code Snippets
- Exercise 2: Web.config Transformations
- Exercise 3: Packaging and Deploying Web Applications
- Exercise 4: Packaging and Deploying Web Applications for IIS
- Building a Data-Driven Master/Detail Business Form using WPF 4
- Multi-touch Gesture – MFC
- Multi-touch WMTouch – MFC
- Ribbon – MFC
- Taskbar - MFC
Demos
- ContosoAutomotive (Parallel Extensions + MEF + WPF)
- AdventureWorks AJAX
- ASP.NET AJAX Ten-In-One
- Managed Languages Ten-In-One
- Barrier
- CountdownEvent
- Hello Visual Studio 2010
- Introduction to the Managed Extensibility Framework
- Parallel Baby Names
- Parallel For Loop
- Parallel LINQ (PLINQ)
- Parallel Tasks
- “Velocity”
Enjoy!
-
2009-10-20
Visual Studio 2010 beta2发布,MSDN旧貌换新颜
-
2009-09-30
专题:VS2010与Windows 7共舞
在IT168做了一个新的专题,VS2010与Windows 7共舞,看着这些文字,我都不敢相信这是我码出来的。欢迎访问,给点意见。更希望能够有出版商感兴趣,能够在加以丰富,做成平面媒体出版。
另外感叹,IT168的美工真是够差劲的,还不如我这个业余PS爱好者。













