Codeguru Update eNewsletter - November 4th, 2008
|
This Week's Topics
- Comments from the Editor
- Recently Published Books
- New & Updated Articles on CodeGuru
- New Features in Visual Studio 2010 and the .NET Framework 4.0
- .NET Tip: It's 2:00 a.m. Do You Know What Your Processes Are Doing?
- Parallel Programming in Visual C++ 2010 CTP
- Notes from Microsoft PDC 2008
- Speed Up Your Reflection Processes
- Hottest Discussions
- New Articles on Developer.com
- Multimedia Programming with Java: Getting Started
- Reduce String Literal Overhead with Eclipse
- Continuously Improving Your Kanban Change Request Process
Comments from the Editor
Today is a great day to be an American. We get to vote for our next president. Not only that, regardless of the outcome (assuming one of the two major parties' candidates will win), the vote will be historic.Also historic for this week is an upgrade to the discussion forum on Codeguru. If all goes as planned, the discussion forum software will be upgraded on Wednesday evening. There won't be any major changes that you'll notice; however, the software will have better security and will allow us to use a few AJAX features.
In this newsletter, I post hot threads that are happening in the discussion forum on Codeguru. One hot thread this week is on multi-core processors. This is an area I've been focused on for a couple of years now due to the impact these processors will make. It is interesting to see some of the misunderstandings around multi-core systems.
In the hot thread on the site, such a misunderstanding started the conversation. That misunderstanding centered on the issue of a computer only using half its power to run a program. It wasn't using the full power. This was a direct result of a program running on just a single core of a dual-core program. The result is that the one core was fully utilized, but the other was not. This resulted in 100% use of the core, but only 50% usage of the entire processor. As noted in the thread, if this were a quad-core system, only 25% of the processor's power would have been used.
As a developer, you have to be aware of the impact of multi-cores on your programs. There is a paradigm shift you need to be aware of when architecting your programs. Microsoft, Intel, and others have tools to make coding your applications to multi-core systems easier, but it is still up to you to determine what parts of an application can be architected to run concurrently or in parallel. A processor's logic or API will not be able to figure that out on its own.
In many cases, threading has been used in the past to break an application into pieces so it could run concurrently or in parallel. It is interesting to note that with the tools that are coming, you should not be thinking in terms of threads, but rather in terms of tasks. You will want to architect your programs with tasks in mind. A task would be a piece of logic that can run at the same time as others. Thus, you can identify a task that can be parallelized or run concurrently. Then, you also can identify contingencies that these tasks might have.
Bottom line, multi-core processors are changing the way we architect many of our applications. Today, you need to consciously think about what the impacts are and plan them into your applications. The tools are already getting better at making this easier, but there is still a ways to go before thinking about multi-core falls to the wayside in the same way that thinking about memory did in the early 90s.
We are at a point where a historic change in how programs are architected is about to happen. Parallelism and concurrency are part of the new frontier. That future looks bright for gaining power in our applications. Let's hope the historic changes happening in America with the election today also lead to a bright future!
Until next week...
Brad!
---------------------------
Bradley L. Jones
Recently Published Books
For those of you keeping up by reading books. The following are just a few of the new books that have been recently released. If you've read any of these, feel free to write a review to be posted on CodeGuru. See the submission guidelines.Microsoft
Visual Studio Tips
By Sara Ford for Microsoft Press
240 pages for $29.99
251
Ways to Improve Your Productivity
More
Effective C#
By
Bill Wagner for Addison-Wesley
300 pages for $44.99
Accelerated
Silverlight 2
By
Jeff Scanlon for Apress
350 pages for $39.99
New & Updated Articles on CodeGuru
Following are short descriptions of new articles on CodeGuru. If you are interested in submitting your own article for inclusion on the site, then you will find guidelines here.New
Features in Visual Studio 2010 and the .NET Framework
4.0
By
mendhak
Learn about several features relevant to developers in Visual
Studio 2010 and the .NET Framework 4.0, such as parallel programming, XSLT
debugging, new ASP.NET features, and new VB.NET and C# features that
include the Chart control, XSD Designer, Lambda Expressions, and optional
parameters.
.NET
Tip: It's 2:00 a.m. Do You Know What Your Processes Are
Doing?
By Jay
Miller
Monitor the health of the processes running on your system.
Parallel
Programming in Visual C++ 2010 CTP
By Marc Gregoire
The CTP build of Visual
C++ 2010 includes a new library to help you write native parallel code.
Notes
from Microsoft PDC 2008
By Bradley Jones
A few tidbits from PDC 2008. Azure,
Silverlight, WPF, Windows 7, and much more!
Speed
Up Your Reflection Processes
By Paul Kimmel
Use Reflection.Emit to
speed up Reflection intensive processes by writing one general algorithm
that emits a specific solution.
Discussion Groups
Check out the CodeGuru discussion forumsForums include Visual C++, General C++, Visual Basic, Java, General Technology, C#, ASP.NET, XML, Help Wanted, and much, much, more!
... HOT THREADS ...
Focus
problem using JavaScript (scripting)
CListCtrl:
How to make sure that 1 item is always selected? (VC++)
Remove
Vista's CPU limitation of 50%?
New Articles on Developer.com
Multimedia Programming with Java: Getting StartedBy Richard G. Baldwin
Getting started with a new technology can be daunting. Learn how you can benefit from a Java multimedia library and a lightweight Java IDE named DrJava, which has the ability to interactively evaluate Java code.
Reduce
String Literal Overhead with Eclipse
By Scott Nelson
Every J2EE web
application can get an immediate performance boost by eliminating common
and unnecessary overhead that uses an uncommon Eclipse setting and a
little discipline.
Continuously
Improving Your Kanban Change Request Process
By Eric Landes
Many times. a new process
is introduced and after the initial introduction, those productivity gains
slide back. But the Kanban process (really, any lean process) is designed
to allow teams to introduce improvements continuously to their process,
thus continually improving productivity.



Comments
There are no comments yet. Be the first to comment!