I keep reading – in blogs, in non-tech and seemingly everywhere else – how .NET
is over-hyped technology. The newsgroup is full of people clinging to Win32 and
stating they see "no demand" for .NET applications. I don’t have any
customers out there chanting, "We want our .NET Apps!" writes one
Well. Newsflash. Of course customers don’t want .NET applications. Matter
of fact they don’t want Win32 or Win64 applications either, nor do they want Java
applications. If your customers are anything like the customers i have been working
with (before going into developer tools with RemObjects Software), they couldn’t care
less about what your application is developed in. They don’t want .NET apps, they
don’t want Win32 apps – what they want is apps that do the job.
It’s not your customer’s job to decide which tools are right for the job at hand
(nor is your customer gonna be very good at it, if he tries), it’s your job as developer
or project manager to make that assessment, and convince the customer to let you
pick the right tools for the right job. If the application you deliver is well-written,
delivered on time and does it’s job, it will not matter to your customer what it
was written in – Win32, Java* or .NET.
It’s your job to make your customer want .NET apps. And he will want them
because .NET gives you, as the developer, a huge productivity boost. To the
customer, that means well-working applications, delivered well in time an at lower
cost. And that is the kind of application that customers want, in my experience.
I’ve seen this question asked in borland.public.delphi.non-tech a few times: "I
can see that .NET has benefits for the developer – but what’s in it for my end users?".
The answer is: nothing. and everything. Any application that can be written in .NET
could also be written exactly the same way in Delphi/Win32 – or in assembler, for
that matter. The only advantage to any modern development tool is developer
productivity. Which for the customer translates to better software, delivered in
a better timeframe. What other possible "end user feature" could a development
[*of course i have yet to see a well-written Java application that does it’s job.
But that’s a topic for a different day ;-]