Slashdot Mirror


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

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."

34 of 558 comments (clear)

  1. I think they made a small mistake. by Burnhard · · Score: 5, Insightful

    The article says that demand for c# is around 32%, but it should also add in the demand for vb.net, 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.

    1. Re:I think they made a small mistake. by Gnaget · · Score: 4, Funny

      I hardly think we should include all the high school students using VB.NET in the count.

  2. "mentioned" by Anonymous Coward · · Score: 4, Funny
    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"

    1. Re:"mentioned" by Anonymous Coward · · Score: 4, Funny

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

    2. Re:"mentioned" by pjh3000 · · Score: 5, Funny

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

    3. Re:"mentioned" by dragonxtc · · Score: 5, Informative

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

  3. .Not by should_be_linear · · Score: 5, Informative

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

    --
    839*929
    1. Re:.Not by ByOhTek · · Score: 4, Informative

      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.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    2. Re:.Not by MemoryDragon · · Score: 4, Insightful

      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...

    3. Re:.Not by oldhack · · Score: 4, Insightful

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

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
    4. Re:.Not by Sycraft-fu · · Score: 4, Insightful

      The joke I've heard about Java is "Write once, debug everywhere." I've certainly encountered trouble with it in terms of doing system support. Sometimes you find Java software that needs a specific version of the JVM to run. Newer won't do it, only that one works. This isn't because it is a custom version, it is because the JVM they used when writing it did things one way, and that changed and broke it later and they haven't wanted to update. Now you can argue that they should rewrite their code to support the new stuff, but you can also argue they shouldn't have to.

      This isn't to say Java is useless cross platform, but I do get tired of hearing the crap of "Oh just write it in Java, it'll run everywhere!" No, actually, it very well may not.

    5. Re:.Not by jedidiah · · Score: 4, Insightful

      > I'm on the verge of abandoning Java for my projects. Currently, there's just almost no business reason to use it.

      Yes. Nevermind the target server platforms. Those don't matter at all...

      Like I said: .NET is a Windows centric solution meant to keep the Windows users fixated on Windows and not distracted by anyone else.

      --
      A Pirate and a Puritan look the same on a balance sheet.
  4. No Java or C# please by newhoggy · · Score: 4, Interesting

    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.

  5. Consider this. by v(*_*)vvvv · · Score: 4, Insightful

    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.

  6. Re:Java too complex by minginqunt · · Score: 5, Insightful

    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.

  7. It is not a Java vs .NET world by rodrix79 · · Score: 4, Interesting

    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?

  8. Re:Java too complex by spottedkangaroo · · Score: 4, Funny

    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.

    --
    Imagine if you weren't allowed to use roads because a bus company complained about your driving 3 times. --skunkpussy
  9. Re:Java too complex by Anpheus · · Score: 5, Insightful

    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.

  10. Re:Java too complex by MemoryDragon · · Score: 4, Insightful

    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!

  11. .NET or .NOT? by CxDoo · · Score: 5, Interesting

    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.

    --
    "Blah blah blah." - [citation needed]
  12. Goods and Bads by dcray2000 · · Score: 4, Interesting

    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.

  13. Re:Point & Click programming by Liquidrage · · Score: 4, Insightful

    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.

  14. Re:Java too complex by CxDoo · · Score: 5, Funny

    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!

    --
    "Blah blah blah." - [citation needed]
  15. Re:Asp.Net is NOT a 'popular' business framework. by bit+trollent · · Score: 5, Insightful

    Where I live, on Dice.com 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...

  16. Re:Asp.Net is NOT a 'popular' business framework. by blowdart · · Score: 5, Interesting
    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.

  17. Re:Point & Click programming by Mr2001 · · Score: 5, Informative

    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.

    --
    Visual IRC: Fast. Powerful. Free.
  18. Current Monster Numbers: Java vs .NET by CritterNYC · · Score: 4, Informative

    I thought the article may be overstating .NET's popularity, so let's take a quick look at listings on monster.com. 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
    ASP.NET: 91
    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)

  19. MS really does care about making devs happy by Sycraft-fu · · Score: 5, Interesting

    Of course their reasons for doing it are not benevolent, they want software designed for Windows so that users want to use Windows. Regardless, they produce extremely slick dev tools because of it. Often the things maligned by self proclaimed "real" programmers are actually quite useful dev tools in the right situations.

    Visual Basic is a good example, all sorts of geeks liked to hate on VB as being stupid. While they were on to something in that VB wasn't powerful like C/C++, they missed that the reason was that VB was a managed language back before such a thing was popular. It allowed you to easily churn out UIs and things like that with minimal effort and without the need to check for the gotchas you got with something like C. Hence it was quite popular.

    What MS has done real well is realized that most developers out there are NOT the hard core "Give me a text editor or give me death!" types. They are people in business trying to get something done, and get it done with minimal fuss and hassle. They also likely have to put up with management idiots who want to change the requirements every 5 minutes and thus being able to rapidly change the software is a benefit.

    They really do seem to be a company that is in touch with what developers want.

  20. Re:Java too complex by Hurricane78 · · Score: 5, Insightful

    Yet another comment by someone who thinks Java is “applets in my browser”.

    Java is THE dominant language for mobile phone development (96% of all phones support it, the other 4% allow it with a little precompiler), and “enterprise” server development (where is is the fastest mainstream non-C language, except for [maybe] OCaml/Haskell).

    Java is not only going strong, with no decline in sight. It is dominant in many sectors.

    --
    Any sufficiently advanced intelligence is indistinguishable from stupidity.
  21. Ease of writing doesn't convince me by Mutatis+Mutandis · · Score: 4, Insightful

    I am not convinced that it is such a bad thing that Java-the-language is 'stagnated'. As language, Java was designed from the start to eliminate features that were, in the parlance of the day, "Considered Harmful". So yes, it was and is a bit restrictive. C# has a richer syntax, including "goto"... The richer syntax can be a plus because it often saves time in coding.

    But creating code is what, 20% of the lifetime cost of a software package? And meanwhile C# provides the less disciplined programmer with plenty of opportunities to create write-only code. Never mind lambdas and closures --- I am not so sure that having properties in C# is a great idea, because their very purpose is to hide that code invocation happens. And I positively dislike the opt-out from declaring which exceptions a method throws. Exception handling is simply too important.

  22. Re:Java too complex by popeyethesailor · · Score: 4, Interesting

    However, I think I see a glimmer of hope (for the not-more-blinking-MS-stuff view) in scripting languages..

    Powershell is pervasive now. Every MS product now has powershell hooks. Most command-line utilities are being folded into Powershell extensions. While the language itself is not to my taste(I much prefer the *nix shells still), it's a big improvement alright.

  23. Re:Java too complex by MemoryDragon · · Score: 4, Interesting

    Java only has lost the war if you thing the entire world runs on windows and develops for Windows only, sorry it is like that!
    I work in banking environments where the language is very strong, the reason simply is you develop on windows, then deploy on Unix and the deployment scales up to the big irons from IBM if you need to!

    All I can see on C# side for now is that it has gotten the ground that VB and ASP had before, that is the market of develop for windows deploy on windows. Ok this is quite a big market but this is only one part of the picture.

    Now with Android we also have a serious push of java being a very popular platform programming language for mobile phones again instead of the trash of J2ME.
    It is not branded java but the Dalvik VM has clearly java roots!

    As I said C# has mostly gathered the ground which was occupied by Microsoft before anyway, quite a big ground but territory java never had.

  24. Re:Java too complex by rabbit994 · · Score: 5, Informative

    Powershell was never designed to be used by day to day admins in general administration tasks. GUI for many things allows you to look up data or make one off changes much quicker. Powershell is designed to be used by admins to script common tasks they do daily. I have a Powershell script that will parse a comma delimited text file and add every line in there as Active Directory user with Exchange Mailbox. When we get 30 new employees at work, I modify some parameters on Powershell script, take list from HR and bam, in 15 minutes, I've added 30 new users with Exchange mailboxes. That's purpose of Powershell.

  25. Re:Java too complex by adonoman · · Score: 4, Informative

    Have you actually used powershell? They've predefined common aliases for most of the command (ls, cd, del - just type get-alias (or gal) to get the full list). All the parameters can be used both positionally, or as named parameters where you only need to provide enough of the name that it's unambiguous (usually one or two characters is enough). On top of all that, there is tab-completion for object members and such. The purpose of the long, descriptive names is for writing scripts. I can use the abbreviated aliases and shorthands when I'm at the command line, and yet still write scripts that are legible, without having to look up whether -r means recurse or revision in a given context when I'm debugging a script a year later.