

Was .NET All a Mistake? - msredmond
http://developers.slashdot.org/story/11/08/03/2027207/Wasnobr-wbrnobrNET-All-a-Mistake?utm_source=slashdot&utm_medium=twitter

======
phillco
I think Microsoft's biggest mistake was waiting way too long to bundle the
.NET framework with Windows. They waited until Vista to do this, and since
Vista was so poorly received, even now you can't be 100% sure. Making things
worse is that if you _do_ run a .NET app without the framework, you get a
cryptic error message that offers no help whatsoever. This poor out-of-the-box
behavior made a lot of people wait to develop .NET apps, IMO.

Lion's "you need to download Java to run this, would you like me to do that
for you?" method is way better. But, 20/20 hindsight.

Other than that, it's a fantastic platform and I love developing in it. I
don't think it's going anywhere.

~~~
dpark
They didn't wait. .NET arrived after Windows XP, and it would have been a poor
business move to delay XP by a year so they could include .NET. Microsoft
bundled it with the next Windows release.

It might have been a smart move to roll it into the first service pack as a
required part of the update, but people would have screamed "anti-trust" if
they did.

------
hvs
Wow. What an amazing consolidation of uninformed opinions. It's as if none of
them have ever actually used C# and the .NET platform.

Oh wait, it's Slashdot. They haven't.

~~~
drivebyacct2
Slashdot, and especially the comments, are ridiculously hard to suffer
through. I unsubscribed in GReader last week after reading uninformed rants
that were more offensive than even this piece.

~~~
andybak
Any suggestions where we should all be moving on to next?

~~~
drivebyacct2
To be honest, Slashdot had already been relegated to my "Read while [] on the
toilet" material. I honestly don't miss it. The newsworthy items are on reddit
or HN before Slashdot anyway, and I really don't miss the more meta or
conversational pieces.

~~~
atheken
(years ago) I would read the site compulsively. Now I need an article link to
it from HN or reddit or X that reminds me that the site even exists.

So it goes.

------
javery
.NET has included many mistakes (WCF, Silverlight, etc) - but overall ASP.NET,
C#, and especially ASP.NET MVC are solid languages and frameworks and
thousands of companies have been able to churn out useful LOB applications on
this platform. It has sold a ton of Windows server and SQL Server licenses
over the years - which make it a huge success for MS.

~~~
peregrine
I am hoping you don't include ASP.net webforms inside your statement ASP.net.
Sure it makes tons of money but it is a awful web technology for so many
reasons.

~~~
javery
So I detest ASP.net webforms as much as anyone - but you can't dispute that it
was very successful in turning a ton of legacy VB6, FoxPro, etc. LOB apps into
web apps. The learning curve was just right for the develoeprs and all the
downsides matter much less inside the firewall than out.

------
iaskwhy
Funny how I was thinking about .NET in today's world. It seems like the trend
is in creating native apps that work with the internet (the cloud or whatever
you want to call it) but it still makes sense to invest in some web app, even
if just for quick reference when a native app is not available on your machine
(because you don't have your iPhone with you or any other reason, I can think
of dozens).

With this perspective in mind, one could hope for the easiest way to develop
for both platforms (native & web) and, guess what?, .NET does both and it's
really easy to use (I'd say it's the easiest thing to work with even if it can
be more painful to do something truly unique).

