|
Joshua Trupin is the Executive Editor of MSDN
Magazine. Josh was formerly an author,
programmer and regular columnist for MSJ and Microsoft Internet Developer.
He currently lives in New York city with his wife, two children, two dogs,
and reportedly an estimated 1.4 million dust mites.
I caught up with Josh to get his perspective on how .NET has been
faring so far, its influence on developers and his guess as to what the
future may hold.
|
CodeProject: The official
explanation of what .NET is, to many, a little lacking. How would you describe
.NET and where do you see it most affecting everyday development?
Josh: The way I see it, the naming scheme itself is what’s created
some confusion. Microsoft announced .NET, and they announced the .NET
Framework, and they’re not identical terms. The part that we’re concerned with,
the framework, is a set of concrete technical specifications – the CLR, the
Framework Class Libraries, MSIL, and so on. “.NET” is also used as a marketing
term for a group of products that use XML Web Services for interoperability.
Since this is a source of potential confusion, we try to
make it clear in the magazine that we’re talking about the .NET Framework when
it comes up. As for where it affects development, I don’t know many people
who’ve used Visual Studio .NET for a while, then decided to go back to the
pre-framework days. Our readers have told us that using the .NET Framework is
much more intuitive and productive. I’ve written a couple of standalone applications,
and for me, the difference was pretty striking. To take one simple example, I
used to use the WebBrowser
control to retrieve Internet content in batches, and
it just didn’t work right. Now I can just use WebRequest
and WebResponse
, and I
have confidence that it’s going to work without getting “stuck” all the time.
In turn, the ease of use of the Internet classes in
particular is going to spark off hundreds of new ideas. Programmers can get
past the plumbing phase more quickly and concentrate on the logic of their
program.
CodeProject: From your
experience with the development community and industry, how would you judge the
reception to .NET so far? Do you see any one segment of the community or
industry adopting it more than other segments? Which segment of the developer
community do you feel has been left out of the party?
Josh: Starting
at the July 2000 PDC and continuing through today, the reaction I’ve heard from
developers is that .NET is at least as important an advance as the Win32 API
was back in the early 1990s. I don’t think I’ve heard anyone who’s not an
evangelical Java language partisan say that .NET is a poor idea. The biggest
problem in its adoption so far has been its release in the middle of a lousy economy.
I think that some companies just don’t have the startup resources for new
projects right now. For developers who’ve committed, more or less, to Microsoft
tools, .NET usage is at 50/50 or better and growing. One of the great things
about the .NET Framework is that you can download the basics without paying for
it, and you get a C# and a Visual Basic .NET command-line compiler. Without any
initial outlay, individuals can grab a couple of samples off GotDotNet or
CodeProject, compile them, and start playing around.
CodeProject: What is your
opinion on the decision to combine all development environments (Web, desktop,
VB, C++) into the one IDE? How have developers reacted?
Josh: I think there was some initial resistance to the idea,
especially in the Visual Basic community. Some of that was born from changes in
the language itself; some people felt like they were being dragged along. In
over two years, we haven’t received any letters from people who were upset
about the IDE, beyond the standard version complaints about where menu options
had gone to.
As a concept, it makes sense to combine programming
languages into a single IDE. There’s a lot of reusability benefit. Programmers
can learn programming instead of multiple IDEs. It’s easier for Microsoft to
engineer a single codebase. At this point, it’s a non-issue for most users.
CodeProject: Are the changes
in the IDE and the traditional Windows development languages too much as some
complain, or is it simply a reaction against change and the traditional
antagonism between developers from different tribes?
Josh: Although
C++ was the first language I used professionally, I’ve been a strong proponent
and user of Visual Basic from the pre-1.0 “Days of Thunder”. And I’ll admit, I
do miss Visual Basic 6.0 a little. I keep it on my dev machine, but I only use
it for project maintenance now. I use Visual Basic .NET for all my new
development.
CodeProject: If you could
change the way Microsoft had introduced .NET and VS.NET to the community, what
would you suggest be been done differently?
Josh: Many
people think it would’ve been helpful to maintain source-code compatibility
between Visual Basic 6.0 and Visual Basic .NET. I understand these sentiments
completely, but the mere thought of trying to implement that while advancing
the language is just mind-boggling. If you look back, things haven’t been kept
completely compatible in the past. I found a Visual Basic 1.0 project on the
Web a couple of years ago, and tried to open it in Visual Basic 6.0. It
wouldn’t work – the project file format was changed at some point, and newer
versions of Visual Basic no longer read older files.
As I
mentioned earlier, the whole .NET vs. .NET Framework difference could’ve been
differentiated in advance. We started to get “.NET Creep,” where products (from
a number of companies) wanted to call themselves Something .NET because it
sounded good for their next version. Microsoft could have emphasized better
that you can develop desktop applications with the .NET Framework – a lot of
the early talk was about Web Services and the types of applications that most
people weren’t doing at the time.
I
think that Microsoft did a lot of things right, though. Beta 2 was pretty
stable, and lots of companies were able to deploy ASP.NET applications before
the final code drop. The wide distribution of betas (in our magazine and
elsewhere) got a lot of people excited about the new technology. And we really
got to open up the magazine pretty quickly to serve lots of .NET Framework
information. There’s so much in there that we’re still discovering new nooks
and crannies to cover every month.
CodeProject: Do you think
that .NET and VS.NET will encourage more developers to move over to Microsoft
products, or do you think there is a danger that developers may have been
alienated?
Josh: Initial
reports from the field have been positive. I’ve spoken with traditional tools
vendors who are discovering that almost all new product requests are
.NET-related. There are three types of developers I can see. There are the long-term
loyal Microsoft customers who’ve invested a lot of time and effort into getting
the most out of Microsoft tools, there are the devs who’ve made it their life’s
quest to show that all features in all Microsoft tools are inherently evil, and
there are the pragmatists who want to get their work done. We do our best to
serve the first and third groups with the magazine, and we understand that
there’s no value in arguing with people who hold the second worldview. It
doesn’t help us, it doesn’t help them, and it doesn’t help our customers.
It’s
our duty to help our customers by listening to them, providing them all the
information they need, when they need it, in the form they want it, and do it without
taking unnecessary shots at competitors. The developer audience is unique in
their ability to detect that one part per million of marketing and tactical
spin; it’s not what they’re looking for when they come to us for help doing
their work. I think that MSDN Magazine, and everyone who works for the larger
MSDN umbrella, are truly committed to helping the developer with
straightforward information, and that’s the best way to keep users from feeling
alienated.
CodeProject: We've already
seen the first fork in the VS.NET tree - namely the WebMatrix. Do you think
that other features of VS.NET will be split out into separate apps much like
the days of yore, or is this simply the symptom of a worthy product still
finding its feet?
Josh: I
don’t see the product splitting back up, since it’s just been assembled! There
will always be tools like WebMatrix that provide alternate ways for people to
do their jobs most efficiently. I can see Visual Studio .NET extending in other
ways we can only guess at right now. The Visual Studio roadmap for the next
three releases looks extremely interesting, however. The version after Visual
Studio .NET 2003 will be integrated with SQL Server and will let you write code
for Microsoft Office. After that, there’s a version planned for Longhorn, which
in many ways will be as revolutionary as the .NET Framework itself was –
managed interfaces will eventually be the core of the operating system itself,
not just a feature.
I’ve
been working for MSDN Magazine (and before that MSJ and MIND) as an editor
since 1996, and I wrote for MSJ for four years before that. I can truly say
that this is the most exciting time for developers – there’s so much innovation
going on right now, and the tools and hardware are really getting fun to use.
There are applications I could only dream of creating ten years ago that are
now just a few mouse clicks away.
CodeProject: Before .NET, aspiring web developers had a reasonably simple time writing apps
using VBScript and ASP. Do you feel that ASP.NET, with its initially daunting programming model,
object oriented languages and development model, and the
necessity to use VS.NET or WebMatrix for development will scare away new Web
developers, and instead encourage them to take up PHP or JSP?
Josh: I
don’t see that much of a problem with the new programming model in ASP.NET, if
you’re using a tool to generate the code. When I first took a shot at ASP
programming a few years ago, it took me a while to get mentally acclimated to
the model, because it wasn’t what I was used to. It felt more like a batch
language or QBasic – the statements had to go in order, one after the next.
Sure, it was easy to drop into Notepad and write a quick little page, but doing
it by hand isn’t the optimal situation for a project of any weight. Trying to
connect to a database was a tedious chore, and doing simple tasks like
capturing a redirected Web page needed a separate tool like ASPTear, which had
to be found, downloaded, added to the registry, then declared by hand within
code. The ease of doing tasks like this in ASP.NET more than makes up for the
loss of “simplicity”, which really served to make many simple tasks
challenging.
CodeProject: What area of
development do you feel will be the next Big Thing?
Josh: I
keep hoping that it’s going to be mobile development. I’ve been a big fan of
Windows CE for years – I keep a sample GPS program updated, and I just
converted it to the Compact Framework and presented it at ASP.NET Connections
in Orlando.
I
think that the proliferation of wireless networking is very, very promising. If
you get 802.11 or Bluetooth built into most handhelds, it’ll finally start to
snowball. The market for these devices (and other devices like cell phones and
even watches) is still ripe for expansion. Look at the popularity of something
as simple as SMS in Europe. People will pay a few cents to be able to use
dumbed-down instant messaging, and those cents add up quickly.
CodeProject: What do you see
as the long term future for the .NET Framework?
Josh: The long-term future is going to start with Longhorn and the
inclusion of the framework in the operating system’s core. I think that it’s
great (and important) that the Compact Framework is coming out with 12% of the
full framework’s footprint. Imagine that shrunk down even more, until we have
.NET Framework for wristwatches. (This isn’t just dreaming, either – we’re
about to see watches that store contacts from a Palm.) The fact that Rotor is
working on FreeBSD and Mac OS X is another interesting development.
If I said that .NET would someday be in our clock radios,
everyone reading this would roll their eyes. But look at how music has evolved
over the past five years. Back in 1997, I thought it was exciting that I could
burn a CD with my favorite songs on it. Now, I commute with a 20 GB MP3 player
that holds a couple hundred of my favorite albums, from the Boo Radleys to the
Divine Comedy. (It even lets me capture and watch video and JPEGs.) I don’t
have to choose 10 CDs to lug into work anymore, and the player is smaller than the
cassette players I see others using.
So suppose I wanted to listen to a different MP3 every
morning to wake me up. There’s no reason not to make an alarm clock with a USB
port and a four-line LCD screen on top and a 64 MB memory chip inside. That’s
all you need for that particular device, and you could produce them now for a
few dollars (and sell them in an airline’s sky catalog for $299). If you look
at any gadget catalog now, you’ll see lots of these specialized products, and
there’s no reason you can’t create a small version of the .NET Framework that
will make them programmable in some way. I just wish I’d gone for an EE degree,
but it seemed so boring back then.