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!

Has a Decade of .NET Delivered On Microsoft's Promises?

timothy posted more than 4 years ago | from the full-of-holes dept.

Microsoft 558

cyclocommuter writes with this snippet from The Register's assessment of whether Microsoft's .NET framework has been a success: "If the goal of .NET was to see off Java, it was at least partially successful. Java did not die, but enterprise Java became mired in complexity, making .NET an easy sell as a more productive alternative. C# has steadily grown in popularity, and is now the first choice for most Windows development. ASP.NET has been a popular business web framework. The common language runtime has proved robust and flexible. ... Job trend figures here show steadily increasing demand for C#, which is now mentioned in around 32 per cent of UK IT programming vacancies, ahead of Java at 26 per cent."

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

No (0, Flamebait)

smooth wombat (796938) | more than 4 years ago | (#30485938)

Next question.

I think they made a small mistake. (5, Insightful)

Burnhard (1031106) | more than 4 years ago | (#30485994)

The article says that demand for c# is around 32%, but it should also add in the demand for, which is less but should be added to the total, as it is in use. In my view, the language features, excellent development environment and comprehensive libraries make .NET a win for most LOB applications - which is the vast majority of all PC applications in use at the moment.

Re:I think they made a small mistake. (2, Insightful)

lseltzer (311306) | more than 4 years ago | (#30486576)

This is excellent point. Recall that the resistance to VB.NET in the VB community was immense, as it introduced significant changes. With time (and the certainty that things were changing whether they liked it or not) VB programmers seem to have moved on.

"mentioned" (4, Funny)

Anonymous Coward | more than 4 years ago | (#30486002)

steadily increasing demand for C#, which is now mentioned in around 32 per cent of UK IT programming vacancies

Yup see them every day

"Please don't apply if you have C# experience"

Re:"mentioned" (4, Funny)

Anonymous Coward | more than 4 years ago | (#30486040)

Awwwe, look at the poor starving troll. Will someone feed it?

Re:"mentioned" (3, Funny)

JustOK (667959) | more than 4 years ago | (#30486260)

Don't worry, it's going to get all tangled up in the .NET

Re:"mentioned" (5, Funny)

pjh3000 (583652) | more than 4 years ago | (#30486254)

You're just sore because you made the wrong decision to learn Delphi.

Re:"mentioned" (5, Informative)

dragonxtc (1344101) | more than 4 years ago | (#30486548)

Ironically did you know the guy that designed Delphi also designed C#?

Java too complex (3, Insightful)

HNS-I (1119771) | more than 4 years ago | (#30486004)

I think that java had the momentum, and the quality, so ultimately there was something structurally wrong with it that caused the decline in marketshare. The webapp share was taken over by flash, which is far slower than the java vm, because actionscript was easier to program in. If sun had made a ligthweight version of the vm for the browser and simpler language like visual basic, things might have been very different.

Re:Java too complex (3, Informative)

thetoadwarrior (1268702) | more than 4 years ago | (#30486082)

That's the idea behind JavaFX.

Re:Java too complex (3, Insightful)

LordAndrewSama (1216602) | more than 4 years ago | (#30486364)

Too little, too late.

Re:Java too complex (0)

minginqunt (225413) | more than 4 years ago | (#30486460)

Java's problem is not that it's "too complex".

Java's problem is that it was designed in 1967.

Re:Java too complex (5, Insightful)

minginqunt (225413) | more than 4 years ago | (#30486160)

As a professional Java programmer, I've watched as Java-the-language has stagnated. Java-the-platform has only thrived thanks to Open Source, and no thanks to the sclerotic Java Community Process and an ineffectual steward in Sun Microsystems.

Java programmers have watched in horror as C# gained fully reified generics, lambdas and closures, arbitrary monadic comprehensions and Hindley-Milner type inference, whilst we've only grudgingly been allowed a broken generics model whilst Sun spent years rejecting and rewriting closure proposals that are still 1-2 years away from adoption.

C# is thriving because it has a benevolent dictator in the form of Anders Hjelberg. Java the language is a stagnant mess.

Re:Java too complex (2, Insightful)

Burnhard (1031106) | more than 4 years ago | (#30486252)

If I had points, I'd mod you up. Great post.

Re:Java too complex (4, Funny)

spottedkangaroo (451692) | more than 4 years ago | (#30486274)

Indeed. He has the knowledge of a real insider, but keeps up on other languages too. If I had points I'd mod you up for saying he should be modded up.

Re:Java too complex (5, Funny)

CxDoo (918501) | more than 4 years ago | (#30486412)

Gee, I have mod points but could not help but notice your modesty - why exclude yourself?

If someone has mod points, please mod us all up!

Re:Java too complex (3, Funny)

motorhead (82353) | more than 4 years ago | (#30486588)

Somebody modded a comment of mine up and now my karma is neutral. It was bad for years and a source of pride for me. Feh!

Re:Java too complex (1)

minginqunt (225413) | more than 4 years ago | (#30486428)

I feel I'm being mocked here, but I'm not exactly sure what for.

Is it because I is rude about Java?

Re:Java too complex (1)

CxDoo (918501) | more than 4 years ago | (#30486558)

I think you nailed it - .NET is moving really really fast.

If you look at software available you might say that 91.34% of everything is based on Framework v2.0 even though latest version is already at 4.0.

I still have a lot of legacy stuff written for 1.1, plus most of ongoing projects on 2.0, by the time we decide to upgrade, we will skip from vs 2005 to vs 2010 and .NET 2.0 to 4.0. Sometimes you wish for them to slow down a bit. :)

Re:Java too complex (5, Insightful)

Anpheus (908711) | more than 4 years ago | (#30486298)

Moreover, Microsoft seems to earnestly care about putting the geekiest of the geeks in charge of their language development. They have quite a few functional programmers who have a significant say in the future of languages like F#, and continue to produce great libraries for the CLR.

And now of course, IronPython is a dream scripting language that's incredibly easy to host and entirely open source to boot.

I think people unnecessarily mock Ballmer for "Developers, developers, developers!" He was right. It worked, and Java lost, despite having done so many things right first, and having nailed cross-platform application and service design. Or at least, Java is in the process of losing.

Re:Java too complex (3, Insightful)

gbjbaanb (229885) | more than 4 years ago | (#30486624)

I think people unnecessarily mock Ballmer for "Developers, developers, developers!" He was right.

That's not just Ballmer's slogan, Microsoft has focussed on that for the past 15+ years. The trick is to get developers writing code for your platform, and then you'll sell loads of platforms. No manager will buy an alternative because they won't be able to get devs who know alternatives, while there will be plenty of Microsoft developers. That reduces the risk of deploying a platform... and so we see where we are today, an ecosystem built around Windows.

It was no big surprise that C# became popular, all those Windows devs suddenly thought they needed to learn it or be shut out of the Windows job market, and so they all demanded C# skills, and so managers started to find that they could only recruit C# devs. It helped that the language was such that you could only poke fun at it in relatively minor ways (unlike, say VB that never caught on in such a massive way amongst 'professional' developers)

Java, I'd say has lost the war, even if there are a few more battles to be fought and C++ seems to be hanging on in there. However, I think I see a glimmer of hope (for the not-more-blinking-MS-stuff view) in scripting languages. MS hasn't targeted that yet, IronPython is still a 'toy' to MS. Maybe soon it'll start to battle cross-platform scripting languages too.

Re:Java too complex (2, Interesting)

minginqunt (225413) | more than 4 years ago | (#30486656)

You're right, of course. Microsoft Research has a number of fellows who are at the very cutting edge of programming language research, including the likes of Simon Peyton Jones (Mr Haskell) and Don Syme.

And these people have had a direct hand in the evolution of C# (through its type inference, lambdas and LINQ), through F# (which started as a project to port Haskell, and then O'Caml to the CLR), the DLR, Parallel Extensions...

The level of geekiness that Microsoft encourages at the top end of .NET is remarkable.

Re:Java too complex (3, Insightful)

IBBoard (1128019) | more than 4 years ago | (#30486352)

One thing I've noticed with generics as a "Java-by-profession, C#-by-hobby" developer is that I prefer many parts of the Java implementation. Having access to the generic parameter type in C# is useful, but it is far more likely that I need the "PARAM_TYPE extends SomeClassOrInterface" method rather than C#'s fixed generic parameters (at least in C# 2.0, which is what I target since Mono has good support and it isn't too huge a download for WinXP users if they don't have it).

Re:Java too complex (1, Insightful)

DiegoBravo (324012) | more than 4 years ago | (#30486644)

> I've watched as Java-the-language has stagnated

I agree with your opinions but not with the apparent conclusions; I really don't need nor want a language with more complexity, despite some potential benefits of functional programming or any other "paradigm"; in other words, I don't want a new C++: That would be exciting for experimenting and playing, but terrible when introducing new members to our programming team.

Remember that C89 (forget C99) is still doing well; the same goes for COBOL, despite oddities.

Re:Java too complex (4, Insightful)

MemoryDragon (544441) | more than 4 years ago | (#30486302)

Actually the field where java shines is the enterprise part and there it is really well located and very popular, banks corporations etc.. all use java they simply love its stability and portability (have in mind many of them run big irons, and java scales up and up on those machines)

if .net has managed one thing then to kill java from the desktop, but Sun is equally to blame there as well with Swing having been way to slow until java 4!
Other than that .Net made major inroads in Windows dev shops and generally windows environments where it was to be expected if it was better than VB which it definitely was!

Re:Java too complex (1)

MemoryDragon (544441) | more than 4 years ago | (#30486456)

Besides that not sure in which world you live on the webapps side either, while flash has its place flex has hardly taken over the webapp space, in the last years I have encountered exactly one flex app in the wilds!
Heck it is even hard to get an ajax app in somewhere, but ajax is way more common!

.Not (5, Informative)

should_be_linear (779431) | more than 4 years ago | (#30486006)

Joking aside, Java is multiplatform in practice and .Net is only in theory.

Re:.Not (4, Informative)

ByOhTek (1181381) | more than 4 years ago | (#30486094)

Actually, I'd argue Java is also only in theory.

I've had to re-write too much stuff because a java built in function relied on native libraries, which did not act the same (regular expression handling in 1.4 and earlier, is a good example - go betweeen HPUX, Linux and Windows, and there can be serious issues). A lot of the UI stuff doesn't work well between versions either.

It's gotten better, but on a similar note, anything I've used from .NET in VS 2003 and earlier, and quite a bit of later stuff, works just fine on Windows, Linux and FreeBSD.

Each has their flaws in cross platform use - .NET's issues tend to arise when using newer APIs, and Java tend to have small gotchas, which in most cases are rare, scattered throughout the code.

Re:.Not (4, Insightful)

MemoryDragon (544441) | more than 4 years ago | (#30486182)

I had once to port a system of half a million locs of java code, between windows, linux and RS6000, I had to change one line of code for the RS6000 due to a bug in IBMs VM, and that was on Java 4...

Re:.Not (1, Informative)

Anonymous Coward | more than 4 years ago | (#30486300)

As I said, rare and scattered. Chances are, you won't hit them, but when you do, they are a pain in the ass, especially if you are the type of programmer to assume that the language/VM itself won't have problems, and the error is with your coding or logic.

Re:.Not (1)

ByOhTek (1181381) | more than 4 years ago | (#30486326)


Or running java on the problematic platform, for whatever reason is non-trivial. In these cases, debugging takes a lot longer. Of course, the latter case can be blamed on bad business practices, and not the language itself. Still, when you expect something to be completely cross platform, it shouldn't rely on native implementations of anything, unless the code base is shared (ex. they could use OpenSSL instead of Sun's implementation since that seems to be everywhere).

Re:.Not (2, Informative)

minginqunt (225413) | more than 4 years ago | (#30486310)

Then you are fortunate. The JVM is a good abstraction, but it is a leaky one. The point is that you can't just *assume* it will work on any platform that runs a JVM, which was the original (I would claim largely irrelevant) point behind WORA.

Re:.Not (0)

Anonymous Coward | more than 4 years ago | (#30486332)

but NONE on windows? cool.

Re:.Not (0)

Anonymous Coward | more than 4 years ago | (#30486362)

half a million locs of java code?

Is that like RTFM the F'ing java manual?

I had to change one line

Were the other 499,999 lines comments?

Re:.Not (3, Interesting)

minginqunt (225413) | more than 4 years ago | (#30486258)

The interesting thing was that Sun used WORA as a surrogate argument to accept the validity of virtual machines. It's hard to imagine now, but there was a time when VMs were treated with scepticism or outright hostility by most programmers.

These days it's hard to imagine creating a programming language that wouldn't adopt a VM of some kind.

Neither the CLR or the JVM truly enable WORA, but it doesn't matter. We have learned that VMs have a value to a programming language *far* beyond that rather limited concern.

Re:.Not (0)

Anonymous Coward | more than 4 years ago | (#30486600)

To understand that early hostility you have to remember how BAD those early VMs were. You were limited in how many system resources you could use to a point that the execution of your code suffered, and the VM was SLOOOOWWWWW. Things have vastly improved but the early VMs were horrible and when programmers complained all they got from Sun was "this is the future". While Sun was technically right the practice came to the industry before it was ready for prime time and there were a couple of years there when the engineers/architects (granted I'm in that camp) triumphed over common sense and usability and as always developers revolt to the purist ideas when they don't work well in a practical setting. Once those purist ideas prove themselves or evolve to the point that they are practical then everyone embraces them as self-evident and inevitable. It is the way of all things not just software. =)

Re:.Not (1)

gbjbaanb (229885) | more than 4 years ago | (#30486696)

Once we have VMs - thinks of old pascal compiler that produces bytecode rather than native instructions, sure its not a full VM with memory management but its not far off. And then there was mainframes that did this kind of thing all the time.

I'd say its one of those fashion things, one day we had VMs, then we didn't, now we do again. Perhaps we'll go back to native code sometime in the future (maybe running in mini-OS VMs, for efficiency and reduce power usage or something). Then one day in the far future, we'll have VMs again as our apps run part locally, part virtualized on the mobile cloud, and so on.

Re:.Not (3, Insightful)

FlyingBishop (1293238) | more than 4 years ago | (#30486330)

Except the difference is that .Net derives most of its appeal from its tight integration with Windows. You try and port it and the OS simply doesn't have the supporting utilities you've built it to work with.

Java on the other hand is self-contained. So while you do have to do porting, Java code, in practice, doesn't make as many assumptions about the environment it's running in.

Re:.Not (1)

ByOhTek (1181381) | more than 4 years ago | (#30486506)

Ahh, but the mono team developed drop-in replacements for many of the call, making it work in a lot of usual cases.

As i said, it isn't perfect, but it's not really bad either.

Re:.Not (4, Insightful)

oldhack (1037484) | more than 4 years ago | (#30486534)

You're comparing odd bugs in Java implementations to .NET's inherent (and intended) tight coupling with Windows platform. Qualitatively different.

Re:.Not (1, Interesting)

Anonymous Coward | more than 4 years ago | (#30486106)

> Joking aside, Java is multiplatform in practice and .Net is only in theory.

Well except for all the software written in C# to run on Mono...

Re:.Not (1)

Mr2001 (90979) | more than 4 years ago | (#30486392)

Well except for all the software written in C# to run on Mono...

And the software written in C# for .NET that runs just fine on Mono with little or no modification.

The grandparent is trolling. The UI libraries that Visual Studio encourages you to use aren't as portable as Java's, but most everything else you'll use in .NET is every bit as portable as Java. Even when it comes to UI libraries, Mono has pretty good support for WinForms, and there are truly cross-platform libraries like Gtk# you can use instead.

Re:.Not (2, Insightful)

cabjf (710106) | more than 4 years ago | (#30486208)

I got the feeling Microsoft looked at Java and said, "Gee, people really like things that are multi-something, instead of multi-platform, let's do multi-language." Thus the CLI was born, but everyone just uses C# with .NET anyhow.

Re:.Not (2, Informative)

Mr2001 (90979) | more than 4 years ago | (#30486448)

The CLI is, of course, both multi-platform and multi-language. So is the JVM, even though it was designed around the Java language.

Re:.Not (2, Interesting)

Cyberax (705495) | more than 4 years ago | (#30486272)

So what?

I'm on the verge of abandoning Java for my projects. Currently, there's just almost no business reason to use it. Microsoft tools (+ReSharper) are now as nice as tools for Java, ASP.NET is as good as any Java web framework, and WPF totally kills SWING on the client.

Oh, and Microsoft _really_ supports multi-language programming. MSVS 2010 has full official support for F# (Ocaml clone) and extensions for dynamic languages in the CLI. And even plain C# is _much_ nicer than Java (LINQ, anonymous types, type inference, real generics, closures, etc.).

It wouldn't be as bad if Java was improving. But right now it's stagnating fast.

Oh, of course there's Scala. But it exists mostly to prove that JVM is not really for Java, but it's also suitable for horrible hacks required to run other languages. And in any case, there are no good IDEs for Scala development.

Re:.Not (1)

dunkelfalke (91624) | more than 4 years ago | (#30486370)

Well, .NET runs on Windows and on Windows CE (more or less, .NET compact is a subset of .NET and sometimes behaves differently).

Re:.Not (1)

l0b0 (803611) | more than 4 years ago | (#30486500)

Java isn't platform independent; it is a platform.

Bjarne Stroustrup []

Re:.Not (2, Informative)

@madeus (24818) | more than 4 years ago | (#30486602)

I don't agree with that, I really think it's very good in practice. I write C# software for both .Net and Mono on my Mac, with Windows and Linux my primary target platforms. It's really highly portable, and with very low resource impact requirements to boot (far, far lower than Java out of the box IME).

You can use C# w/ Mono to create games games for X-Box 360, the Wii and even the iPhone (see Unity3D), as well as Windows. The Apache module mod_mono makes it a snip to deploy, and it's just drag and drop to deploy the same websites or web services under IIS, nothing platform dependant about it.

Certainly, Windows and Linux are the environments which enjoy the best support for desktop applications (on Mac OS X you have to use an ObjC bridge, because of the proprietary UI), but in practice it's not any more abstraction than is need to create a decent UI in Java (arguably less, though it's probably fair to say that pretty simple cross platform UI's are easier to implement in Java, anything remotely sophisticated requires pretty much the same effort in either).

It's worth nothing that porting FROM something like Mono or DotGNU to .NET is far easier than the other way round, as the Microsoft tools tend to embrace Microsoft's own extensions which are not covered by the C#language specification, of which all the commonly used methods seem to implemented fully by the Mono team, but P/Invoke calls to native Windows DLL's obviously cause issues when porting - and that's almost always where the gripes come from.

If you start out with Mono then you won't have that problem. The Mono team have actually done a better job than MS in providing a wide range of libraries for platform abstraction and to implement common functions, and if you start out with Mono, there is no reason not to just bundle the Mono libraries you use with your app, regardless of platform it's run on.

Depends on the goals (3, Interesting)

IBBoard (1128019) | more than 4 years ago | (#30486016)

It depends what the goals were.

If they wanted to completely depose Java then no, Java is still there.

If they wanted to introduce a Windows-centric alternative to re-invigorate desktop development and replace the horrors of C++ and VB with something with more modern and useful layers of abstraction and code checking that were already in Java (typed delegates, generic types, garbage collection, etc) then it seems to have done all right.

If they wanted to tear the OSS world in two with arguments over whether it .Net "teh evilz" or not then that'd be a definite yes, even thought more and more patent covenants are coming in to cover Mono (despite the fact that patent covenants shouldn't even be necessary if the legal system was sensible enough not to allow the patenting of software).

IronPython rulez! (0)

Anonymous Coward | more than 4 years ago | (#30486030)

As a cpython developer for many years now, I think the addition of IronPython to the .NET tools basket holds a lot of promise.

The really big win with .Net (3, Informative)

wiredog (43288) | more than 4 years ago | (#30486048)

Is that so much of it wraps, and hides the complexity of, COM. I haven't had to deal with COM programming in 5 years now.

Silverlight (1)

JcMorin (930466) | more than 4 years ago | (#30486172)

I've been a .NET programmer since the start 10 years ago as full time and that platform is really improving nicely.

Just recently I've been started a project in Silverlight and it's so great to use the same syntax and tool, and even 90% of the same code for doing rich application client side.

Silverlight is only a sub-set/lightweight of the .NET framework.

Re:The really big win with .Net (1)

oldhack (1037484) | more than 4 years ago | (#30486622)

It adds some pain of setting up interops between .NET land and native land (Win32, COM, assorted system service interfaces), but still way less pain, I agree.

No Java or C# please (4, Interesting)

newhoggy (672061) | more than 4 years ago | (#30486058)

I was initially excited by .net when it was first released and have preferred it over Java, which as a language seemed to have stagnate. Now, I am finding C# quite a disappointment with Microsoft not investing the time and energy to ensure the features they add to the language are polished:

* Adding extension methods without also adding extension properties
* Refusing to implementing covariant return types
* Adding type inference, but disallowing it for class method return types

As so forth. Microsoft simply doesn't have the discipline to finish any feature addition to the language before moving to the next.

That doesn't mean I prefer Java either. I only use Java and C# at work out of necessity.

My language of choice is now Scala.

Re:No Java or C# please (0)

Anonymous Coward | more than 4 years ago | (#30486430)

It you are using WPF or Silverlight you can add attached properties

Re:No Java or C# please (0)

Anonymous Coward | more than 4 years ago | (#30486640)

Has it occurred to you that perhaps they haven't done those features because they are simply a bad idea? Extension properties and type inference for return types have some obvious problems, though I also have a hard time seeing the problem with covariant return types. In any case the claim that Microsoft is not investing serious resources into .NET is just bizarre.

Re:No Java or C# please (0)

Anonymous Coward | more than 4 years ago | (#30486652)

>> Adding extension methods without also adding extension properties

What use would they have ? I can't think of a single example where you want property semantics as an extension.. and in the 1% of cases you are able to spit out, consider using Getters/Setters like every other language does.

>> Adding type inference, but disallowing it for class method return types

It's duck typing not weak typing. How can you infer the return type out of a function (which can potentially be in another class, assembly, whatever ?). Also, does introducing it favor or hinder readability of the code ?
As far as I know (but I may be wrong) the duck typing proposed by the C++ 0x standard has the same limitations.

Consider this. (4, Insightful)

v(*_*)vvvv (233078) | more than 4 years ago | (#30486062)

Microsoft has a monopoly. Maybe less so than before on the "desktop" category, but to state the obvious their monopoly on "Windows" is 100%. So naturally, they have every advantage when creating products for their own platform, and they'll do everything legally possible to shove dev products down developers throats.

So I say whether they call it .Net or .Piss, it does not matter much. The success of ASP is a bi-product of their desktop advantage. If ASP.NET were sold by ASPsoft, then no one would buy it.

Business 101: How do you sell a product regardless of its quality?

Microsoft is great at this, as every other major US corporation is and should be.

BTW I am not saying anything about their quality. I am just saying it doesn't really matter much, because their software is sold by weight.

I got a Big Endian x-mas present (0, Offtopic)

axonis (640949) | more than 4 years ago | (#30486066)

Well I just receieved a Big Endian version of the .NET Micro Framework, as promised and its a big X-mas present :) ... You guys that dont like MS really have no clue do you ? , try a little harder and keep playing with your Little Endian ARM junk !

Re:I got a Big Endian x-mas present (1, Funny)

Anonymous Coward | more than 4 years ago | (#30486092)

My endian is much bigger than yours.

.NET is not limited to C# (2, Insightful)

Katchu (1036242) | more than 4 years ago | (#30486076)

.NET is not limited to C#, although that is probably the most usual. Any language can be used so long as it is made to conform to the .NET CLR (Computer Language Runtime (?)) standard. In addition to the usual MS suspects, there are Third Party implementations of other languages that fit within that framework. This gives .NET development a flexibility that encourages development from experts in many domains dominated by other languages. Has it delivered? If it continues to exist, yes. Is it the best? Depends on your prejudices. Few have the ability to make a truly objective assessment. Objective.

Re:.NET is not limited to C# (1)

Eraesr (1629799) | more than 4 years ago | (#30486374)

CLR stands for Common Language Runtime :-)

Re:.NET is not limited to C# (1)

Katchu (1036242) | more than 4 years ago | (#30486592)

Duh, I knew this, I changed the word "common" to "usual" in that sentence to avoid confusion, then had a brain fart when an Iranian incursion into an Iraqi oilfield was mentioned on "Morning Joe". Kinda lost it there.

Yes. (0)

MrCrassic (994046) | more than 4 years ago | (#30486108)

C# is replacing Java as the language to teach kids new to object-oriented programming how to program. It is gaining widespread acceptance in industry, and works perfectly (obviously) with Visual Studio and other development environments. It has also made creating professional Windows-based GUIs much easier and more desirable to do, which is something that only Visual Basic and hardcore C++ shell API developers could accomplish. Its reporting tools are also held to high regard and are used quite frequently in industry. Finally, with Windows Vista and 7 coming pre-packaged with .NET frameworks, integration is only that much easier for .NET developers. Let's not forget about how it sort of, kind of now works in Linux with the Moonlight Project (by the man that shalt not be nam-ed).

However, that's just C#.NET. Visual Basic.NET didn't share the same success, though its usage is also proliferating. Thus, I'd say that as a platform, it's still growing, but C# by itself has accomplished its goals as an established and well-regarded language in IT and beyond.

Re:Yes. (1)

MrCrassic (994046) | more than 4 years ago | (#30486196)

Sorry to respond to my own post (again), but I really, really wished that Microsoft added C99 support to their Visual C++ compiler. Does anyone know why they haven't?

I discovered the consequences of this as I tried to port over a project for school from Linux to Windows. Compiled perfectly on gcc, but failed dramatically when I used Visual Studio. (Yes, I know I could've use make instead of nmake to link gcc to it, but I don't think I should have to go through that kind of work just to say that Visual Studio compiled my program. Also, getting the code to work in C# using DLL import/export was a HUGE pain in the ass.)

Re:Yes. (1)

El Lobo (994537) | more than 4 years ago | (#30486204)

It has also made creating professional Windows-based GUIs much easier and more desirable to do, which is something that only Visual Basic and hardcore C++ shell API developers could accomplish.

Hmm... Sorry but that spot is already (and has been) taken by Delphi (in the native arena anyway). After all the main architect of both Delphi and .Net is the same guy. But yes, .NET rocks.

Re:Yes. (1)

Mr2001 (90979) | more than 4 years ago | (#30486578)

Unfortunately, Delphi was riddled with bugs. I used Delphi for years... I definitely don't miss the unstable IDE, or spending hours tracking down some weird GUI bug only to find that it was a VCL bug. At least they provided the VCL source code so I could often fix those.

No It is Not (1)

curmudgeon99 (1040054) | more than 4 years ago | (#30486462)

On What planet do you live? Java is clearly the standard when it comes to university computer science. I have heard of hundreds of CS programs that use Java and not one that uses .NET. More MS BS.

Re:Yes. (0, Flamebait)

gtall (79522) | more than 4 years ago | (#30486664)

Wow, did you swallow a MS marketdroid?

Walled-in compounds (0)

Anonymous Coward | more than 4 years ago | (#30486112)

All services are provided by Microsoft (Oracle/Sun), but its a full time job trying to figure out how to use them. Have fun!

Java vs C Sharp (0)

Anonymous Coward | more than 4 years ago | (#30486116)

I think C# is a great language and the .Net framework has many powerful features which make a developer productive.

But still, I think Java has a much wider range of tools to make the developer even more productive. Hibernate, Spring, Apache Shiro, Groovy, Grails, Lucene, Compass are some few of many.

Since I am a web developer, I've never been as productive as when I started with Grails. Compared to Asp .Net we've improved our productivity with 400%

Yes (0)

Anonymous Coward | more than 4 years ago | (#30486118)

There isn't another language that can be compared to .net it's quite unique in many positive ways. There is always a 'best' set of languages for particular applications, but i find .net has many bases covered well. And yea it's fun.


Point & Click programming (3, Insightful)

thetoadwarrior (1268702) | more than 4 years ago | (#30486130)

People like .Net because MS offers tools to allow point & click programming. This means more people can do it and companies can lower wages.

That is one big reason not to support it. We don't need more shitty software that people don't understand how they've created it.

Re:Point & Click programming (4, Insightful)

Liquidrage (640463) | more than 4 years ago | (#30486340)

No. People like .NET because of the very clean implementation of modern OOP principles. The drop & drag coding typically aims at mundane tasks. And the heavy OOP nature of .NET left behind a lot of the "developers" you're referring to.

Re:Point & Click programming (2, Insightful)

minginqunt (225413) | more than 4 years ago | (#30486398)

How do you feel about the time and resources Microsoft has poured into developing Visual F#, Linq, Parallel Extensions, the DLR, IronPython/IronRuby, not to mention the funding of Microsoft Research, many of whose fellows such as Simon Peyton-Jones (maintainer of the Glasgow Haskell Compiler) are at the very bleeding edge of programming language research?

Are these the actions of a company that wants to stultify programmers' minds?

Microsoft, for all its failings, understands its developers. Always has.

Re:Point & Click programming (1)

homer_s (799572) | more than 4 years ago | (#30486410)

People like .Net because MS offers tools to allow point & click programming. This means more people can do it and companies can lower wages.

In the same vein, computers and quickbooks allow more people to do accounting and lowers wages. Before this, a company needed an experienced accountant and a couple of assistants. Now all they need is a part time person to do the same work.
We should stop supporting computers.

(just in case it escapes you, I'm being facetious)

Re:Point & Click programming (1)

tompatman (936656) | more than 4 years ago | (#30486536)

So, you're looking for job security by continuing to use languages where it is difficult to code something up? Good luck with that. If point and click programming does the job well and can be done quickly, why would a manager not want to use that style of programming for their projects? I wonder how much C# programming you've done yourself. It's an excellent language and very readable/maintainable when used by software engineer who pays attention to quality.

Re:Point & Click programming (5, Informative)

Mr2001 (90979) | more than 4 years ago | (#30486676)

You realize the "point and click" stuff is for laying out dialog boxes, right?

Writing boilerplate code to lay out controls and handle window messages wasn't some noble art that's been lost. It was low level tedium that distracted from real programming. I remember opening Petzold's Windows programming book and being horrified that the code for "Hello World" spanned several pages.

I don't know about your wages, but I get paid a fair amount for my time to write C#, and that time is a lot more productive and enjoyable thanks to such things as IDEs and component libraries.

I love .Net for the desktop (1)

OzPeter (195038) | more than 4 years ago | (#30486134)

But it has always seemed to me that shipping a commercial closed source product based on .Net is a huge challenge to ensure that it remains closed source. What do people do? Do they simply rely on one of the many obsfucation products out there?

At least in the good old days you could guarantee that disassembling your binary didn't give someone your C code without a bucket load more work

Re:I love .Net for the desktop (0)

Anonymous Coward | more than 4 years ago | (#30486304)

Yes, obfuscation works very well. It would have to be one helluva profitable application to make it feasible to be reversed.

A success from an Open Source standpoint I'd say (1)

Max Romantschuk (132276) | more than 4 years ago | (#30486150)

So far it seems Microsoft has been sincere about not planning to litigate against projects implementing .NET open source. I'd call that a success any day, given how the Microsoft of yesteryear would have thought about these things.

I'm very much pro-choice in terms of both choice of language/framework and in terms of proprietary vs. open source. Interoperability given a mix of these things is always good. With .NET you can choose different languages for different parts of your project, and properly written the result will run on both Microsoft's platform and Mono. I think that is success enough.

a decade? (0)

Anonymous Coward | more than 4 years ago | (#30486156)

It has not been a decade jackass! I know this will not be posted because /. is so one sided and the articles are posted by the same people every day. This was a community site but that is long gone.

Yes (2, Interesting)

bit trollent (824666) | more than 4 years ago | (#30486174)

If web application development was still as horrible as it was with 1.1, I would have given up years ago. With .NET 2.0, it finally became usable. When they introduced AJAX update panels, it became far better than anything else in the market.

I've been using 3.5 lately, and I have to say that I am very happy with this development environment. Every other data access layer feel like a complete waste of time compared to LINQ to SQL. I love the way it helps me produce insanely good work very quickly.

I can't even begin to express my gratitude for the programming language that has paid my bills for the last 3 years.

Re:Yes (1)

dskzero (960168) | more than 4 years ago | (#30486556)

I love the way it helps me produce insanely good work very quickly.

My thoughts exactly. It's effective and good. I don't think it will take over Java or any of those languages ($$$$ issues), but it's going on strong. So yes, I think it's a success, though, as the article mentions, not as big as a success as probably Microsoft wanted. But what were the objectives anyway?

Almost (2, Interesting)

esarjeant (100503) | more than 4 years ago | (#30486176)

Speaking strictly from a Windows development perspective, I think .NET has improved the experience somewhat compared to other kludgy frameworks (MFC / ATL). Assuming you don't plan on any cross platform deployments, you can implement your application within .NET using all of the capabilities of the operating system in an object oriented fashion. It's quick - it's easy - and C# is close enough to C/C++ that anyone with a programming background can pick it up.

Where Microsoft missed the mark is on the promise that their own applications would migrate to .NET. For example, Microsoft Office would get re-written as a .NET application. Ironically, I think it's because of the lack of cross platform capability that .NET was unable to meet this need. Microsoft has a number of key software products that need to run on both Mac and Windows. While native C/C++ can be easily ported, without a compatible CLR moving to Mac isn't that easy.

Had they been able to meet the portability objective (which they never promised), I think .NET could have been much more prevalent. For now, it will continue to be a second-best development environment for Windows computers (with C/C++ being the primary).

Almost (2, Insightful)

Balau (1286776) | more than 4 years ago | (#30486202)

I think .NET is a good compromise (meaning that it is not the best but it is often good enough) on:
- learning curve (easy by design)
- functionalities (reflection, anonymous methods, attributes...)
- portability to different "Windows" (Mobile, Server...) and to other OS' (Mono)
- execution speed

I also agree that if Microsoft had distributed more software written in .NET (up to a complete OS) maybe the framework would have become more mature and more adopted.

It is not a Java vs .NET world (4, Interesting)

rodrix79 (1542781) | more than 4 years ago | (#30486210)

I think the register is oversimplifying here. PHP, Ruby on Rails, Python, Scala... Sure Java is a complicated beast and it has become more and more difficult to sell to new customers, but .NET is not the only one eating Java's pie. Now, I wonder: how much .NET customers have found out they overpaid for a .NET application when they could have done as good with an X language alternative?

.NET or .NOT? (5, Interesting)

CxDoo (918501) | more than 4 years ago | (#30486318)

The answer is, as always, it depends.

If you expected cure for cancer, it failed miserably.
However, if you were involved with any of the likes of MFC, ATL, Visual Basic 6 and bellow, DAO, Interop & COM (to name just a few), it is to be regarded as the second coming of Christ.

Goods and Bads (4, Interesting)

dcray2000 (969850) | more than 4 years ago | (#30486320)

We use both heavily in our enterprise. I tend to lean toward Java because of the wide spread use across platforms. But I agree that the underlying framework of Java is ridiculously complex. We spend a huge amount of time dealing with the JRE rather than writing and supporting actual code.

On the other hand, .net, visual studio, MSSQL, AD, and IIS are a seriously tight integrated platform. I've seen even our most junior devs author amazing sites using the pure Microsoft tools.

Overall, I'd say I'm on the fence. I wish Sun would remove head from ass and get the JRE to a better versioning system that allows old apps to keep running along with new apps, similar to the .net framework methodology. If they could pull that off Java would really start to storm our environments.

Java Is Victorious (-1, Flamebait)

curmudgeon99 (1040054) | more than 4 years ago | (#30486334)

What planet do these guys live on? .NET and C# are being destroyed in the market. Go to or and do a search on Java/J2EE/JEE versus .NET/C#. Java has won and the complexity of the platform is merely a sign of its maturity. Also, no shop uses everything--they use what they want and build their own stack. That's not something that's possible in the .NET world where, to paraphrase Henry Ford, you can have any color as long as it's .NET/C#. They define the stack, not you. I gave up on Microsoft technologies in 1998 and have never spent another dime on any MS products since. I marvel that people still do, given he torrent of trojans/viruses and other malware that plague the platform.

Asp.Net is NOT a 'popular' business framework. (-1, Flamebait)

unity100 (970058) | more than 4 years ago | (#30486358)

please dont bullcrap if you are not in industry. i am one of the web developers who specializes in ecommerce web development. and the current situation is, nothing is able to come close to php+mysql for developing ecommerce/business websites. leave aside individual requests for quotes, the projects you will see in contract websites like elance, rentacoder and the like will be predominantly php+mysql. you will be hard pressed to find asp / projects as a fraction of them even.

the situation is so ridiculous that despite new lamp developers get into business every single day, demand seems to be rising faster than the supply and there is not a lack of projects, even for people who are charging a few times the rate indian houses charge.

the only clients who go with, or stuck with are corporate clients which are bigger than medium size. because they are already locked in with microsoft products, the natural route they choose happens to be going ms all the way. however, the number of such clients are few, because a corporation which is of medium size and larger would easily be able to have their own i.t. department, and make them work on their ecommerce/business project. few such projects are contracted out to software houses or developers. not that there are many medium+ sized corporations looking to set up an ecommerce/business presence on the web either ...

therefore lamp is the predominant choice in all respects. its so very curious that a 'php developer' has become a broad, generic definition - there have come up a lot of specializations. 'scripts' of yesterday have grown to become specialization areas in themselves. the 'php' part is expected by default ...... ecommerce developer. oscommerce developer. phpbb developer. vbulletin developer. joomla developer. postnuke developer. people post up jobs with these titles, not even needing to mention php, because its accepted as default.

dont err me by thinking that i am a php fanatic, or ms enemy. true, i love php. and true, i dislike ms. but foremost, im a professional. the current state of market is as thus, and all are - naturally - obliged to respect its demands.

Re:Asp.Net is NOT a 'popular' business framework. (5, Insightful)

bit trollent (824666) | more than 4 years ago | (#30486568)

Where I live, on [] there are 74 open ASP.NET, and 17 open PHP jobs.

You are totally talking out of your ass. I really hope you understand the irony of starting with, "please dont bullcrap if you are not in industry".

I may not be in the dumb, arrogant PHP developer industry, but I can assure you that I am in the industry. There is a good chance that if you haven't used a website that I helped develop, you have at least used one that my company has. Where I work, we use ASP.NET (Primarily .NET) and Java, but not PHP.

But hey, don't let that discourage you the next time you want to post an uninformed and totally inaccurate rant about PHP and how you are in the industry but nobody else is...

Re:Asp.Net is NOT a 'popular' business framework. (0)

Anonymous Coward | more than 4 years ago | (#30486594)


Re:Asp.Net is NOT a 'popular' business framework. (5, Interesting)

blowdart (31458) | more than 4 years ago | (#30486596)

the projects you will see in contract websites like elance, rentacoder and the like will be predominantly php+mysql

Well of course you will. The projects on those sites are looking for cheap implementation and damn any sort of quality or maintainability. The register didn't look at those sorts of sites, they looked at recruiting sites instead, the ones businesses use. Using the slime pool that is the "Write me a twitter clone for $100" sites to say LAMP is the most popular in businesses is laughable.

Re:Asp.Net is NOT a 'popular' business framework. (1)

milosoftware (654147) | more than 4 years ago | (#30486646)

You must work for the pr0n industry then. And it looks like you can't get it up

Re:Asp.Net is NOT a 'popular' business framework. (1)

Jasen1337 (1186907) | more than 4 years ago | (#30486692)

LMAO. This guy thinks that writing $20 scripts on a freelance site is "in the industry". I pray for you if you ever get a real job in enterprise development... PHP, MySQL, LAMP... don't make me gag.

C# first choice? Ummm, no. (0, Troll)

CritterNYC (190163) | more than 4 years ago | (#30486470)

C# is probably the first choice for .NET development. But I doubt C# is the first choice for all Windows development. Especially considering that no major commercially-available software is .NET-based, .NET isn't even used for Microsoft Office or Microsoft's other software packages, and using .NET requires you to install the rather large .NET framework on a PC before you can even install your app unless you're using Windows 7 (because XP, the world's most popular OS has no .NET framework pre-installed).

Java vs .NET (0)

Anonymous Coward | more than 4 years ago | (#30486574)


-requires 1000's of "class libraries" to do anything useful, better hope you have the right versions too
-requires hundreds of MB of bloatware to be installed
-requires 3 different versions of the interpreter,"just in case" someone decided to use old/obfuscated functions, etc
-slow as frozen molasses, on a good day

Microsoft ".NET"
-requires hundreds of MB of bloatware to be installed
-requires 1000's of "DLL" files to do anything useful, better hope you have the right versions too
-requires 3 different versions of the "interpreter" or "runtime framework". "just in case" someone decided to use old/obfuscated functions, etc
-fast as a bat out of hell, when it decides to work

I'd say they are about the same, except for speed, I'd go with Microsoft [for once]

Performance? (1)

FranTaylor (164577) | more than 4 years ago | (#30486674)

I don't see anyone talking about performance.

I don't do .NET so I have no idea of its performance.

I do like the concept that Java is far removed from the physical hardware so the compiler can make all sorts of simplifying assumptions and nifty optimizations.

Modern Java compilers turn your java code into machine code that runs just as fast as languages like C and C++ which are pretty much just fancy macro assemblers.

Can someone with experience speak as to the relative performance of java and .NET?

Current Monster Numbers: Java vs .NET (4, Informative)

CritterNYC (190163) | more than 4 years ago | (#30486680)

I thought the article may be overstating .NET's popularity, so let's take a quick look at listings on Here are the results of a US-wide search for each of the terms (at 9am on 2009-12-18):

C#: 2,920
(Just) .NET: 3,632
ASP.NET: 1,714
Java: 5,000+

If we narrow it to posts in the last 7 days:

C#: 971
(Just) .NET: 1,095
ASP.NET: 524
Java: 1,608

Or if I select my location, New York City, over the last 60 days:

C#: 223
(Just) .NET: 239
Java: 591

As expected, there is a lot more demand for Java developers than C#, ASP.NET or even .NET framework itself.

(Note: I added the prefix (Just) to the .NET line as otherwise SourceForge won't let it be separated onto a new line)

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?