Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Microsoft Programming

Has a Decade of .NET Delivered On Microsoft's Promises? 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."
This discussion has been archived. No new comments can be posted.

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

Comments Filter:
  • by Burnhard ( 1031106 ) on Friday December 18, 2009 @09:17AM (#30485994)
    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.
  • Java too complex (Score:3, Insightful)

    by HNS-I ( 1119771 ) on Friday December 18, 2009 @09:18AM (#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.
  • Consider this. (Score:5, Insightful)

    by v(*_*)vvvv ( 233078 ) on Friday December 18, 2009 @09:23AM (#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.

  • by Katchu ( 1036242 ) on Friday December 18, 2009 @09:25AM (#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.
  • by thetoadwarrior ( 1268702 ) on Friday December 18, 2009 @09:30AM (#30486130) Homepage
    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.
  • by minginqunt ( 225413 ) on Friday December 18, 2009 @09:32AM (#30486160) Homepage Journal

    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:.Not (Score:5, Insightful)

    by MemoryDragon ( 544441 ) on Friday December 18, 2009 @09:35AM (#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...

  • Almost (Score:2, Insightful)

    by Balau ( 1286776 ) on Friday December 18, 2009 @09:36AM (#30486202) Homepage
    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.
  • Re:.Not (Score:3, Insightful)

    by cabjf ( 710106 ) on Friday December 18, 2009 @09:37AM (#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.
  • by Burnhard ( 1031106 ) on Friday December 18, 2009 @09:40AM (#30486252)
    If I had points, I'd mod you up. Great post.
  • by Anpheus ( 908711 ) on Friday December 18, 2009 @09:44AM (#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.

  • by MemoryDragon ( 544441 ) on Friday December 18, 2009 @09:44AM (#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:.Not (Score:3, Insightful)

    by FlyingBishop ( 1293238 ) on Friday December 18, 2009 @09:47AM (#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.

  • by Liquidrage ( 640463 ) on Friday December 18, 2009 @09:47AM (#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.
  • by IBBoard ( 1128019 ) on Friday December 18, 2009 @09:48AM (#30486352) Homepage

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

  • by LordAndrewSama ( 1216602 ) on Friday December 18, 2009 @09:49AM (#30486364)
    Too little, too late.
  • by minginqunt ( 225413 ) on Friday December 18, 2009 @09:51AM (#30486398) Homepage Journal

    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:.Not (Score:4, Insightful)

    by oldhack ( 1037484 ) on Friday December 18, 2009 @10:01AM (#30486534)
    You're comparing odd bugs in Java implementations to .NET's inherent (and intended) tight coupling with Windows platform. Qualitatively different.
  • by bit trollent ( 824666 ) on Friday December 18, 2009 @10:03AM (#30486568) Homepage

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

  • by lseltzer ( 311306 ) on Friday December 18, 2009 @10:03AM (#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.

  • by gbjbaanb ( 229885 ) on Friday December 18, 2009 @10:08AM (#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.

  • by DiegoBravo ( 324012 ) on Friday December 18, 2009 @10:10AM (#30486644) Journal

    > 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:.Not (Score:5, Insightful)

    by Sycraft-fu ( 314770 ) on Friday December 18, 2009 @10:22AM (#30486780)

    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.

  • Re:.Not (Score:1, Insightful)

    by Anonymous Coward on Friday December 18, 2009 @10:23AM (#30486808)

    ASP.NET is as good as any Java web framework

    ASP.NET is an abomination unto good Web-Development practices. .NET is a wonderful framework for developing applications that are run on a local machine, but it needs to stay the hell of my internet.

  • by MemoryDragon ( 544441 ) on Friday December 18, 2009 @10:30AM (#30486910)

    Java is relatively stagnant but that is also the reason why big buisnesses simply love it, if you want to stay on the edge and keep the platform then use scala or groovy, there you have closures etc...
    The platform is more healthy than ever and java as language has become the same status as cobol had in the 70s, stagnant but widely used!
    As for the JCP you know that 90% of the work the JCP does revolves around the platform not the language?

  • by Hurricane78 ( 562437 ) <deleted @ s l a s h dot.org> on Friday December 18, 2009 @10:31AM (#30486912)

    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.

  • by Mutatis Mutandis ( 921530 ) on Friday December 18, 2009 @10:35AM (#30486952)

    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.

  • Re:.Not (Score:5, Insightful)

    by jedidiah ( 1196 ) on Friday December 18, 2009 @10:49AM (#30487082) Homepage

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

  • by Anonymous Coward on Friday December 18, 2009 @11:12AM (#30487414)

    A few things:

    First, ASP.NET isn't a programming language, it's a library. A lot of people write websites in C# using ASP.NET libraries.

    Secondly, you have to add the numbers up.

    So, using your values, we get:

    US-Wide search results:
    dotNET: 8266
    Java: 5000

    Last 7 days:
    dotNET: 2590
    Java: 1608

    NYC, last 60 days:
    dotNET: 553
    Java: 591

    In other words, your conclusion is disingenuous. Job postings asking for ".NET experience" typically mean C# even though they don't explicitly say that. They very rarely mean VB.NET or any of the other languages supported by the .NET VM. Same goes for ASP.NET (which, as I said above, is just a library).

    While it does appear that Java is currently slightly higher in demand in NYC than .NET, that doesn't jive with the rest of the US overall.

  • by Joseph Vigneau ( 514 ) on Friday December 18, 2009 @11:17AM (#30487470)

    Although Java-the-language has stagnated a bit (I don't know if JDK 7 will ever be complete, due to all the feature cramming), but there's been a lot of activity during the past few years on other languages that run on Java-the-platform. Groovy and Rhino (Javascript) have been available for the JVM for quite a while. JRuby is actually faster than "native" Ruby for a lot of real-world applications. The Lisp-like Clojure language has a lot of fans. IMO, Scala is the most interesting out of all of these, with a very sophisticated type system, as well as functional features that the cool OCaml and Haskell kids seem to love.

    All of these alternate languages can use the wealth of libraries available for Java, generally on all platforms on which the JVM runs. For example, I know of Scala apps that can run on Andriod, which is close enough to Sun's VM.

  • by binarylarry ( 1338699 ) on Friday December 18, 2009 @11:23AM (#30487556)

    Android uses Java and tools from the Java ecosystem heavily. And it's really starting to become popular.

    Looks like old Stevarino's gonna be eating crow as Android surpasses the iPhone as the smartphone to get eh?

  • Re:Yes. (Score:2, Insightful)

    by binarylarry ( 1338699 ) on Friday December 18, 2009 @11:34AM (#30487738)

    lol, this whole thread is overrun by Microsoft astroturfers.

    Slashdot should start posting hostnames with each post.

  • by gestalt_n_pepper ( 991155 ) on Friday December 18, 2009 @11:35AM (#30487754)

    Yup, you nailed it.

    Computer languages exist to make tools get stuff done, not as temples dedicated to the genius of the individual programmer whose main talent is mental masturbation through obfuscation. .Net has made my job remarkably easier even though programming isn't my primary job. I can cobble up some rather remarkable tools to do what I need more quickly and easily than I could in either Java, C or C++.

  • by Anonymous Coward on Friday December 18, 2009 @11:37AM (#30487786)

    Others have correctly pointed out that rentacoder is not "the industry", nor does it represent enterprise-level development. Having said that, they take refuge in the popularity of ASP .NET vs PHP, with many declarations about the superiority of MS in the enterprise. The argument of one vs. the other is sadly lacking in specificity on either side -- perhaps because EITHER can be used to achieve the same result. Upside potential and risk are pretty much the same.

    Among the benefits of LAMP are vastly simplified licensing. When you use LAMP, the BSA never calls. And you don't get pesky little offers from MS partners to do "SAM" audits. Even if you have no license problem, who needs the BS? System uptime is another benefit. I have worked long enough with both to see a big difference.

    To me, the benefit of ASP .NET is the commoditization of developers. I think it is easier to treat people interchangeably in a world where the architectural choices are narrow. Some enterprises live in perpetual "risk management" mode, one of the chief risks being sudden departure of key employees. If there is one place where the MS platform shines, this is it. The next geek can be inserted almost as readily a replacing a USB mouse.

    Garbage code is abundant on both platforms. In the world of LAMP, there is the lower echelon of rentacoder where people try to cobble together systems for pocket change. The amazing part is not that it works well, but that it works at all. In the enterprise world, I have seen dreadful apps that are forced upon a captive population of corporate employees. For reasons that have nothing to do with technology, the management strategies that highlight the advantages of ASP often include the side effect of rigid time and cost constraints. When the money runs out, development stops. Some (but not all) of these enterprises would be far better off with an army of LAMP rentacoders.

    It takes real money to develop systems. If you have lots of it, a reasonably competent project mgr. can spend his/her way to success. But if you don't, the cost of ASP (including entire Windows environment) is money that could be redirected to man hours of developer time.

    The real enemy of LAMP and ASP is not Java, it is Flash. Foolish people are easily swayed by cute graphics -- even when eye candy is not helping. I am surprised the PHB in Dilbert has not converted the entire software development team to Flash. I'll check again this Sunday.

  • by Ralish ( 775196 ) <sdl@@@nexiom...net> on Friday December 18, 2009 @11:40AM (#30487846) Homepage

    I'm of the opinion that part of the reason for Java's slower than many anticipated adoption is just how badly it integrated into the native GUI environment of the host. For a very long time, and still persisting into the present, Java apps often looked downright awful on many systems. You can frequently tell something's a Java app purely by how ugly and out of place it looks compared to the native apps. Sun has made progress in addressing this, but it may be too little too late. I think the language as a whole is pretty good, and somewhat unfairly maligned, but the importance of the apps looking at least reasonable seems to have been underrated by the Java developers.

    On the other hand, .NET is pretty much guaranteed to look at least reasonable on Windows. Of course, the fact it was targeted at Windows clearly goes a long way to simplifying this. I doubt Microsoft was thinking "We need to design this so it looks great and integrates on Windows, Linux, OS X, and everything else". But, that being said, for many developers it looking good on Windows is all that matters, in that it may be the only platform they're intending to develop for or support, so why go to all the extra effort in Java to make it look presentable when .NET makes it so much easier? There's of course many other pros/cons to each language, but I doubt the proliferation of ugly-as-sin Java apps is particularly good for its image, even if it is a very facile way of judging a language.

    Don't underestimate the importance of presentation!

  • by Anonymous Coward on Friday December 18, 2009 @12:20PM (#30488450)

    Yeah, yeah VB.NET sucks... whatever.

    I prefer C#, too. But can we please stop with the religious language wars? It's soo boring.

    Also, you can write bad or good code in pretty much any language.

  • by plague3106 ( 71849 ) on Friday December 18, 2009 @12:28PM (#30488560)

    Ugh...

    I don't think I've ever seen goto in a C# program.

    The richer syntax means I can get my work done faster, without wasting time with boilerplate nonsense.

    Your quipe about properties is particually stupid; the property setter and getter are compiled into methods anyway, its just syntatic sugar that means I can type less, but more reable code.

    In math, do you write set_X( newValue), or do you write X = newValue? C# allows you to have myObj.X = newValue instead of myObj.set_X( newValue ).

    It makes it clearer whats going on; changing state instead of performing an action.

  • by The Flymaster ( 112510 ) on Friday December 18, 2009 @12:56PM (#30488976)

    I agree that you don't write stuff like that if you're not an idiot. But sometimes you maintain code written by people who DO write code like that. And properties obscure that it's not just an assignment, it's a method call.

    If you have a 4000 line file called program.cs, written 5 years ago by someone who was rightfully fired 3 years ago, it's a pain in the ass to check if something is a property or an actual member, and what that property may or may not do when assigned to.

    By not implementing properties, and instead using getters and setters, you make it more obvious. It's a flag that says "Check this! It might be insane!"

  • by Mongoose Disciple ( 722373 ) on Friday December 18, 2009 @12:56PM (#30488978)

    You're missing a few things:

    1) It's impossible to make all development easy, but you can make some parts/kinds of it easier.

    That is to say, just because a language like VB.Net makes throwing together a passable UI fast/easy doesn't automatically mean that all VB.Net tasks are easy or that someone who's qualified to slap a DataSet on a web page is qualified to do something more complicated.

    2) They're really not competing with free (as in beer) in the sense that you seem to be saying that they are.

    I can get something like OpenOffice as a free (as in costing no money) word processor to use at my business; I can't get someone for free to write an app that solves the specific needs of my business processes. I'm going to end up paying a team of developers for that, and whether they're using Java or PHP or C#, the cost to me is still pretty similar.

  • by JasterBobaMereel ( 1102861 ) on Friday December 18, 2009 @01:00PM (#30489032)

    To program on windows nowadays you program in a .NET language

    So it is not taking over from Java, it's taking over from Windows non-.NET languages

    Java is alive and well and still running on platforms .NET could never dream of ....

  • by elnyka ( 803306 ) on Friday December 18, 2009 @02:58PM (#30491138)

    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.

    Dude, "goto" was never eliminated in Java. It exists in Java in the extremely restricted form of a labeled break statement. And even without a full goto statement, the language still contains pretty much all the potentially harmful constructs (meaning all programming/control statements.) No amount of feature filtering will eliminate programming suckage as the idea of a "safer" programming language is an academic fallacy in anything but the narrowest, best well defined problem domains.

    As a professional Java developer my conclusion is that the language is stagnant. Many of the ideas we originally thought were useful and that would conduct to better programming had turned out not to be such good ideas at all. In fact, they turned out to be bad ideas, syntactic/semantic "leaky abstractions" with an associated negative cost that no one would have expected back then between 1995-2000 when we were going OOOH JAVA:

    1. Replacing multiple (class) interface inheritance - how do you modify an interface down the road (even good software is subject to changes) after it's been inherited by a bazillion entities w/o breaking code compatibility
    2. .

    3. Checked exceptions - they aren't that bad of an idea except that Java never provided a mechanism for preventing them cross-cutting all over the place.
    4. String "+" operator - in the hands of sucky Java programmers (who are a dime a dozen) is the bane of garbage collectors. It is funny in a sad way that immutable strings were thought to help in memory management,but no one gave a shit of a thought about the poor implementation of the String "+" operator.
    5. Not having a non-synchronized string builder until Java 1.5, and refusing to deprecate Vector and HashMap = brainfart.
    6. Still having a debate about having support for lambdas and closures on Java 7 == a bigger brainfart.
    7. Not having an explicit namespace mechanism (which forces you to use classes as namespaces) == another brainfart.
    8. Each and every one of the brainfarts above were thought to be good ideas, but practice has proved them to be, well, brainfarts, very expensive brainfarts. If it weren't because the JVM is rock-solid and multiplatform, we would be dead in the water. The value of JEE stopped being the language a while ago, and the language innovations that were supposed to help implement software of a better quality turned to actually increase the cost of software development.

      I have nothing but praise to Gosling and all the bright people that brought Java to us. But you can't stay perpetually in awe as if it were 1995. We gotta recognize what's good and what's broken and learn from past experience. Acknowledging that Java, the language, is stagnant, that's an step forward.

New York... when civilization falls apart, remember, we were way ahead of you. - David Letterman

Working...