Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Was .NET All a Mistake?

samzenpus posted more than 3 years ago | from the in-hindsight dept.

Microsoft 688

mikejuk writes "The recent unsettling behavior at Microsoft concerning .NET makes it a good time to re-evaluate what the technology is all about. It may have been good technology, but with the systems guys building Windows preferring to stick with C++, the outcome was inevitable. Because they failed to support its way of doing things, .NET has always been a second-class Windows citizen unable to make direct use of the Windows APIs — especially the latest. .NET started out as Microsoft's best challenge to Java but now you have to ask: what has the excursion into managed code brought the Microsoft programmer, and indeed what good has it done Microsoft? From where we are now, it begins to look very much like an unnecessary forced detour, and Windows programmers are going to be living with the mess for years to come."

Sorry! There are no comments related to the filter you selected.

Was .NET all a mistake? (2, Funny)

Anonymous Coward | more than 3 years ago | (#36977102)

Do you really need an entire article to give you the answer to that one?

Re:Was .NET all a mistake? (0)

Anonymous Coward | more than 3 years ago | (#36977190)

yes

Re:Was .NET all a mistake? (1)

Anonymous Coward | more than 3 years ago | (#36977416)

The recent unsettling behavior at Microsoft concerning .NET makes it a good time to re-evaluate what the technology is all about.

Control. Duh. That's why it isn't cross-platform.

You'd think the world would have learned the lesson about investing in Microsoft-only technologies after IE6 and ActiveX. It seems a lot of people are in fact learning disabled.

Re:Was .NET all a mistake? (1, Funny)

somersault (912633) | more than 3 years ago | (#36977444)

Now I don't feel that bad for never being interested in .NET.. and yet, I suppose if you get in on all the bullshit early it can give you a few years worth of work.

Re:Was .NET all a mistake? (0)

Anonymous Coward | more than 3 years ago | (#36977290)

The article may not have been needed, but it is still a worthy topic. Maybe there should be a national holiday to mourn or celebrate the passing of old technology. Call it "Next of Kin" day or something. It'd be a good time to have collections of recyclables and toxic stuff too. There's no mess to live with for years with .NET either. Like a bidet, one good reformat will deal with it pronto. Any skilled programmer can move on to something else. And if some client needs help moving on, that's not a mess, it is employment.

dat net (-1)

Anonymous Coward | more than 3 years ago | (#36977160)

well in my local slang "hessisch" it is called "dat net" which kind of resembles
"that not". So no news for me :-)

Was this article all a mistake? (4, Insightful)

Anonymous Coward | more than 3 years ago | (#36977164)

And the answer to my question is yes.

But the answer to your question is a big fat no. And I have an entire functioning, blossoming eco-system to back that answer up.

Oh, and while we're at it... Why post a question when you've already made your mind up? And posed the question in a biased way based on your pre-decided conclusion.

XcepticZP

Re:Was this article all a mistake? (1, Insightful)

FranTaylor (164577) | more than 3 years ago | (#36977220)

"I have an entire functioning, blossoming eco-system"

Yes YOU have it, but WE don't, and THAT is the failure.

You CAN'T take your "functioning, blossoming eco-system" and share it with anyone that isn't running the same version of Windows as you. THAT is the loss.

Re:Was this article all a mistake? (1)

liquiddark (719647) | more than 3 years ago | (#36977308)

You're going to have to go over that one in more detail, Sparky. I can share my 500,000 LOC document control system between users with Windows XP 32 and 64 bit and Windows 7 32 and 64 bit. There's no reason not to expect Vista would work as well, although there's also no real reason to try.

Re:Was this article all a mistake? (2, Insightful)

FranTaylor (164577) | more than 3 years ago | (#36977392)

Can you bundle your app into a single file, and run it by double-clicking it, on any one of a dozen platforms?

Are your runtime requirements available on ALL of the commonly available platforms, so people don't have to change their platform to run your code?

So you have the audacity to tell someone that they need to buy a new computer to run your code? Really I have to go out and spend hundreds of dollars to even try out your program, just because your taste in platforms is different from mine?

Re:Was this article all a mistake? (5, Insightful)

SpryGuy (206254) | more than 3 years ago | (#36977534)

Who cares? ALL my customers are on Windows. The tiny fragment of a market that can't run windows software is irrelevant to most people, especially those in the business of making money.

Even the largest of those tiny minorities (Mac users) can run .Net using bootcamp or parallels or some such.

And for the rest, there's Mono, which will run a subset of .Net stuff.

Really, this notion that EVERY program must be able to run on EVERY platform is just ridiculous B.S. It never has been true and never will be true.

And really, anyone that has to "buy new hardware" to run a .Net application has some pretty alien hardware to begin with. XP, Vista, and Win7 run on most things out there, and Win8 will add to the supported processors and form factors.

Your post is a lot of hot smoke and arrogant ignorance. There's a huge ecosystem around .Net, and it's a lucrative framework in which to develop. That's a simple fact that no amount of foot-stamping will erase.

Re:Was this article all a mistake? (-1)

Anonymous Coward | more than 3 years ago | (#36977546)

What the fuck are you talking about?

Re:Was this article all a mistake? (1)

digitig (1056110) | more than 3 years ago | (#36977558)

Can you bundle your app into a single file, and run it by double-clicking it, on any one of a dozen platforms?

Are your runtime requirements available on ALL of the commonly available platforms, so people don't have to change their platform to run your code?

Does he have a requirement for any of those things? Cross-platform costs, and if those costs are not recovered from increased market then it's a bad business model.

Re:Was this article all a mistake? (1)

cheekyjohnson (1873388) | more than 3 years ago | (#36977654)

So you have the audacity to tell someone that they need to buy a new computer to run your code?

What audacity? You're rude and disrespectful if you make platform-specific code? And since when do you need to buy a completely new computer?

Re:Was this article all a mistake? (2)

liquiddark (719647) | more than 3 years ago | (#36977658)

What does any of that have to do with running different versions of Windows? I don't need to bundle it, Microsoft's updater includes the .NET framework as a recommended update that most people go ahead and put on their computer because they're not a total idiot. I don't need to have runtimes on every platform, because Windows is my platform of choice. I don't need someone to buy a new computer, because if they're encountering my .NET code they're usually on Windows. And I don't care about your platform choice, because I made mine when I chose .NET. Not to say Mono is nothing, of course, but I would bet it wasn't a core part of the ecosystem being referenced. There is more than enough .NET software in the original environment to keep anyone happy.

Re:Was this article all a mistake? (1)

Desler (1608317) | more than 3 years ago | (#36977334)

You CAN'T take your "functioning, blossoming eco-system" and share it with anyone that isn't running the same version of Windows as you.

Since when? .NET 1.0 - 3.5 works fine on XP through Win7. And if you really need .NET 4.0 its runs on XP SP3 through Win7.

Re:Was this article all a mistake? (2)

FranTaylor (164577) | more than 3 years ago | (#36977414)

And I suppose you were really really careful and you made sure your code actually runs on all of them.

Re:Was this article all a mistake? (3, Insightful)

afidel (530433) | more than 3 years ago | (#36977706)

That's the point of the CRL, you don't need to verify your code runs on those platforms unlike with the morass of DLL's that you need to verify with native code. I've never had a .Net program fail to run as long as the version of .Net on the machine was equal to the minimum version required by the application, and you can update .Net without a reboot.

Re:Was this article all a mistake? (1)

ThePiMan2003 (676665) | more than 3 years ago | (#36977726)

That's the cool thing, I don't have to be careful, there is this large company called Microsoft that does that for me. For the record, my code is currently running on every flavor of windows from XP to Win7, (OK no XP 64 bit, but everything else) and it works just fine, I have never had an incompatibility. Now I do have a couple of apps that also run under Linux, and mono has a few rough edges, but it gets better all the time.

Re:Was this article all a mistake? (3, Insightful)

CaseCrash (1120869) | more than 3 years ago | (#36977492)

You CAN'T take your "functioning, blossoming eco-system" and share it with anyone that isn't running the same version of Windows as you. THAT is the loss.

I know, it sucks, I can only run .Net apps on any Windows system from the past 10 years! I can't run it on Windows 95, or Linux, or my iPhone. I'm also pissed off that I can't run this new iPhone app I got on my Commodore 64 or my blender! WTF? It should be able to run anywhere, just like those linux programs you wrote run everywhere.

(</sarcasm> if you're too dumb to get it, which I think you might be based on your post)

Re:Was this article all a mistake? (1)

Frosty Piss (770223) | more than 3 years ago | (#36977382)

Indeed you are correct, but this is Slashdot. Spare nothing, even invalid assumptions - as long as it allows us to skewer Microsoft?

From the "story":

Imagine for a moment that Microsoft hadn't forced us all to use .NET and instead VB 7 had been just an evolutionary upgrade. Presumably we would have settled on VB 7 for the "easy" applications and C++ for the more "demanding" applications.

.NET was never meant to replace VB. That would be C#.

Re:Was this article all a mistake? (2)

PCM2 (4486) | more than 3 years ago | (#36977562)

.NET was never meant to replace VB. That would be C#.

I think you misunderstand. The last version of regular Visual Basic was Visual Basic 6. Visual Basic 7 wasn't called that; it was called Visual Basic .Net. Microsoft ended all support for Visual Basic 6 in 2008. So if you were a Visual Basic programmer, you were indeed forced to use .Net, and for all intents and purposes, .Net replaced Visual Basic.

No? (5, Insightful)

bhcompy (1877290) | more than 3 years ago | (#36977178)

Works fine for what it is. It's not meant to build OS's with. It's meant for the applications within, and certain applications at that. Works pretty damn well for that.

Re:No? (2)

KnightOwlSC (2428692) | more than 3 years ago | (#36977306)

Agreed completely. I would much rather be writing LOB applications using .Net (C# specifically) then VB7 or C++ any day. The author of the original article is someone who spends a lot of time doing things that require C++ to do. And that's perfectly fine but that is a smaller and smaller % of development work. Heh.. can anyone really imagine writing a web site in C++?

Re:No? (0)

Anonymous Coward | more than 3 years ago | (#36977506)

Heh.. can anyone really imagine writing a web site in C++?

No, that's what HTML is for.

Re:No? (0)

Anonymous Coward | more than 3 years ago | (#36977524)

No, but I did write a web site in ANSI-C once. It even had a visitors counter and a message board.
Web site programming in C isn't that complicated.

Re:No? (1)

gabereiser (1662967) | more than 3 years ago | (#36977320)

I agree.... it's a platform language, not a low-level systems language. It's for applications, not for memory-starved systems layers...

Re:No? (3, Insightful)

exhilaration (587191) | more than 3 years ago | (#36977324)

Agreed, it's a perfectly fine language for plenty of things like business applications. If you want to build operating systems or first person shooters, you won't be using .Net or Java, that's just not what they're for.

Re:No? (1)

sjames (1099) | more than 3 years ago | (#36977650)

It could be a decent language if it wasn't locked to a specific OS.

Re:No? (1, Informative)

subk (551165) | more than 3 years ago | (#36977370)

Works pretty damn well for that.

Not by the time financial transaction software developers like Fidelity Information Services get a hold of it. How is running a daemon compiled together with it's monitor in a GUI-based .COM object even remotely "working pretty damn well"? Don't get me wrong, I've heard all the fairy tale applications for .NET, and sure it could have some uses.. But any .NET app I've ever seen has been a nightmare. Had to build server images with very specific versions of every single OS patch and interpretor, otherwise the thing went tits up... This is not what .NET was "supposed" to be about, but in the end it was utter crap.

Don't even get me started on MS Biztalk.... ::cringe::

Re:No? (3, Informative)

NJRoadfan (1254248) | more than 3 years ago | (#36977484)

FWIW, I have seen Java applications require a specific version of the JRE to run properly. I've had stuff break if they were, for example, running on JRE1.5.0_06 instead of JRE1.5.0_05. .NET is no exception, plenty of stuff out there demands the .NET 1.1 runtime be installed even though 2.0 is present in the system.

Re:No? (1)

DragonWriter (970822) | more than 3 years ago | (#36977568)

Not by the time financial transaction software developers like Fidelity Information Services get a hold of it. How is running a daemon compiled together with it's monitor in a GUI-based .COM object even remotely "working pretty damn well"? Don't get me wrong, I've heard all the fairy tale applications for .NET, and sure it could have some uses.. But any .NET app I've ever seen has been a nightmare. Had to build server images with very specific versions of every single OS patch and interpretor, otherwise the thing went tits up... This is not what .NET was "supposed" to be about, but in the end it was utter crap.

.NET doesn't magically stop people from developing brittle, poorly designed software. That's what you get competent developers and give them the resources they need to do the job right for. Or, at least, if you don't, you shouldn't blame the platform.

Re:No? (1)

Applekid (993327) | more than 3 years ago | (#36977626)

Works pretty damn well for that.

Not by the time financial transaction software developers like Fidelity Information Services get a hold of it. How is running a daemon compiled together with it's monitor in a GUI-based .COM object even remotely "working pretty damn well"? Don't get me wrong, I've heard all the fairy tale applications for .NET, and sure it could have some uses.. But any .NET app I've ever seen has been a nightmare. Had to build server images with very specific versions of every single OS patch and interpretor, otherwise the thing went tits up... This is not what .NET was "supposed" to be about, but in the end it was utter crap.

Any technology can be misused to generate despair.

What happens? (4, Insightful)

FranTaylor (164577) | more than 3 years ago | (#36977522)

What happens when your vendor decides to move on, just like they have done many times before? Your application is now a ticking time bomb, set to explode at the support cutoff date.

Hello did you learn the lesson from the mainframe era? Don't code to vendor specific APIs. Stay platform-neutral and you give yourself a much wider range of platforms for your application. It gives you much more leverage in your hardware purchasing, if you are free to choose any platform.

The folks in the trucking industry figured this stuff out a long time ago. It is shocking to me to see people, today, intentionally choosing vendor lock-in.

I agree (0)

Anonymous Coward | more than 3 years ago | (#36977554)

I agree. Most C++ programmers aren't that good at C++ and should be using something like C# especially, as the parent implies, when writing business applications. Most programmers are not writing high performance applications and they don't need the power (and problems) associated with C++.

Microsoft is simply lost. First Java, Python, et. al. take over the server side. MS is okay with that because the real power is the desktop. Then the iPad comes along and kicks their money maker out from under them. For the longest time MS said that tablets were any good and, lo, Apple makes a good table!

MS was never good at one thing, it just that the things they did worked together. Now they're big attacked on several fronts and they don't know what to do.

Re:No? (1)

marcello_dl (667940) | more than 3 years ago | (#36977614)

I agree for a different reason, examining .NET from a technological point of view... that's pointless. A java killer was already a not so good idea, a java killer without proper software freedom and platform independence is a joke, if I stick to one platform there's no point in doing stuff through a VM.

It has been a success because it kept people under MS umbrella.

And all it takes for MS to silence speculation is a new release with some cosmetic changes, I expect something like that, it is a good marketing move.

It is not a bad thing for those developers who are used to sell the same stuff to clients all over again when a new incompatible release comes out.

It is not a bad thing because forced java to be fully open source, poor java devs if oracle bought the only possible implementation.

It's bad for the users: but hey, "MS strategy hurts users" isn't news.

Signs point to (1, Funny)

jra (5600) | more than 3 years ago | (#36977186)

"Yes".

Re:Signs point to (5, Insightful)

Anonymous Coward | more than 3 years ago | (#36977336)

Ditto. .NET drove me away from developing windows apps altogether... it killed visual studio for me.

When it first launched, nobody had .NET framework installed, so you were screwed on that end. Then it started shipping with the OS, but it was never up to date it seemed like. The number of times I just wanted to download an app and have it run, only to be foiled by an out of date version of the .NET framework... which was also freaking HUGE!

It was basically in theory the same idea as java, except with even more restrictions, limits, and headaches. On top of all that, it was force-fed down all of our throats by Microsoft for years, and still even up to this date.

In short, it's like java, but a 10x bigger disaster.

Thanks slashdot. (1)

Anonymous Coward | more than 3 years ago | (#36977204)

Sometimes this community really disappoints me. This is no exception.

A 9 minute demo of a new UI for Windows 8 Tablets at a trade conference means that Microsoft is abandoning .NET somehow, just because HTML 5 markup will be used for the UI work.

Messy (4, Funny)

flaming error (1041742) | more than 3 years ago | (#36977210)

> Windows programmers are going to be living with the
> mess for years to come.

It's a dirty job, and every other Friday I cry all the way to the bank.

Huh? (0)

Anonymous Coward | more than 3 years ago | (#36977226)

Is this just a troll?

Overhead issue (1)

Hsien-Ko (1090623) | more than 3 years ago | (#36977236)

You gotta love those huge .NET runtime DLLs and packages giving a nice big overhead to everything, and those odd looking flat buttons!

Re:Overhead issue (1)

The MAZZTer (911996) | more than 3 years ago | (#36977544)

You mean the runtimes that are shared between all .NET applications? How about the buttons that look just like all other Windows buttons, unless the PROGRAMMER screws them up (which is a lot harder to do after 1.1, where it was easy to miss visual styling).

Not For My Company (2)

cosm (1072588) | more than 3 years ago | (#36977240)

We're a ~100 person .NET shop and we do about 10 million a year with small businesses. It's worked great for us!

Re:Not For My Company (0)

Anonymous Coward | more than 3 years ago | (#36977410)

That's only about $100k/person each year -- BEFORE taxes and expenses. Doesn't seem all that promising at those low rates...

Re:Not For My Company (3, Funny)

Psychotria (953670) | more than 3 years ago | (#36977466)

cosm didn't specify it was 10 million DOLLARS a year; perhaps it's 10 million new applications a year, although I do think that would be a heavy workload

Re:Not For My Company (1)

Excelcia (906188) | more than 3 years ago | (#36977482)

Your signature says it all... suckers... er, I meant government contracts.

Re:Not For My Company (0)

Anonymous Coward | more than 3 years ago | (#36977494)

We're a ~250 person PHP shop and we do about 100 million a year with large businesses. If you are going to dick wag, at least say something relatively compelling...

Re:Not For My Company (-1)

Anonymous Coward | more than 3 years ago | (#36977608)

Seriously - I mean, the author is claiming that .NET is a mess. One question: Have you ever looked at C++ code? Talk about the pot calling the kettle black. C# is one of the cleanest languages out there - and if you're a functional snob, you can use F# instead.

Whoever wrote this story has clearly never written anything in C#. Have you ever tried writing a web-service in C++? Go ahead and try - don't worry, I'll wait. ... ...

Re:Not For My Company (0)

Anonymous Coward | more than 3 years ago | (#36977620)

just proves true that the government bureaucrats are fucking morons and they spend our money on DAT NIT programmers who shovel shit, for a quality price.

What?! On the contrary: .NET is becoming relevant! (4, Informative)

Kensai7 (1005287) | more than 3 years ago | (#36977248)

According to an Ars Technica [arstechnica.com] article, .NET will be first-class citizen in Windows 8.

Re:What?! On the contrary: .NET is becoming releva (0)

Anonymous Coward | more than 3 years ago | (#36977372)

Like Java was a "first-class citizen" on OS X.

Re:What?! On the contrary: .NET is becoming releva (1)

NJRoadfan (1254248) | more than 3 years ago | (#36977496)

Used to be. Even supported Cocoa libraries, but nobody used it.

Re:What?! On the contrary: .NET is becoming releva (1)

NJRoadfan (1254248) | more than 3 years ago | (#36977532)

Wasn't it supposed to be a first-class citizen in Windows Vista? Like one of the "pillars of Longhorn"?

What has .NET brought to the programmer? (2, Interesting)

roc97007 (608802) | more than 3 years ago | (#36977250)

What .NET has brought to the Microsoft programmer is a decade of lucrative employment. That's not a bad thing. The trick now is to convert back to C++ and ... I'm tempted to say "go out and get real jobs" but that would be unfair.

Re:What has .NET brought to the programmer? (1)

Excelcia (906188) | more than 3 years ago | (#36977452)

Unfair = "not conforming to approved standards, as of justice, honesty, or ethics" - the statement was not unjust, certainly not dishonest, and unless you make money writing C++ compilers, it wasn't unethical. Please, by all means, tell all the .net programmers out there to get real jobs.

A mistake? (4, Funny)

Brummund (447393) | more than 3 years ago | (#36977252)

Yeah, look at the flop that is asp.net, or how hard doing protocol agnostic services with WCF is. *sigh* .NET is a huge success in the corporate world, and hopefully c# will be one of the last nails in VB's coffin.

If you measured Java's success based on the non-proliferation of applets, it too is a flop.

(And if you are a Java programmer, I hope you get something similar to Linq soon :-)

Re:A mistake? (1)

DragonWriter (970822) | more than 3 years ago | (#36977464)

Yeah, look at the flop that is asp.net, or how hard doing protocol agnostic services with WCF is. *sigh* .NET is a huge success in the corporate world, and hopefully c# will be one of the last nails in VB's coffin.

C# has been around with .NET since .NET 1.0 and VB is still going strong. If Microsoft had kept supporting and actively pushed IronRuby and/or IronPython, they might have combined with C# to displace VB.NET

Isn't the job market... (1)

BigDaveyL (1548821) | more than 3 years ago | (#36977254)

for .Net developers pretty healthy? I see a lot of job postings for it.

Now if I could get into said market if it is healthy ;-)

Ridiculous (1)

Anonymous Coward | more than 3 years ago | (#36977258)

.NET is an incredibly easy to use, powerful programming language. It integrates well with Visual Studio, and for 99% of all applications, it works as well as it could possibly need to.

It's brought about 10 solid years of reduced development effort and increased productivity, and tons of cool and useful applications.

Direct use of the Windows APIs? Who cares? Unless you're writing seriously low-level stuff, you'll never need that access, and in that case you'd probably want to avoid managed code altogether anyway.

Troll...

Re:Ridiculous (0)

ChipMonk (711367) | more than 3 years ago | (#36977462)

.NET is a framework.

C# is the language.

The general tone of your response is "but it works fine for me!". Spoken like a true M$ shill. I've seen FOSS devs burned at the stake for saying that, and rightly so.

Claimer (not a disclaimer): I neither use nor develop C# or .NET programs, so I have no vested interest in their success or failure.

Re:Ridiculous (0)

Anonymous Coward | more than 3 years ago | (#36977720)

So easy to use...
On a GUI App I was working on in a previous employer I asked the .NET C# guys how to disable/hide a UI element. I was met with incredulous stares and a 'you don't want to do that' response. As far as I could tell there was NO WAY to enable/disable/hide a UI element without writing my own from scratch.
Perhaps I am too stupid but I've been writing native Win32 apps since Windows 3.1-OS/2 3.0 were new.
I COULD NOT FIGURE OUT HOW TO DO IT! Docs were useless (typical Microsoft explain the interface and don't say why you would use an API)
I just wanted a piece of the GUI to go away when it wasn't needed.
They ended up using a purchased control library that supported enable/disable/hide.

CATCHPA: unwieldy
HA!

I looked at .NET briefly (1, Insightful)

MpVpRb (1423381) | more than 3 years ago | (#36977260)

Asked "why should I use this"?

Couldn't come up with a good answer.

Went back to Win32 and C++

Could it be that maybe I was right?

Re:I looked at .NET briefly (1)

causality (777677) | more than 3 years ago | (#36977630)

Asked "why should I use this"?

Couldn't come up with a good answer.

Went back to Win32 and C++

Could it be that maybe I was right?

Well, yeah. You independently evaluated your own needs and chose the solution that was a best-fit. You did not jump on a bandwagon and learn a whole new skillset because "everybody's doing it" or merely because a vendor would like to push it on you.

It's hard to be wrong when you do things this way.

controls backfire (2, Insightful)

roman_mir (125474) | more than 3 years ago | (#36977262)

Any attempt at controlling technology, people, businesses via artificial mean backfire, so this is no different.

IF .NET is just a managed environment that makes it easier to develop for Windows platforms, then it's not a wrong thing to do, but if it marketed as a VM for the sake of being a VM while being boxed into Windows only, then it loses purpose.

What's the purpose of this VM that can only be used in Windows? Is it just to provide a managed environment for the developers? Because if that's all it is, it can have a niche use, but it cannot compete with VMs that can run the same code on multiple platforms. In any case, I always saw it as a trap and not the kind I'd walk into, because my applications run on real operating systems and not on desktop toys.

Stupid article (0)

Anonymous Coward | more than 3 years ago | (#36977276)

Mostly a stupid article written by a guy who is mostly clueless. I love statements such as:

Try using DirectX 10 or later from C# for example.

Was this supposed to be something hard to accomplish or has the guy never heard of XNA Game Studio? [microsoft.com]

Re:Stupid article (0)

Anonymous Coward | more than 3 years ago | (#36977572)

XNA 4.0 is still built on top of DirectX 9. Which is fine, because one of the key selling points is easy deployment of the same code base to PC, XBox 360 and WP7.

Re:Stupid article (1)

Applekid (993327) | more than 3 years ago | (#36977696)

Mostly a stupid article written by a guy who is mostly clueless. I love statements such as:

Try using DirectX 10 or later from C# for example.

Was this supposed to be something hard to accomplish or has the guy never heard of XNA Game Studio? [microsoft.com]

I love it. Check out the By line on the article, and then the page on Meet the Team [i-programmer.info]

Ian Elliot

Specialist subjects: JavaScript, web programming, .NET programming

As a freelance consultant Ian is used to meeting challenges in a range of arenas and using all the tools and skills a programmer has in their armoury. He has written numerous articles for VSJ mainly on web development.

So, he's NOT a DirectX expert? Javascript is listed first? I call bullshit that he ever even tried to interop on DirectX.

Not a mistake; competition! (1)

Skinkie (815924) | more than 3 years ago | (#36977282)

Obviously it was not a mistake. Since what happened with .NET might have triggered what later happened to Java. People started to implement other languages in .NET and Java. Creating just in time versions of languages what once were only available precompiled. Best off all it actually was semi-crossplatform, and an alternative/competitor to Java.

Troll article (0)

Anonymous Coward | more than 3 years ago | (#36977286)

No language is going to simultaneously be better than C++ and Java at everything. C# has a great many strengths, a few weaknesses, and a definite place in windows development. Yes, a few of Microsoft's flagship products are still C++. Some of that is for performance considerations, mostly though, it's because MSFT is a company looking to profitably ship software and not rewrite a massive code base just because a new shiny language came out.

(Tangent: Posting as anon since I can't seem to stay logged in using IE9, FF4, or Chrome :( )

meh (0)

Anonymous Coward | more than 3 years ago | (#36977340)

if you are working in an all microsoft environment such as a large corporation, .net and all the associated dev tools and frameworks are really kind of great.

i think a lot of people are either upset that it isn't as easy to shoehorn into their existing workflow as they'd like, or haven't actually done any in depth development with microsoft's products in many years.

Tripe. (1)

RightSaidFred99 (874576) | more than 3 years ago | (#36977342)

.NET isn't intended for system programming. It's intended for enterprise/LoB apps, Windows Phone, traditional desktop apps, etc... Try writing a large distributed application in C++, unless you absolutely need extreme high performance (real time, e.g. trading app or something like that), you don't know what you're doing if you use C++ instead of .NET (or Java, I guess).

If people are using C++ for these types of apps either they have specialized needs or they just don't know what they're doing and like to spend 2X the time developing shit.

Re:Tripe. (1)

Desler (1608317) | more than 3 years ago | (#36977384)

If people are using C++ for these types of apps either they have specialized needs or they just don't know what they're doing and like to spend 2X the time developing shit.

Or they could fit in neither of your choices.

Of course it was a mistake... (2, Insightful)

Excelcia (906188) | more than 3 years ago | (#36977348)

Of course .NET was a mistake. It had all the drawbacks of an interpreted system with none of the benefits. Inherent cross-platform run-anywhere ability which was Java's purpose from the beginning was never intended for .net. Cross-platform is the only consideration that makes interpreted code worth the cost in resources. .NET was a needless (read useless) distraction, and the only "benefit" I can perceive is an across-the-board requirement for people to purchase more powerful hardware to accomplish the same goals.

Re:Of course it was a mistake... (1)

nitzmahone (164842) | more than 3 years ago | (#36977602)

"Insightful?" .NET's not interpreted- get your facts straight. People can write crap in every environment- give .NET to a skilled dev that understands where its power lies, and he'll build you something incredible, performant, and do it quickly. Give it to an idiot, and you'll see the same crap the idiot would write in C++ or any other language, you'll just probably see the end result a little sooner.

Re:Of course it was a mistake... (0)

Anonymous Coward | more than 3 years ago | (#36977642)

Um... .NET is not a language and it's as much interpreted as the JVM is (read: not at all).

Re:Of course it was a mistake... (1)

roman_mir (125474) | more than 3 years ago | (#36977714)

I don't believe the code is 'interpreted' in VMs, Java or .NET

There is a use case for a VM that is outside of being cross-platform, which is code management. So things like garbage collection, security implementations can be taken care of by the platform. Now, whether this requires a VM - I don't believe it does if the code is only supposed to run on Windows anyway. Instead of using a VM, all of these features can be taken care of by the language design and compiler, which then can use necessary libraries to take care of such things.

Re:Of course it was a mistake... (1)

realmolo (574068) | more than 3 years ago | (#36977718)

You're right.

MS would've been better off just giving developers the better automated tools that were "included" with .NET, and skipping the actual .NET part.

The .NET *environment* is really nice, but the "managed code" aspect of it is more-or-less worthless.

Re:Of course it was a mistake... (0)

Anonymous Coward | more than 3 years ago | (#36977724)

Of course .NET was a mistake. It had all the drawbacks of an interpreted system with none of the benefits. Inherent cross-platform run-anywhere ability which was Java's purpose from the beginning was never intended for .net. Cross-platform is the only consideration that makes interpreted code worth the cost in resources. .NET was a needless (read useless) distraction, and the only "benefit" I can perceive is an across-the-board requirement for people to purchase more powerful hardware to accomplish the same goals.

Microsoft was never interested in interoperability or cross-platform anything. .NET is a large mistake because Microsoft management never really could find a true direction for it. In the end, .NET was a failed attempt to make enterprise even more married to the Windows Server platform. The ONLY advantage of an interpreted language is that changes/bug fixes can be more rapidly deployed because time consuming re-compiling is out of the equation. Microsoft would have been better suited trying to develop a Java Application Server that outshined its competition.

.Net to get equal footing with C++, not vice versa (0)

Anonymous Coward | more than 3 years ago | (#36977352)

Submitter clearly has no idea. See here [arstechnica.com] .

Barriers To Entry (1)

cosm (1072588) | more than 3 years ago | (#36977356)

Visual Studio Express Editions + SQL covers:
- Web Services - ASP.Net Pages - Windows binaries

Express Editions Completely free? Yes. Do they work and are they flexible? Yes? Properly documented? Yes. Solid and highly proliferated languages? Yes. Large job market for .NET devs? Yes. Large platform install base across the corporate and consumer realms? Yes. Large user-base online for support? Yes. Large selection of open-source .NET project available for tinkering? Yes and growing. Interopability with most Win32 API calls? Yes. What is the issue here troll?

Of course every platform has its limitations, but you can't paint the entire .NET stack in a Glen Beck style question. Is Linux ever going to be a good platform? Is Apple ever going to be more than turdshine? Is the article poster a troll?

Return to C++? (0)

Anonymous Coward | more than 3 years ago | (#36977360)

FTA: "There has been, throughout the life of .NET, a steady but growing undertow to return to C++ and COM. Now the undertow seems to be growing and this is what prompts these thoughts."

Sorry, but I've never had any desire to go back to C++ if it wasn't necessary. LINQ and lambda expressions are awesome. Managed code, even with the overhead is totally worth it if that's what you need. I'm tired of hearing of these commandments that everything in the programming/systems have to be a certain way.

And who cares if it's not platform independent? It's built for Rapid Application Development and it does it very well. So what if it's not like Java in that regard?

I leave for 5+ years and nothing changes (0)

Anonymous Coward | more than 3 years ago | (#36977380)

/. users are still smoking crack.

Would you build an OS in Java? Ruby? Scala? ?

No. Same with .NET. But I also wouldn't build a CMS or line-of-business app in C++. .NET is used in a lot of places _within_ MSFT, eg SQL Server, Exchange, Biztalk, not to mention to run sites like microsoft.com, msdn.microsoft.com, asp.net (and those are just the MSFT ones). Also, if you happen to be an iphone person, a lot of the top games are written in C# (google for "unity"), along with a fair number of other apps (google: monotouch). And if you are an android user, try googleing for "mono for android".

Pull you head out of your backside and go troll on.... oh, wait. You are trolling on /. already. Sorry. My mistake.

Cya in another 5 years. I'm sure the conversation will not have moved on much.

So is it C++ or is it Javascript/HTML5 (1)

liquiddark (719647) | more than 3 years ago | (#36977406)

The article writer frets that there's an "undertow" to return to C++ and COM (I'd love to know where that undertow resides, because it ain't on these shores, let me tell you), but his original article was about how Microsoft is abandoning .NET for Javascript and HTML5. It's as if there is no possibility that these four could coexist and even *gasp* compliment one another. One begins to wonder what you whippersnappers are smoking.

Re:So is it C++ or is it Javascript/HTML5 (1)

Excelcia (906188) | more than 3 years ago | (#36977666)

.net co-exist with Javascript and HTML5? I think the whippersnappers are indeed lacking your experience. They haven't yet found anything to smoke that even comes close to your stash.

Recent unsettling behavior? (1)

93 Escort Wagon (326346) | more than 3 years ago | (#36977412)

[citation needed]

Would it have killed the submitter to add a link to some demonstrable evidence of claimed "recent unsettling behavior", given that many of us don't live and breathe All Things Microsoft(TM)?

Re:Recent unsettling behavior? (2)

The Moof (859402) | more than 3 years ago | (#36977570)

The only rumblings (which were covered here [slashdot.org] ) are about MS dropping Silverlight and going with HTML5/JavaScript for web. Somehow, the article took that and misconstrued it as MS abandoning .NET.

Not a mistake, just badly executed (0)

DavidR1991 (1047748) | more than 3 years ago | (#36977426)

As per my comment title. My major issue with using .NET for any project is the fact the framework is massive, many people still don't actually have it (or a recent version of it) - but most importantly, there is no 'must have' .NET application that spurs people to install it themselves. MS didn't even use it for their own products

But I said all that years ago (3, Insightful)

erroneus (253617) | more than 3 years ago | (#36977436)

... and people here told me I was an idiot and didn't know what I was talking about and on and on and on. Good to know, at least, I'm not the only one.

But I do see .NET for what it could have been -- the application programming API for the migration to the next Windows OS which isn't Win32/64 compatible. Microsoft still doesn't have the balls to shift to a brand new OS the way Apple did. But they should have done that a long, long time ago.

"recent unsettling behavior at Microsoft?" (1)

The Moof (859402) | more than 3 years ago | (#36977472)

What recent unsettling behavior at MS concerning .NET? All I've heard about is Microsoft ditching Silverlight for HTML5, nothing about .NET being dropped as a whole. Even when the article tries to allude to it, they still only talk about Silverlight.

One other thing....

.NET has always been a second class Windows citizen unable to make direct use of the Windows APIs

Really? [pinvoke.net]

I actually like it (1)

grasshoppa (657393) | more than 3 years ago | (#36977474)

I'm not a programmer by trade, but for the quick and dirty little apps that makes people's lives easier, I liked .NET. I could have a single use utility coded up in an afternoon that would save hours off of a day, from highly paid employees.

Just a bigger and better framework (4, Insightful)

cdrguru (88047) | more than 3 years ago | (#36977498)

What MFC was all about was hiding the nasty parts of writing applications for Windows inside of a framework that was supposed to make everything nice and orthogonal. For the most part, it failed in this task because you had to understand the underlying SDK-level API in order to make effective use of MFC.

ActiveX was the next round of this and ATL was again supposed to hide things from the developer. It didn't do this, although it did make COM much simpler for a lot of the world. And Microsoft seemed to want to make COM into the "new" API for Windows without having it support any of the nasty parts.

C# and VB.NET were the mostly the next round of this with COM as the primary path to getting anything done at all. If you like COM (or are forced into it), then C# and VB.NET make a lot of sense because now COM isn't some add-on to C or a template library that is 90% implemented - it is 100% there. But again, if you don't understand how Windows is doing things for you through the COM API functionality you will never understand why things are working the way they are.

Yes, they added an entirely new GUI definition package and a whole lot of things as new COM interfaces to things that didn't have them before. The idea was clearly to make it possible to write applications completely in the COM world without ever having to touch the "native" API. And for the most part this succeeded because finally enough effort was put into the framework that a large number of application developers could get along with only the interfaces supplied.

The problem with building an application framework ontop of a native API is that you can easily find yourself with a never-ending task if the native API keeps growing and changing, which it certainly has. Microsoft doesn't do well with never-ending tasks - priorities shift and where there were once hundreds of people working on something there might only be a few later on. Again, we have the MFC dilemma where you can write 90% of the application with MFC but that last 10% has to be done by someone familiar with both MFC and the native API. C# and VB.NET are mostly still better than that, but when you fall into a hole in the framework it takes someone familiar with three or four API levels, not just two as it was before.

Is the idea of a processor-independent CLR a good one? Maybe. If the idea of Windows on multiple processor families (like MIPS and PPC, for example) ever amounted to anything it would be very useful. With 99.9999 of the hardware out there being x86 and x64 (x86 compatible) there is little point to it today. Those directions are very difficult to see and I suspect Microsoft was committed to the CLR approach long before the decision was made to abandon MIPS and PPC, as well as nearly every other hardware architecture other than x86/x64. This might change again in the future, but without huge memory and processor availability it is unlikely that much cross-platform application compatibility will really exist. It makes no sense to have a cross-platform application that relies on so much memory that it won't run on handheld devices when the choices are x86 desktops and other handheld devices only. The future of a non-x86 compatible desktop at this point is very much in question, probably to the point of it taking another 10 or 20 years before there is a real change there.

Back in the 1970s IBM mainframe customers pretty much made certain that nothing that wasn't compatible with the 370 instruction set would sell, and we are living with that legacy today, still, 30+ years later. Somewhere around 1995 or so it was pretty plain that the market for non-x86 compatible hardware in the PC world was limited and perhaps non-existant. Alpha was still produced and Windows NT came out with MIPS, Alpha and PPC support. But the number of real applications that were ever ported to non-x86 platforms was exceedingly small. Not saying it couldn't possibly happen, but at this point the need to break away from x86/x64 is vanishingly small and betting a lot of resources on it isn't smart.

So overall the CLR approach was probably a huge mistake, but one that can be buried and mostly ignored. Will Microsoft step up and keep the parallel APIs in synch and make sure everything can be done with both? Doubtful, because of the manpower requirements. A database application can be done 100% with C# and that is probably all that is required of the environment today.

Banging your mom was a mistake (-1, Troll)

bigsexyjoe (581721) | more than 3 years ago | (#36977518)

Now I have the clap.

Stop trolling the end of .NET (2, Insightful)

MobyDisk (75490) | more than 3 years ago | (#36977584)

The i-programmer.info site has been trolling several articles about the end of .NET. Wake me when they have something other than speculation.

with the systems guys building Windows preferring to stick with C++ the outcome was inevitable.

.NET is not a systems language. It never will be. Neither is Perl, Ruby, Python, Java, or HTML5. This does not mean those languages are mistakes or that they are going away.

.NET has always been a second class Windows citizen unable to make direct use of the Windows APIs — especially the latest.

Actually, the opposite is true. Microsoft has been adding new functionality to Windows that is only available to .NET, not to C++ code. WPF is the biggest example of this. They are actually deprecating Windows APIs with each new release of the OS.

The author does not seem to realize that that Microsoft is working on a C# 5.0, and that much of Microsoft's new development is in .NET: Office, Visual Studio, and Sharepoint. All of this trolling stemmed from one demo where they showed some mobile HTML5 apps, and someone just leapt to the conclusion that .NET was dying.

Could hardly read; also, see Joel Spolsky's piece (1)

KerrickStaley (2423808) | more than 3 years ago | (#36977592)

Please, use commas when you write; the summary was extremely difficult to read. Also, Joel Spolsky has a great blog entry on Microsoft's tendency to vacillate between different frameworks (the article, though a decade old, is still relevant): http://www.joelonsoftware.com/articles/fog0000000339.html [joelonsoftware.com]

Back to perl we go (1)

cod3r_ (2031620) | more than 3 years ago | (#36977618)

what what

depends on your point of view (1)

zman58 (1753390) | more than 3 years ago | (#36977640)

If you want the typical bloated, slow, resource sucking, application with all the bells and whistles that runs only on Windows platform, then go for it. Pony up the cash, saddle up and ride away. If you can convince customers to pay good money for the ride, then more power to you.
On the other hand, if you want to be able to leverage code artifacts to the fullest and reuse solutions for other, more cost efficient platforms, say Linux, then your .NET application is totally stuck in the muck. Don't even think about moving it, you will have all kinds of IP problems, and will be unable to make any kind of efficient move to another platform anyway. Was .NET more about locking business into the myopic servitude of a Windows-only world? It succeeded at that. ...but egads! its no longer a Windows-only world.

Ian Elliot is a much bigger mistake than .NET (1)

rpresser (610529) | more than 3 years ago | (#36977660)

Ian Elliot is a much bigger mistake than .NET ever will be.

Tools for the job (1)

djkitsch (576853) | more than 3 years ago | (#36977690)

Well, if you want to write an OS, a critical real-time system, or a high-performance scientific data analysis suite, then no, .NET is probably not for you (although .NET 4.0 and its parallel processing additions certainly improve matters there). But if you want to rapidly develop enterprise business applications (or indeed webapps - everyone here appears to have overlooked the massively popular ASP.NET), then .NET's pretty damn good.

The strength isn't really in the idea of the CLR or whatever - that's an implementation detail. It's the huge framework of ready-made classes that accelerate development. Sure, there are plenty of PHP frameworks and so on, but with .NET, and C# in particular, you've got a massive library ready, tightly integration tested, and virtually guaranteed to run on anything from Windows XP up... oh, and I've rarely found a .NET app compiled for Windows which wouldn't run without modification under Mono.

As I suggested in the subject line, it's a matter of tools for the job. I regularly do C#, Obj-C, C, JavaScript, Perl and the odd bit of PHP and Java, and C#'s my favourite for headache-free development. It's not perfect for *every* job, but for the ones where it works, it works very well indeed.

two problems with .Net that can't be fixed (0)

Anonymous Coward | more than 3 years ago | (#36977702)

1) platform dependency on Windows, and by extension, Microsoft's development staff

2) application code is trivially reverse-engineerable, in fact it could be argued in court that the source code is effectively being shipped with the code so the authors have made the app "shared source" just by the act of releasing the binaries (this is a problem with Java as well). Even if the courts reject that argument, well, we see how well the music industry has been able to protect their IP.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?