It's too bad it focused so heavily on the enterprise market, there could be a
horde of startups using .NET nowadays if it wasn't so expensive to get a
Windows Server running back in the old days (and besides BizSpark it still
isn't as cheap as the *nix alternatives).

Disclaimer: for personal stuff I never use .NET but it's what pays the bills
for quite some time now. And I like it.

------
forgotAgain
The mistake wasn't in offering .NET. The mistake was in letting C++ rot for 10
years. They are suffering now because of the lack of an efficient and modern
native code development tool.

~~~
hvs
I'm not sure what you mean by "rot". Microsoft is supporting C++0x and has
created Microsoft AMP.

Visual Studio is still the best development environment available, bar none.
How is it not "efficient" or "modern"?

~~~
ldar15
"efficient"

DRY: as a programmer you know that having to maintain two identical copies of
something to keep them in sync is bad. You should refactor. Now take that idea
and make it part of the language: header files. You have to declare every
method in the source file, and then again, in the header file.

That at least made some sense for C, because header files were small, compared
to source files. Only a few key methods needed to be in the header files. Now
take C++: the entire class declaration has to be in the header file, including
all the private methods. Now every source file has to parse a much greater
amount of header files.

For bonus points, don't change the rule that a header file can be included
multiple times, with multiple different active #defines. So you cant optimize
that.

Then, even if you do start using microsoft specific #pragma's, of compiler-
recognizable #ifdef MYFILE_H #define MYFILE_H, these files can still render
different syntax trees between different source files, so you can't parse them
one per project.

Then, introduce templates. Basically, remove the need for a source file at
all, and declare that huge reams of code will actually be in header files.
Bonus: dont declare a new form of source file, just keep using header files
for this, again with the rules that the same header file (of templates) can
mean multiple different things in any given source file, despite the fact that
this is guaranteed to Not Do You What You Expect even if you were foolish
enough to do it.

The only template "improvement" in C++0x is "extern templates", which is
basically a huge goddam hack that says to the compiler "look I know you've had
to parse+comprehend this template code for every single source file but please
dont actually generate the machine code in my object file".

Finally, get together and decide that of all the things fucked up about C++,
its the lack of _threading_ support that is the big problem for us all.
Seriously?

There isn't any way to make Visual C++ "efficient" because it compiles C++.
Likewise, "modern". If you mean "efficient" for typing / editing, then I'd
recommend you have a look at Visual SlickEdit (if you are the IDE type) and
even then you will be light years behind what a modern IDE can do with a
modern language.

~~~
alok-g
Love it man! Thanks

>> even then you will be light years behind what a modern IDE can do with a
modern language

Could you point me to one? Especially interested in high-performance ones.

------
gamble
.NET is doing alright in corporate server development, but the deeper problem
is that Microsoft let third-party Windows application developers twist in the
wind for years. The Windows and Office teams tend to keep their UI code and
controls private, so that third-party devs have to choose between making due
with old libraries and controls, or spinning their own.

~~~
dpark
When does the Windows team keep their controls private? It seems like most of
the stuff that makes sense as a public control (e.g. _not_ the Start Menu)
gets a public API.

The Office team is a different issue. They seem to do a lot of non-standard
stuff, and I'm not sure 3rd parties should be trying to follow their lead. The
effort a lot of teams spent emulating Office 2003 was obsoleted when 2007
arrived.

------
klagan
What a heap of shit. A contentious statement that seems to be based on a bad
day in the office....

------
CurtHagenlocher
.NET exists largely because Sun didn't want Microsoft to create an
incompatible version of Java. As such, .NET should really be compared with
Java rather than native code. In that context, it's been pretty reaonably
successful. Arguably, it's earned Microsoft more money than Java ever earned
for Sun.

------
thought_alarm
Win Forms was always just a clunky wrapper around the aged Win32 APIs, and
while WPF is extremely impressive, its performance still appears to be an
issue for large-scale desktop applications.

I've been away from the Windows world for going on 6 years now, so my question
is: what the heck are people using to write Windows apps these days? I'm sure
there is still a mountain of .NET developers writing a mountain of crappy
WinForm apps for the enterprise, but what about consumer software? Is it still
Win32 and GDI?

~~~
phillco
I've really never felt that WinForms was "clunky". Compared to Win32, it's
_amazingly_ consistent and intuitive - you can learn 75% of it just with the
form designer and IntelliSense. Doing anything in Win32, by comparison, almost
always requires a trip to Google and a paragraph of code.

I don't know why anyone would _willingly_ write a Win32 or MFC app over .NET
unless they were simply unfamiliar with it, or overly worried about
performance, framework availability, or code security.

------
jasonkostempski
This must have been posted just to demonstrate that slashdot is 2 months
behind in FUD topic trends.

------
Jach
The only mistake was not going full-Open from the start. Even with Mono today
there are enough proprietary libraries on top of C# that make it still
effectively windows-only for a lot of things. They can't ever be a JVM killer
if they don't run on everything smoothly, and by now with all these JVM
languages to use instead of Java I don't think they'll get that chance again.

Things like <http://www.netmf.com/gadgeteer/> are nice though.

------
malkia
.NET puts you high in the sky, so you need very long hands to fix the shit
deep in the earth.

