|
NOW IS THE TIME
DCSoft has been programming .NET since 2006.
Indeed, we've been keeping a close eye on it since the VC2002 timeframe, but
initial concerns about its productivity, power, deployability, and
performance are only recently addressed with Visual Studio 2005 and .NET 2.0.
-
Productivity -
As Nish likes to say,
C# syntax can look strange to a C++ programmer and is just different
enough to bog down the C++ pro. VS2005 makes C++/CLI a
first-class WinForms development tool, making it easy to venture
into the .NET framework. C++/CLI has proven to be an ideal learning
tool for .NET. After completing just one C++/CLI program, we
have transitioned to C# and greatly appreciate its terse syntax and
readability. We applaud the simplicity of the component model,
which makes MFC look like assembly language by comparison.
-
Power - The downside of components is that they
adopt the Henry Ford motto: a customer of his Model-T
automobile could have any desired color, as long as it's black. If
you don't like a .NET component's behavior, you plead with the
manufacturer to change it, or find another one. If you don't like
an MFC control's behavior, you just edit the source code --- easier
than it sounds, due to the programming standards and familiarity of
MFC code. Still, with web applications becoming popular, the end
user is no longer worried about specifying the exact behavior to the
nth degree. Any reasonable behavior is now considered "good
enough." Thus, component-driven architectures are more acceptable
now than in the past.
-
Deployability - The download size of the 20-some
MB .NET redistributable is now considered reasonable, with broadband
speeds. For the first time, the current Windows OS (Vista)
comes pre-loaded with .NET. Hard disks are, for all practical
purposes, infinitely sized. We are still somewhat concerned
that badly fragmented hard disks and registries make real-world
installations of .NET 2.0 take 20 minutes or longer on a significant
number of systems. However, we are not concerned enough to
cease recommending .NET 2.0.
-
Performance - There's no denying a .NET app
feels noticeably sluggish compared to a native application, in
startup time, UI responsiveness, and memory usage. The
difference is that with modern hardware, .NET applications are
(overall) fast enough. This is similar to the GUI revolution
where Windows 2.x apps were pretty much unusable, but Windows 3.x
and GDI acceleration finally turned the corner and really brought
Windows into the mainstream.
-
Future API's - There are no native equivalents
of Windows Presentation Foundation (WPF) and Windows Communication
(WCF), so development of these future Windows subsystems requires
.NET.
DCSoft believes .NET applications are entering their
hey-day on Windows. The 2006/2007 timeframe is ideal for native
C/C++ Windows Developers to dive into .NET.
.NET Applications
SpamOne - Identify and delete over 2,000 spam
messages per day. Technologies used: C++/CLI, WinForms 2.0,
/n software IPWorks.

Figure: SpamOne screenshot showing WinForms 2.0 Menu, Toolstrip, Tab control,
Hyperlinks, Status Bar
GoalTime Stitcher - Successor to
DCSoft GoalTime.
Technologies used: C#, WinForms 2.0, SQL Server CE,
DevExpress DXperience

Figure: GoalTime Stitcher screenshot
showing Office 2007 UI, tree control (work in progress).
Timecard ASP.NET - Web application used by hourly
workers to submit weekly timecards. Technologies used: C#,
ASP.NET, SQL Server 2005

Figure: TimeCard configuration screen uses a DetailsView, driven
with Master Pages.
Up and Coming World Class .NET Programmers
With decades of C++/MFC experience under our belts,
we know that being a world-class Windows Developer means more than
writing a few lines of C# code to wire together pre-written .NET
components. That is why we don't call ourselves world-class .NET
developers yet (though we're working fast on it!). We know enough
.NET to realize that experts constantly watch for improperly handled
exceptions (perhaps the biggest bane of .NET development), and that
correct implemention of IDisposable and the "using" statement require
special care. We are well aware of potential
issues such as these and we will give them the attention they deserve in your
project.
Recommended Books for .NET
-
Ivor Horton's Beginning Visual
C++ 2005 (Ivor Horton, Wrox) -
kick-started our .NET careers by leveraging MFC knowledge into
C++/CLI.
-
C++/CLI In Action (Nishant
Sivakumar, Manning) - iron grip on C++/CLI presented with beautiful
simplicity.
-
Illustrated C# 2005
(Daniel Solis, Apress) - a picture is worth 1,000 words, allowing
the reader to instantly grasp the meaning of C# syntax.
-
CLR Via C#
(Jeffrey Richter, MS Press) - .NET Internals - no one is a .NET
expert until reading this book.
-
Debugging .NET 2.0
Applications (John Robbins, MS Press) -
Save days deploying apps with strong debugging techniques.
-
ASP.NET 2.0 Unleashed
(Stephen Walther, SAMS) - THE authoritative guide to ASP.NET 2.0.
Recommended Tools
|