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

558 comments

  1. No by smooth+wombat · · Score: 0, Flamebait

    Next question.

    --
    We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
    1. Re:No by Runaway1956 · · Score: 0, Troll

      Flamebait? Not the old Wombat!!

      Personally, I don't have much use for dotnet, or .net, or whatever. I played with it a little when I was strictly using Windows. Never saw much point in it. Not a coder, just a user - and all that I could see, was that MS was trying to corner a market where there was no market. Yeah - Enterprise fell in love with it, but what does dotnet offer Joe Schmuck, or his cousin, Joe Sixpack? Phht. Same with Silverlight. And, oh yeah, that Windows Virtual Machine thing that was supposed to displace Sun's JVM or JRE. Phhht.

      Does anyone ever wonder what Windows might be like now, if MS had concentrated on building an OPERATING SYSTEM, first and foremost? We might have seen Win7 around 2003 or 4, without the Vista fiasco. Now in 2009, we might be looking at something really amazing.

      Come on, Microsoft. Stop futzing around with crap like browsers, dotnet, and other meaningless drivel. Just make an operating system, and let other people worry about what to run on the operating system. Kinda like Linux does. And, stop changing your numbering system twice per decade while you're at it. It's still just freaking Windows NT6 - we didn't need Win2K, WinXP, the Vista failure, and now, somehow magically start fresh with a Windows 7.

      Alright, I'm done bashing Microsoft - for awhile, anyway.

      --
      "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
    2. Re:No by aztracker1 · · Score: 1

      Dotnet provides a consistant abstraction interface for writing software that happens to run on their OPERATING SYSTEM. What would be the point of an operating system if nobody is/can write software for it?

      --
      Michael J. Ryan - tracker1.info
    3. Re:No by Abreu · · Score: 1

      Troll? Not Runaway1956!

      Really, the people in charge of Java need to make it a lot more attractive than .NET so that we can get truly multiplatform applications...

      - Abreu, who is still frustrated that the D&D online apps only work with .NET 3.5

      --
      No sig for the moment.
  2. 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 lseltzer · · Score: 2, Insightful

      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.

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

    3. Re:I think they made a small mistake. by Saint+Gerbil · · Score: 2, Informative

      From the same source as the article it adds 7-8% which is down from a few years ago with a high of 10%

      http://www.itjobswatch.co.uk/jobs/uk/vb.net.do

    4. Re:I think they made a small mistake. by jalefkowit · · Score: 0

      VB programmers seem to have moved on.

      To Web development, not VB.Net.

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

      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.

    6. Re:I think they made a small mistake. by molarmass192 · · Score: 1
      --

      Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
    7. Re:I think they made a small mistake. by ozmanjusri · · Score: 2, Informative
      It's not about religious language wars. It's just that VB is an oddball subset of C#.

      There's not really much point to it unless you're transitioning from an existing Basic, and even then, if you're that badly locked into the Microsoft ecosystem, you'd be better just learning C# anyway.

      --
      "I've got more toys than Teruhisa Kitahara."
    8. Re:I think they made a small mistake. by Vancorps · · Score: 2, Informative

      VB.net is also used in web development, same with C#

    9. Re:I think they made a small mistake. by KitsuneSoftware · · Score: 1

      I only used VB in my Computing A-level because the teacher didn't know any other languages.

    10. Re:I think they made a small mistake. by maatthias · · Score: 1

      32% of job vacancies in the UK. What's that got to do with high school?

    11. Re:I think they made a small mistake. by Anonymous Coward · · Score: 0

      Then we shouldn't count all the high school students using Java, either.

    12. Re:I think they made a small mistake. by Anonymous Coward · · Score: 0

      Either a troll or doesn't know what he's talking about.

      For the last time people, VB.Net essentially is C# with minor syntactic differences.

    13. Re:I think they made a small mistake. by fm6 · · Score: 1

      Why not? Because they'll switch to "real" languages when they become professional programmers? Most will never do that; they'll go into some other line of work and maybe do a little programming on the side or as a minor part of their job. And a lot of software gets written that way.

    14. Re:I think they made a small mistake. by Gnaget · · Score: 0

      I would like to take a moment, and point out the moderation category of funny... It was a joke. And believe me, I have seen plenty of bad code written in c#, I know. I once found an 80 line function which took a decimal, converted it to a string, chopped off part of the string, then converted it back to an decimal. I replaced the entire function with math.Floor()

    15. Re:I think they made a small mistake. by Tablizer · · Score: 1

      Maybe the original programmer didn't know that "floor" existed. Sometimes people forget or accidentally miss something when reviewing the list.

    16. Re:I think they made a small mistake. by Foredecker · · Score: 1

      Did you make that up all by yourself?

      --
      Jibe!
  3. "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 JustOK · · Score: 3, Funny

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

      --
      rewriting history since 2109
    4. Re:"mentioned" by dragonxtc · · Score: 5, Informative

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

    5. Re:"mentioned" by Anonymous Coward · · Score: 0

      Yeah, I did RTFA too.

    6. Re:"mentioned" by Evildonald · · Score: 1

      This is funny because it's true! I USED to be a Delphi developer, but the work started drying up in Australia and I changed over to .Net

      I have never looked back. My skills are always in demand. When I am looking for a new job, I get one in days.

    7. Re:"mentioned" by Anonymous Coward · · Score: 0

      Everybody knows that Turbo Pascal has more "syntactical sugar"!

    8. Re:"mentioned" by jackjumper · · Score: 1

      And also Turbo Pascal. One of the greats.

    9. Re:"mentioned" by Anonymous Coward · · Score: 0

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

      looks like he's learnt some lessons then...

    10. Re:"mentioned" by Anonymous Coward · · Score: 0

      How is that ironic?

    11. Re:"mentioned" by rtb61 · · Score: 1

      Hmm, now is that a recommendation for .net or a warning because it seems as a result of becoming specialised in .net you are always looking for a new job. Does that mean when coding employers think .net might be a good idea, once they have got it in place and start trying to be productive with it and with .net coders, they soon find it is a waste forcing those .net specialists to look for another job with another company also sucked in by .net advertising ;D.

      --
      Chaos - everything, everywhere, everywhen
    12. Re:"mentioned" by Anonymous Coward · · Score: 0

      This is true

      Delphi was great!

    13. Re:"mentioned" by Evildonald · · Score: 1

      No it does not mean that, you buffoon. I never said I'm ALWAYS looking for new work.. I said WHEN I'm looking for new work. As it happens I have 2 passports and green card. I change countries and I also contract. Contracts aren't always forever.

    14. Re:"mentioned" by bit9 · · Score: 1

      Could be worse. He could have skipped VB and Delphi and learned PowerBuilder instead.

    15. Re:"mentioned" by dunkelfalke · · Score: 1

      Beware, I know both Delphi and C# :-p

      --
      "It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
    16. Re:"mentioned" by VGPowerlord · · Score: 1

      No one said they let him touch the .NET Framework, just c#.

      Since most everything .NET does is in the Framework rather than the individual language...

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    17. Re:"mentioned" by larry+bagina · · Score: 1

      When I'm looking for a blowjob, I don't want to wait around for days. That's why I run perl and ruby on my python. What I want (a blowjob) when I want it (now).

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    18. Re:"mentioned" by Evildonald · · Score: 1

      I think i speak for everyone when I say this

      WTF!??!?

    19. Re:"mentioned" by Anonymous Coward · · Score: 0

      It's about the /. circle jerk cum blowjob?

    20. Re:"mentioned" by Lord+Crc · · Score: 1

      No one said they let him touch the .NET Framework, just c#.

      That could explain why I find C# a nice language but the .NET framework a mess...

    21. Re:"mentioned" by MattBD · · Score: 1

      People are accusing you of trolling, but I did recently see an advert for a .NET developer job where it actually did say "Please note we are not interested in individuals who work in C#". Now, I'm only a hobbyist programmer at the moment, but as far as I can see you should have no problem adapting to VB.NET if you're already familiar with C#. Is there any rational basis for this, or are the people advertising these jobs the sort of recruiters-who-use-grep described in Joel Spolsky's post at http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html ?

    22. Re:"mentioned" by MattBD · · Score: 1

      Found it! It actually said "Please note that we are not interested in anyone who develops software or works with C#." http://www.myeastangliajobs.co.uk/Jobsite/Jobs/View_Job_Details_1364506

    23. Re:"mentioned" by LordLimecat · · Score: 1

      Thats not irony, its...bah, forget it.

    24. Re:"mentioned" by ta+bu+shi+da+yu · · Score: 1

      Care to provide some evidence to back up that assertion?

      --
      XML is like violence. If it doesn't solve the problem, use more.
    25. Re:"mentioned" by Anonymous Coward · · Score: 0

      I'm just imagining some dirty FOSS hippy in the image of RMS giving him a blowjob. Ew! But I guess it takes all sorts - whatever floats your boat!

    26. Re:"mentioned" by abbe · · Score: 1

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

      Citation Needed.

      --
      404 Not Found
    27. Re:"mentioned" by chromas · · Score: 1
    28. Re:"mentioned" by abbe · · Score: 1

      Thanks :)

      --
      404 Not Found
    29. Re:"mentioned" by Anonymous Coward · · Score: 0

      Amen.

    30. Re:"mentioned" by Sam+Douglas · · Score: 1

      The collections library. It's useless compared to Java (which is also a bit crufty, but at least complete). Sets were introduced in v3.5 Most of the classes are in System.Collections, System.Collections.Generic, there are a handful of more specialised implementations in System.Collections.Specialized. ReadOnlyCollection and Collection are actually in the meaninglessly named System.Collections.ObjectModel, apparently only because 'Collection' is a concept in Visual Basic.

  4. Java too complex by HNS-I · · Score: 3, Insightful

    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.

    1. Re:Java too complex by thetoadwarrior · · Score: 3, Informative

      That's the idea behind JavaFX.

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

    3. Re:Java too complex by Burnhard · · Score: 2, Insightful

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

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

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

    7. Re:Java too complex by IBBoard · · Score: 3, Insightful

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

    8. Re:Java too complex by LordAndrewSama · · Score: 3, Insightful

      Too little, too late.

    9. 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]
    10. Re:Java too complex by minginqunt · · Score: 1

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

      Is it because I is rude about Java?

    11. Re:Java too complex by MemoryDragon · · Score: 1

      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!

    12. Re:Java too complex by minginqunt · · Score: 0

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

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

    13. Re:Java too complex by CxDoo · · Score: 1

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

      --
      "Blah blah blah." - [citation needed]
    14. Re:Java too complex by motorhead · · Score: 3, Funny

      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!

      --
      Employee Of the Month - Cyberdyne Systems Corporation - September 1997
    15. Re:Java too complex by gbjbaanb · · Score: 3, Insightful

      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.

    16. Re:Java too complex by DiegoBravo · · Score: 1, Insightful

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

    17. Re:Java too complex by minginqunt · · Score: 2, Interesting

      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.

    18. Re:Java too complex by minginqunt · · Score: 1

      I think Java-the-language has lost the battle against C#. Given its stagnation as a language, and how "of its time" it feels, I'm inclined to say good riddance.

      Java-the-platform, however, I think has a sterling future ahead of it as an open source platform for newer, more innovative languages. You only have to look at the brilliant work being done by Martin Odersky and Rich Hickey with expressive and sexy new languages like Scala and Clojure, and then you realise that Java-the-platform has a good chance to live on via its wayward offspring.

    19. Re:Java too complex by Anonymous Coward · · Score: 0

      Ballmer was not mocked for his message he was mocked for his delivery.

    20. Re:Java too complex by AndrewNeo · · Score: 1

      According to this page it's supported in C# 2.0, unless I'm misunderstanding what you're after.

      public void SomeFunction(T someValue) where T : ISomeInterface { } (or class) works fine.

    21. Re:Java too complex by MemoryDragon · · Score: 3, Insightful

      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?

    22. 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.
    23. Re:Java too complex by medlefsen · · Score: 1

      Maybe, but because the jvm is targetted at Java my guess is that as alternatives like parrot, llvm or, god forbid, mono become more mature I expect more and more languages to start using them instead if for no other reason than it's easier to do. I doubt scala and clojure are going to decide to drop the jvm but unless you're writing a new language that looks a lot like java it seems like a lot of unncessesary work to target the jvm.

      A good article I just found that talks about the jvm as a general platform:
      http://www.artima.com/weblogs/viewpost.jsp?thread=176597

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

    25. Re:Java too complex by Hurricane78 · · Score: 1

      But you must agree, that java is still going very strong and even is dominant in some sectors.

      I agree with the language stagnating. But I don’t care much, since I see it as fundamentally wrong to graft functional programming concepts on an OO / procedural language. It can only end in a Windows-ME-like mess of an inverse pyramid.

      For those reasons, and because it just fits my model of thought, I started to move to Haskell. And boy did I not regret it.
      Like Gentoo moved me from “just a user” to someone that can solve *any* problem with the OS and being a real power user, Haskell moved me from being “just a programmer”, to being on the forefront of computer science and programming language theory.
      I now can write elegant functional programming in any language. Even PHP. It’s true, that the language does not matter that much, if you’re past a certain point.
      (Funnily, Haskell also can work as a language for .NET, and there are many Microsoft people active in its community.)

      I think, in the long run, I will stop writing Java too, and never start with C#. (I loathe the ugliness of C-like languages anyway.)
      If only GHC (the coolest compiler/debugger I have ever seen) would support mobile phone development...

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    26. Re:Java too complex by BitZtream · · Score: 1

      I program in C, C#, Java, Perl, Python, and depending on the day, possibly Ruby, although I'm trying to get away from those scripts.

      Recently I'm doing mostly Java and C#.

      If you think C# is 'better' than Java then you are a shitty programmer. Neither one of them has anything that really is impressive over the other, outside of the IDE itself. Stop blaming the language, its not the problem. Its possible for a language to make certain things a little easier, but once you reach a certain point the additions to a language are of trivial advantage to a good programmer. They may help out less experienced or talented developers who can't figure out how to do the same thing without a special language construct for it, but for the experienced they end up the same.

      C# has been past that point since 2.0, Java has for at least the last few years, I didn't really use it before that.

      I have noticed that Java developers, in general, suck more ass than VB programmers. For a long long time I thought Java was complete shit because every app I'd ever seen was slow and ugly. After dealing with it a little now I've come to realize that Java can perform fine as long as the guy writing the app is capable of walking around the environment without wearing a helmet.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    27. 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.

    28. Re:Java too complex by Anonymous Coward · · Score: 1, Interesting

      Except of course on the iPhone ... which can run games written in C# (e.g.using MonoTouch or Unity3D) just fine, but not those written in Java.

      Steve Jobs is quoted as saying "Java's not worth building in. Nobody uses Java anymore. It's this big heavyweight ball and chain." (had to Google that to get the wording right).

      The sad part is, it's true. Not quite all, but NEARLY all mobile games in Java preform very poorly, even on high end phones. That's not J2ME's problem entirely, neither is it J2ME's fault the online stores sucked, or the phones had crappy button layouts or poor hardware specs, or crappy operating system interfaces - but they did, and it tanked with them.

      Sure, in theory, J2ME could be said to be dominant on mobile devices.

      In reality, the iPhone SDK blows it out of the water in turns of how many in-use mobile apps use it and how much revenue it generates.

    29. Re:Java too complex by IICV · · Score: 1

      I love the idea of Powershell, but the implementation is crap. The best thing about the Unix shell is that you can rely on it being there; you can sit down at any Unix computer and be confident that at least some subset of your usual commands will work in similar ways. Further, Powershell is stupidly verbose - it's like they expect the command line to have Intellisense. I don't want to type a bajillion characters when I want to do something in the command line; just use mnemonics.

    30. Re:Java too complex by buddyglass · · Score: 2, Interesting

      While all that is undoubtedly true, I question the extent to which its responsible for Java's loss in market share. Honestly, how many Java developers do you imagine even know what a "Hindley-Milner type inference" even is? Answer: not many.

      I'd point to some other misc. reasons:

      • Full force of Microsoft marketing behind .NET and friends.
      • It's reasonable to expect many users to have .NET already installed on their machines, whereas the same can't be said for a JRE. So if I'm distributing a small desktop application and I'm only targeting Windows, choosing .NET gives me the best chance of not obligating my customers to download an extra run-time environment.
      • Native look and feel for GUI applications on Windows.
      • Better performance. Can't verify this since I haven't done much with C# et. al., but it's always been my understanding that it outperforms Java, generally speaking.
      • ASP.NET is the obvious choice for a web scripting language if you're using IIS. Java is not the obvious choice of scripting language if you're using non-IIS.
      • The set of technologies surrounding .NET is much narrower than what you see with Java. That is to say if you want to learn .NET you can stick to one IDE, one OS, one application server, etc. With Java you have Tomcat, Jetty, JBoss, Websphere, Glassfish, etc. Then you've got NetBeans, Eclipse, IntelliJ, etc. Then maybe you have to pick an ORM framework. Or a Web Services framework Axis, Xfire or JAX-WS RI? The .NET environment removes all those decisions. So, as a student, you can say to yourself, "IF I learn X and Y and Z, then I'll have covered everything I need to know."
      • One of Java's big selling points, "Write once, run anywhere," never really worked in practice.
    31. Re:Java too complex by Anonymous Coward · · Score: 0

      I've watched as Java-the-language has stagnated. Java-the-platform has only thrived thanks to Open Source

      But what about Java-the-Hutt?

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

    33. Re:Java too complex by master_p · · Score: 1

      To be as slow as Flash?

    34. Re:Java too complex by binarylarry · · Score: 2, Informative

      The JVM has outperformed .NET by a large margin since .NET was created. It's somewhat of a myth, probably perpetrated by Microsoft.

      Java's WORA selling point has worked extremely well overall, stop spreading uninformed FUD.

      --
      Mod me down, my New Earth Global Warmingist friends!
    35. Re:Java too complex by binarylarry · · Score: 2, Insightful

      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?

      --
      Mod me down, my New Earth Global Warmingist friends!
    36. Re:Java too complex by master_p · · Score: 1

      It's funny that the dictator's initials are A.H...

    37. Re:Java too complex by VGPowerlord · · Score: 1

      I think you're mistaking Java with COBOL.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    38. Re:Java too complex by obijuanvaldez · · Score: 1
      As someone else mentioned, C# does in fact include constraints on generic type parameters. The syntax is slightly different, of course. But it also provides, necessarily, an additional constraint where the Type specified by T must also have a default constructor, which is really handy as well as constraints requiring T to be either a reference or value type:

      public class GenericContainer<T> where T : IContents, new(), class
      {
      public T GetNewContent()
      {
      return new T();
      }
      }

    39. Re:Java too complex by Anonymous Coward · · Score: 0

      Every MS product does not have PowerShell hooks; not even close. That is a vast over exaggeration. Open up MSDN Download Center and go down the list of paid Microsoft application and you will find that about 1 in 20 or 30 applications have PowerShell hooks.

    40. Re:Java too complex by Ralish · · Score: 3, Insightful

      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!

    41. Re:Java too complex by marcosdumay · · Score: 1

      "Or at least, Java is in the process of losing."

      That's a long and tortuous process. Anything can change, any time. Java probably won't escape it, but the winner may be some competitor that isn't even mentioned here.

      Anyway, "Developers, developers, developers!" is the right mindset, MS thrived with it, and is losing mindshare on every aspect that forgot to take it into acount. It is funny too.

    42. Re:Java too complex by WinterSolstice · · Score: 3, Informative

      You may be right here. I have, on many occasions, had to program reasonable size DB apps in both.

      Java.makes.me.want.to.claw.my.eyes.out() .NET may only be truly on windows, but it's actually not so bad to code in. I wrote a DB reporting and maint. app in C# in roughly 2 weeks, the previous version of which in Java took almost 2 months.

      Major things, IME that made the difference?
      Crazy easy remote DB access (sure, neither are exactly rocket science, but .net was quicker and more flexible)
      Easy installs - this had me from the start. I wasn't writing a web app, but a desktop app. The C# one was a breeze, the Java one a major headache
      Attractive frontends - this will probably start yet another flamewar, but many of the java frontends are HIDEOUS
      Performance when doing large dataset manipulations - for example, determining which server had the least free space, or which one had the most obsolete users. These are fairly trivial sorting tasks, but the java version took probably twice as long and more memory (in my implementation, which may well have sucked to be frank).
      Support for dumping data into Excel and Word - this was a killer feature. I was able to generate SOX and sizing reports on the fly with C#. Java? No such luck. I never did get it working quickly and properly.

      --
      An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
    43. Re:Java too complex by Anonymous Coward · · Score: 1, Funny

      Please Mod Parent Down.

    44. Re:Java too complex by Second_Derivative · · Score: 1, Interesting

      The problem with "making all those decisions for you" is that writing good programs is hard and writing good frameworks is harder. Therefore, all else being equal the chances are that any given framework will suck. Five years ago Java had several hundred web development frameworks. 99% of those sucked and nobody used them, the others were built on the lessons learned from the sucky frameworks' mistakes, as well as the rare bit of genuine technical vision.

      We've ended up with the Spring framework in Java, which is a top-notch web development framework; the first one I've met that really truly does not suck, and web development isn't even the main point of Spring. Contrast that with the decision Microsoft made for your web development needs in the form of ASP.NET, which is pure unalloyed garbage. It's built around some completely ridiculous metaphors and tries to fight every reality of the web platform, leaving you with a programming environment that's about as flexible as a brick. You can build dumb intranet web views that are completely un-abstracted and welded to the tables you've laid out in your SQL Server database, with rather limited control over any non-elementary features over the DBMS, and if you try to step one inch outside of that mindset then it fights you every step of the way.

      That isn't even an indictment of Microsoft's technical development practices as it is a reflection of the fact that they only tried once and (since the odds were against them) they blew it. Many Java frameworks that were as bad as ASP.NET or worse came and went, what survives today is far more likely to be made of stronger stuff.

      Fortunately for Microsoft that doesn't matter, because in most organisations the people responsible who choose the organisation's preferred technical platforms are not the people who actually have to use them. As long as their effort can be used to rapidly create a facsimilie of the equivalent demos found in the Java glossies and the number printed by wc -l is smaller in their version than Sun's they're fine.

    45. Re:Java too complex by Anonymous Coward · · Score: 0

      It is true that mobile phones support Java-the-language.

      However the mobile application development is not just the language

      - Java ME implementations are horrible broken

      - There is no UI standard

      - iPhone does not support Java ME

      - No new smartphones support Java ME

      Nowadays only low end mobile phone games are written in Java. There is no single recent high profile application for Java ME.

    46. Re:Java too complex by bberens · · Score: 2, Interesting

      I hear you on the poor java coding. I work in a shop that's 25% Java, 75% C/C++ (mostly C). You can pick a random class out of our Java code and immediately tell whether it was written by a C programmer or a Java programmer. All public variables, Hungarian notation, no thought for encapsulation or any OOD whatsoever. I'm not even though to get into the 10k line classes, or the 1500 line methods which is bad practice no matter what language. But those things aren't specific to my shop. From what I've seen it's everywhere. There's no escaping it.

      --
      Check out my lame java blog at www.javachopshop.com
    47. Re:Java too complex by Gilmoure · · Score: 1

      Hey, I was designed (and manufactured) in 1967. I'm still viable. I think.

      --
      I drank what? -- Socrates
    48. Re:Java too complex by Gilmoure · · Score: 1

      I don't know anything about programming (hardware monkey here) and have no idea what y'all are talkin' about but since it's slow at work, I'm reading every /. thread. D'oh! Since I commented here, I can't mod anyone up or down. Or sideways.

      My bad.

      --
      I drank what? -- Socrates
    49. 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.

    50. Re:Java too complex by Bozdune · · Score: 1

      "...better than VB which it definitely was!"

      Um, have you benchmarked the resultant application? VB.Net compiled applications are many times slower than VB6 compiled applications. About 10 times slower for compute-intensive operations (where VB6 actually compares quite favorably to "manly" languages like C; only a small penalty is paid). Try an experiment and see.

      Of course, if performance doesn't matter in your application, and if you're comfortable with your end users having to download hundreds of megabytes of crap that may fail to work entirely depending on what legacy version of Windows they're running, then sure, VB.Net is just wonderful.

    51. Re:Java too complex by buddyglass · · Score: 2, Informative

      I guess I should have been more specific on the performance thing. Mostly I was referring to two things: GUI performance, since Swing has traditionally been pretty turgid, and the ability to easily link with native libraries, which I have always assumed C# handles more elegantly than Java+JNI. As for general purpose performance, the jury's still out on that:

      C# beats Java (most of the time): http://reverseblade.blogspot.com/2009/02/c-versus-c-versus-java-performance.html

      C# beats Java: http://www.bentuser.com/article.aspx?ID=323&AspxAutoDetectCookieSupport=1

      Java beats C#: http://blogs.sun.com/dagastine/entry/sun_java_is_faster_than1

      When it comes to WORA, again it depends on what you're doing. Recently I had to write an app to do serial port communication on Windows. Unless I missed something, that's only achievable in Java land by using a native library via JNI, meaning my code won't run elsewhere. Another example is when I used to work at IBM about seven years ago. We frequently had UI or I18N issues with our Java code that only cropped up on certain platforms (e.g. AIX) but not others (Windows).

      That said, the non-graphical server code I write using Java runs pretty much everywhere. So for that class of application WORA really works.

    52. Re:Java too complex by plague3106 · · Score: 1

      Hmm... that explains why apps on phones suck I guess. Slow, crashing pieces of trash.

    53. Re:Java too complex by Anonymous Coward · · Score: 0

      What's wrong with "where PARAM_TYPE : SomeClassOrInterface" ?

    54. Re:Java too complex by Anonymous Coward · · Score: 0

      Scala

    55. Re:Java too complex by pjt33 · · Score: 1

      I think what he's after is the equivalent of public <T extends Comparable<? super T>> sort(List<T> list)

    56. Re:Java too complex by pjt33 · · Score: 1

      Oops. Missed the void return type.

    57. Re:Java too complex by GodfatherofSoul · · Score: 1

      I like my language syntax stagnant.

      --
      I swear to God...I swear to God! That is NOT how you treat your human!
    58. Re:Java too complex by jeti · · Score: 1

      And you may not want to use the .net framework for enterprise applications. The large object heap of the .net framework fragments and does not get cleaned up. This can cause any long-running application to fail with "out of memory" exceptions, although little memory is actually allocated.

      There's a nicely detailed article describing the problem. My colleage has already provided this feedback. As you can see, he's quite pissed. And reasonably so.

    59. Re:Java too complex by Mongoose+Disciple · · Score: 1

      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.

      I don't think that's necessarily true.

      Most of the work I've done in the last 5 years or so has been as a consultant, developing apps (some web, some not) for businesses. Some of that work has been in Java, and some of it has been in C#. Most of the projects could really have been done in either -- there wasn't any kind of company-wide mandate or environmental limitation that required one over the other.

      Not everything, but in the business world, lots of the projects that are done in C# or Java could have been done in either language.

    60. Re:Java too complex by sskagent · · Score: 1

      Gee, I have mod points but could not help but notice your modesty

      I see what you did there.

    61. Re:Java too complex by binarylarry · · Score: 1

      Agreed, Swing is a fucking travesty.

      Sun's Java implementation has a much better garbage collector and has been around a lot longer than .NET, so it shouldn't be too surprising it's faster.

      For the WORA part, what you're saying is.... Java isn't WORA if you don't use Java. I think you deserve a prize for that one!

      --
      Mod me down, my New Earth Global Warmingist friends!
    62. Re:Java too complex by Cyberax · · Score: 1

      Hear, hear.

      I remember 2003, back then in Java world we had a wealth of OpenSource libraries, Spring, nice web frameworks, Eclipse and IDEA, Hibernate. Even EJB3 was shaping to become a decent standard.

      Then C# generics came. And then WPF. And then LINQ.

      And suddenly, Java started to look ancient.

    63. Re:Java too complex by maxwell+demon · · Score: 1

      Hey, I was designed (and manufactured) in 1967.

      No. You were designed many millennia ago. Only some small details were decided when you were produced.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    64. Re:Java too complex by 0xABADC0DA · · Score: 1

      As a professional C programmer, I've watched as C-the-language has stagnated. C-the-platform has only thrived thanks to Open Source, and no thanks to the sclerotic X3J11 Technical Committee and an ineffectual steward by ANSI.

      C programmers have watched in horror as C++ gained fully reified templates, methods and objects, arbitrary template expansions and auto pointers, whilst we've only grudgingly been allowed a void* generics model whilst ANSI spent years rejecting and rewriting closure proposals that are still 10-20 years away from adoption.

      C++ is thriving because it has a benevolent dictator in the form of Bjarne Stroustrup. C the language is a stagnant mess.
      </sarcasm>

      Just because a language is 'stagnant' doesn't make it bad. I still much prefer the uncluttered languages like C or Java to their swiss-army-knife competitors.

    65. Re:Java too complex by JasterBobaMereel · · Score: 3, Insightful

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

      --
      Puteulanus fenestra mortis
    66. Re:Java too complex by maxwell+demon · · Score: 1

      I think people unnecessarily mock Ballmer for "Developers, developers, developers!"

      People don't mock him for saying "developers, developers, developers" but for the way how he said it.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    67. Re:Java too complex by shutdown+-p+now · · Score: 1

      Yes, but so was C# when it was first released.

      Java problem is that it didn't evolve fast enough as a language. Though I'm glad to hear that they've finally decided to get closures into Java 7 (despite the way the decision was ultimately handled).

      On the other hand, Java libraries, especially third-party ones, tend to be more evolved and mature than .NET. It's no coincidence that some of the best .NET libraries are forks off some stable Java codebase. Though that is changing recently somewhat as C# diverges more and more - .NET devs expect generics throughout, use of lambdas, LINQ integration, and so forth these days, so straight ports, which only rely on the subset of features that are in Java, are less attractive.

    68. Re:Java too complex by shutdown+-p+now · · Score: 1

      Java programmers have watched in horror as C# gained fully reified generics, lambdas and closures, arbitrary monadic comprehensions and Hindley-Milner type inference

      Java programmers must have not watched close enough, though, since C# doesn't have HM type inference. It has a very simple kind where type of a local variable can be inferred from its initializer (which does in practice cover a lot of common cases), but this isn't HM. It's rather close to what Scala does.

      F# does have HM, though.

    69. Re:Java too complex by Anonymous Coward · · Score: 0

      Java won the language war. Almost all enterprise development is done using Java, the only alternative is the Java clone called C#, which proves that a VM was the best model.
      Huge legacy apps are slowly being ported to Java or they are creating new versions designed & built in Java.

    70. Re:Java too complex by Anonymous Coward · · Score: 0

      Scala -woosh Scala -woosh...
      will you learn Fad-lango?
      Thunderbolt and lightning, very, very frightening me
      (Groovy) Grails (Groovy) Grails, Groovy Functional
      MetaProgram-o-o-o-o
      I'm just a programmer nobody loves me
      He's just a programmer from a poor company
      Spare him his life from this monstrosity

      Easy come, easy go, will you learn go?
      Bismillah! No, we will not learn go
      Learn go
      Bismillah! We will not learn go
      Learn go
      Bismillah! We will not learn go
      Learn go (Will not learn go)
      Learn go (Will not learn go) (Never, never, never, never)
      Learn go, o, o, o, o
      No, no, no, no, no, no, no
      (Oh mama mia, mama mia) Mama Mia, learn go
      Balmer has the devil put aside for me, for me, for me!

      So you think you can .Net me and spit in my VB
      So you think you can C# me and leave me to CLR
      Oh, baby, can't do this to me, baby
      Just gotta get out, just gotta get right outta here

    71. Re:Java too complex by shutdown+-p+now · · Score: 1

      One other thing to keep in mind is that quite a few of the people in .NET languages team came from other companies where they worked on other languages, bringing their ideas with them. Most people know about Anders' authorship of Turbo Pascal and first Delphi release, but there are more recent cases of this, such as Neal Gafter - those who track Java language evolution should know the name, and for others - see here.

    72. Re:Java too complex by Gilmoure · · Score: 1

      Cool! I'm COPO!

      --
      I drank what? -- Socrates
    73. Re:Java too complex by shutdown+-p+now · · Score: 3, Informative

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

      C# 2.0 has constraints on generic type parameters of classes and methods, which are exactly equivalent (albeit more verbose) than Java "extends". E.g. you can write:

      void Sort(T[] a) where T: IComparable<T>

      It doesn't have wildcards, though those can always be replaced by named parameters in generic declaration context.

      There are two things missing. First, you cannot write anything equivalent to this Java code:

      List<? extends Foo> list;

      Again, this is because wildcards aren't supported, and it's not a generic declaration, so there's no way to introduce a named type parameter.

      The other thing that's missing is "super" constraint. For example, this cannot be rewritten in C# while preserving full genericity of the method:

      <T> void add(List<? super T> xs, T x) {
          xs.add(x);
      }

      because "add" is contravariant, this needs the corresponding supertype constraint if we want this to work on any compatible list, but there is none in C#.

      On the other hand, C# generics are fully reified - so you can have T[], and new T(), and x is T.

      Also, in C# 4, a new feature is declaration-site covariance and contravariance of classes. For example, IEnumerable - which is the .NET counterpart of Java Iterable - is now declared thus:

      interface IEnumerable<out T /* covariant*/> { ... }

      which means that you can write:

      IEnumerable<Derived> xs;
      IEnumerable<Base> ys = xs; // implicit upcast

      In Java, you'd have to use "? extends Base" on the second line above, and in any similar context.

      Unfortunately, this doesn't help with classes for which some operations are covariant, and some are contravariant, like List. For those, Java wildcards and constraints (which are effectively use-site variance declarations) do better.

    74. Re:Java too complex by Sylver+Dragon · · Score: 1

      Spend some more time with it to learn the aliases; and try hitting every once in a while, it's kinda like having intellisense at the command line. As a system admin, I love powershell and am using it constantly. Granted, it does help that I'm on Exchange 2007 and we have a few Server 2008 boxes deployed. Also, what rabbit994 said is spot on for it's best usage, scripting. Sure, this is largely just MS copying the *nix shell, but it works well and having the .NET API exposed for scripting and command lines is very nice. Like rabbit994, I end up having to add chunks of users all at once (I'm in a University environment) each with a mailbox, a user folder, a web folder and an FTP folder; create the distribution group and security group for the new batch of students, add all of the students to said groups, add those groups to our higher level groups; oh, and while I'm at it make sure that all of the ACL's are correct for each of the student's folders. And, just for the fun of it, I like to keep each batch of students in their own OU in Active Directory, it makes applying group specific GPO's easier. It shouldn't be a big surprise that as a manual process this takes anywhere from 15 to 30 minutes per student. With powershell, I run a script on my laptop which consumes a CSV file of student names and a command line parameter for the group number and within seconds all of that is done for all of the students.

      As for it not being on any system I sit down on, that does suck. However, what did you expect MS to do make it a critical patch for all systems? On the other hand, we'll eventually get to that point anyway. Powershell is bundled with Windows 7 and Server 2008. While some folks may hang on to XP until they die, most of us (especially businesses) will upgrade and this problem will simply disappear.

      --
      Necessity is the mother of invention.
      Laziness is the father.
    75. Re:Java too complex by buddyglass · · Score: 1

      For the WORA part, what you're saying is.... Java isn't WORA if you don't use Java. I think you deserve a prize for that one!

      No, what I'm saying is twofold:

      1. The likelihood of WORA failing increases drastically when dealing with Java abstractions of things that are otherwise OS specific, such as UI libraries. If I write code that never does any I/O whatsoever, then yeah, it's extremely unlikely it will fail to work correctly in any environment where there's a JVM.
      2. There are some things for which there is no current JRE support. Such as manipulating serial ports. So if you want to do that you must use non-Java code. Serial port communication isn't a super-obscure task. Imagine if one had to use JNI to do socket level network I/O in Java. Would you consider this a chink in the WORA armor?
    76. Re:Java too complex by Anonymous Coward · · Score: 0

      I think you mean 1987 and C# is based on C++ which is based on C which is from 1967 or so also.... Wait so is Java is many ways for that root. So what is your point again?

    77. Re:Java too complex by shutdown+-p+now · · Score: 1

      We've ended up with the Spring framework in Java, which is a top-notch web development framework; the first one I've met that really truly does not suck, and web development isn't even the main point of Spring. Contrast that with the decision Microsoft made for your web development needs in the form of ASP.NET, which is pure unalloyed garbage.

      If you look at ASP.NET, one thing that stands out about its "let's try pretend it's a kind of desktop application" paradigm is that it lets the developer crank out simple LOB applications in no time. Yes, it won't be particularly efficient because of viewstate, and yes, you can't easily write unittests for code written in such a way, but there is a fairly big niche in which this isn't a concern, and "it must be done tomorrow" is more important than "it must be done right".

      Also, .NET ecosystem isn't defined by Microsoft alone. Since you've mentioned Spring, I raise you Spring.NET. And then there is NHibernate, NAnt, NUnit, NVelocity, ActiveRecord, MonoRail, log4net, and many other projects with vaguely familiar names...

    78. Re:Java too complex by Anonymous Coward · · Score: 0

      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.

      You know what? I was listening to Leo Laporte a while back on his FLOSS weekly podcast and he had the IronPython devs on there and it was the sickest shit I've ever heard in my life. They were basically trashing Python garbage collection and some other parts underlying the language and talking about how IronP was so much better and how you could use .net libraries etc. I was hearing the embrace extend extinguish strategy unfolding right before my ears. MS would love nothing more than for devs to get hooked on ironpython and essentially locking in python to .net and mono. Then its game over and MS wins again. I had to turn the shit off as Leo and Randall Schwartz were just lapping the shit up.

      IronPython is a trap. You've been warned.

    79. Re:Java too complex by Anonymous Coward · · Score: 0

      Talking about big irons. Where I work (telecommunications monopoly of South Africa) typically every serious production server/cluster is AIX or HPUX running WebSphere/WebLogic application servers. Some other crap runs Solaris and webservers are typically Linux.

      I've never heard of any project using C# or .NET on those platforms, is this even possible? I'm not talking MONO, no one in their right mind would sign off a production system if there's no vendor support of the type BEA etc. gives.

    80. Re:Java too complex by Anonymous Coward · · Score: 0

      I have to totally, if not reluctantly, agree. I was at Sun when developers had to band together and threaten to quit en masse in order to get Java thrown over the firewall. I think that the relative lack of progress and organized path for the language has roots in Sun's attitude about the project from it's beginnings. Revisionist history has credited Eric Schmidt for having the vision to promote the technology, when nothing could be further from the truth. During the same period he was trying to kill the language so as to not draw from Sun's C++ developer base, he also made the statement that "The Internet has nothing to do with Sun's business plan.", while he attempted to institute a policy that charged developers for using Mosaic at work. Disenfranchised, all of the brain power left to start new companies (Marimba, Active Software, etc). Since then, Java has gone through several generations as bastard stepchild at Sun. As most of the progress continues to come from the open source community and large commercial users, it is about time Sun spun Java out of the disaster that has resulted (but I'm realistic enough to know that they won't).

    81. Re:Java too complex by Mongoose+Disciple · · Score: 1

      Agreed, Swing is a fucking travesty.

      I've often wondered to what degree Java would be more popular vs. .NET today if Swing had been good.

      Not that 'easy/better UI development' drives everything, but...

    82. Re:Java too complex by TheRaven64 · · Score: 2, Informative

      I think you transposed some digits. Java's object model is based on Smalltalk, which was first released in 1976. The syntax comes from C, which was first created in 1972. A number of language features (the type system, interfaces, and addition of primitives as well as Smalltalk-style objects) come from Objective-C, which was created in 1986. The generics come from category theory, and apparently someone thought that was a good idea.

      --
      I am TheRaven on Soylent News
    83. Re:Java too complex by davester666 · · Score: 1

      Yeah, per-device customization and JIT production ain't new at all...

      --
      Sleep your way to a whiter smile...date a dentist!
    84. Re:Java too complex by recharged95 · · Score: 1

      BS! It's not 'Java is too complex', that's just believing the anti-Java marketing hype.

      All devs know that pretty much all languages eventually become too complex (from Basic to Perl to Python). It also applies to non-computer languages: you think English is easier than Arabic? Both are equally complex...same for Java vs. C# vs C vs C++ vs Perl vs VB vs (in the near future) Ruby and Scala.

      The real problem with Java was its JCP, it became a design by committee language and the current, popular problems we solved thru group think (slow, political, result: complex!) vs. common sense. C# and the CLR took the lessons learned and was crafted to solve today's problems (and a pretty good job), but it will hit the same barriers when tomorrow's problems show up and become even more complex.

      Also, everyone wanted to use Java from replacing ASM code (Java cores) to Databases (EJB) to webservices (WS/Fx) to running your wrist watch... So the hype cycle was use for and against itself. Then again, if you think about it, C evolved the same way.

    85. Re:Java too complex by Blakey+Rat · · Score: 1

      You can't program a GUI app for Windows or OS X in Java without it looking and running like crap. I think that's at least a small measure of .net's success.

      It's still strong on the server, and it's strong on mobile, but on the desktop? It's always had extremely weak GUI tools.

    86. Re:Java too complex by VGPowerlord · · Score: 1

      Agreed, Swing is a fucking travesty.

      Sun's Java implementation has a much better garbage collector and has been around a lot longer than .NET, so it shouldn't be too surprising it's faster.

      was in response to

      Another example is when I used to work at IBM about seven years ago. We frequently had UI or I18N issues with our Java code that only cropped up on certain platforms (e.g. AIX) but not others (Windows).

      ?

      That's great, but IBM wrote their own Java GUI Toolkit named SWT. Any GUI problems with it were of their own design.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    87. Re:Java too complex by VGPowerlord · · Score: 1

      The large object heap of the .net framework fragments and does not get cleaned up.

      As opposed to Java, which just never cleans up objects in PermGen space, eventually leading to a

      java.lang.OutOfMemoryError: PermGen space

      in long running applications.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    88. Re:Java too complex by elnyka · · Score: 1

      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.

      Dude, from one Java developer to another, you could not have said it better. It was a sad day for a Java developer like when I started watching the features in C# (and many features in the CLR) with deep envy. If we don't get good support for closures in Java 7, we'll have to conclude that, syntactically, Java (the language) is dead and COBOLified.

    89. Re:Java too complex by colfer · · Score: 1

      Java is slow. Look at what happens to the web browser when Java starts. Or consider OpenOffice's start up speed. The new standard Java Quick Starter is even worse, as it slows down the whole system. And on every upgrade, the Quick Starter pref is turned back on. (I support typical WinXP boxes, nothing super fast.) It's too bad, because memory sandboxing is such a good idea. So now we get entire operating system VM's instead of the potentially nicer JVM.

    90. Re:Java too complex by Locutus · · Score: 1

      for close to two decades, if you talked with a Java developer he/she didn't want to talk about the client side of things. In the early years, client side Java was the buzz but Microsoft did a good job at killing that by initially diluting its portability and then spreading FUD to Windows developers regarding its value on the client. In the last 5 years, I've finally seen the server side folk start talking about the client but it's now pretty much AJAX and Flash.

      As far as Java being complicated goes, that is not true but when you talk to Java enterprise developers they will probably start talking way over your head because of all the tools and systems required to make a robust, secure, and scalable enterprise system. So while Microsoft markets their VisualBasic type stuff at the low lying fruit/masses there's nobody talking about or marketing Java Servlets or better yet, Java Server Pages( JSP ). Microsoft is a great marketing company and they have an army of people/companies who wait to hear from them and use only their software. You know, the "We're a Microsoft shop" crowd. So while the worlds hard core developers were building enterprise software using complex Java based tools, Microsoft started marketing their their replacement for Java to the lower lying Visual Basic type crowd and Sun, IBM, and others had moved beyond that in the previous decade.

      This is a standard method Microsoft uses to grow its replacement technologies when it's time for them to attack a threat to their monopoly. The document trail of court documents shows that MS .Net was the next tool used to battle cross platform Java. It was devised as the main method of attack after changing Visual J++ to a polluted version of Java was first released. They most likely knew that the license they signed with Sun would end up in court once they changed VJ++ from compliance to non-compliance with the license.

      So even if Sun came up with a lightweight version of the vm and a "simpler" language it was/is the marketing and developer face time which is missing. Microsoft is the king of marketing to the 'good enough' crowd and that has done them well for over 20 years. And Sun still would have the big problem of getting the jvm pre-installed on desktops. It wasn't just the browser which turned Microsoft's guns on Netscape. It was the fact that they were partnering with Sun and getting Java pre-loaded with the browser and all that CORBA and other cross platform development APIs getting loaded on desktops. The plan in the 90s was for the browser to become the platform and that was/is a threat to Microsoft's cash cow, Windows. You don't mess with Microsoft's cow and live to tell about it. IMO

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
    91. Re:Java too complex by avatar_of_entropy · · Score: 1

      you mean like the where clause? It's been around since 2.0.

    92. Re:Java too complex by Ana10g · · Score: 1

      As much as it troubles me, I must agree. I loved learning Java, and I still love writing and using it, but it hasn't had the force behind it that it once did. Initially, it had a similar dictatorship running the show (albeit not a single person, but Sun wouldn't let anyone else influence its path), until the JCP came around. Since then, I haven't seen many improvements. I so desperately want Java to succeed, so much of it just makes sense to me. When used correctly, it can be a beautiful language.

      --
      just an analog boy living in a digital age.
    93. Re:Java too complex by Tetsujin · · Score: 2, 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!

      I have some mod points!!

      --
      Bow-ties are cool.
    94. Re:Java too complex by Abreu · · Score: 1

      The villain has won ...and that's terrible

      --
      No sig for the moment.
    95. Re:Java too complex by Anonymous Coward · · Score: 0

      Agreed... We could spend hours debating who won and who lost, and being bitter about the issue. Or noting that slashdot users seem to post this stuff like link bait, or we could appreciate what we have.

      Microsoft may not get consumers or be able to make a great ads campaign like Apple, but the one thing they GET is developers, engineers, and architects. They hire very smart people, sit them in a room and tell them to invent the future. One could argue that if it wasn't for Sun, C# wouldn't exist. Sun sued Microsoft for stuff they did to the Java VM. So instead of Microsoft Java being 1% incompatible with Sun's Java, and having translators which take care of that incompatibility, Microsoft Java... err... .NET is 100% incompatible, thanks to Sun. Now that Sun is controlled... err. bought by Oracle, which I'm guessing is there way of controlling Java.

      I love .NET, I think it's fantastic. The fact we can bind C++ to .NET is a amazing engineering feet, but no one cares, because python is the hot shit because of Google. Anyone who believes that Google is benign is stupid. Each company has a master plan, Microsoft, Sun, Oracle, Google and even General Motors has a master plan. No publicly traded company has your interests at heart, they exist to make money. Open Source doesn't mean it's better or worse, it just means you can read their manifesto and hopefully survive their dictatorship.

    96. Re:Java too complex by c4t3y3 · · Score: 1

      • The set of technologies surrounding .NET is much narrower than what you see with Java. That is to say if you want to learn .NET you can stick to one IDE, one OS, one application server, etc. With Java you have Tomcat, Jetty, JBoss, Websphere, Glassfish, etc. Then you've got NetBeans, Eclipse, IntelliJ, etc. Then maybe you have to pick an ORM framework. Or a Web Services framework Axis, Xfire or JAX-WS RI? The .NET environment removes all those decisions. So, as a student, you can say to yourself, "IF I learn X and Y and Z, then I'll have covered everything I need to know."

      I call that a healthy ecosystem that prevents vendor lock-in. That's how you grow free software like Spring and Hibernate that is mostly what you need to know these days. But saying that having more than one IDE is a problem speaks a lot of your attitude.

      • One of Java's big selling points, "Write once, run anywhere," never really worked in practice.

      Ha! bullshit. Any J2EE standard application runs on any J2EE compliant server, prove me wrong if you can. There are a few exceptions, corner cases, and weakness of the jvm spec that you probably don't know, but they don't amount, by far, to say that WORA doesn't work.

    97. Re:Java too complex by St.Creed · · Score: 1

      It's not just C# that's thriving. The whole DotNet ecosystem is doing quite well.

      Just a few days ago I read they have now implemented Contracts: basically a simple way to put all your pre and postconditions and invariants in the routines you write. So now everyone has a simple way of actually using one of the mainstays of verifiable programming.

      Java is just a Cobol replacement at the moment. Look at the niche that J2EE is in: companies that scale up to mainframes.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    98. Re:Java too complex by St.Creed · · Score: 1

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

      All the platforms that used to run Cobol, you mean. I'm looking at you, J2EE.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    99. Re:Java too complex by sproketboy · · Score: 1

      These are 2 different issues. PermGen is the amount of memory given to the JVM. So you restart the JVM with more memory and your fine. The JVM is cleaning up memory while running. The issue pointed to by ,NET is there are cases where this doesn't occur leading to operating system out of memory errors.

      Big diff.

    100. Re:Java too complex by sproketboy · · Score: 1

      Seriously? You never have done any real development in Java on the desktop then right?

      http://www.amazon.ca/Filthy-Rich-Clients-Developing-Applications/dp/0132413930

      BTW Java comes out of the box on Mac and looks perfect on that platform. It also looks just like other Windows applications by setting 1 line of code.

      (Unlike QT applications which look like shit).

    101. Re:Java too complex by LionMage · · Score: 1

      All the platforms that used to run Cobol, you mean. I'm looking at you, J2EE.

      I don't see much C# (or other CLR managed code) running on set-top boxes, for just one instance, so I think it's a bit ludicrous to make such an assertion -- even if Java is often touted as the "COBOL of the 21st century." J2ME is part of Java, too, and that runs on cell phones of all types -- yet only phones running Windows Mobile will run apps written in C#.

      For those reasons, I'm going to support the GP's assertion that Java is alive and well and running on platforms .NET could never dream of. Still. And I'm not just talking about enterprisey environments where COBOL used to dominate. If that's really all you can think of, you need to open your eyes.

      I should also mention that a lot of new dynamic languages are hosted on the JVM, which may well outlast the Java language itself. The Java runtime is actually quite useful that way. JRuby and Groovy are gaining a lot of traction, and Groovy contains many of the things we in the Java world have been waiting forever to get (e.g., closures).

    102. Re:Java too complex by BikeHelmet · · Score: 1

      Attractive frontends - this will probably start yet another flamewar, but many of the java frontends are HIDEOUS

      Haha!...no kidding. :D

      Performance when doing large dataset manipulations - for example, determining which server had the least free space, or which one had the most obsolete users. These are fairly trivial sorting tasks, but the java version took probably twice as long and more memory (in my implementation, which may well have sucked to be frank).

      This is strange. I recall reading a lengthy article about how Java got list sorting to use roughly the same number of cycles as C. My guess is either you used the wrong algorithm, used a poorly optimized JVM, or had some other setting set wrong. If Java was consuming more memory, you could be losing all your performance to garbage collection. But my experience with Java, sorting lists several hundred thousand items long, was that it worked perfectly fine and was very quick.

      Support for dumping data into Excel and Word - this was a killer feature. I was able to generate SOX and sizing reports on the fly with C#. Java? No such luck. I never did get it working quickly and properly.

      I just dump the data into XML files. There's lots of viewers for those. You could even whip up an AJAX frontend to prettify it.

      It's subjective whether this is more difficult. I started out a web developer - my first language was javascript - so to me it's pretty easy. The kind of thing I'd spend an afternoon or two on.

    103. Re:Java too complex by jhol13 · · Score: 1

      And I think completely opposite: generics killed Java.

      It gives nothing but huge verbosity and very-hard-to-understand rules which eventually solve nothing a simple unit test wouldn't.

      Now lambdas, closures, etc. are taking once so simple language to be worse than union of Lisp and Perl.

    104. Re:Java too complex by spongman · · Score: 1

      he's probably referring to the likes of Dr. Eric Meijer who is a member of the C# language design team. check out his 13-part functional programming fundamentals(in haskell) lecture videos, his discussion with Philip Wadler (co-author of my favorite university text-book), and others.

    105. Re:Java too complex by Mr2001 · · Score: 1

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

      Such as?

      There's Mono for the iPhone and game consoles, there's the .NET Compact Framework for PDAs and phones, there's the .NET Micro Framework for embedded systems. There are platforms where Mono hasn't been ported yet and a JVM has, but any platform that can run Java apps is capable of running C# apps.

      --
      Visual IRC: Fast. Powerful. Free.
    106. Re:Java too complex by Mr2001 · · Score: 1

      Its possible for a language to make certain things a little easier, but once you reach a certain point the additions to a language are of trivial advantage to a good programmer. They may help out less experienced or talented developers who can't figure out how to do the same thing without a special language construct for it, but for the experienced they end up the same.

      I disagree. Closures, for example, provide a nontrivial advantage, and not just for people who can't figure out how to do the same trickery the compiler does (create a private class, move your local variables into it, change local variable expressions to field access expressions). Doing all that stuff by hand is enough of a pain that even if you know how to do it, you won't do it, and you'll end up designing a different program.

      Another example: iterators. Yes, you can write your own state machine to implement IEnumerable by hand, but it's such a pain that you'll probably choose to do something else instead, like writing a method that allocates and fills a huge array all at once (even though you might only use the first few elements). The fact that the compiler can implement the lazy-sequence pattern for you means you're free to use it more often.

      --
      Visual IRC: Fast. Powerful. Free.
    107. Re:Java too complex by Mr2001 · · Score: 1

      VB.Net compiled applications are many times slower than VB6 compiled applications. About 10 times slower for compute-intensive operations (where VB6 actually compares quite favorably to "manly" languages like C; only a small penalty is paid).

      These benchmarks disagree: VB.NET wins some comparisons and loses some, but none of the differences are nearly as dramatic as 10x. Are you sure you're not comparing debug builds to release builds, accidentally boxing your numeric values, or using some obscure numeric type that isn't natively supported in .NET?

      if you're comfortable with your end users having to download hundreds of megabytes of crap that may fail to work entirely depending on what legacy version of Windows they're running

      The .NET Framework download is closer to 50 MB, and it's preinstalled on Vista and Windows 7.

      --
      Visual IRC: Fast. Powerful. Free.
    108. Re:Java too complex by Taevin · · Score: 1

      If you think C# is 'better' than Java then you are a shitty programmer. Neither one of them has anything that really is impressive over the other, outside of the IDE itself. Stop blaming the language, its not the problem. Its possible for a language to make certain things a little easier, but once you reach a certain point the additions to a language are of trivial advantage to a good programmer. They may help out less experienced or talented developers who can't figure out how to do the same thing without a special language construct for it, but for the experienced they end up the same.

      Bullshit. If you think that "fully reified generics, lambdas and closures, arbitrary monadic comprehensions and Hindley-Milner type inference" has not added some impressive usability and expressiveness to the language, then it is you who is either the shitty programmer or one who does nothing more complex than some widgets that move data in and out of a database with a raw SQL call.

      It's not always about providing a language construct to solve a problem for untalented developers. Can you not see how something like "var minors = people.Where(p => p.Age < 18);" is much more expressive than the alternatives? By your logic, I would write something like that because I'm too stupid to write:
      function getMinors(List<Person> people) {
      List<Person> minors = new List<Person>();
      for (int i = 0; i < people.Count; i++) { // foreach is stupid
      if (people[i].Age < 18) minors.Add(people[i]);
      }
      return minors;
      }
      Or worse, just inline it. A quick anonymous function provided by the lambda in the .Where() is much more concise and can be very quickly implemented and is immediately 100% clear to all those reading it. If you think maintainability is not of critical importance... I'll refer you to my previous comment about programmers and the complexity of programs they write. And that's the most trivial use of a lambda function.

    109. Re:Java too complex by IBBoard · · Score: 1

      Yeah, that one. Java lets you declare "List list" (or similar) and then throw any implementation of the interface straight in the list and treat it as an ISomeInterface object when you get it out. .Net generics are a bit tighter and don't quite have that same level of flexibility in an easy way, but based on other responses there is a "where PARAM_TYPE : ...interfaces and classes here..." (which I've never seen any discussion or mention of previously, even when hunting for information about it because I thought it should exist). It isn't quite as flexible, but at least there is something.

    110. Re:Java too complex by Anonymous Coward · · Score: 0

      Both of these are too complex for me.

    111. Re:Java too complex by Anonymous Coward · · Score: 0

      I think one of the reasons that Java failed is because in the early days, any time you saw "Java initializing..." in the status bar of the browser, you knew the browser was about to crash - there just were no stable JVMs or aplets. I remember trying to code an aplet to run in a browser. At that time Java for the Web was a joke. If you ask me, Java for the Web is still a joke compared to ASP.NET, and the Web is the critical deployment platform. Sun understood that the network was the computer, but didn't understand that the user was not a computer. Making a UI that can run on any platform brings you down to the lowest common denominator, which results in terrible UI.

      Oh my god, and that CLASSPATH shit.

    112. Re:Java too complex by Bozdune · · Score: 1

      1) Maybe we messed up. Always possible, thanks for the link. We'll retry the benchmark, but it was staggeringly slow on our test case.

      2) Whether the .Net framework is 50M or 100M or 200M, the potential install issues (many customers are on random variants of win2K) are terrifying.

    113. Re:Java too complex by WinterSolstice · · Score: 1

      This is strange. I recall reading a lengthy article about how Java got list sorting to use roughly the same number of cycles as C. My guess is either you used the wrong algorithm, used a poorly optimized JVM, or had some other setting set wrong. If Java was consuming more memory, you could be losing all your performance to garbage collection. But my experience with Java, sorting lists several hundred thousand items long, was that it worked perfectly fine and was very quick.

      Entirely possible. I may at some point go back and review it, but essentially I had a huge local table (20,000 databases long, up to 20 rows wide) that was sortable by the user clicking on a column header. Therefore the sort is taking place completely based on the user's selection criteria. I think I used Swing Tables for the Java side, as they were quite the rage at the time.

      Support for dumping data into Excel and Word - this was a killer feature. I was able to generate SOX and sizing reports on the fly with C#. Java? No such luck. I never did get it working quickly and properly.

      I just dump the data into XML files. There's lots of viewers for those. You could even whip up an AJAX frontend to prettify it.

      It's subjective whether this is more difficult. I started out a web developer - my first language was javascript - so to me it's pretty easy. The kind of thing I'd spend an afternoon or two on.

      Ahhh - but see, that doesn't fit the requirement. The requirement is that I have to populate the Auditor's Excel and Word docs (as noted by the 'SOX'), often already laden with random auditor formatting. AJAX and all is cute, but if it doesn't fit the requirement of 'Must be an Excel document', then it doesn't fly.

      It's possible now with the improvement of ODF and such that I could gin up something, but again. More time spent when a *much* easier approach exists.

      --
      An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
    114. Re:Java too complex by hedrick · · Score: 1

      I work on a very large system (Sakai) written in Java by a developers at many institutions, with a variety of programming styles. Too much of my time is spent pawing through implementation code to figure out what's going on when the interface definitions give me methods that return a List, but don't say List *of what*.

      Of course this could be solved by proper documentation, but realistically, documentation is never perfect.

      Not saying what kind of List you have also forces you into unnecessary casts. These tend to clutter the syntax.

      I agree that the full specifications for generics are very hard to understand. But to me the payoff isn't in the weird stuff but in the cases that aren't at all hard to understand.

    115. Re:Java too complex by hedrick · · Score: 1

      Java actually does GC perm gen. We see it regularly. By default it forces a stop and copy GC, which can be an issue, but there's a flag to let the concurrent collector handle perm gen. I believe out of perm gen is caused by not allocating a large enough space, by fragmentation, or by something holding a pointer that doesn't allow space to be released. Typically fragmentation can be fixed by allocating a somewhat larger amount of memory. Diagnosing a memory leak can get hairy.

    116. Re:Java too complex by jtheisen · · Score: 1

      This is strange. I recall reading a lengthy article about how Java got list sorting to use roughly the same number of cycles as C. My guess is either you used the wrong algorithm, used a poorly optimized JVM, or had some other setting set wrong. If Java was consuming more memory, you could be losing all your performance to garbage collection. But my experience with Java, sorting lists several hundred thousand items long, was that it worked perfectly fine and was very quick.

      Or he sorted a user defined type, which has to be a class in Java. In C#, it can be a struct. Java benchmarks often use sorts on primitive types, but real-world apps often have to operate on user-defined ones.

    117. Re:Java too complex by RAMMS+EIN · · Score: 1

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

      Actually, I have a slightly different perception. The .NET ecosystem has done right what the Java one has done wrong, and incoporated the wealth of work already out there. One of the things I most resent the Java culture for is its focus on one language to the exclusion of all others, and the enormous amount of effort that has gone into reimplementing functionality that already existed outside the Java universe for the Java platform.

      By contrast, .NET has, from the beginning, embraced existing programming language work and theory, existing functionality, and multiple languages. The result is that when the Java culture was still trying to shoehorn people into the Java language, have people cast their objects to and from the Object class, and duplicate functionality from outside the Java universe, .NET offered interoperability between a growing number of programming languages, a proper higher order type system, and interfacing with existing software.

      Sure, the Java community has scrambled to catch up, and there are now generics and multiple programming languages plus the benefit of a decent open-source implementation for multiple platforms, but I don't think this would have happened if it wasn't for the threat and inspiration of .NET. We could have had all this years ago.

      --
      Please correct me if I got my facts wrong.
    118. Re:Java too complex by LukeWebber · · Score: 1

      All of that and more. The Java APIs are so deeply mired in complex, circular design patterns that it can be a Sisyphean task just to find your way around. Compare XML handling in .Net to the mess that is the Java equivalent. And even that mess didn't actually become remotely useable until 1.5.

      Or look at the Swing libraries as compared to the .Net visual class library. Try doing something useful with a JTable. Feel that pain? I know it well.

      Other things? Web services are just so easy to write in .Net. And the .Net web controls are so easy to use, though far from perfect - they sometimes feel like a beta product, but better than anything provided by Sun.

      I'm a long-time Java programmer, but C# has been winning me over for some time now. Now, I'll only develop in Java if I really, really want non-windows platform support.

    119. Re:Java too complex by gbjbaanb · · Score: 1

      I totally agree. The '100% pure java' movement was a total detriment to software as a whole, and made Microsoft lock-in look amateurish :)

      However, the .NET platform is similar to this in one way - you're writing .NET code, for the .NET platform. Integration with non-.NET stuff is difficult, to the point where a WCF socket cannot talk to a non-WCF one (you need a web service, using Microsoft interpretation of the standards for interoperability) which is just as bad, at least you do get to write your .NET-only code in in a choice of languages, even if nearly every employer think that means C#.

      I'm not sure the competition has done Java much good, they didn't catch up quickly enough. I would be happy if Java went away, as a lesson to others about not being open and flexible enough with your community. Mind you, I think .NET should go away too :)

    120. Re:Java too complex by Anonymous Coward · · Score: 0

      There's an idea behind JavaFX?

    121. Re:Java too complex by Mr2001 · · Score: 1

      Whether the .Net framework is 50M or 100M or 200M, the potential install issues (many customers are on random variants of win2K) are terrifying.

      Can you elaborate on this? I've used .NET on many systems, including Win2K, and never had a problem installing the framework.

      --
      Visual IRC: Fast. Powerful. Free.
    122. Re:Java too complex by Bozdune · · Score: 1

      I own an XP box on which the framework will not update from 1.x, and on every boot it bitches on the way up.

    123. Re:Java too complex by goga7 · · Score: 1

      >Java.makes.me.want.to.claw.my.eyes.out() .NET may only be truly on windows, but it's actually not so bad to code in. I wrote a DB reporting and maint. app in C# in roughly 2 weeks, the previous version of which in Java took almost 2 months.

      Good god, please learn the language and the tools and don't compain that something took you longer that on another platform.

      > Crazy easy remote DB access (sure, neither are exactly rocket science, but .net was quicker and more flexible)

      DB access .... please this is pathetic..... Java with JDBC drivers for every database under the sun and Hibernate is the easiest thing. No complains if you dont know the right tools. Netbeans with Hibernate / JPA class generation is very nice. Database schema updates too to reflect your entity class changes. Try that with .NETs pathetic NHibernate or other ORM tools.

      > Easy installs - this had me from the start. I wasn't writing a web app, but a desktop app. The C# one was a breeze, the Java one a major headache

      WTF is this? Since when is something hard to install? .... Pathetic comment.

      > Attractive frontends - this will probably start yet another flamewar, but many of the java frontends are HIDEOUS

      Ah... again, not knowing the tools... look around.... https://substance.dev.java.net/see.html has freaken outrageous number of look-and-feel plugins. Any swing app can be skinned. Nimbus look is my favorite.

      > Performance when doing large dataset manipulations - for example, determining which server had the least free space, or which one had the most obsolete users. These are fairly trivial sorting tasks, but the java version > took probably twice as long and more memory (in my implementation, which may well have sucked to be frank).

      These are comments of a retard.

      > Support for dumping data into Excel and Word - this was a killer feature. I was able to generate SOX and sizing reports on the fly with C#. Java? No such luck. I never did get it working quickly and properly.

      Please don't talk about things you have no idea about. We use JasperReports and it's very nice. Ah, don't give me that pathetic SSRS as an example either. Try hitting a SOAP service with that piece of shit and you'l understand. Dumping data from Excel is not a problem. We use ETL tools like Talend to extract information from Excel files and expose the information as a WebService. If you dont know of best practices and processing Excel files, dont even bother talking about it.

    124. Re:Java too complex by Mr2001 · · Score: 1

      Sounds like a problem with that box... have you tried the procedures mentioned here?

      I admit the .NET Framework is bigger and more complicated than VBRUN600.DLL, but installation problems like that are rare. The framework is already installed on something like 90% of PCs, and nearly every box sold in the past few years will be able to run .NET 2.0 apps.

      --
      Visual IRC: Fast. Powerful. Free.
    125. Re:Java too complex by Bozdune · · Score: 1

      The last comment on the referred-to thread:


      It didn't fix it.
      --
      Kind regards

      Thanks very much for your helpful comments. We have no choice, of course, ultimately, but to move to .Net or some other supported dev system. I would say, though, that after roughly 13 years of developing for various versions of Windows, and having been bent over and screwed thoroughly about a dozen times during that period, that my level of enthusiasm for The Latest And Greatest Wonderful Microsoft Development Solution is low.

    126. Re:Java too complex by WinterSolstice · · Score: 1

      Wll, I'm so sorry I didn't have such an amazing god of Java around 10 years ago to do all this for me! It would have made *my* life easier!

      On the other hand, I find people like you can talk the talk, but not walk the walk.

      So why don't you gloat and feel happy, and I'll continue to point out that for *me* Java was a less efficient and productive language.

      The whole point I was making was about subjective experience - I never claimed it was anything but my fault.

      --
      An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
    127. Re:Java too complex by jhol13 · · Score: 1

      Well ... knowing a list contains SomeObject is not even nearly enough: you need to know what subset of those it contains and quite often "why". Only documentation can do that, so you need it anyway - especially on interfaces.

      Then you would never think getting generics to Groovy, Python (or any other higher level language), because it would be insane.

      The generics was put into the language because it "mathematically" makes language "better" (i.e. computer language theorist got their micro-orgasms). In practice it is a solution trying desperately to find a problem.

    128. Re:Java too complex by Lunzo · · Score: 1

      I've seen apps which look bad that have been written in a number of languages. This isn't a problem unique to java.

    129. Re:Java too complex by spottedkangaroo · · Score: 1
      If it matters, I was completely serious, but I was silly enough to get funny points I guess. There was no mocking in my tone at all.

      I hate java very passionately — because it makes all the easy stuff hard and all the hard stuff verbose — but it's like green peppers. I don't care for them. It's a matter of taste.

      Java gets a lot of things right (even in my eyes) and I totally see why people like it. I'm just not one of them.

      Anyway, I did a Java project recently and there were some things that really bugged me, more than the usual. The lack of lambdas and closures, for example, which you mention with some knowledge and history.

      --
      Imagine if you weren't allowed to use roads because a bus company complained about your driving 3 times. --skunkpussy
  5. .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 Anonymous Coward · · Score: 1, Interesting

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

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

    4. Re:.Not by cabjf · · Score: 2, Insightful

      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.

    5. Re:.Not by minginqunt · · Score: 3, Interesting

      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.

    6. Re:.Not by Cyberax · · Score: 2, Interesting

      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.

    7. Re:.Not by Anonymous Coward · · Score: 1, Informative

      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.

    8. Re:.Not by minginqunt · · Score: 2, Informative

      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.

    9. Re:.Not by ByOhTek · · Score: 1

      Addendum:

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

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

      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.

    11. Re:.Not by Anonymous Coward · · Score: 0

      but NONE on windows? cool.

    12. Re:.Not by Anonymous Coward · · Score: 0

      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?

    13. Re:.Not by dunkelfalke · · Score: 1

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

      --
      "It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
    14. Re:.Not by Mr2001 · · Score: 1

      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.

      --
      Visual IRC: Fast. Powerful. Free.
    15. Re:.Not by Mr2001 · · Score: 2, Informative

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

      --
      Visual IRC: Fast. Powerful. Free.
    16. Re:.Not by l0b0 · · Score: 1

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

      Bjarne Stroustrup

    17. Re:.Not by ByOhTek · · Score: 1

      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.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    18. 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.
    19. Re:.Not by Anonymous Coward · · Score: 0

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

    20. Re:.Not by @madeus · · Score: 2, Informative

      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.

    21. Re:.Not by gbjbaanb · · Score: 1

      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.

    22. Re:.Not by rock_climbing_guy · · Score: 0, Flamebait
      Goodness gracious! What were they thinking?

      Why did this platform have to be named ".net" Oh, Microsoft .net, let me point my browser at that. As if there couldn't be a worse name than .net, we come out with Mono? Mono??? Seriously, freaking mono? That sounds like something that's going to make me sick!!! Why don't we have open source aids and flu libraries while we're at it?

      --
      Wh47 d1d j00 541, 31337 15n't t3h r0xor5 ne m0r3???
    23. Re:.Not by Anonymous Coward · · Score: 0

      JVM is the platform. Java is a language that compiles to instructions that run on this platform.

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

    25. Re:.Not by Anonymous Coward · · Score: 1, Insightful

      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.

    26. Re:.Not by AndrewNeo · · Score: 1

      I think the CLI is the real strength behind .NET, even if C# is a good language - as we've seen with languages like IronPython, it's possible to work even other, already existing languages in with the .NET world.

    27. Re:.Not by JoeMerchant · · Score: 1

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

      Insert Qt plug here.

    28. Re:.Not by dkf · · Score: 1

      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.

      Most things work well across platforms these days, even with GUI applications (the major exception being some of the weird-ass things in the Apple JVM's GUI layer). Server applications have been strongly portable for quite a long time.

      Compare with C# where your typical app, whether a GUI app or a server app, can't be ported to work with Mono without reworking loads of things. Or what about the other way? Can you take things built with the Mono toolset on Unix and run it with the Microsoft VM on Windows? All the experience my colleagues have got recently with attempting this sort of thing indicates otherwise. If you're working with C#, one way or another you're bound to a particular implementation. (Alas; it's meant we've had to deploy Windows systems rather than sticking to good old Unix...)

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    29. Re:.Not by Rogerborg · · Score: 1

      Mmmm. Write Once Debug Everywhere. If you don't have absolute confidence that your object code will run everywhere then you have to test it everywhere that it could possibly run. In practice then, you can only confidently support a few platforms.

      --
      If you were blocking sigs, you wouldn't have to read this.
    30. Re:.Not by jedidiah · · Score: 1

      Java is much like posix. It is designed to be cross platform and it is infact cross platform in theory but there are a few kinks to iron out in practice.

      While this may certainly be a tragedy for some people, it is far FAR FAR better than a platform that is not actually cross platform in any meaningful way. .NET is a Windows platform for users and businesses fixated on Windows and it is intended to keep them trapped on Windows.

      It's claims to being cross platform are a hollow marketing technique meant for the unwary.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    31. Re:.Not by FatSean · · Score: 2, Informative

      I develop J2EE applications on a Windows machine as I prefer the snappier UI to X. My code runs, with no modifications, on Windows (duh), AIX, Linux and Linux running on zSeries platform. We have never needed to call platform-specific functions for our work as these are business applications. There is something really cool about using the development tool to push the same EAR to applications servers on several different platforms all from within the dev tool. Now the dev tool itself is a resource hog but my boss doesn't mind spending a few hundred dollars to max out memory and ensure we have speedy processors in our dev machines.

      I used VB.NET in a few classes I took last year for my Masters degree. It is a nice environment to work in, even the 'free' student-grade version. It may even be better than the eclipse-based environment I use at work. My only complaint was that we had to use VB as I dislike BASIC syntax.

      --
      Blar.
    32. 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.
    33. Re:.Not by Cyberax · · Score: 2, Funny

      Microsoft Windows Server is a viable server platform.

      So this excuse doesn't work anymore.

    34. Re:.Not by Vellmont · · Score: 1


      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

      Your standard for cross platform is rather high. If you expect it to be 100% perfect in every way, cross-platform will never exist.

      There's plenty of people that run Java cross-platform every day with minimal issues. There's MANY OSS Java projects that work just fine on multiple platforms. My understanding of .Net is that it's nowhere even near this level of cross-plaform. Even Mono only supports an older version of .Net (and I'd wonder how well it works at that). Raising the bar of what you consider cross-plaform to some very high level to make Java and .Net appear similar is simply deceptive and dishonest.

      --
      AccountKiller
    35. Re:.Not by Bakkster · · Score: 1

      But if your code works on 80-90% of your installed machines (Windows) and you're certain to keep that architecture, it can be justifiable to lock into the platform. Unless you absolutely need to be multi-platform (how many people really need that?), C# is often a better choice.

      Remember, Java was supposed to be used on embedded systems, like VCRs. It never caught on because it wasn't portable or powerful enough, and people just continued to write C for their microcontrollers.

      --
      Write your representatives! Repeal the 2nd Law of Thermodynamics!
    36. Re:.Not by Anonymous Coward · · Score: 0

      ...just uses C# with .NET anyhow.?

      Just about. I use C++ for system stuff and to wrap win32 in managed code so that, then I can call the method in C# - P/Invokes can be a real pain in the ass sometimes.

    37. Re:.Not by xouumalperxe · · Score: 1

      I have the mod points, but can't seem to find the option to mod you "trolltech" :)

    38. Re:.Not by MemoryDragon · · Score: 1

      Actually no the testing was mostly done upfront back then by also installing an ibm jvm, not that it really showed something significant.
      Most issues for server only apps in those times as well as today arose by the simple fact of windows using backslashes, which can break your directly handly code especially if you do slobby regexps which do not have that in mind (even if you use File.separator)

      The servers habe been pretty portable for many years now and it becomes better with every release, also while Swing is not perfect it is nowadays very portable.

      This situaiton is miles ahead of what you have to face if you roll a C# program and then hope for the best that you be able to run it decently in Mono on some platforms which are non Windows!

    39. Re:.Not by MoeDrippins · · Score: 1

      Serious question: What platform(s) does the CLI target? Today, in that, I can use?

      --
      Before you design for reuse, make sure to design it for use.
    40. Re:.Not by @madeus · · Score: 2, Informative

      Compare with C# where your typical app, whether a GUI app or a server app, can't be ported to work with Mono without reworking loads of things. Or what about the other way? Can you take things built with the Mono toolset on Unix and run it with the Microsoft VM on Windows

      Hey that's not my experience at all!

      I write apps in a mixture .NET/Mono on my Mac and deploy them on Windows (desktop software) and Linux (typically server side). I do use Visual Studio in VMWare for applications that are exclusively for Windows, but that's just because VS is so good it's expedient in the short term.

      I have had zero cross platform porting issues (of course Mac OS X GUI aside, as with Java).

      It's just drag and drop the DLL or source between Windows, Linux and Mac. It works between Apache/mod_mono or Windows Server with IIS/.NET and with desktop applications (or self contained server software). Due to unrelated network issues I've switched server platforms at the last minute (in one day) from Mono my Mac (where I'd built everything) to a FreeBSD box, to a Solaris Box to a Windows IIS box with .NET and the software itself was fine, without any prior testing on the alternative platforms with no recompiling.

      Even the more complicated multithreading stuff and network stuff works just fine. The only problems are the ones I create, like if I know I need to hook into Windows specific platform libraries - but that's exactly the same as the situation with Java (you know it's quicker to implement, but screws portability and sometimes you just have to make a judgement call based on your situtation). Of course if you use something like one of the (many) Mono libraries for abstraction / convenience you can bundle the ones you use with your app, even if it's to be deployed on .Net.

    41. Re:.Not by Anonymous Coward · · Score: 0

      Because the rest of us aren't too ignorant to realize that "mono" only refers to mononucleosis in certain contexts?

    42. Re:.Not by @madeus · · Score: 1

      Yeah it's good the Mono team had to do it (I would have liked to have seen more basic extensions defined in the standard), but they've done a really great job of implementing commonly used Microsoft .NET specific libraries. They've done an even better job of implementing their own (more powerful) libraries too.

    43. Re:.Not by @madeus · · Score: 1

      *cough* Of course I meant "not good the Mono team had to do it".

    44. Re:.Not by MemoryDragon · · Score: 1

      Actually this is pretty much the standard case nowadays, a load of java development happens nowadays in windows, and the deployment is a Unix machine or something bigger.
      The reason is, that corporate desktops are normally Windows and a very locked windows that is, while the deployment in those environments almost never is a Windows server.
      Most java developers I know who do opensource coding funnily do it on a Mac nowadays, almost no one uses windows due to the file locking issues the OS has!

    45. Re:.Not by binarylarry · · Score: 0, Troll

      It's accurate, Mono really is Open Source AIDS.

      It's contagious and is going to take a long time to kill, so it leaves plenty of time to spread.

      --
      Mod me down, my New Earth Global Warmingist friends!
    46. Re:.Not by KnownIssues · · Score: 1

      The goal of .NET was never multi-platform, so this is like saying .NET lost in a game they never played. Multi-platform would have killed Windows if it didn't matter what OS you ran your stuff on. Instead, the goal of .NET is multi-language. And that's the beauty of Microsoft having won the game they weren't playing by playing an entirely new game.

      You might argue that multi-language isn't needed when you're using one language. But this is the thing Microsoft realized--programmers want choice and language is religion. Syntax was never what differentiated languages in an important way to begin with. It was the frameworks/libraries they came with. Learning a new language isn't hard. Learning a new framework is. Why learn a whole new framework every time you switch languages? Learn .NET and a new language is just a matter of getting used to new syntax.

    47. Re:.Not by binarylarry · · Score: 1

      Qt is a gui library you dolt.

      --
      Mod me down, my New Earth Global Warmingist friends!
    48. Re:.Not by MemoryDragon · · Score: 1

      Many is not all and that is the main difference between both VMs, if you are on a Java VM you can rely on the entire stack being present from Windows up to the IBM Irons, with no differences in the API.
      And that is the standard vm, and anything which is written in pure java, and that is quite a lot believe me! Just check the average maven repository on what can be found!

      Also the portability nowadays is quite excellent!

    49. Re:.Not by Anonymous Coward · · Score: 0

      I think it's even worse. Prior to the Mono Project, Microsoft let non-techies think that multi-language meant multi-platform. I can't tell you how many times I've had to explain that C/C++ is not a platform. Secondly, .NET is now multi-platform because of a few misguided programmers who created Mono. Mono is a .NET stepchild that will never have the same love that Mom, Microsoft, will give her first born. Yes, I hate Mono. I could love it if Microsoft adopted it as a first-class project and kept it as up to date as it's Windows counter-part. That's not gonna happen. When something is wrong in Mono, Microsoft's answer will be to write it and run it on Windows.

    50. Re:.Not by Anonymous Coward · · Score: 0

      And if you are perfectly happy being bound to a particular operating system owned by a single company, then bully for you.

    51. Re:.Not by ByOhTek · · Score: 1

      Thank you for saving me (and others) the necessity of correcting you.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    52. Re:.Not by ByOhTek · · Score: 1

      Actually, the string.find() method, I believe, was what differed for me between Win/Linux and HPUX.

      That would be in the standard stack, right?

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    53. Re:.Not by ByOhTek · · Score: 1

      They are different, but both cause troubles.

      I'm just saying that neither is perfect (or in my experience/practice significantly better than the other), both have pros and cons.

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

      which find method? http://java.sun.com/javase/6/docs/api/java/lang/String.html

      there is none if you mean indexof that has been working cross platform since day zero.

    55. Re:.Not by marcosdumay · · Score: 1

      If you want a multiplataform GUI, the only options are C++ (yep, I said it right) and the native FOSS languages, like Perl, TCL, Python. The only option for multiplataform GUI programing that won't put you into a dependence nightmare when instaling on Windows is C++.

      Now, non-GUI (e.g. web) Java is pretty much multiplataform. Also applets run on any of the two most important plataforms out there, that is the most you'll get from any language but JavaScript.

    56. Re:.Not by bunglebungle · · Score: 1

      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.

      I don't do much GUI programming in either, so I'll concede the third point, but I've used both Eclipse and Visual Studio for years, and trialed ReSharper, and Eclipse is still far better. ASP.NET is nice, and easier to get started with, but still not as good as putting together some of the best Java tools, mainly Spring Web. WAR deployments are better than the (non-existent) .NET model, and the wealth of free libraries for Java (Jakarta, Codehaus, etc) still beats what's available for .NET.

    57. Re:.Not by Anonymous Coward · · Score: 0

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

      I say this only to be funny and not mean: I think the phrase "stagnating fast" is an oxymoron.

    58. Re:.Not by RedK · · Score: 1

      You need to keep up. QT hasn't been a "GUI library" for a few years now. It does almost everything now.

      --
      "Not to mention all the idiots who use words like boxen."
      Anonymous Coward on Monday August 04, @06:49PM
    59. Re:.Not by RedK · · Score: 1

      Maybe it is, but most large shops wouldn't run anything on it besides AD or file and print sharing. WebSphere/Netweaver (SAP) are very big in my shop and none of it runs off of Windows servers. So if you want to keep to small shops, maybe you'll have success, but in big enterprise, big Iron Unix is where it's at.

      --
      "Not to mention all the idiots who use words like boxen."
      Anonymous Coward on Monday August 04, @06:49PM
    60. Re:.Not by owlstead · · Score: 1

      Of course you can mess up, but I haven't had a single of my many applications have serious problems running on any platform. Of course, if you use third party libs with native calls, all bets are off. But that would be the case with any language - it's simply unavoidable.

      BTW, I'm also using Java Card. You might be interested to know that there are billions of Java Card SIM's, bank cards and other identity documents out there. There once was a Windows card and now a .NET card, but I don't see any market penetration by either one of them.

    61. Re:.Not by BitZtream · · Score: 1

      I've written non-trivial apps in both Java and C# that run on Windows, Linux and Mac OS X.

      If you think cross platform is theory on either one than you haven't actually used either one.

      While what you state is true, the only people who really care about the absolute latest APIs are A) Programmers who can't figure out a quick work around to accomplish the same thing B) Newbies who are using whatever the demo template tells them to use C) MS D) the 6 people who really do need a new API that you can't do yourself.

      Yes, many apps may not work because they use a newer API, but 99 times out of 100 they had no real reason to use the new API. You'll find far more problems are caused by people who are stuck half assed in between .NET and traditional code, calling PInvoke and such. In both cases, its the programmer thats the problem.

      Java quirks in my experience are caused by people not doing things the right way in the first place. FAR FAR too many 'Java' apps are Windows apps written in Java and thats the problem with them. There are of course those rare cases where you find platform differences that are unexpected, but those are really rare. You'll find lots of times when a developer is too stuck in his own OS to realize that he/she is doing is trying to make an app for their OS exclusively and not a cross platform Java app.

      Writing cross platform apps is non-trivial regardless of language used. Some languages provide lots of help for it, but regardless of how much support the language has, the developer still has to make a conscious effort to program in a cross platform way. Its just not something you bolt on afterwords, unless you want it clear to everyone using your app that you in fact bolted it on afterwords.

      Java is most certainly 'more' cross platform. Other than a variable or two to hold the 'Platform' and some globals to indicate directory separator types, .NET really does nothing to be cross platform in and of itself. The initial GUI toolkit is most certainly windows centric since its WinForms, and then later after mono, got things like GTK# and the other toolkits.

      I still maintain both are perfectly cross platform from a language standpoint, but you have to write a cross platform application, not just expect the language and runtime to do all the work for you when you code half your app to use the right control key specifically as a modifier key, and then no one on a MacBook can use it, its your own problem for being retarded, regardless of which language you used.

      In reality, its generally eas

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    62. Re:.Not by owlstead · · Score: 1

      The truth is that any platform can be fucked up to the point that that happens. It's not the language, it's the horrible people that do things like rewrite parts of the runtime. I can also still see a lot of applications with hard coded paths using Windows notation.

      Most of the applications that run on a specific VM run just fine on any newer platform anyway. It's just that the testing has been performed on one specific platform which is then included just to be sure. This is a dumb thing since any security or bug won't be fixed by (automatic) updates.

      I've not seen any Java release that mucks up so badly that a significant code rewrite is necessary, and most applications will run without any problems. From 1.4 to 1.5/1.6 and the most notible difference is the sudden speed increase.

      Of course, with Java you have at least the possibility to install various versions of the runtime and make sure that only one is used for an application. It might be possible with .NET, but I doubt it would be easy.

    63. Re:.Not by Cyberax · · Score: 1

      "I've used both Eclipse and Visual Studio for years, and trialed ReSharper, and Eclipse is still far better."

      Eclipse is clumsy, IDEA is much better for Java. And ReSharper is now as good as IDEA. ASP.NET now has MVC extensions, so it's as good as Spring Web (I know, I use both of them).

      WAR deployments are nice, but just that.

      And .NET now has almost as many libraries as Java.

    64. Re:.Not by BitZtream · · Score: 1

      VMs are still crappy. VMs are still for lazy programmers. Real men still do not use these languages for anything that requires high performance or low resource usage.

      However, most programmers do not fall into this catagory.

      Computers are far faster now than they were 15 years ago, you don't notice all the inefficiency in the VM as much now.

      RAM is cheaper now, making it less likely you'll notice the ridiculous amount of ram your .NET or JVM app uses.

      For most programmers its better to write the app in a VM that can do the hard work for them, than to trust them to do it when they need to. In short, VMs help shitty programmers suck less.

      For things where performance is important, you won't find Java, the .NET runtime or any of the half a dozen other popular interpreted systems.

      The difference is, 15 years ago most programmers were actually programmers. Now, the majority of the programmers on the market aren't programmers, but are people who write code because they get paid to do so. They aren't good at it, but they can get most trivial things done and kludge their way through it.

      VMs have a value, unfortunately very few people actually see what the real value is. They help prevent idiots who shouldn't be programming at all from screwing things up so bad that we shoot them because some buffer overflow allowed the introduction of a virus. Now the buffer overflow just causes a crash instead, cause they still haven't learned to not statically allocate the size of something in advance when you don't know how big it can actually get.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    65. Re:.Not by ByOhTek · · Score: 1

      I was trying to remember the method, since I no longer have the old code. It was either indexOf, or matches.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
    66. Re:.Not by Narishma · · Score: 1

      Only in part. It also has most of the stuff Java and .NET provide in their standard library.

      --
      Mada mada dane.
    67. Re:.Not by Cyberax · · Score: 1

      Yep. Big iron, COBOL and now Java.

      Sure, you can yearn your bread and butter programming for BigEnterprises.

    68. Re:.Not by Mongoose+Disciple · · Score: 1

      but I've used both Eclipse and Visual Studio for years, and trialed ReSharper, and Eclipse is still far better.

      Without starting a holy war, that's a matter of opinion.

      I just need to spend too much time dicking around with Eclipse and configuring it to be the way I want and not enough time actually getting something useful done. That's my experience; obviously yours is different.

    69. Re:.Not by Mongoose+Disciple · · Score: 1

      VMs are still crappy. VMs are still for lazy programmers. Real men still do not use these languages for anything that requires high performance or low resource usage.

      However, most programmers do not fall into this catagory.

      It would be more accurate to say that most programs no longer fall into this category.

      Definitely there are still lots of cases where performance or resource usage (assuming reasonable/realistic inefficiencies) are important, but in the business world today, speed/cost of development is likely to be a much bigger concern than speed of execution or resources to run. Throwing an extra or new server at something often costs less than a week of developer time.

    70. Re:.Not by Anonymous Coward · · Score: 0

      The fact is, multiplatform support is just not as big of a selling point as some may think.
      If it were, Java would be the dominant language.

    71. Re:.Not by RightSaidFred99 · · Score: 1

      Umm, you do understand that ASP.NET is a server side technology, right? In your huge lack of being informed what you're saying is like me saying "Ruby and Perl CGI need to stay off my internet!". One could write an ASP.NET page where you would be completely unable to tell it was developed in ASP.NET (yes, including the URL not having .aspx).

    72. Re:.Not by shutdown+-p+now · · Score: 1

      Thus the CLI was born, but everyone just uses C# with .NET anyhow.

      FYI, Visual Basic Express is much more popular than Visual C# Express, and in some markets (e.g. UK, if I remember correctly), there are more VB jobs than C# jobs.

      Then, of course, there's C++/CLI, which makes reuse of existing native libraries ridiculously easy - most often, you can just grab existing C/C++ code, compile it with VC with /clr switch to get managed (albeit unsafe) MSIL output with all semantics preserved, and then wrap it in .NET classes.

      And now there's also IronPython, IronRuby, F#...

      Nah, I'd say that "multi-language" did pay off.

    73. Re:.Not by RightSaidFred99 · · Score: 1

      There's a 95% chance my large shop is larger than your large shop and you've got to be kidding if you think large shops don't run anything on Windows but AD or print file sharing. That's wrong to the point of being just ridiculous.

    74. Re:.Not by RightSaidFred99 · · Score: 1

      Non-existent .NET model? Huh? "Right-Mouse->Deploy"? msdeploy? msbuild? WIX? VS2008 built in installer projects? Seriously, there is only one type of person who thinks Eclipse is "far better" than VS2008, and that's someone who doesn't know what he's talking about. Eclipse is certainly a better Java development environment, I'll give it that.

    75. Re:.Not by shutdown+-p+now · · Score: 1

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

      It's technically correct, but VM limits do play a part in this.

      To give one simple example: JVM doesn't have tail calls. Consequently, any language that mandates them (e.g Scheme) has to go to great lengths to implement something like this on JVM, and it's outright impossible to implement it efficiently. Meanwhile, .NET has tailcalls, and F# (and virtually any other FP language implemented on .NET) relies on that. Compare it with Clojure, which had to add a special form of restricted recursion to the language, to provide at least some, limited way to do tailcalls.

      To give another example, it is possible to write a fully ANSI C conformant compiler targeting .NET bytecode. The reason why it's possible is because CLR has lower-level primitives available for "managed but unsafe" code - data and function pointers, pointer arithmetic, unions, etc - enough to fully cover C/C++ data model. It's why VC++ can actually take any random C++ code, and produce a .NET assembly out of it. It won't necessarily be memory-safe, but it will run in a VM, and memory-safe C# code can then easily interop with it.

      To give yet another example, neither JVM nor .NET provide any facilities to efficiently implement continuations (call/cc). The result is that a fully conformant Scheme implementation for either platform - like SISC for Java - has to roll out its own call stack, which obviously isn't anywhere as efficient as native stack.

    76. Re:.Not by Anonymous Coward · · Score: 0

      lies and misinformation about scala : scala has had for quite a while very good plugin in intellij, netbeans and eclipse

    77. Re:.Not by washu_k · · Score: 1

      I'm a desktop admin and JVM dependencies are the bane of my existence. We have to run a large number of apps supplied and/or written by our clients so we often run into "JRE hell" on the desktops. Why do so many java apps require a specific version of the JRE? Why can we not install the latest, or at least the latest 1.4/1.5/1.6 etc and be done with it? Very often the apps we run insist on the version be correct right down to the patch level.

      We have java apps that:
      - Require a specific JRE and fail to run without it
      - Require a specific JRE and fail to run without it AND fail if any other JRE is present.
      - Require a specific JRE but don't check so they fail in interesting ways. For example, one app can't copy and paste if the JRE version is off by even one patch level.

      On top of all that we get lots of drive by downloads exploiting old JRE bugs and infecting our machines. We haven't had an MS caused drive by download in at least three years.

      .net is way better in this regard. Install the grand total of TWO runtimes and you are done. WSUS patches them and the patches don't break anything.

    78. Re:.Not by shutdown+-p+now · · Score: 1

      I suspect GP actually meant ASP.NET MVC, which is decent.

    79. Re:.Not by Capt_Morgan · · Score: 1

      Nonsense..... sadly if you think this it means YOU aren't as good as a developer as you think you are. Java can scream with a skilled development team. You clearly don't have much experience with large scale enterprise applications

      --
      It takes a big man to cry, but it takes a bigger man to laugh at that man.
    80. Re:.Not by Capt_Morgan · · Score: 1

      That's your opinion... and it's not universally shared within the industry. Pretty much any large financial institutioin, exchange, bank, etc would laugh you out of the room if you suggested deploying a mission critical large scale app on windows

      --
      It takes a big man to cry, but it takes a bigger man to laugh at that man.
    81. Re:.Not by StuartHankins · · Score: 1

      I won't be locked into a single vendor's solution, let alone a single vendor's product. Too much at risk, eggs in same basket and all. And given Microsoft's history of anticompetitive practices, of embrace-extend-extinguish, I avoid them wherever possible. I'm not the only person who feels this way, I'm sure.

    82. Re:.Not by Cyberax · · Score: 1

      Yes, that's why I like it :)

    83. Re:.Not by VGPowerlord · · Score: 1

      I used VB.NET in a few classes I took last year for my Masters degree. It is a nice environment to work in, even the 'free' student-grade version. It may even be better than the eclipse-based environment I use at work. My only complaint was that we had to use VB as I dislike BASIC syntax.

      First!

      To mention C# in response to this, that is... because Visual Studio is the editor for that as well, but the language isn't based on BASIC (it's similar to Java).

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    84. Re:.Not by VGPowerlord · · Score: 1

      What do you have against the Apache Interactive Data Sorter and the Filament Loader Unit libraries?

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    85. Re:.Not by VGPowerlord · · Score: 1

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

      Fixed that for you.

      Before you argue the part I added, please see System.IO.DriveInfo.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    86. Re:.Not by Rockoon · · Score: 1

      I've dealt with his kind before. One of his problems is that he thinks VM's are strictly a runtime phenomena, when the reality is that nearly all C compilers on the planet have a byte-code layer. They have this because some optimizations are simple on 3AC and stack based paradigms, but quite hard on AST's.

      So we've got a situation where his favorite compiler goes:

      source -> AST -> bytecode -> binary

      ..and he is arguing against is how java/c# does it:

      source -> AST -> bytecode -> binary

      In short, he doesnt really understand what the hell is going on. He wants to think that hes better than those "other" people, and no amount of trying to convince him otherwise will work. He's a language bigot.

      If he wanted to argue that managed languages are less performant in general, then he would be on to something in some cases. But managed languages do not require VM's, and non-managed languages can and are be built on VM's.

      --
      "His name was James Damore."
    87. Re:.Not by rock_climbing_guy · · Score: 1
      AC, I will give you the benefit of the doubt that you are not trolling. My post, though inflammatory, was not meant to be a troll, but a criticism of the names .net and mono.

      Both names have in common that when you hear them, you immediately think of something that has nothing to do with what the name means. .net is a TLD to most of us here. Mono is usually short for mononucleosis. Even though we all know that Mono is not named after a disease, I content that most everyone who hears it thinks about a disease every time they see the name.

      I don't believe that there is a sane entrepreneur out there who would give his business a name like "Mono". and expect everyone to want to buy his product.

      --
      Wh47 d1d j00 541, 31337 15n't t3h r0xor5 ne m0r3???
    88. Re:.Not by Anonymous Coward · · Score: 0

      If Java's native regular expression handling is an issue, then one just adopts Apache Commons PerlUtil. Most of the libraries in Java are rewrites of popularized open-source libraries provided elsewhere, which are pure Java code and shouldn't have such issues.

      Of course UI work in Java is a nightmare, but you can't expect much there from Sun...

    89. Re:.Not by Anonymous Coward · · Score: 0

      unfortunately it appears to be non-trivial to run all this software back on windows, i'd love to try f-spot, banshee and a couple of other apps that i use in gnome, under windows, alas, no one's built these apps for .NET proper yet, there must be a reason.

      .NET is, by design, tied to windows, mono will always be behind and microsoft do not maintain a .net runtime for any platform other than their own, even a simple winforms app like paint.net isn't quite there yet when it comes to running under mono on linux or similar. The thing is, no one cares, .NET is the future for all those win-coders out there and portability doesn't matter one jot, and microsoft wouldn't want it any other way, obviously(not a criticism per se, they just want to stay in the powerful market position they've enjoyed for years)

    90. Re:.Not by rdnetto · · Score: 1

      I used VB.NET in a few classes I took last year for my Masters degree. It is a nice environment to work in, even the 'free' student-grade version. It may even be better than the eclipse-based environment I use at work. My only complaint was that we had to use VB as I dislike BASIC syntax.

      Try C#. Same IDE, but the language is very similar to Java (I personally prefer C# to Java).

      --
      Most human behaviour can be explained in terms of identity.
    91. Re:.Not by Wildclaw · · Score: 1

      And what does System.IO.DriveInfo have to do with the Common Language Interface? Nothing. Absolutely nothing. The grandparent was completely correct in his assertion regarding that.

    92. Re:.Not by Mr2001 · · Score: 1

      Serious question: What platform(s) does the CLI target? Today, in that, I can use?

      Microsoft's implementation, .NET, is available for Windows (x86, x64, IA64). That's the full version. There are also watered down versions (Compact Framework, Micro Framework, XNA, Silverlight) for other platforms, but I'll ignore those.

      Mono is available for Linux, OS X, iPhone, Solaris, OpenBSD/NetBSD/FreeBSD, Wii, PS3, and even Windows. Officially supported architectures are x86, x64, IA64, ARM (little-endian), PowerPC, s390, and SPARC (32). Unofficial support is also there for Alpha, MIPS, ARM (big-endian), and HPPA.

      --
      Visual IRC: Fast. Powerful. Free.
    93. Re:.Not by Mr2001 · · Score: 1

      As the other response pointed out, System.IO.DriveInfo is not part of the CLI. Nevertheless, it isn't really Windows-specific: Mono's implementation on Linux returns basically the same thing as the "df" command. Calling it DriveInfo rather than MountedDeviceInfo is hardly stopping anyone from implementing it.

      Meanwhile, the fact that the JVM was designed around the Java language has real consequences. Lack of pointer arithmetic makes it hard to compile C++ to the JVM. Lack of tail calls makes it hard to compile functional languages.

      --
      Visual IRC: Fast. Powerful. Free.
    94. Re:.Not by MoeDrippins · · Score: 1

      Is mono endorsed by microsoft?

      --
      Before you design for reuse, make sure to design it for use.
    95. Re:.Not by Mr2001 · · Score: 1

      Not really, but the point of a standard is you don't need anyone's endorsement to implement it.

      --
      Visual IRC: Fast. Powerful. Free.
    96. Re:.Not by Mr2001 · · Score: 1

      Compare with C# where your typical app, whether a GUI app or a server app, can't be ported to work with Mono without reworking loads of things.

      That's true for GUI apps, if you use WPF or (to a lesser extent) WinForms rather than something like Gtk#.

      But console/server apps? No way. I've written compilers, assemblers, and console-mode emulators in .NET that ran on Linux with minimal (for the emulator) or no (for the compiler and assembler) modification. The game server I'm working on now needed to be changed from a Windows service to a console daemon, but other than that, it's just as portable.

      --
      Visual IRC: Fast. Powerful. Free.
    97. Re:.Not by Mr2001 · · Score: 1

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

      The biggest difference is that .NET's "inherent (and intended) tight coupling with Windows platform" is a myth. There are platform-specific libraries (e.g. for GUI), but the standardized core has no dependence on Windows, and a typical console app or network server is easily portable between .NET and Mono.

      --
      Visual IRC: Fast. Powerful. Free.
    98. Re:.Not by Anonymous Coward · · Score: 0

      There's a 95% chance my large shop is larger than your large shop

      You want your readers to take your word for granted based on an unsubstantiated claim regarding the relative size of your shop?

      That's wrong on so many levels that it counts decisively against you.

    99. Re:.Not by RAMMS+EIN · · Score: 1

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

      Hmm. Plenty of people I know are doing just that. But what I don't understand is why you would want to use a VM, particularly a VM that is hardly like the real machines we have at all. Because what you end up doing in that case is basically compile the abstractions of your programming language down to a different set of abstractions, and then you have to do basically the same trick again to get your code to run. Including, for various bytecodes, actually reverse-engineering the original abstractions from the bytecode to get to the most efficient native code.

      Why not just leave the original abstractions in place and distribute the code as source code (possibly macro-expanded, optimized, FASL-encoded, etc.)?

      --
      Please correct me if I got my facts wrong.
    100. Re:.Not by goga7 · · Score: 1

      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.

      Why would you mention a bug in Java 1.4? That's god damn ancient history.
      >go betweeen HPUX, Linux and Windows
      WTF do you run on HPUX to execute .NET Code? There is nothing! Agg ... Another f*cken retard. Who gave him Score 5?

    101. Re:.Not by goga7 · · Score: 1

      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.

      Netbeans has freaken awsome refactoring. ReSharper has good number of features ( less then Netbeans). But that fucken thing makes VS so unstable and causes lots of issues.
      Unit testing is very unstable and VS is more stable without it.
      And.... here comes the kicker.............YOU HAVE TO F*CKEN PAY FOR THAT PIECE OF SHIT.....

    102. Re:.Not by pydev · · Score: 1

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

      That's a joke. Java GUIs are horribly broken on Linux and on OS X.

    103. Re:.Not by MemoryDragon · · Score: 1

      Must have been matches I assume, HP probably chose the wrong regexp dialect for their implementation, I dont think this was deliberately and definitely was a bug, and probably covered by the TCK by now. Every JVM which is branded as java has to go through millions of tests which try to cover the entire API.

    104. Re:.Not by Anonymous Coward · · Score: 0

      Nobody needs to take my word for anything. The assertion that most large shops "wouldn't run anything on it besides AD or file and print sharing" is ridiculous on its face. Anyone stating such a thing instantly marks themselves as not knowing what the fuck they're talking about.

  6. Depends on the goals by IBBoard · · Score: 3, Interesting

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

    1. Re:Depends on the goals by Taagehornet · · Score: 1

      [...] modern and useful layers of abstraction and code checking that were already in Java (typed delegates, generic types, garbage collection, etc)

      I'm not trying to start a war here, but Java delegates?

      Also Java's Generics by Type Erasure are nothing more than compiler inserted typecasts - I imagine Sun wanted to maintain compatibility with existing JREs - whereas C#/CLI generics are the real thing.

      Java is still there.

      True, and Java will probably be around longer than any of us, but while C# seems to be alive and thriving (LINQ, lambda-expressions, inferred types), it looks to me as if Java has lost much of its momentum.

    2. Re:Depends on the goals by Anonymous Coward · · Score: 0

      just a little bit picking: generics were introduced in dot net first then Java played catch up.

    3. Re:Depends on the goals by IBBoard · · Score: 1

      Good points, I was just going on a general "C# was Java done (mostly) right, and is much nicer to work with than C++ and its predecessors". Now that you mention it, delegates was a mis-type - it is one of the few features that Java doesn't have that I definitely think .Net benefits from.

  7. IronPython rulez! by Anonymous Coward · · Score: 0

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

  8. The really big win with .Net by wiredog · · Score: 3, Informative

    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.

    1. Re:The really big win with .Net by oldhack · · Score: 1

      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.

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
    2. Re:The really big win with .Net by Anonymous Coward · · Score: 1, Funny

      Interop and PInvoke for mayor!

    3. Re:The really big win with .Net by FreelanceWizard · · Score: 1

      As long as you don't need to use an unmanaged interface... then you get to play with P/Invoke and COM Interop. COM Interop is particularly fun when the target object doesn't implement IDispatch and likes to use unions for passing data around... then you get to have fun with custom marshalling and the Layout attributes.

      But thankfully, that's getting less and less common these days, and writing a COM-visible component in .NET is trivially easy -- which is great!

      --
      The Freelance Wizard
  9. 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.

    1. Re:No Java or C# please by Anonymous Coward · · Score: 0

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

    2. Re:No Java or C# please by Anonymous Coward · · Score: 0

      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.

    3. Re:No Java or C# please by Anonymous Coward · · Score: 0

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

    4. Re:No Java or C# please by cyberjessy · · Score: 1

      While the three points you raised are relevant, they are not important enough to justify your conclusion about "language polish".

      * Adding extension methods without also adding extension properties
      The objective of extension methods was to support LINQ, with the capability to extend a class being just a bonus.
      It was not the primary motive.

      * Refusing to implementing covariant return types
      Covariance and contra-variance are addressed (somewhat) in the upcoming version 4.0 (out March 22nd, 2010)

      * Adding type inference, but disallowing it for class method return types
      Important, but considering that type inference works in the vast majority of cases - this is not such a big pain.

      Scala is not without its problems
      1) Performance (Though not an issue in most projects, but perhaps more important than the arguments above)
      2) C# Expression trees are insanely powerful; eg: Type Safe SQL.
      another possibility: Code that gets automatically distributed across machines if the dataset is more than 1GB.

      If you know LISP, you know that Code-as-Data is magic. And C# brings that to a mainstream programming language.

      --
      Life is just a conviction.
    5. Re:No Java or C# please by Anonymous Coward · · Score: 2, Informative

      Adding extension properties is a feature that would be rife with problems. The first extension prop that you add then increases processor time significantly - you have to allocate memory associated with each object, keep hash tables or some such to manage that allocation. Making the decision to implement extension methods before extension properties was a good one.

      Adding type inference for class method return types is not a good idea. This means that you have to infer return types for the same method across assemblies, some of which may be compiled, some of which may not, i.e. method x in source code module A returns int, method x in assembly B returns float, therefore the inferred return type returns float. You may not even be linking to an assembly that would, in the end, participate in the process of inferring return types. Overloading by return type is super-problematic.

      > Microsoft simply doesn't have the discipline to finish any feature addition to the language before moving to the next

      Actually, to the contrary, Microsoft has the foresight to see what's next, and the discipline to tackle managable chunks in each release cycle.

    6. Re:No Java or C# please by naasking · · Score: 1

      I don't see much advantage to extension properties personally. Covariance is coming in C# 4. I'm not sure what you mean by "class method return types" in regards to type inference.

      C# has plenty of problems, but you haven't identified any of the serious ones IMO.

    7. Re:No Java or C# please by shutdown+-p+now · · Score: 1

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

      Have you ever considered that it may be the other way around? Specifically, that features are implemented only when the need to have them is perceived to be sufficiently large (i.e. benefiting a large part of the target audience), and only to the extent it is needed?

      Keep in mind that any sort of design and development isn't free. A new language feature may seem like a one-line description when defined informally; but in practice, you need a formal definition for the language spec (which may sometimes break some existing stuff in there), the implementation itself, unit tests and automated tests for that implementation, UI support (e.g. consider the effect of LINQ on refactoring features in VS...), unit tests and automated tests for that UI support, localization of all new bits of UI (VS comes out in over 20 languages these days), user documentation - reference, a bunch of how-tos, several code samples, and documentation for the UI bits - and localization of all that documentation. Oh, and, of course, future maintenance of all that - fixing bugs, correcting errors in documentation, etc.

      To put it simply, would you prefer to, say, get extension properties, but not variant generic interfaces (because there's only enough time for one of those in a given release cycle), or would you prefer to get both and a pony, but, say, a year later?

    8. Re:No Java or C# please by KlomDark · · Score: 1

      Yes, as a professional C# programmer, those issues constantly plague me on a daily basis. Wait, what? ;)

    9. Re:No Java or C# please by Anonymous Coward · · Score: 1, Informative

      How did this get modded insightful? All the issues he lists are either fixed in the next release or have no relevance to anyone because they can be had by manual programming. You don't always have to rely on language developers to supply your need when you are using low-level constructs found in C/C++/C#. Everything you mention can be done by you with a little finesse, and probably more efficiently than if it were incorporated in the language itself.
      Stop bitching daddy didn't buy you the new toy and make yourself one. At least you can make one in C#, whereas Java just says you need to live without it because you might choke on the toy or eat its lead paint.

    10. Re:No Java or C# please by newhoggy · · Score: 1

      I'm not sure what you mean by "class method return types" in regards to type inference.

      Something this:

      http://www.scala-lang.org/node/127

      C# let's me use anonymous types, but I can't return them from my method. How sucky is that?

    11. Re:No Java or C# please by naasking · · Score: 1

      C# let's me use anonymous types, but I can't return them from my method. How sucky is that?

      Sure, it's a limitation of .NET's nominal typing, but I think you're confusing the scope of type inference with anonymous types. The link you provided was about type inference, which has little to do with anonymous types.

      To be honest, C#'s type inference already falls down in simple cases. For instance, using the ?: ternary operator to choose between two types with a common base class, or when there are implicit coercions it can't resolve the type of the expression even when it's unambiguous. I don't mind specifying types on function arguments and return types, but they haven't even gotten local type inference working perfectly. Still, it's a marked improvement over previous C# versions, and definitely better than Java.

    12. Re:No Java or C# please by newhoggy · · Score: 1

      Type inference makes anonymous types more useful.

      For instance in Scala I could do this (this is the Scala interpreter by the way):

      scala> class A {
                | val value = new {
                | val x = 1
                | val y = 2
                | }
                | }
      defined class A

      scala> new A().value.x
      res10: Int = 1

      scala> new A().value
      res11: java.lang.Object{def x: Int; def y: Int} = A$$anon$1@bc9f8fb

      In other words, in Scala, type inference wasn't just allowed on local variables. It was allowed on methods and fields too. This makes it possible for me to store the value, {x = 1, y = 2} of an anonymous type in a field for reuse.

      This is impossible to do in C# and it means I can't store results of Linq queries somewhere in a typesafe manner for later use as well.

      Plus Scala has an interpreter and can be a scripting language. A scripting language that has access to the Java class library is really cool.

      I'm surprised JScript.net isn't a scripting language given its name. I can't just put JScript.net code into a *.js text file just run it without compilation.

      This is a poor effort on Microsoft's part.

    13. Re:No Java or C# please by Anonymous Coward · · Score: 0

      No one cares. Extension properties? Covariant return types? Go wank off to Scala or whatever niche language floats your boat.

      As a mainstream language, C# is amazingly productive and fun, and it does a very good job of implementing features the right way (like generics and closures) that satisfy practically everyone.

      I'm glad they make smart decisions instead of supporting the likes of you with stupid feature requests.

    14. Re:No Java or C# please by Anonymous Coward · · Score: 0

      * Adding extension methods without also adding extension properties

      Extension properties? That makes no sense at all. Although, C# 4 adds dynamic properties; maybe that will suffice for you?

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

    1. Re:Consider this. by Anonymous Coward · · Score: 0

      Well that's just silly. Regardless of platform monopoly, If .net sucked we would all still be using classic ASP. If .net sucked and classic asp did not exist we would use java. Sure, Microsoft's technology gets a first look from windows devs, but we're hardly irreparably tied to it.

    2. Re:Consider this. by Anonymous Coward · · Score: 0

      Bill G himself recongized this natural order. Why have a hundred different systems? It's inefficient. Someone was going to end up with the biggest user base.

    3. Re:Consider this. by jzhos · · Score: 1

      You know, people don't have to use dot net on windows. There are too many alternatives there. Developers moves away from traditional c++ and C to dot net for a reason, but not because MS has "monopoly on Windows is 100%". I guess any ms bashing will automatically get "insightful", without really matter if the submitter used his brain at all.

  11. I got a Big Endian x-mas present by axonis · · Score: 0, Offtopic

    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 !

    --
    bæ8Ã0sÃOE?5r©oÂÃ?âz:ÃÃAÃ?ÃOEÂ6fXÃ?]Â
    1. Re:I got a Big Endian x-mas present by Anonymous Coward · · Score: 1, Funny

      My endian is much bigger than yours.

  12. .NET is not limited to C# by Katchu · · Score: 2, Insightful

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

    --
    Keep Doing Good.
    1. Re:.NET is not limited to C# by Eraesr · · Score: 1

      CLR stands for Common Language Runtime :-)

    2. Re:.NET is not limited to C# by Katchu · · Score: 1

      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.

      --
      Keep Doing Good.
  13. Yes. by MrCrassic · · Score: 0

    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.

    1. Re:Yes. by MrCrassic · · Score: 1

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

    2. Re:Yes. by El+Lobo · · Score: 1

      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.

      --
      It's time to realise that Abble's products are the biggest abomination these days. Just say NO to the dumb iAbble way!!
    3. Re:Yes. by Mr2001 · · Score: 1

      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.

      --
      Visual IRC: Fast. Powerful. Free.
    4. Re:Yes. by gtall · · Score: 0, Flamebait

      Wow, did you swallow a MS marketdroid?

    5. Re:Yes. by binarylarry · · Score: 1, Insightful

      lol, this whole thread is overrun by Microsoft astroturfers.

      Slashdot should start posting hostnames with each post.

      --
      Mod me down, my New Earth Global Warmingist friends!
  14. Walled-in compounds by Anonymous Coward · · Score: 0

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

  15. Java vs C Sharp by Anonymous Coward · · Score: 0

    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%

  16. Yes by Anonymous Coward · · Score: 0

    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.

     

    1. Re:Yes by dskzero · · Score: 1

      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?

      --
      Oblivion Awaits
    2. Re:Yes by binarylarry · · Score: 1

      It's a clone of Java. You should probably take that into consideration.

      --
      Mod me down, my New Earth Global Warmingist friends!
    3. Re:Yes by maxwell+demon · · Score: 1

      There isn't another language that can be compared to .net

      Of course not. .NET isn't a language, but a virtual machine. There are several languages targeting .NET, where C# is the best-known, but there's also C++/CLI, VB.net and F# (and possibly others).

      --
      The Tao of math: The numbers you can count are not the real numbers.
  17. Point & Click programming by thetoadwarrior · · Score: 3, Insightful

    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.

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

    2. Re:Point & Click programming by minginqunt · · Score: 2, Insightful

      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.

    3. Re:Point & Click programming by homer_s · · Score: 1

      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)

    4. Re:Point & Click programming by tompatman · · Score: 1

      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.

    5. 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.
    6. Re:Point & Click programming by jmyers · · Score: 1

      Really? Can you do any useful programming "point and click"? We do a fair amount of development in .NET. Mostly web based. We found very quickly that using the GUI to create any code is completely useless.

      We program in .NET because our upper management mandated it back in 2004 for marketing purposes. They wanted to be able to say that we develop in .NET. Prior to that all of our web application were classic ASP, which was also mandated by management when we started developing web apps.

      I thought it would be great to get away from .asp hell and have separation of code and design. NOT! I was horrified when I fist saw .NET. .aspx is horrible. Why in the hell did they invent a whole new rendering language rather than just use HTML. Now you have C# plus some jack leg thing that is aspx. So much for having a non-programmer web designer do the HTML coding. At least when we were using asp we could get a graphic artist to create the HTML and then the programmers ad the interactive parts. We had our own simple framework that worked well for authentication session tracking. Now our apps look like crap because programmers cant design and no one will let a designer touch the code.

    7. Re:Point & Click programming by phatslaab · · Score: 1

      You do realize that developing on for the web and on the client is totally different in .NET right?

    8. Re:Point & Click programming by BitZtream · · Score: 1

      Really? Its been like 20 lines of code since Win3.1, maybe more if use your own window handler and draw the text manually with DrawText, but I'd have to say that the book had issues.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    9. Re:Point & Click programming by shutdown+-p+now · · Score: 1

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

      Not even that, anymore. You won't get far with "point and click" in WPF, for example - for any moderately complex UI, if you want to get a really great one, with proper dynamic reflowing (for resolution independence) etc, you'll have to hand-code XAML markup, just as you do with HTML.

      And that is as it should be. Leave "WYSIWYG" UI design for mockups made by dedicated UI designers.

    10. Re:Point & Click programming by Turzyx · · Score: 1

      This means more people can do it

      Good! Not every application needs to be perfectly optimised or debugged, and there are lots of situations where it is important to get something working quickly albeit not as elegantly as possible; LabVIEW and Matlab also facilitate this.

      There's no reason to employ someone who is just going to reinvent the wheel every time they write an app; IDE's that simplify the most basic of operations are a godsend.

  18. I love .Net for the desktop by OzPeter · · Score: 1

    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

    --
    I am Slashdot. Are you Slashdot as well?
    1. Re:I love .Net for the desktop by Anonymous Coward · · Score: 0

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

    2. Re:I love .Net for the desktop by oldhack · · Score: 1

      If you're noobs, as opposed to, you know, l44t (sp?), use code obfuscator.

      If you're leet (sp?), wrap it as a Perl script. It's the only way to be sure.

      --
      Fuck systemd. Fuck Redhat. Fuck Soylent, too. Wait, scratch the last one.
    3. Re:I love .Net for the desktop by Anonymous Coward · · Score: 0

      We simply give out the UI layer in .NET / C# and any real calculation is done in a DLL written in Fortran and compiled. They are free to reprogram the UI if they want, we even sell the interface specifications if they want to integrate it.

      But the simple thing is that you need a UI on top of a calculation kernel to sell. So WPF / C# in .NET is simply one of the most efficient ways we have found of providing it.

    4. Re:I love .Net for the desktop by bberens · · Score: 1

      Hmm, I'm creating a new programming language to run on the CLI. Perl#. It's natural state is obfuscated.

      --
      Check out my lame java blog at www.javachopshop.com
    5. Re:I love .Net for the desktop by shutdown+-p+now · · Score: 1

      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?

      Some do. Most, from my experience, just don't care. Legal restrictions are still in place, and it is very unlikely that any competitor (or even unrelated company) would be stupid enough to steal any of your code. Well, perhaps somewhere in China they might do that, but why would you care?

  19. A success from an Open Source standpoint I'd say by Max+Romantschuk · · Score: 1

    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.

    --
    .: Max Romantschuk :: http://max.romantschuk.fi/
  20. a decade? by Anonymous Coward · · Score: 0

    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.

  21. Silverlight by JcMorin · · Score: 1

    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.

    1. Re:Silverlight by dzfoo · · Score: 3, Funny

      Strange that you mentioned 10 years, because as the article claims, .Net was announced in 2001, and introduced in 2002. So even if you started using it the day it came out, the framework is still only 7 years old.
            http://en.wikipedia.org/wiki/.NET_Framework#Versions

      Do you by chance have one of those jobs posted circa 2004 asking for "10 years experience in .NET"?

              -dZ.

      --
      Carol vs. Ghost
      ...Can you save Christmas?
    2. Re:Silverlight by Anonymous Coward · · Score: 0

      Which MS employee sucked you off to write that tripe?

    3. Re:Silverlight by e2d2 · · Score: 1

      Actually the first release to the wild was in 2000 at the Professional Developers Conference. The first beta release of the framework followed very soon after. So developers could get their hands on it at that time. You are referring to the RTM release in 2002.

      http://en.wikipedia.org/wiki/.NET_Framework_version_list

    4. Re:Silverlight by barzok · · Score: 1

      I was at an ASP developer's conference in Vegas in April 2000 where ScottGu previewed ASP+, which became ASP.NET.

    5. Re:Silverlight by Anonymous Coward · · Score: 0

      The PDC release of .NET was released to developers in the summer of 2000. C# is COOL t-shirts were on display.

    6. Re:Silverlight by e2d2 · · Score: 1

      Wow, I'm pretty sure that was the first public release then. PDC wasn't until July.

    7. Re:Silverlight by barzok · · Score: 1

      It's been 9 years so I'm a little hazy, but IIRC he did say something about it being one of the first public showings of the technology. He definitely talked about the code-behind & compiled pages when pointing out the differences from Classic (but at the time contemporary) ASP.

      I don't recall if the whole .NET stack came up in the presentation or not.

      The error pages haven't changed in appearance very much since that preview.

  22. Yes by bit+trollent · · Score: 2, Interesting

    If web application development was still as horrible as it was with asp.net 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 asp.net 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.

  23. Almost by esarjeant · · Score: 2, Interesting

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

    --

    Eric Sarjeant
    eric[@]sarjeant.com

    1. Re:Almost by Mr2001 · · Score: 1

      While native C/C++ can be easily ported, without a compatible CLR moving to Mac isn't that easy.

      The CLR isn't the problem: Mono implements the standardized parts of .NET just fine on Linux and Mac.

      The parts that are easily ported in native code are the same parts that are already portable when you write them for .NET. The problem is libraries like Windows Forms that aren't part of the standard, but those aren't part of "native C/C++" either.

      --
      Visual IRC: Fast. Powerful. Free.
    2. Re:Almost by Anonymous Coward · · Score: 0

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

      Really? How big would the share of todays VB and C# programmers be, that actually could manage to do much more pop a window using plain C and the windoze API?

    3. Re:Almost by shutdown+-p+now · · Score: 1

      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.

      I don't recall any promises that Office would be rewritten in .NET. It's simply not feasible, considering the sheer amount of code - mostly C/C++ - that is there. We're talking about tens of millions of lines of code here. Rewriting such would be a monumental task; and then another one would be to ensure that it still works correctly with no regressions.

      Heck, rewriting Visual Studio core UI and editor in WPF in VS2010 wasn't easy, and that is comparatively minor in scale.

      For new stuff, though, there is definite .NET/WPF uptake. See Expression Blend for an example.

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

      It will be interesting to see how this will work out with Silverlight 3 out-of-browser applications (since those are portable at least between Windows and OS X, and hopefully, eventually, Moonlight will get there as well).

    4. Re:Almost by jzhos · · Score: 1

      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.

      No, that was because it was a huge task because of the size of the current code base. And poor invest/return ratio.

    5. Re:Almost by esarjeant · · Score: 1

      Actually, I think there would have been a good ROI for re-writing Office in .NET.

      Migrating to 64 bit Windows would have been a lot easier. The only thing you need to retool is the CLR, otherwise the application remains the same.

      And yes, I know you can run a 34 bit MS Office on a 64 bit Windows but it's sub-optimal for a number of reasons.

      --

      Eric Sarjeant
      eric[@]sarjeant.com

    6. Re:Almost by esarjeant · · Score: 1

      I don't recall any promises that Office would be rewritten in .NET...

      There were some empty promises about this when .NET first came out. They have since baked in C# code into MS Office but it remains MFC/C++ at the core.

      It will be interesting to see how this will work out with Silverlight 3 out-of-browser applications (since those are portable at least between Windows and OS X, and hopefully, eventually, Moonlight will get there as well).

      That will be interesting actually, I thought WPF might help abstract that out but unfortunately it appears MS only implemented a sub-set of this for Silverlight.

      So --- once your app runs into any other WPF DirectX code the ride is going to get rather bumpy on a Mac.

      Of course, even once you get past the GDI layer issues you'll have problems with higher level subsystems like video and audio. This is as much Apple's fault as it is Microsoft's - it sure would be nice if everyone could agree on some standards here.

      --

      Eric Sarjeant
      eric[@]sarjeant.com

    7. Re:Almost by esarjeant · · Score: 1

      Ah yes, the ever elusive 34 bit Office...

      Obviously, that should have been "32 bit".

      --

      Eric Sarjeant
      eric[@]sarjeant.com

  24. Almost by Balau · · Score: 2, Insightful

    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.

    --
    Working to work less.
  25. 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?

    1. Re:It is not a Java vs .NET world by Mongoose+Disciple · · Score: 1

      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?

      I have to think not many.

      If you want me (or someone) to write a custom application for your business, I'll do it in C# if you want or I'll do it in Java or PHP or whatever, but no matter what you have to pay me pretty much the same amount of money. Depending on what the project is I may be able to write it faster for one language/platform than another, but in most cases it's not going to differ a lot.

  26. .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]
  27. 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.

  28. No It is Not by curmudgeon99 · · Score: 1

    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.

  29. C# first choice? Ummm, no. by CritterNYC · · Score: 0, Troll

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

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

  31. Java vs .NET by Anonymous Coward · · Score: 0

    Java:

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

    1. Re:Java vs .NET by marcosdumay · · Score: 1

      -slow as frozen molasses, on a good day

      -fast as a bat out of hell, when it decides to work

      I'd go with the option that works every time. But, anyway, why spend a 50k$ server on some trivial script when you can code on cheaper languages and get decent performance. I'm a bit anti-Java nowadays (don't even think about .Net), since the alternative languages developed enough to be usable.

  32. Re:Asp.Net is NOT a 'popular' business framework. by Anonymous Coward · · Score: 0

    Thankfully.

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

  34. Re:Asp.Net is NOT a 'popular' business framework. by milosoftware · · Score: 1

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

    --
    Musicians don't die. They just decompose.
  35. Performance? by FranTaylor · · Score: 1

    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?

    1. Re:Performance? by cwrinn · · Score: 1

      .Net tends to have a good performance. So far our apps have only been bottlenecked by the data storage backend used. Initially, we had used SQLCE because it can encrypt the entire DB easily, but this takes performance hits like SQLite, when you reach approx. 30,000 records in a table, it crawls. We have since migrated to SQLExpress and use per-field encryption, there is a considerable performance improvement. Like Java, C# has excellent garbage collection.

      --
      Here's a cookie... *psst* it's MAGIC
    2. Re:Performance? by FranTaylor · · Score: 1

      Well you are just trashing any concept of high performance as soon as you start dealing with SQL.

      "Real" high-performance applications don't go anywhere near SQL, it's just a loss.

      If your app is hitting an SQL database with any sort of frequency then the performance of your runtime is irrelevant.

      I was thinking more along the lines of video games, number-crunching, physical simulations etc. where the heavy CPU utilization is happening in the app, not in the database.

    3. Re:Performance? by MemoryDragon · · Score: 1

      I assume that both of them have years of optimization behind it they are pretty similar in performance, and java is the same speed as machine code is mostly a myth, it is fast enough, but in real world szenarios it does not reach the performance levels of raw and hardly the ones of C++.
      But as I said it is fast enough, and you can do big programs with it, it simply has become a workhorse!

    4. Re:Performance? by Anonymous Coward · · Score: 0

      .Net in and of itself is performant enough as long as you...
      don't ask it to do calculations on dates
      don't use WPF as the UI
      don't expect it to run as fast as C / C++ (~10-50x slower dependiong on tasks)
      don't use it for realtime (or even close to realtime) performance (See london stock exchange and .Net)
      delegate real grunt tasks to dedicated software (Fortran or C)

    5. Re:Performance? by Anonymous Coward · · Score: 0

      Languages don't have speeds, algorithms do.

    6. Re:Performance? by Rockoon · · Score: 1

      Plenty of .NET video games now, especially from the indies.

      --
      "His name was James Damore."
  36. 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)

    1. Re:Current Monster Numbers: Java vs .NET by rubycodez · · Score: 1

      over half those jobs aren't original listings, but recruiters seeing a listing and making their own similar "second-hand" listing in remote hope they can sell candidate to original job source or even to staffing firm who is in contact with original job source. those numbers and percentages therefore mean nothing. The actual real jobs are very sparse.

    2. Re:Current Monster Numbers: Java vs .NET by Anonymous Coward · · Score: 3, Insightful

      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.

    3. Re:Current Monster Numbers: Java vs .NET by trboyden · · Score: 1

      Even taking that into consideration though, you still have an almost 3-1 percentage of Java jobs to .NET jobs. The numbers are consistent across all job engines as well. So while the totals may be irrelevant, the percentage of demand is not. Plus Java is used for most of the popular data messaging services for Flex applications, so you can add Flex jobs to the Java numbers as well which bring you to almost a 4-1 advantage over .NET.

    4. Re:Current Monster Numbers: Java vs .NET by owlstead · · Score: 1

      What are the chances that .NET and C# are in the SAME job listing? Pretty high I guess. So adding them up makes no sense whatsoever. The only way to get to the exact number is to count the number of articles that state either .NET (which automatically includes ASP.NET) and/or C# and compare that with java requirements. Note that even that number may not make too much sense - there's a lot of Java recruitement done through other means than Monster.com listings - there is no real meaningfull way of comparing their popularity.

      Not that it matter too much: I don't even want for Java to become more popular if that means that any one feature gets added once there is a "market demand" for it. IMHO complexity is the main reason NOT to choose a programming language; the feature listings of the D language makes my hairs stand up straight.

    5. Re:Current Monster Numbers: Java vs .NET by Anonymous Coward · · Score: 0

      If you consider tht C#, .net, asp.net, and vb.net are searches for the same kind of developer and add them together, they are greater in number then java as the article implies.

    6. Re:Current Monster Numbers: Java vs .NET by shutdown+-p+now · · Score: 1

      Curiously enough, U.S. is not the most .NET-friendly market. .NET seems to be somewhat more popular in Canada, very popular in Australia in NZ, and also India and China. Europe likes Java and PHP. Russia still clings to Delphi.

    7. Re:Current Monster Numbers: Java vs .NET by jrumney · · Score: 1

      If you go down the route of adding up, then you need to add at least J2EE to Java. But in doing this, you are counting a large number of jobs twice, or even three times for .NET (as you have three terms, all of which might match).

    8. Re:Current Monster Numbers: Java vs .NET by ljw1004 · · Score: 1

      From monster.com, searching for the past 7 days:

      C# + Visual Basic: 915+556 = 1471
      Java: 1565

    9. Re:Current Monster Numbers: Java vs .NET by Anonymous Coward · · Score: 0

      Could those stats include...JavaScript?

      I have been doing Web development since 1995, and I ran scared the first time I opened a PHP book. One giant step bakcwards for man...

    10. Re:Current Monster Numbers: Java vs .NET by rubycodez · · Score: 1

      no, you have a 3 to 1 percentage of recruiters who think they might be able to sell contact to real java job opening. Dice and monster are almost 95% B.S.

  37. Re:Asp.Net is NOT a 'popular' business framework. by Jasen1337 · · Score: 1

    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.

  38. Re:Asp.Net is NOT a 'popular' business framework. by Anonymous Coward · · Score: 0

    alot of opinions with very little backing. from what i've seen of the "industry" is alot of homehacking kids that learn php and haven't really tried anything else. granted, i haven't touched many php-based projects in a while, but the ones i have (phpbb, oscommerce, joomla) is that they are horrible, horrible mess of spaghetti-code. i understand the need for developers that are specialized in these platforms because they are AWFUL to develop for. truly. i dare anyone to claim otherwise.

    my 2 cents.

  39. Re:Java Is Victorious by CaymanIslandCarpedie · · Score: 2, Informative

    Dear Sir, I've done exactly as you suggested and search for those exact term on Monster and Dice. Moster (on a nation wide search in the US) returned 4 hits for "Java/J2EE/JEE" and 323 hits for ".NET/C#". On Dice.com "Java/J2EE/JEE" returned 6 hits while ".NET/C#" returned 644 hits. Is there some other search criteria I should try to see the advantage JAVA has?

    --
    "reality has a well-known liberal bias" - Steven Colbert
  40. Make us jealous .. by Anonymous Coward · · Score: 0

    I don't know .NET, never touched it, only superficially read some articles on it, never took the effort to read a book about it, ... because there was no convincing argument to do so. Call me ignorant.

    Now if I have a look at what's interesting in the Java world in the last couple of years (hadoop, android, GWT, antlr, ...), I definitely want to stay on this side of the fence.

    Please tell me what interesting developments in the .NET world are we Java developers missing out on ? There surely must be something that should make us jealous...

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

    1. Re:MS really does care about making devs happy by gestalt_n_pepper · · Score: 2, Insightful

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

      --
      Please do not read this sig. Thank you.
    2. Re:MS really does care about making devs happy by Jeek+Elemental · · Score: 1

      Hardly. They care about making companies happy sure; when "development" requires little skill, more people will line up for the job, pay will be less.
      How do you compete with free? Make internal development cheaper.

    3. Re:MS really does care about making devs happy by plague3106 · · Score: 1

      So is that why we have .Net developer positions which pay six figures?

    4. Re:MS really does care about making devs happy by Acer500 · · Score: 2, Interesting

      Hardly. They care about making companies happy sure; when "development" requires little skill, more people will line up for the job, pay will be less.

      And, isn't that the point? Haven't we always said that programmers would automate themselves out of a job? I embrace that... I wouldn't want to be stuck programming in Assembler or C the rest of my life... I rather like other aspects a lot more... then again I'm not a hardcore programmer, I'm one of the business programmer types the GP mentioned.

      --
      There are three kinds of lies: lies, damned lies, and statistics.
    5. Re:MS really does care about making devs happy by Mongoose+Disciple · · Score: 2, Insightful

      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.

    6. Re:MS really does care about making devs happy by bit9 · · Score: 1

      I agree. I spent several years writing almost exclusively in Visual C++. We did mostly straight C with some C++ sprinkled in where it made sense, and we hand-rolled all our UIs in the Visual C++ resource editor.

      Then I started learning VB, and realized I could save countless hours of tedious UI coding by slapping the UI together and VB, and compiling all the "hard core" C/C++ stuff as a DLL, which the VB UI would then call. That increased our productivity by an order of magnitude. No more having to write hundreds of lines of Petzold-style C code for every %@$*ing UI element. It was great.

      Those who blindly made fun of VB as being wimpy and soft, just aren't using it right. Nobody ever said you were supposed to use VB for everything, including all your heavy, CPU-intensive algorithms.

    7. Re:MS really does care about making devs happy by Sycraft-fu · · Score: 1

      He's just a protectionist. He wants to make sure his job survives as it always has been, and he sees this as a threat.

      My guess is he's a stick-in-the-mud type who thinks that all real coding is done in a text editor and compiled on a command line. He probably is fairly slow at coding and debugging because of this, it takes him a long time to turn out code. As such, these RAD environments post a real threat, because programmers can produce results so much faster than he can. However rather than learn and adapt, he likes to bitch about how it is bad for programming.

    8. Re:MS really does care about making devs happy by MrSteveSD · · Score: 2, Interesting

      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.

      It was very popular. Millions upon millions of lines of code were written in VB. The company I used to work for had invested a lot of money over many years in their VB apps. Then microsoft dumped VB6. We tried upgrading to VB.NET (using various wizards) but it proved virtually impossible. Basically we were screwed. The company that made the language we depended on had totally shafted us. We just didn't have the finances to rewrite everything in .NET and at the time I left the company, they still had no real way forward. I suspect similar stories have occurred in small software houses all over the world.

      This is a real danger when using a proprietary language. If they stop making it, you're screwed.

    9. Re:MS really does care about making devs happy by Capt_Morgan · · Score: 1

      That sounds like a great idea... making a language that can be used by less skilled developers that allows for quicker development Of course the flip side of this is the poor code that is produced and often terrible performance of applications.... not to mention high support costs Almost all of my customers use Java for their "real" / "heavy" applications...... of course the fact that most smart orgs use linux or unix to host their "real" apps plays a part in this

      --
      It takes a big man to cry, but it takes a bigger man to laugh at that man.
    10. Re:MS really does care about making devs happy by TheRaven64 · · Score: 1

      It depends on whether bad code is better than no code. The choice of language plays a much smaller part in deciding the final speed of a program than the skill of the developer. A well-written Ruby program is often faster than a badly-written C program. The speed of the language implementation (compiler, VM, and so on) is a constant factor, while the speed of the algorithms chosen defines the complexity class. Using an O(1) algorithm in C# might be slower than using the same O(1) algorithm in C, but using an O(n) algorithm in C will quickly become a lot slower than the C# version.

      Making it easier for poor developers to program increases the amount of bad code (see Python for a concrete example), but it does increase the total amount of code. In most cases, this is beneficial. Good developers are a scarce resource, and most companies would rather have something that mostly works now than something that will work well in 2-3 years.

      --
      I am TheRaven on Soylent News
    11. Re:MS really does care about making devs happy by St.Creed · · Score: 1

      For 8 years we wrote everything in VB6. Then VB.NET came along, and we just ignored it. Only by .Net 3.0 have we started to actually use it for new projects. Old projects get converted when they need to be converted (like, when we have to rewrite the whole thing anyway) and otherwise they don't get converted at all. Why whould they? They run pretty good on Windows 2008.

      So I'm wondering as to why this is an issue for you. Did everything stop running when you switched to Windows2008? Or did you write client-server apps (that was a no-no even in 1997)? I'm curious :)

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
    12. Re:MS really does care about making devs happy by MrSteveSD · · Score: 1

      So I'm wondering as to why this is an issue for you. Did everything stop running when you switched to Windows2008? Or did you write client-server apps (that was a no-no even in 1997)? I'm curious :)

      If you have invested a lot of money in a language and it's dumped, it certainly is an issue. Things may not stop running completely, but you get issues and those issues will no longer be patched. More than this, if you were selling commercial VB apps (as we were), customers tend to be quite concerned about buying an application written in a defunct language. Our main application was in VB. It was big and a lot of money had gone into it. You can't just ignore that and hope things will keep working. What happens when you want to write some new module for your large system? Throw money at writing it in defunct VB6? Or go down the hellish path of writing new modules in C# and use interop?

      If you just had some little in-house tools in VB6, its dumping by Microsoft may not have been so much of an issue. For companies whose main product was in VB6, I can't understand it not being a major issue.

    13. Re:MS really does care about making devs happy by ignavus · · Score: 1

      Of course their reasons for doing it are not benevolent, they want software designed for Windows so that users want to use Windows.

      No, it is stronger than that. Microsoft want users to be locked into Windows, not just use it. If you don't see that, you fall for their hook. You think you are just using Microsoft products, when all the while they are using you.

      Microsoft are not into competing. They are into controlling the market. They want users who cannot change to alternative technology without great cost to the user.

      Microsoft only support other technologies when it helps them to retain users or gain users - i.e. when they are not market-dominant. Once they have users caught up in the Microsoft web, they make exit as difficult as possible.

      Microsoft have abused their monopolies before now to do exactly this sort of thing. There is nothing about Microsoft to suggest that .NET is any different.

      --
      I am anarch of all I survey.
    14. Re:MS really does care about making devs happy by Douglas+Goodall · · Score: 1
      I have been waiting years to hear this story. I may be courting flames, but I hated visual basic from the beginning. An advertising point was that you could program without being a programmer. To me, Visual Basic seemed a lot like Ada. I made jokes that there wasn't really an Ada language but rather a run-time that could recognize a few example ada programs and benchmarks. The concept that programs can be written by non-programmers is troubling. I am NOT saying that non-programmer's should not program. What I am saying is the serious software people check return codes, do risk analysis, care about robustness, spend time considering repercussions of coding decisions... I think it is great is someone can cobble up some code to do something small, but I prefer code that must be correct to be written by serious developers that care about the difference between programming and software engineering. I think too much process is bad, but maintainability and reliability and efficiency are some of the goals of serious developers and people that spend a few weeks with Visual Basic and think they can program haven't a clue why these things are important.

      Getting back to the point though... Writing important code in a single sourced proprietary language is risky the same way designing hardware with single sourced components. Hardware developers learn the hard way when Intel decides to drop a part that was needed in a design unexpectedly. Serious hardware engineers think twice about using single sourced components because availability and pricing are not in control. Multi-vendor competition is good in hardware as pricing stays competitive and there are alternative vendors for critical components.

      I clearly say the danger of in the success of Visual Basic, and watched with horror as Microsoft told us VB was the great language we had been waiting for. Actually I believe c++ was that language, but Microsoft polluted the c++ language with their foundation classes. That was the beginning of the end as developers had to decide whether to utilize Microsoft's framework. The decision to do that cost you the ability to transport to other platforms, unless you were willing to hand port MFC which had licensing issues.

      Microsoft wasn't satisfied to lock people in with MFC and came up with something grander to lock people in. The arrival of .NET happened around the time that Intel and Microsoft decided that the common man shouldn't be allowed to write in native code, but rather should write managed code. Personally, I don't want to be managed by Microsoft.

      The last point that I wanted to make is the the trusted platform and .NET did Microsoft and the rest of us almost no benefit when it came to protecting against viruses, and it is clear from the CERT notifications that Windows continues to be riddled with vulnerabilities that allow infection by netbots. I guess I am saying, "I told you so". I failed to convince people of my concerns about where Microsoft was taking the software community, and have watched in horror as the industry has raced to the bottom hiring foreign .NET coders instead of real software engineers with decades of experience writing maintainable, efficient, reliable code.

    15. Re:MS really does care about making devs happy by St.Creed · · Score: 1

      I think there's a difference between a product you sell, and something you use internally.

      From the start we always said "no client software". We only developed server software, which made our life pretty easy. Theoretically we could still run our stuff on Windows 2000 if we'd choose. No need to upgrade anything, and management couldn't care less about which language we used (as long as it didn't cost too much).

      So we could choose the slow road. But not everyone can, I agree. That's why I was curious.

      --
      Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
  42. Answer from a mobile phone and server developer: by Hurricane78 · · Score: 0, Troll

    What is .NET? ;)

    --
    Any sufficiently advanced intelligence is indistinguishable from stupidity.
  43. Re:Asp.Net is NOT a 'popular' business framework. by Anonymous Coward · · Score: 0

    Haha, so rentacoder is the enterprise now? Don't think so, rent a coder is for people to poor to hire a real developer. Asp.net MVC > crappy php, they don't even compare.

  44. Re:Asp.Net is NOT a 'popular' business framework. by Anonymous Coward · · Score: 0

    wow you seem to have no grasp on true corporate development.

    but it's cute to watch you try.

  45. Java Vs .NET is the wrong comparison by FranTaylor · · Score: 1

    Really you should compare JVM to .NET.

    JVM and .NET are the implementation platforms.

    Both platforms are host to different languages.

    Compare languages to languages and platforms to platforms.

    1. Re:Java Vs .NET is the wrong comparison by binarylarry · · Score: 1

      The JVM is most comparable to the CLR.

      Java vs .NET is a perfectly valid comparison.

      Your post fails, do not pass go, do not collection $200.

      --
      Mod me down, my New Earth Global Warmingist friends!
    2. Re:Java Vs .NET is the wrong comparison by FranTaylor · · Score: 1

      .NET is not a language.

      " do not collection $200."

      Your English fails, you don't collect $200 either

    3. Re:Java Vs .NET is the wrong comparison by binarylarry · · Score: 1

      Java is not a *just* a language either.

      There is a language called "Java," however.

      You still fail it.

      --
      Mod me down, my New Earth Global Warmingist friends!
  46. "The Register" by Anonymous Coward · · Score: 1, Informative

    The Register is probably the most unreliable site in the tech world. I would take anything these guys publish as highly suspect.

  47. Re:Asp.Net is NOT a 'popular' business framework. by Anonymous Coward · · Score: 0

    "I may not be in the dumb, arrogant PHP developer industry..."

    You mean ignorant? Who hasn't seen the unmaintainable, un-extendable garbage most php developers write.

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

    1. Re:Ease of writing doesn't convince me by minginqunt · · Score: 0, Troll

      Java hasn't eliminated constructs that are harmful, all it's really done is popularised a few more harmful constructs of its own.

    2. Re:Ease of writing doesn't convince me by Anonymous Coward · · Score: 0

      So C has essentially been "dead" for over 20 years. There have been some minor additions and changes that ANSI did but nothing terribly substantial. What's more, the standard library has some serious problems with all the overflows and holes out there in the world, ANSI or ISO have been well within their rights to create new functions and deprecate old functions to avoid dependence on null termination, among other things, but the language is essentially "dead." Who cares? People use C because of that, your 20 year old C will just as soon compile and run as the C you wrote last week.

      You talk about Java or something and the lack of changes to the language are somehow supposed to indicate that it's dead or dying or you shouldn't use the language. If you look at Perl, the radical changes to the language have turned it from being the language of the internet into an also ran, Perl will never be as popular as it was again and that's partially because they had to add a bunch of new shit. Python is going to hurt itself migrating to 3.0, it's going to be DLL hell only worse trying to cross the gap. Ruby? It's probably worse, Rails made 1.8 popular, now there is Jruby, Ruby 1.9, and literally about a dozen more implementations all with varying degrees of support and compatibility; just as it was getting interesting the language is confused.

      If they stop changing Java the language, that seems like a good thing to me. What I'd really like to see are efforts to refactor, add to, and clean up the class libraries. There are clearly some patterns that people use regularly that aren't part of it. The Apache Commons proves the point. J2EE 5 and 6 have really cleaned up a lot, let's do that to the rest of it.

    3. Re:Ease of writing doesn't convince me by Azghoul · · Score: 1

      Like what, out of curiosity?

    4. Re:Ease of writing doesn't convince me by The+Flymaster · · Score: 1

      Of course properties are a terrible idea. They allow operator overloading on the instance level. That's insane.

      int x = object.x;
      assert(x == object.x); //works
      int y = object.y;
      assert(y == object.y); //works
      object.x = x;
      assert(x == object.x); //works
      object.y = y;
      assert(y == object.y); //fails

      That's stupid and confusing.

    5. Re:Ease of writing doesn't convince me by plague3106 · · Score: 2, Insightful

      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.

    6. Re:Ease of writing doesn't convince me by The+Flymaster · · Score: 1

      That would be fine, if that was what was happening.

      If you were changing the state of an integer with that = operator, it would be ok. But you're not, you're performing a separately defined action on that specific integer. Which may, or may not, merely change the state of the variable. And there's no blindingly obvious way to know if myObj.x is an int or a property that can be setted, or getted. (Somehow, set and gotten sounds wrong).

    7. Re:Ease of writing doesn't convince me by siride · · Score: 1

      This is a very edge case. And furthermore, properties are nothing more than syntactically compact getters and setters. So as a getter and setter can do weird behavior (such as silently not actually getting or setting), so can properties, but nothing further. If you aren't an asshole, you won't write properties that do strange behavior like what you described above. And it's not really full operator overloading. It can only modify the assignment operator and in exactly the same ways that getters and setters effectively do. No surprises if you have the slightest clue what a property is.

    8. Re:Ease of writing doesn't convince me by plague3106 · · Score: 1

      Can it be abused? Sure, but there's plenty of crap to abuse in Java too.. and making code always harder to read because someone MIGHT write sloppy code is just plain retarded.

      Your comments about not knowing wither myObj.X is an int or a property doesn't make anysense; to the consumer, X is a value that's set, and whether its a property or field is irrelevent to you (and the compiler will tell you if you can't set or get a certain property).

    9. Re:Ease of writing doesn't convince me by The+Flymaster · · Score: 2, Insightful

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

    10. Re:Ease of writing doesn't convince me by shutdown+-p+now · · Score: 1

      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.

      I often hear that argument, but is it really any better than Java, where all public attributes - even when they're simple fields - wrapped in get/set methods anyway? You could say that, in Java, the opposite is the case - the lack of meaningful code invocation is hidden.

      In practice, no-one cares. If you access what looks like a field of any object other that "this" in .NET, it is invariably a property. Similarly, when you write your class in Java, you always wrap all your fields in gettors/settors, since your clients expect to see such a pattern.

    11. Re:Ease of writing doesn't convince me by siride · · Score: 1

      It's not really a pain in the ass. You never access members outside of a class, it's always through properties. So if you see assignment to what looks like a member, it's going to be a property (unless you really do have people writing classes public members). Also, Intellisense will make it clear which is which, so it's really not hard to check at all. I guess if you aren't using Visual Studio it might be more problematic, but then again, if your project isn't using Visual Studio, you probably don't have code written by idiots.

    12. Re:Ease of writing doesn't convince me by VGPowerlord · · Score: 1

      In practice, no-one cares. If you access what looks like a field of any object other that "this" in .NET, it is invariably a property. Similarly, when you write your class in Java, you always wrap all your fields in gettors/settors, since your clients expect to see such a pattern.

      Right up to the point that there is a name for a class that has a no-arg constructor, implements Serializable, and has getters/setters for every field: JavaBean.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    13. Re:Ease of writing doesn't convince me by elnyka · · Score: 2, 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.

      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.

    14. Re:Ease of writing doesn't convince me by elnyka · · Score: 1

      Like what, out of curiosity?

      Checked exceptions turned out to be a costly feature. They work well for designing layers interfacing with external layers - external being either logical or truly physical. IO layers and APIs for accessing external resources are excellent places for using checked exceptions.

      But once you move away from that "boundary zone", checked exceptions introduce hidden costs in the form of either complex exception handling semantics or on implementing fault barriers and exception translation behavior. None of these are trivial, and it an art to get them right. Most people who try them fail miserably (introducing yet another leaky abstraction) since they usually don't really understand the nature of the root problem to begin with. A good solution would have been some way to mark exceptions as "checked" only within certain layers or packages.

      Giving interface inheritance as the sole alternative to multiple (class) inheritance. This partially leads to immensely deep inheritance trees, and there is no way to modify an interface without altering the implementing classes (not good if your interface is being used by 3rd parties.) The solution has typically been to present an interface and provide a "suggested" abstract class that implements the interface, and from which to inherit from (kinda defeating the whole idea of strict interface inheritance to begin with.)

      Using classes as namespaces. You can't define stand alone methods, and the reality is that not everything fits into an object. But you have to in Java. Just because everything has to be an object in a programming language, that does not imply that everything has to be defined within one. Pascal, C++, C# and Ada had it right in defining some sort of module/scope/namespace/package concept. Java didn't, and that by itself turned out to be a bad feature. This leads to the next dangerous feature: Focusing object orientation to just noun-based inheritance hierarchies. Java more than any other language has monstrosities that look like this:

      Shenanigan.getInstance()

      .getSomeShitResolver()

      .getThatCrapFactory().justDoSomeShitForMeWillYou()

      In any other language that allows you to declare methods on the top scope (or at least in the scope you are in), you don't need to shepherd everything into a dot-spaghetti - you simply say doSomeShitForMe(). People who think you have to have the former constructs to do OO never got OO right to begin with, and Java, unfortunately, leads itself to support that type of coding/thinking anti-pattern. The cost associated to that kind of shit (in terms of coding, debugging and NPEs) is enormous, and there is no clear whether this obsessions with noun-oriented dot-spaghetti can actually lead to better coding practices.

    15. Re:Ease of writing doesn't convince me by elnyka · · Score: 2, Interesting

      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.

      Nope. The very purpose is to simplify code usage. I don't gain anything by saying o.setName("name") when I can semantically get the same by saying o.name = "name". It was one of the greatest things that came out of Delphi, and there is a reason why it is the default way to access bean properties in EL/JSTL (firmly a Java technology) as well as in Groovy.

      Unless that verbosity gets me something (clarity, better semantics) it is just syntactic salt with no associated benefit and certainly with an associated cost. When you start working with a whole bunch of goddam POJOs, you'd wish you'd have properties. I used to be in that camp that worshiped verbosity for the sake of it. Fortunately, first hand work experience in its associated cost helped me grew out of it.

      I don't gain anything in knowing whether o.name = "name" executes code or not. I want that name to be "set". Whether that "set" operation carries additional semantics beyond assignment (.ie. synchronization, reference count or what not), I don't need to know. I don't want to know. Just as I would not want to know the "hidden" internals of calling a method in an object.

      In fact, YOU WANT TO HIDE THE CODE INVOCATION. In programming, you simplify out of a context the things that you don't need to know. If you have two constructs that, by design-by-contract, carry the same semantics, you opt for the less verbose one. Always.

      And I positively dislike the opt-out from declaring which exceptions a method throws. Exception handling is simply too important.

      Prove to me that "good" exception handling absolutely requires checked exceptions, and then you might have an argument. In my experience, the worst exception handling mechanisms I've seen have been implemented with checked exceptions. No other language introduces them.

      Now think about this. The folks implementing Groovy, Scala, C# as well as those that support and extend the C++ standard, these are all people experienced in programming language theory (not counting their industrial experience). And, by what they know, and by their industrial experience, they opt not to implement checked exceptions. Moreover, there are a lot of systems implemented in Java and otherwise that have excellent exception handling without checked exceptions. What should that tell you? Checked exceptions sounded good on paper, but it turned out not to be the case.

      Exception handling (or design by contract for that matter) does not require checked exceptions. Sorry. Checked exceptions introduce code entanglement at various levels, and Java does not provide a way to abstract them out. The only way to really use checked exceptions in a controlled manner would be if Java provided a mechanism to declare exceptions as checked within a scope (say a package or an architectural layer) or by concentrating them within template patterns (which is basically what I have to do in a project I'm working on.)

    16. Re:Ease of writing doesn't convince me by Anonymous Coward · · Score: 0

      When you are using members of a class you better know what they do. Setting a field you don't understand can do as much harm as setting a property you don't understand. I really don't understand what you are at. Either you know what x is for or you don't. You don't magically know what it does just because it is a field, not a property. You don't change member variables without a purpose. How do you know that x serves this purpose without knowing what it does?

      And if you are programming in .NET you will rarely find any public fields. And those that you find are readonly anyway. As you won't find public fields in Java. Just assume myObj.x is a property. It won't hurt you if against all odds it is a field.

    17. Re:Ease of writing doesn't convince me by NoOneInParticular · · Score: 1
      Read any 'Design patterns' book for Java. A 'Design pattern' is usually a shortcoming of the language that needs to be solved so often that its worthwhile to write a book about the boilerplate code that needs to be written to accomplish it. Boiler plate is bad, Java's got lots and lots of boilerplate.

      Aside from patterns, my personal pet peeve about Java is the memory footprint/absence of value classes. Every class is derived from Object, costing 8 bytes. Make the class Serializable and you have another 8 bytes per instance. So, the class Integer, containing a full 4 bytes of content, takes 20 bytes to represent in Java. An array of Integer is thus 4/5-ths overhead. There's no way around the 8 byte Object overhead in Java, so I've been forced at times to break perfectly nice code that works with large arrays of structures to an awful mess that works with structures of arrays, simply because I could triple the sizes of the arrays that way.

    18. Re:Ease of writing doesn't convince me by NoOneInParticular · · Score: 1

      I think properties have exactly the same problem as operator overloading in general. They are great if you know what you are doing, for instance if you create a commercial library for vector math or something, yet they are terrible in the hands of the clueless. It is really a pain to have code where everything can mean something unusual depending on what some file you are currently not looking at says.

    19. Re:Ease of writing doesn't convince me by The+Flymaster · · Score: 1

      You don't know what x does. But you know what x= does. It sets x to the RHS value. If x is a field, all bets are off. x= can do anything, and it's not the same thing that y= does, even if x and y are (properties wrapping) the same datatype.

    20. Re:Ease of writing doesn't convince me by NoOneInParticular · · Score: 1

      In math, do you use multi-character symbols? And what is that '.' operator doing there?

      In true OO-programming, performing an action that doesn't change state should be done by a library function (a static function). Changing state is done through a method. A class is an abstraction over a set of data with only one purpose: to maintain some invariant on the data members. Holding a couple of values together that can be independently changed is called a struct. Plain setters are generally bad, as it points to an abstraction problem: you are not working with a class, but with a struct. Setters are bad, m'kay? Properties are interesting, they make what appears to be a struct (public members) behave like a class (has invariant guarded by methods). This looks cool but is very devious as now syntax is ambiguous (Is this a plain assignment on some struct-like collection of values, or am I calling a (possibly expensive) method here?) You can only tell by opening the definition file of the thing you are inspecting.

    21. Re:Ease of writing doesn't convince me by sproketboy · · Score: 1

      I wish I had mod points for you.

    22. Re:Ease of writing doesn't convince me by Mutatis+Mutandis · · Score: 1

      The richer syntax means you can write code faster. But I am not so sure that that means that you can actually get you work done faster, although it of course depends on who you are and what you do. If you always work more or less in the same context, and that is not too complex, there will be no problem for you.

      But my experience is that programmers spend half their time or more with trying to figure out what other programmers have done, and that they find that far more difficult and exhausting than writing their own code. That seems particularly true in an environment such as .NET, which comes with a rich set of libraries, including some that provide high levels of abstraction.

      The problem with property syntax is not in the idea itself, but in its potential for abuse. As long as a.x = y is indeed a shorthand for a.setX(y), there is no problem. Dragons awake when somebody starts using it as a shorthand for a.addX(y). And yes, potentially somebody could write a.setX(y) and give it the functionality of a.addX(y), but the temptation to do so is much smaller.

      But I admitted that I stretched it a bit when I quipped about properties being a bad idea. Operator overloading, however, almost certainly is.

    23. Re:Ease of writing doesn't convince me by RAMMS+EIN · · Score: 2, Interesting

      I think that maintainability of code is helped most by writing the code in a way that closely follows the high-level model of the program. Neither C# nor Java are very good for that, because both require you to add a lot of boilerplate code and neither offers elegant metaprogramming. In other words, understanding the code is going to be hard because of the sheer amount of noise in it.

      Sure, offering more powerful constructs such as macros would offer more ways to make the program a horrible mess, and some of the extra annotations that are in Java and C# code actually give some clue as to what is happening, so the knife cuts both ways. But I think bad programmers are going to write bad code in any language simply because they don't have the right mindset, whereas good programmers are going to write better code in a language that doesn't restrict them as much as C# and Java do.

      --
      Please correct me if I got my facts wrong.
    24. Re:Ease of writing doesn't convince me by putaro · · Score: 1

      In any other language that allows you to declare methods on the top scope (or at least in the scope you are in), you don't need to shepherd everything into a dot-spaghetti - you simply say doSomeShitForMe().

      You mean like:

      MyDumbClass.doSomeShitForMe()

      Static methods work just fine and don't require you to allocate an object.

      All that factory, resolver nonsense is somebody who's read one too many patterns books.

    25. Re:Ease of writing doesn't convince me by plague3106 · · Score: 1

      My point was the using the equals sign results in more readable code.

      A class is not an abstraction over a set of data; a class is encapsulation of behavior. The data is only around to be able to peform that behavior.

      If you want to be anal about things, there's nothing wrong with properties, because technically propertiers are methods anyway. There's nothing wrong with a plain setter either. Its changing state, and I'm sure there are plenty of methods in Java which only record a value for the object to use at a later time.

      As far as your ambiguity is concerned, its really irrelevent. How do you know if a method is going to return quickly or not? Is the method just doing a quick few (but important) lines, or is going to take an hour to process? Given the state you call the method is, both could be true. Why do you think properties somehow change this fact? If the docs don't tell you, you'd still have to look at the code.

      Your last statement demonstrates where you are going wrong; a class is supposed to be a black box. You ask it to do something, perhaps by also giving it some data. How it does it should not be important to you, only that it does what it says it does. You learn about what it does via documentation, not by looking at its internals.

    26. Re:Ease of writing doesn't convince me by plague3106 · · Score: 1

      Spending less time with boilerplate code means getting my work done faster. Everyone seems to forget that things like databinding become possible and easier when you have the concept of a property built right in.

      You're right; maintanence is most of a programmers job. More readable code (which I think most agree having properties makes code more readable than not) means maintanence is easier as well.

      I seriously doubt that obj.X = 5 would lead to x += 5 more than obj.setX( 5 ) would; if anything, I think the latter would be more open to that flaw, because hey with a method, do whatever you want. A property setter, when you choose to write one, the goal really is to set the value (and probably validate it as well).

      Operator overloading, like properties, is certainly something that can be abused. But I'd rather have the option of being able to do it in the rare instances I need to than have to do some thing really awkward and less readable because that tool isn't available.

    27. Re:Ease of writing doesn't convince me by Thuktun · · Score: 1

      String "+" operator - in the hands of sucky Java programmers (who are a dime a dozen) is the bane of garbage collectors.

      Sun did finally make a long string of String + in a single assignment do the right thing. It used to break this up into a new StringBuffer for each +, rather than one for the entire assignment.

      However, if I had to choose one, I'd prefer to filter out the sucky programmers than a language feature they misuse, for the simple fact that sucky programmers have a deep well of things they can misuse.

      refusing to deprecate Vector and HashMap

      I think you mean "Hashtable".

      I find it amusing in a Microsoft vs. Sun discussion that someone is dinging Sun on being too backwards-compatible.

  49. Re:Asp.Net is NOT a 'popular' business framework. by Anonymous Coward · · Score: 1, Informative

    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.

    I'm not familiar with what smaller ecommerce sites are running on, but the two biggest players in the e-commerce space, IBM WebSphere Commerce and ATG, are both running on the J2EE stack. In fact, most of the eCommerce products that you'll see mentioned in trade mags and Gartner reports are running on Java; not PHP or .NET.

  50. Re:Asp.Net is NOT a 'popular' business framework. by JoeMerchant · · Score: 1

    Depends on what industry you're talking about - there's a whole layer of "the industry" that works for less than $20 per hour, and they do tend toward the open source tools.

  51. Re:Asp.Net is NOT a 'popular' business framework. by cenc · · Score: 1

    Any quick survey of the number of sites internet (including big companies) will yield wayyyyyyyyy more LAMP than all others (probably combined). Are you telling me that somehow all these millions (perhaps billions) of sites are somehow not economically viable? They are not making money?

    One of the reasons likly there is not a lot of demand for paid php writers is simply there are so many open source projects based on it that people simply pull shit off the shelf and plug it in now, rather than writing it all from scratch.

  52. Well according to Dice.com... by trboyden · · Score: 2, Informative

    Well according to Dice.com... "Java" has about 3,203 job opportunities... and "C#" and "VB" combined have about 1,066 job opportunities... I would say Java isn't anywhere close to dying anytime soon and is still very popular with businesses willing to hire. As an aside, Flex has about 268 job opportunities which is roughly equal to 25% of the number of Microsoft based development jobs. With the turn from traditional desktop application programming to web-based applications, I'm left to wonder whether Microsoft will catch up with the demand of Java developers before Flex grows to overtake the demand for Microsoft developers?

    1. Re:Well according to Dice.com... by RingDev · · Score: 1

      As an aside, Flex has about 268 job opportunities

      Funny, on Dice.com, Silverlight has 421 job opportunities.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    2. Re:Well according to Dice.com... by trboyden · · Score: 1

      What's your point? So that gives Microsoft .NET technologies a grand total of 1,487 jobs. Most data services for Flex based development are based on Java technologies so you can add the Flex job numbers to the Java numbers for 3,471 total - a 3 - 1 margin. Silverlight is pretty much an afterthought for Microsoft and will die out soon enough. Flex is a much faster growing community because its development can all be done with free open source tools.

    3. Re:Well according to Dice.com... by RingDev · · Score: 1

      I think your assertion that "Silverlight will die out soon enough" is just as retarded as the other assertions on this topic that suggest that "Java will die out soon enough".

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    4. Re:Well according to Dice.com... by maxwell+demon · · Score: 1

      As an aside, Flex has about 268 job opportunities which is roughly equal to 25% of the number of Microsoft based development jobs.

      Who had thought there is so much demand for an Open Source lexer? :-)

      --
      The Tao of math: The numbers you can count are not the real numbers.
  53. Re:Asp.Net is NOT a 'popular' business framework. by Anonymous Coward · · Score: 0

    This is a half decent post, but why don't you use some proper grammar and at least capitalize the first letter of your sentences? It makes you look stupid and it's more difficult to read.

  54. Re:Asp.Net is NOT a 'popular' business framework. by cwrinn · · Score: 1

    On the one hand, you are right in not seeing much PHP in enterprise. However, your assessment of not seeing LAMP much in enterprise is bogus. The difference being most enterprise LAMP models are Perl or Python for the P, not PHP. And still others use Ruby. And many, many are hybrid models. Google, for instance, uses a lot of Python on their servers, but for many of their web pages they use PHP. Google is not an Enterprise? Yahoo uses PHP extensively, is not an Enterprise? Gag where you want, but get your info straight. Now, I like C#, and so do many developers I know. But I, and many of those developers, strongly dislike ASP.Net. Where I work (yes, in the "industry") we do both app and web development. We use both LAMP and .Net extensively, depending on the case scenario. And I know many, many developers whose employers use the similar deployments. And we have "real jobs".

    --
    Here's a cookie... *psst* it's MAGIC
  55. Microsoft itself slow to adopt .NET by edxwelch · · Score: 1

    The artical mentions that "Microsoft itself has been slow to adopt .NET". Why? Well, possibly because, like java it's quite slow. Microsoft did put some .NET bits in their products, for instance Visual studio. Visual Studio is primarily written c++. You can even uninstall the .NET runtime and it will still run. However both the project properies dialog and the macros are written in .NET. It's not any coincidence that both these features are by far the slowest parts of the IDE.

  56. Re:Asp.Net is NOT a 'popular' business framework. by rubycodez · · Score: 1

    sorry. my company runs a recruiting division. You realize for any one real job there are a dozen other recruiters who see it and post something slightly different, in the hopes that if a candidate contacts them they can then "sell" the contact to what they hope is the original job source? all those dice and monster listings are mostly that type of bullshit virtual job. It's a huge mistake to assume Dice listings indicate actual demand or percent of industry use.

  57. Re:C# first choice? Ummm, no. by cwrinn · · Score: 1

    I think this area is mixed depending on the group. With the advent of Windows Vista and Windows 7, I foresee a much larger adoption of C# for app development. But one also has to consider the problem deploying a commercially-available software in C#. C#, at least in .Net, doesn't really fully compile, it packages (not unlike Mac's .app files). And unless you employ a source obfuscator, the entire source code and code logic is available simply by "unzipping" the .dlls. My suggestion to Microsoft is either allow a full binary compile in WPF/.Net, or build the obfuscator into VS as it is currently a real pain to employ.

    --
    Here's a cookie... *psst* it's MAGIC
  58. Re:Asp.Net is NOT a 'popular' business framework. by Anonymous Coward · · Score: 0

    Perhaps your focus is just very narrow. I'm a developer who doesn't specialize, because I'm good enough to do the task right in almost any field/language. I've done a lot of web dev recently, because that's where the jobs/money are. It's been 100% C#/ASP.NET. These are not huge corporations, mostly, but they use .NET because php is slow and unreliable.

    Maybe php is "assumed" when dealing with the sort of developers that have to "specialize" in Joomla or whatever, but ASP.NET is certainly heavily in use in industry, at all levels.

  59. Re:Answer from a mobile phone and server developer by cwrinn · · Score: 1

    It's a TLDN, duh.

    --
    Here's a cookie... *psst* it's MAGIC
  60. Re:Asp.Net is NOT a 'popular' business framework. by Anonymous Coward · · Score: 0

    please list your sources for these millions (perhaps billions) of sites that are economically viable and using lamp.

  61. I do both Java and C# by Aceticon · · Score: 1

    I do software development in both Java and C# (mostly Java) and what i see happening is that C# is winning in the GUI/Desktop environment (mostly by replacing VB and VS.MFC) while Java is winning in the server space (mostly because in the server space with non-GUI applications Write-Once-Run-Anywhere is mostly true).

    Nowadays, almost nobody does GUI development in Java, while at the same time C# never managed to get traction in the server space largelly because in parallel Linux has replaced Windows as the OS of choice for cheap servers.

    That said Sun has done little for the success of Java and as of late might in fact have hindered it's adoption by going for increasingly complex, heavy and underperformant libraries/frameworks, making the learning curve for Java in the server steeper and harder to overcome.

    The success of Java in the server space has come thanks to Open Source and in spite of Sun - there are now thousands of open source tools, libraries and frameworks for Java which improve the software development process and free developers from having to waste time in "infrastructure" work. As a mater of fact, in the last 4 or 5 years, the Java world has been moving steadilly away from Sun's heavy and complex approach to the server space (J2EE) and towards less monolitic approaches and lightweight frameworks and libraries (such as Spring) designed specifically to replace J2EE.

  62. Alternate JVM languages will carry the JVM. by Joseph+Vigneau · · Score: 3, Insightful

    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.

    1. Re:Alternate JVM languages will carry the JVM. by shutdown+-p+now · · Score: 3, Interesting

      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 those third-party JVM-hosted languages have two big problems hampering their adoption.

      The first one is lack of proper IDE support. And the problem with this target is that it shifts constantly - ten years ago we had much less than we have today. Think about how many automated Java refactorings a typical Java IDE offers today. Then there are things like code pattern search in IDEA. And so on... the challenge of making a new language is making all the tooling for it as well, and it inevitably competes with feature-rich and mature solutions that already exist for Java.

      The second problem, which is probably even bigger, is the lack of a big corporate backer. With Java, there's Sun and Google. With C#, there's Microsoft. With C++, there are way too many to list - Intel, IBM, Apple, Sun, Google, Microsoft all have major stakes in it, and consequently work on language design together in the ISO committee. But something like Scala? What's the guarantee that it will be around tomorrow?

      Which is a real pity, to be honest. Scala is an awesome language, probably the perfect in its (pragmatical hybrid OO/FP) niche. If e.g. Google were to seriously back it, it would really help its adoption. Unfortunately, it doesn't look like it's happening.

      In contrast, the adoption drive behind F# (yes, there are fairly large companies out there using F# in production code) is largely because of Microsoft backing it, officially supporting it as part of VS, and so on - which is why I suspect it will keep growing.

    2. Re:Alternate JVM languages will carry the JVM. by Joseph+Vigneau · · Score: 1

      Even Java took a long time to have decent IDE support. Most of these other languages are relatively new, and are still definitely in the "early adopter" phase of the usage curve. I do think Scala in particular has a good chance of adoption, as it's fairly easy to start working with it as if it were Java with type inferences and first-class functions. Also, the next release will have features that specifically make it easier for IDE integrations to be written.

      I don't think there necessarily needs to be a big corporate backer- look at Ruby for example; it has a number of small corporate backers, and a wealth of open source developer support. Scala is beginning to get more high-profile usage, Twitter being the biggest name. It has a well written, well defined specification, and a pretty active community around it, with mailing lists, IRC channels, conferences, etc. Being a JVM language, I think it will be easier to sneak into the back door of a lot of corporate projects.

      Agreed on F#; it does seem that it would flounder without significant support from MS, but I generally don't hear about companies using it as I live in a JVM world, and don't get much exposure to .NET stuff.

    3. Re:Alternate JVM languages will carry the JVM. by shutdown+-p+now · · Score: 1

      I don't think there necessarily needs to be a big corporate backer- look at Ruby for example; it has a number of small corporate backers, and a wealth of open source developer support.

      Well yes, but you still have to have those small corporate backers. I don't know of any for Scala (I may be wrong, though).

      That said, compare Ruby adoption (little corporate backing) to e.g. Python (Google!), not even to mention Java or .NET.

      What I'm afraid of is that Java will end up much like D - a decent core implementation that has quite a bit to offer, and a lot of buzz in the community, even some use by a few startups; but the big boys refusing to pick up that ball, and, ultimately, little real-world adoption.

      I hope I'm wrong on this. I like Scala as a language. Furthermore, it makes for good competition to .NET languages (all of them - C# and F# and VB), which is much needed to put some pressure on them to continue evolving. It's also a platform that "beta tests" bleeding edge language design features, and specifically their seamless incorporation into an OOPish language, so that others - again, C#/F#/VB - may learn from its experience.

    4. Re:Alternate JVM languages will carry the JVM. by german1981 · · Score: 1

      Google employees are working on a new language based on Scala called Noop. Not enough to claim that Google is backing it but... Check here: http://www.artima.com/forums/flat.jsp?forum=270&thread=270125

  63. It delivered Mono for MS by Ilgaz · · Score: 1

    It further divided the open source desktop effectively by infecting Gnome and even GNU Benchmark Linux, Debian with Mono and made open source nerds call each other names in discussions.

    There are millions of Mono infected servers out there which the administrator/IT manager has forced to agree some complex agreement with MS. Otherwise, these people wouldn't even care if MS has existed or not.

  64. no, you are talking out of your ass. by unity100 · · Score: 0

    those are salaried jobs in medium or bigger corporations. they are POSITIONS. they do not constitute 'ecommerce'. and on dice, one of the biggest places that serves for such hirings, there are only 74 fucking asp.net positions. one of the biggest, and there are 74 positions. which will mean 74 people will at most be working on 1 or 3 projects or so in 74 different corporations.

    whereas, in elance, which distributes PROJECTS as opposed to hired salaried positions, there are today PHP (568) and ASP.NET (72) projects. PROJECTS. not salaried positions. that means 568 separate projects as opposed to 74 in your dice's salaried positions are going to be conducted under php whereas 72 opposed to asp.net.

    you are the one talking out of your ass, confusing salaried job positions with the volume of ecommerce. and 72, on a site like dice fails at that to boot too. such a serious, high traffic and usage site, and only 72 positions for people to work on 1-2 projects at a time when they are hired, for singular corporations.

    but hey - dont let that discourage you from posting something totally out of your ass by confusing 2 separate concepts altogether.

    1. Re:no, you are talking out of your ass. by beuges · · Score: 3, Informative

      A common trend I've noticed amongst the vast (99%) majority of PHP developers is that they are almost guaranteed to be
      a) completely devoted to PHP
      b) incredibly arrogant
      c) mediocre developers at best

    2. Re:no, you are talking out of your ass. by shutdown+-p+now · · Score: 1

      It really very much depends on one's geographic location. There are countries in which LAMP is the #1 development platform, according to the polls. There are others in which it's .NET. And yet others in which it's Java. There are still markets in which Delphi is in top 3 (Russia and CIS, specifically). And so on.

    3. Re:no, you are talking out of your ass. by unity100 · · Score: 1

      the thing is, polls and statistics rarely take into account the vastness of small businesses (of the level ma & pa shop) and individual enterpreneurs who are establishing their own business.

      just like webpages. blogs of many individuals do not make enough content to be compared to cnn each themselves, but there is a sea of such individuals. i dont think anyone would object if i say that majority of the content on the internet is created by such individuals, ie, us, 'the people'.

      in ecommerce its no different. hundreds of businesses that are of level medium and bigger may be using sharepoint and running 1-2 ecommerce sites, but there are millions of individuals and small businesses which are doing greater sales in total through their open source stores, when all combined.

      its just the nature of internet. nothing else. however, its often overlooked in corporate level statistics.

    4. Re:no, you are talking out of your ass. by Anonymous Coward · · Score: 0

      I'm a PHP developer.

      I think PHP is pretty crap, i am only a wee bit arrogant and I am a mediocre developer. So you're more or less half right

  65. Don't use it by Snaller · · Score: 0, Troll

    And avoid any program which requires .net - its dot bloat.

    --
    If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
  66. Re:Asp.Net is NOT a 'popular' business framework. by unity100 · · Score: 1

    any estore you can find by searching oscommerce word in google and having a listing of osc stores is economically viable. i have seen many individuals set up small businesses through this method.

    you people working in corporate world live in a totally different dimension it seems. you are far detached from whats happening outside it. shame.

  67. hahahaha! by mpapet · · Score: 1, Flamebait

    96% of all phones support it,

    You mean 'support' by having device-specific runtimes, right? The mythic write once run everywhere is just that, a myth. How about a stop watch application as an example? A stop watch, while not simple is neither overly complex either and has no special GUI, yet phone specific.

    “enterprise” server development
    The complexity of Java Server apps creates as many issues as they appear to solve and hasn't been shown to provide an overwhelming advantage. "Broken Windows" parable all over again.

    Java is no 'silver bullet.' Which is why there are at least a few viable alternatives. You would be wise to step off the Java bandwagon before Oracle screws it up even more.

    --
    http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
    1. Re:hahahaha! by shutdown+-p+now · · Score: 1

      How about a stop watch application as an example? A stop watch, while not simple is neither overly complex either and has no special GUI, yet phone specific.

      Can you elaborate on this? I have very little J2ME experience, but I do not see why a portable stopwatch couldn't be implemented using only core J2ME APIs, even with fancy GUI.

  68. yea. laughable. by unity100 · · Score: 1

    and all the projects which are contracted out in those sites are made up of 'give me a twitter clone for $100'.

    excuse me, but if you are going to retort about something, go learn about it first. the minimum budget of ANYthing on elance can be $50, leave aside a twitter clone for $100. and most often than not, in such postings like the one you mentioned, the budget in the end comes up being readjusted to become more realistic, if there isnt anyone who already has a premade script that fully or approximately satisfies the client's demands for an acceptable budget.

    next time you are going to shit online about something you dont know well, dont. you are making yourself look ridiculous.

  69. Re:Asp.Net is NOT a 'popular' business framework. by Anonymous Coward · · Score: 2, Insightful

    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.

  70. Re:Java Is Victorious by NukeDoggie · · Score: 1

    Just searched Monster.com for last 30 days of postings Java had 4282 hits nationwide. .NET 2822 Java has ~2 times as many job postings JAVA WINS.

  71. Statistics by volkram · · Score: 2, Informative

    http://www.langpop.com/ begs to differ.

    1. Re:Statistics by mozzis · · Score: 1

      Actually that site tends to confirm the article. Data from yahoo, etc. show more hits for java, but data from programming discussion sites (only reddit is listed there) shows C# ahead of java.

      --
      This is not a self-referential sig.
  72. No, They Made Huge Mistakes by segedunum · · Score: 2, Interesting

    1. They pissed all over Visual Basic, which has been used in a lot of fairly critical business applications since the mid-nineties to create applications quickly. Say what you like about it, but an experienced developer could develop very quickly and well with it and it is very widely used. With VB.Net they created an unnecessary and new object oriented language, the need for which was already being fulfilled by C#. I cannot see the point in it as it is merely another .Net language that differs via syntax only.

    2. Again, VB related, for the first time you couldn't take your VB code, compile it in a new version of Visual Studio and get all the benefits. Expecting people to throw away millions of lines of code and start fresh for no benefit whatsoever is an epic fail and Microsoft diverged totally from their past views on this.

    3. VB related again, but there is still no RAD environment for .Net. Many developers simply don't need the complexity of an object oriented environment foisted on them. They should have implemented VB with .Net as they have with IronPython and at least made it API compatible so you could recompile, or learned from Ruby with or without Rails. Java might be complex but .Net is still complex compared to what else is on offer.

    4. As such, a great deal of applications, mostly VB, that could went web based and weren't re-written in .Net. At least with web applications you only need a very simple client and don't have to deal with that deployment shit.

    5. There is still a ton of stuff written with COM, and interacting with it is still a huge PITA when it comes to deployment issues. They should have focused on simplifying this as much as possible. The .Net -> COM and COM -> .Net interaction seems to have been bolted on as an afterthought like they were being forced into it.

    6. There are still a lot of applications where developers are not comfortable running it in a VM.

    7. One area where .Net is even worse than Java is the moving goalposts. Over the years people have asked whether they should being using WinForms, Avalon and then WPF. No one seems to know. When Windows 9 or 10 comes out then why should I migrate to a yet another new UI or other technology that will not benefit existing users in any way, thereby not making me any money, because Microsoft now won't make new components like WPF available for existing platforms? At least if you develop for XP any applications on there will work on Vista or 7. They might not look as pretty, but making things pretty for a limited userbase doesn't make any money. Just take a look at the Mac.

    Microsoft has lost a great deal of what made their development platforms attractive because they think they are losing money by doing it and there are too many divisions like MSDN wanting a piece of the action.

  73. Re:Java Is Victorious by binarylarry · · Score: 1

    OMG, my search:

    JAVA/J2EE/JEE/JJE/TOMCAT/JPA/GOOGLE/SUN/MICROSYSTEMS/JOBS/PLEASE/THANK/YOU/SEARCH/ENGINE

    returned exactly 0 results! OH NOES

    Java is truly dead!

    (lame filter avoidance code: ;laskd;awd ;ad a;lkawd; ;alkawd a;lkaw da;wldk)

    --
    Mod me down, my New Earth Global Warmingist friends!
  74. just look at the idiots who replied to the parent by unity100 · · Score: 1

    and tell me whether they deserve any reply, leave aside any grammar.

    7 out of 10 seems to be corporate slaves who are working their ass off in microsoft infrastructures, and being elitist about it. their image of free contracting world seems to be comprised of $20 scripts and $100 twitter clones, utterly painting a picture of utmost ignorance and cockiness.

    the rest seems to be immersed so much in the corporate world that they think some sizeable corporations running ecommerce outfits with ibm products constitute the bulk of commerce on the web, totally being unaware of the innumerable small businesses that are being run on free lamp software. with their logic one would easily say that the content creation on the net comprises of cnn, nbc, facebook, twitter, totally ignoring maybe 90% of the rest of the content on the web. more or less the same thing.

    corporate ignorance, and arrogance i say. they wont know anything before they go out to work on their own - which, i admit, is a very, very scary prospect for many that are used to corporate 'comfort'. no point in replying to them.

  75. MS done good. by hesaigo999ca · · Score: 1

    If we also include the fact that M$ has a 90% market share for desktop pc, and that to use a sony product with a sony products begats using a ms product with an ms product, it is no real surprise here! I program with .net vb and c# alike, and have found the fact that you can so easily integrate office products into your development and real added bonus, especially now with linq etc.... i think they are a notch above the rest for making innovation easy for developers trying to bring about code in a short amount of time.

    Jave requires you know so much about all the modules and constantly keep updated with it, where as most of the time ms usually has a good solid base for you to incorporate modules within the framework itself. Java has yet to prove to me its efficiency in this department. I would much prefer using java (back then) for linux porting, however with wine being able to run the framework, even this now is not a selling feature for java.

  76. Re:Asp.Net is NOT a 'popular' business framework. by rec9140 · · Score: 1

    Servers are Linux, specifically CentOS 5.4 based. We don't and will NOT EVER AGAIN go any where near any thing win related for servers or software..

    After 2.5 years with no results from a .net/asp mess there will never be anything from that again.

    The decision has been made that as things are upgraded, Linux will replace win on desktops, and in the server area. NOTHING BUT LINUX based comes in.

    So that means NO vb, no .net (WE SPECIFICALLY BAN mono/moonlight bs), no .asp.

    To get cross platform programs, that means Java, and thats where we are going.

    I won't even considering any applicants who have ms backgrounds, I simply do not want their bs tainting my staff.

    There were no vista upgrades, there will be no win 7 upgrades.The only upgrades will be to Linux on the desktop.

    --
    1311393600 - Back to Black
  77. Re:Asp.Net is NOT a 'popular' business framework. by unity100 · · Score: 0

    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.

    pure ignorance and microsoft elitism. thats what they are in.

    looking at their talk one would think that there are innumerable corporate asp.net positions flying around for anyone to have a grab at. the truth is, as one of the idiots himself posted, there are only 74 so positions open on a site like dice. merely 74. 74 good paying corporate positions. as if any individual with asp.net capability can snatch any job like that. there are innumerable crappy positions that are being offered for asp.net in business, just like any other field of expertise.

    elance, rentacoder are no different. there are crappy jobs in which someone wants to get juice out of you for $10/hour, there are jobs which are 5-10 k in budget that only highly reputed houses/individuals can get.

    NO different from any other position.

    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.

    you have as well interchangeability in lamp. moreover, due to the programming processes becoming increasingly standardized in lamp world, a person who is an expert in one well coded software does not have much problems working on another similarly well coded software.

    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.

    it isnt amazing. it is actually quite simple. the bulk of the needs of clients generally fall in similar lines. if you are a house/individual that has done many such implementations, inevitably you end up with code that can be reused. this is what the indian houses are generally doing. when they give a shitty $100 budget for a generic clone job, they are NOT doing programming from scratch. they are jumping in because your specs are almost the same with what custom script they have. they calculate that they can make a profit over the time they do the modifications to their existing script, and they jump in. naturally they win the project and deliver and it even works. because, it has been done before. its not development in a sense - its a software sale.

    the 'real money' is in unique, uncommon implementations. these tend to have higher budgets, and these are the ones indian houses (the lowest bidders) cant bid dimes. you would find that many of the indian houses that bid dimes to other 'projects' would bid proper, if lower budgets for such projects. the reason is simple - its a unique implementation, and henceforth a premade code does not exist for it yet. it is real programming.

     

    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.

    the thing is, any part-time ecommerce store owner or website operator soon learns that flash does not do things in backend. clients do request flash elements to look shiney in some parts, but i have found the majority of them quite informed and knowledgeable in ways of practicality regarding dynamic sites and estores. up to this point i had few uninformed individuals who requested quotes for 'flash estores' or the like.

  78. heh. by unity100 · · Score: 1

    tell that to the innumerable ms zealots who posted replies to the parent with scornful retorts.

    1. Re:heh. by Anonymous Coward · · Score: 0

      WOW, you merely need to look and see how defensive you have become to know that you are really the pot calling the kettle black.

      It is quite amusing to me to watch you continually fail to look convincing with your arguments, simply because of your zealotry and arrogance.

  79. no. by unity100 · · Score: 1

    first, there are a lot high charging companies and individuals which would make the AVERAGE $20, and i assure you the indian houses which charge supposedly $5-10 are coming up close to average with the methods they employ or extra charges in the end.

    and one wonders, what would the real hourly rate of a salaried individual who is working for a corporate position would happen to be if all the extra time s/he is required to spend for the corporation counted in.

  80. You're Counting Some 2 and 3 Times by CritterNYC · · Score: 2, Informative

    You're duplicating results in your calculations because most .NET job listings include 2 and often 3 of those terms.

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

    You'll find that:
    C# + .NET: 1,905
    C# + ASP.NET: 1,183 .NET + ASP.NET: 1,120
    C# + .NET + ASP.NET: 859

    So we get:
    C# + .NET (no ASP.NET): 1,046
    C# + ASP.NET (no .NET): 324 .NET + ASP.NET (no C#): 261

    So, your total is actually more like:
    Your total: 8266
    Subtract out the 2x the 859 listings that you counted 3 times: 6548
    Subtract out 1x the 3 double listings referenced above that you counted twice: 4917

    So even if you add them all together, you get 4,917. Which is still less than the 5,000+ Java listings... and we don't know how many over 5,000 that number is.

    If we're comparing platforms, it's Java vs .NET, which is 5000+ vs 3,623. If we're comparing languages, it's C# vs Java, which is 5,000+ to 2,920.

    Any way you slice it, Java is more popular.

  81. Re:Asp.Net is NOT a 'popular' business framework. by BitZtream · · Score: 1

    So your argument is that sites using a PHP storefront want PHP developers ...

    Guess what ...

    There are more people who run SharePoint than oscommerce, when they want a web dev, they aren't hiring PHP guys.

    We are in a different world. We aren't wearing your blinders. You're saying php is amazingly more popular, which in your eyes I'm sure it is, because you're looking for PHP jobs.

    You aren't looking for web dev jobs, you're looking at people who use php who want web devs, which are ... amazingly ... likely to want php devs ...

    You're basing your 'massive need' around a product that simply isn't that popular in the grand scheme of things. It may be the most popular storefront product on the Internet, but people do more than sale stuff with it on the Internet.

    You are a php fanboy whose blinders prevent you from seeing the big picture. There really is life outside of PHP, lots o fit, and you'll be amazed at how much happier you'll be when you realize that you really don't have to use PHP, there are other, better languages with frameworks that are far superior. Ignore .NET all you want, but for god sakes do yourself a favor and get a good look at the rest of the world and stop subjecting yourself to the hell that is LAMP development. LAMP development is newbies and those 4 massive websites that still are learning that using it from the start was a bad idea.

    And yes, I use Wikipedia myself, so don't bring it up, its not an impressive setup from a technical standpoint.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  82. .net is great for programmers but... by nilbog · · Score: 1

    Me: "Hey programmer guy, we need a small program that does XYZ." .NET guy: "It's going to take 6 months and we'll need to buy a license for these modules."

    PHP guy: "Sure, I can square that away in one caffein-fueled night."

    I'm not saying PHP is pretty or that it's better, but this sort of thing is a regular occurrence.

    --
    or else!
    1. Re:.net is great for programmers but... by gregarican · · Score: 1

      This makes no sense. By a "small program" I'm assuming you're talking about a web app since you throw the PHP reference in there, correct?

      Otherwise a quick GUI desktop app should be a breeze with any .NET language. I know I fulfilled many work requests of this nature before I purchased the full fledged Visual Studio. Their Express Editions are available as a freaking free download FFS!

    2. Re:.net is great for programmers but... by Anonymous Coward · · Score: 0

      Sadly, this is too true.

  83. They do not compare by Anonymous Coward · · Score: 0

    .NET is for all practical purposes a singe platform technology. Is it going to be dominant on that platform? Of course. Java is a thing at entirely different level. It's something that runs on every OS and every type of device out there. So, as soon as there's a chance that you need to support or interact with anything other than Windows .NET is out.

    Why not compare the popularity of Visual Basic vs Java?

  84. Re:Java Is Victorious by CaymanIslandCarpedie · · Score: 1

    How is my post a troll? Parent was very specific in searchs to perform on specific websites to see the "real world" situation. I followed his exact instructions (using defaults for my area when any specific instructions were missing) and reported the results. I've reported the objective results based on the exact specification and that is trolling?

    --
    "reality has a well-known liberal bias" - Steven Colbert
  85. Re:C# first choice? Ummm, no. by jlechem · · Score: 1

    I have to agree 100%. I have several desktop based applications that I wrote in C#. I found getting users to download and install the .net framework was a huge PITA. You can guard against this if you have a decent installer solution that required the user to download the framework and the smallest framework redistributable is 25 MB I believe. Because of this I have pretty much given up on .net for the desktop. I'm moving back to native code only so users don't have to download entire frameworks to run my apps. With windows 7 this might change since the OS has the latest framework. And I heard somewhere MS is now going to distribute the .net framework via windows update (why they didn't do this from day 1 I have no idea). Java IMO has the same issues users still have to download a runtime and deal with different versions of said runtime. Servers are a different matter entirely, code whatever best suites you and your needs there.

    --
    Hold up, wait a minute, let me put some pimpin in it
  86. Re:Asp.Net is NOT a 'popular' business framework. by unity100 · · Score: 1

    There are more people who run SharePoint than oscommerce, when they want a web dev, they aren't hiring PHP guys.

    no there arent. corporate world is quite unaware of the dynamics of the 'people's web.

    i would reply to you earnestly, however i noticed that yours, not my approach has a lot of elitism and fanboyism. from 'better languages' mindset to the mindset that can easily be modified to say that majority of content on the web are created by sources like cnn, facebook etc.

    apologies, i cant waste my time arguing with someone who can right out of the bat say that there are more 'people' using shareopoint server than oscommerce. you have no idea what you are talking about. do some research on oscommerce.

  87. Re:A success from an Open Source standpoint I'd sa by maxwell+demon · · Score: 1

    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.

    The problem with "seeming to have been sincere about not planning to" is that it's completely unreliable. Unless they make a clear, legally binding statement to this effect, you shouldn't rely on it. Even if at the moment they really don't plan to do so, who tells you they won't change their mind next year?

    --
    The Tao of math: The numbers you can count are not the real numbers.
  88. so then. by unity100 · · Score: 1

    why shouldnt i become 'defensive', when there are dozens of zealots assaulting with snubbing, scornful, and even irrelevant, personal attacks ?

    give me ANY logic that i shouldnt be 'defensive' and be accepting them lovingly, with open arms, like a jesus on the cross, and ignore all the elitism and ignorance in the posts.

    just do this, and i will drop all the arguments.

    It is quite amusing to me to watch you continually fail to look convincing with your arguments, simply because of your zealotry and arrogance.

    i wonder why the fuck one would feel the need to let the 'amusing party' know that they are being amused. if you are being amused, be amused by yourself in a corner or something. trying to belittle someone you are arguing against with such bullshit instead of any tangible argument is much more 'amusing' in itself.

    1. Re:so then. by Anonymous Coward · · Score: 0

      You shouldn't become defensive because you show that you are taking comments on the internet personally, i.e. emotionally. This is clearly indicative of the type of behavior you say you are fighting against.

      You dig your argument's grave deeper the more you reply. So it is obvious to everyone now just how much of a zealot you are.

      It is obvious what posts are hyperbolic / ignorant / elitist. And yours my friend is at the top of the list.

  89. Re:Java Is Victorious by curmudgeon99 · · Score: 1

    Obviously, dude, nobody is going to include J2EE and its more modern name of JEE. Your faked comparison proves my point. Hope you're using your .NET/C-pound skills in your burger-flipping job...

  90. it's always about Java is dying, etc etc.. by Anonymous Coward · · Score: 0

    Java has nothing to do with this article. It's about .NET and yes, I believe Microsoft has delivered somewhat.

    Nevertheless, .NET has ramped up it's complexity (especially when you go past the core libraries)..

    Just look at the .NET technology soup (Windows Communication Foundation, Windows Presentation Foundation, Entity Framework, LINQ, ASP.NET MVC, Enterprise Library, Managed Extensibility Framework, Windows Worfklow Foundation, etc etc).. Reality is Microsoft is trying their hardest build something more complicated than J2EE for the Enterprise - lol.

    Nevertheless, the recently released JEE6 platform (with the help of the larger Java community) improves that stack and makes it easier for enterprise developers to write systems (really started with JEE5). Nevertheless, it'll be another three to four years or so before it becomes the standard deployment platform. Currently, only Glassfish V3 supports the new API's.

    Redhat with JBOSS 6 will once again be very late, Oracle should have JEE6 supported added to Weblogic about a year, and IBM will once again take it sweet time (2+ years) to get WebSphere 8 out the door.

  91. Re:C# first choice? Ummm, no. by jabelli · · Score: 1

    Visual Studio isn't "major commercially-available software?" Process Explorer is telling me that "devenv.exe" is a a .NET process.

  92. not a fair comparison by farble1670 · · Score: 1

    first, java never held a high percent of development positions. the only thing the article shows is that MSFT successfully converted their existing developers to C#.

    second, a WORA language / SDK will never beat one that is written to run on a single platform. .NET is WORA in theory, Java is WORA in practice. there are necessarily some trade offs to be made if you are going to try to be WORA.

    third, i agree with other people that Java really slacked in past in terms of providing a polished look and feel, but that has changed. take a look at the new releases of the netbeans IDE for an example.

    and, for those that say it's not truly WORA, please point to an alternative that even comes close. yes there are sometimes differences to be worked out, but it's light years ahead of doing a traditional port.

  93. Re:Asp.Net is NOT a 'popular' business framework. by Anonymous Coward · · Score: 0

    Enterprise programming is Java and C#, using maintainable frameworks and coding standards.

    The only thing we use perl for is server-side maintenance scripts, and we only use perl because it's more fun than bash.

    You'll grow out of all this LAMP stuff sooner or later. Maybe.

  94. can we end this Java vs. C# thing? by recharged95 · · Score: 1

    Look, both languages will be around for a long time.

    Java == geared for maintainable/long term functionality (code that can be refactored)

    C# == geared for short lived, variable customer-changing functionality (code that can be reengineered).

    nuff said.

  95. Look and Feel by Anonymous Coward · · Score: 0

    "For a very long time, and still persisting into the present, Java apps often looked downright awful on many systems."

    javax.swing.UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

    Users will not know it is a swing app...

    1. Re:Look and Feel by Ralish · · Score: 1

      Swing is definitely a step in the right direction, and I've used it (in a basic capacity) in a few programs, but I gather it took a while to mature? I'm told by more experienced Java programmers that it took a while to really evolve into a toolkit that could be used extensively as a viable (at least partial replacement) for the AWT. They may be wrong, I don't know.

    2. Re:Look and Feel by bar-agent · · Score: 1

      javax.swing.UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
      Users will not know it is a swing app...

      No. It will be glaringly obvious to any Mac user that this is NOT a native app.

      --
      i'd hit it so hard, if you pulled me out you'd be the king of britain [bash.org]
  96. It isn't. by jotaeleemeese · · Score: 1

    It does not scale well.

    And it is insecure (ask your Windows representative what stuff from Active Directory goes into the registry for example).

    --
    IANAL but write like a drunk one.
  97. Classic ASP by Halotron1 · · Score: 2, Interesting

    If Microsoft really cared about devs, then the next version of IIS would allow Classic ASP and ASP.NET to share session state.
    Nothing like releasing ASP.NET and obsoleting millions of lines of code.

    Unlike VB6 to VB.NET there is no migration path from Classic ASP to ASP.NET other than a complete rewrite.

    1. Re:Classic ASP by Tablizer · · Score: 1

      That's what happens when you marry Microsoft. It'll Tigerwoods you when it feels like it.

    2. Re:Classic ASP by tirnacopu · · Score: 1

      Ever heard of cookies?

  98. But mono is not multiplatform. by digsbo · · Score: 1

    Mono only runs on PC hardware. If you're running Solaris, AIX, HPUX, you're out of luck. A lot of shops could migrate to Mono more easily if it were multiplatform, but it's not.

    1. Re:But mono is not multiplatform. by Anonymous Coward · · Score: 0

      I think you can still get builds of Mono for Solaris (SPARC as well as x86) and some mobile devices ... although they were not terribly well supported the last time I looked, which caused a few problems for me a year or so ago because of not all of Mono was working properly on Solaris (due to non-Mono related system issues I couldn't use a Linux/BSD platform either and ended up having to deploy my Mac OS X developed Mono app on a Windows IIS/.NET server, which I hadn't tried before, but it worked automagically).

      There is also MonoTouch for iPhone and Unity3D for Mono apps on the Wii/iPhone, but I appreciate that's not the same thing.

      Not sure AIX or HPUX are a big deal, though I think they are both pretty evil, but I agree supporting relatively up to date releases Solaris x86 and UltraSPARC would aid adoption in the enterprise market.

  99. yea. by unity100 · · Score: 1

    and you specialize in what ? pulling statistics out of your ass ?

    99% ? not 87.5% or 79.1% ? give me a break.

  100. .NET benefits... for Microsoft by Tetsujin · · Score: 1

    Dotnet provides a consistant abstraction interface for writing software that happens to run on their OPERATING SYSTEM. What would be the point of an operating system if nobody is/can write software for it?

    People wrote software for Windows before .NET existed... That's what APIs are for.

    What this whole virtual machine thing gets them is the ability to migrate to other processor architectures without a huge disruption. Right now the large codebase of native-compiled applications ties them to the IA-32 and AMD-64 platforms. They could move Windows to other platforms (and, of course, they have) but without binary compatibility, many of the advantages of Windows are simply lost. Building a VM into their operating system gives them flexibility in the future, and gives them a better bargaining position in terms of determining future architectural decisions for the PC platform.

    I don't think users benefit from .NET nearly as much as Microsoft benefits from people coming to rely upon it.

    --
    Bow-ties are cool.
  101. Ironic... doncha think? by Tetsujin · · Score: 1

    How is that ironic?

    I don't know, I just remember it was in that Alanis Morissette song... "It's like that guy who design Delphi, who also designed C sharp..."

    --
    Bow-ties are cool.
  102. Re:Java Is Victorious by CaymanIslandCarpedie · · Score: 1

    Obviously, dude, nobody is going to include J2EE and its more modern name of JEE. Your faked comparison proves my point. Hope you're using your .NET/C-pound skills in your burger-flipping job...

    Nobody is going to use it? YOU were the one who used it! I faked nothing. Not my fault you provided what you now claim is an invalid search "dude".

    --
    "reality has a well-known liberal bias" - Steven Colbert
  103. Re:Asp.Net is NOT a 'popular' business framework. by Anonymous Coward · · Score: 0

    Honestly the only thing worse than a PHP programmer is an ASP.NET programmer.

    While you may be under the impression that you're part of 'the' industry, I can assure you're not.

    You play on the web monkey jungle-gym. It may pay your bills, it may make you feel proud but at the end of the day those of us who program in real languages and understand how operating systems work wouldn't see any increase in business if all of you went away because it's make-busy trivial crap that we wouldn't waste our time with.

    Kudos for realizing that PHP is the only rung on the ladder lower than yourself, you know your station.

  104. Re:Asp.Net is NOT a 'popular' business framework. by Mongoose+Disciple · · Score: 1

    , as one of the idiots himself posted, there are only 74 so positions open on a site like dice. merely 74

    In the particular town in which he lives.

    Or did you think that calling someone an idiot without actually reading their post makes you look smart?

  105. Re:Asp.Net is NOT a 'popular' business framework. by Anonymous Coward · · Score: 0

    Fuck you too, douche.

    If I need a solution that costs 5 times as much and delivers half the functionality I'll know where to find you.

  106. Re:Java Is Victorious by Avalain · · Score: 1

    Well, actually it's YOUR faked comparison. You said "Go to Monster.com or Dice.com and do a search on Java/J2EE/JEE versus .NET/C#.". So he did. He's being a bit tongue-in-cheek and obviously you missed it.

  107. Re:Java Is Victorious by curmudgeon99 · · Score: 1

    Okay, Mr. Literal: Search on Java OR J2EE OR JEE

  108. Re:Asp.Net is NOT a 'popular' business framework. by St.Creed · · Score: 1

    From the osCommerce website: "osCommerce was started in March 2000 and has since matured to a solution that is currently powering 11,456 registered live shops around the world."

    I'll refrain from further comment.

    --
    Therefore, by the (faulty) logic you're using, you're just a cow with a keyboard - osu-neko (2604)
  109. Nope, neither 2003 nor 2008 are. by CritterNYC · · Score: 1

    Neither Visual Studio 2003 nor Visual Studio 2008 are written on .NET.

  110. Not on Windows Update by CritterNYC · · Score: 1

    Microsoft distributed .NET updates over Windows Update when you already have it installed, but doesn't automatically install it, so most users don't have it since most users only do automatic (aka critical) updates. If you have manually installed .NET 2.0, it won't auto-install .NET 3.0 either... just security updates for .NET 2.0.

    I have a breakdown of what .NET versions are pre-installed and available for download for each version of Windows here:
    http://johnhaller.com/jh/useful_stuff/dotnet_portable_apps/

  111. Why is it not popular? by Anonymous Coward · · Score: 0

    If JavaFX is that good, how come it is not popular?

  112. Why is C# 5x slower than plain ANSI-C scripts? by BugHappy · · Score: 1

    The notion of "progress" should involve, err, some kind of enhancement.

    IIS 7.0 ASP.Net C# (footprint=1GB) being 5 TIMES slower than plain TrustLeap G-WAN ANSI C89 scripts (footprint=100KB), the question is simple: where is the progress?

  113. Re:.NET benefits... for Microsoft by ta+bu+shi+da+yu · · Score: 1

    Uh... that's not what .NET is for. .NET has a Common Language Specification (CLS) that is published by the ECMA, so technically anyone can use this to write a compiler. And they have - search google for the Mono project.

    But I also think you are confusing something when you say why can't they port Windows to another architecture. .NET, let's make this clear, relies with the operating system, but the operating system does not rely on .NET. There are other reasons why they haven't migrated across to other architectures, but they could always still do this by swapping out their HAL to the new architecture. And, in fact, they did this for Windows NT back in the day for the DEC Alpha, and in the initial prereleases of Windows 2000.

    --
    XML is like violence. If it doesn't solve the problem, use more.
  114. A mistake by Microsoft (can be corrected though) by Anonymous Coward · · Score: 0

    "1. It is not a compact format

    2. It has to be read into memory often the file itself isnt searchable or indexed.

    3. No support for Unicode host names (its an ANSI text file, not UTF8)

    4. There is no way to control access for readers and writers its a text file not a database

    5. If I was a malware writer this is the first place Id look to change things. Oliver day mentions this in his article. So does Wikipedia. - http://foredecker.wordpress.com/2009/12/07/dear-anonymous-slashdot-guy/

    Per your points on HOSTS files, my disprovals of your points are below, 1 by 1, via an emumerated reply:

    ====

    "1. It is not a compact format" - by Foredecker http://foredecker.wordpress.com/2009/12/07/dear-anonymous-slashdot-guy/

    APK REPLY/REBUTTAL: It isn't when you folks removed what makes it smaller & F A S T E R to read up from disk/file, into memory (0 blocking address, no longer possible in VISTA, Windows Server 2008, & Windows 7 ever since MS Patch Tuesday 12/08/2008, when Microsoft REMOVED 0 as a legit blocking IP address in HOSTS files in those versions of Windows NT based OS).

    Funny - because Windows 2000 had it & still does (as do Windows XP & Windows Server 2003 still). However, Windows 2000 didn't have 0 as a LEGITIMATE BLOCKING ADDRESS FOR HOSTS FILES in its original model for sale on CD... 0 was added in a service pack, afterwards (because it is smaller & faster, & a good thing... a good thing I am wondering WHY you have removed from HOSTS in Windows VISTA onwards... when it DID WORK ON VISTA, up to 12/09/2008 MS Patch Tuesday, but not afterwards!)

    ----

    "2. It has to be read into memory often the file itself isnt searchable or indexed" - by Foredecker http://foredecker.wordpress.com/2009/12/07/dear-anonymous-slashdot-guy/

    APK REPLY/REBUTTAL: NO, it does not.

    The local DNS client can handle it, but ONLY UP TO A CERTAIN SIZE (another problem IS the DNS CLIENT CACHE ITSELF, failing on larger HOSTS files, mind you)... so, you disable the local DNS client service is all.

    Then, your local diskcache subsystem caches the file & "repeated reads" are ELIMINATED!

    ----

    "3. No support for Unicode host names (its an ANSI text file, not UTF8)" - by Foredecker http://foredecker.wordpress.com/2009/12/07/dear-anonymous-slashdot-guy/

    APK REPLY/REBUTTAL: The HOSTS file doesn't require this. Not on *NIX variants, not on Windows. It is a text file, period & SPECIFICALLY, an ASCII text file (not the types you stated), per RFC 606, 608, & 627 (nor is it a database as you seem to be alluding to above, this is how it was designed not by Microsoft, but by the folks in the *NIX world, period, via the BSD reference design which Microsoft uses for their IP stack).

    ----

    "4. There is no way to control access for readers and writers its a text file not a database" - by Foredecker http://foredecker.wordpress.com/2009/12/07/dear-anonymous-slashdot-guy/

    APK REPLY/REBUTTAL: You can READ ONLY (set this attribute on it) protect it. Easy enough (or more radically, apply ACL security to it)

    ----

    "5.) If I was a malware writer this is the first place Id look to change things. Oliver day mentions this in his article" - by Foredecker http://foredecker.wordpres

  115. Re:AH Hoffman or Hitler by Douglas+Goodall · · Score: 1

    Adolf Hitler or Albert Hoffman. One gave us LSD and the other a history so terrible that some people refuse to acknowledge it exists.

  116. Why doesn't MS use .Net themselves? by dingen · · Score: 1

    I've always wondered about this: .NET is around now for 10 years or so and still most products shipped by MS are not built using it. Why is that? It sends off a really strange message in my opinion... like a chef who doesn't eat his own food.

    --
    Pretty good is actually pretty bad.
  117. Re:.NET benefits... for Microsoft by Tetsujin · · Score: 1

    Uh... that's not what .NET is for. .NET has a Common Language Specification (CLS) that is published by the ECMA, so technically anyone can use this to write a compiler. And they have - search google for the Mono project.

    WHOA, HOLY SHIT I READ SLASHDOT AND I NEVER HEARD OF MONO BEFORE.

    Anyone can write a compiler or a runtime engine - just as anyone could write a C++ compiler, a Pentium emulator, and re-implement WINE. But that's the thing: emulating the architecture (the processor - or, in the case of .NET, the virtual machine) is one thing... Emulating the software platform (the Windows APIs) is entirely another.

    The reason they can't readily shuffle the Windows platform to another architecture is because people have a bunch of applications they still want to run which are IA32-native. This hasn't changed with the introduction of .NET, and Microsoft would suffer greatly if they tried to force such a platform change at this point. If most new applications were built upon .NET, it would still take several years before an architecture transition could be made without seriously impacting Microsoft's position. But this is exactly what Microsoft has done: they've introduced .NET and encouraged people to use it. They've reached a point where a large number of people do use it. Windows hasn't yet reached the point at which it could simply pack up and move to another architecture, but it's moving in that direction... Gradually - which makes the transition much less jarring than, for instance, Apple's move from PowerPC to Intel...

    And, in fact, they did this for Windows NT back in the day for the DEC Alpha, and in the initial prereleases of Windows 2000.

    I did mention this in my own post, actually. But without any level of binary compatibility, the usefulness of those releases was rather limited. Processor architecture was a problem for Windows CE as well - just about everybody who runs a mobile platform these days is looking to virtual machines as a way to keep dependence upon a single processor architecture from biting them a few years down the road...

    --
    Bow-ties are cool.
  118. Not quite... by dudeeh · · Score: 1

    Though I must agree with some previous posters that java has not really progressed much lately feature-wise, but it is most definatly the corporate standard, at least around these parts (europe). I work in the EAI sector which uses both plain java EE and platforms built on java to integrate a number of systems. Our company works with a lot of suites built on java and only one built on .net... which is microsoft's own suite of course. I even see entire microsoft shops opting for java-based technologies instead of .net.

    Java still dominates the industry by far and I don't think this is likely to change. And though java may have stagnated a bit feature wise, there are (much like in the .net world) other languages filling in the gaps. Scala and their ilk can offer features that java does not have, and still run side by side on the jvm.

  119. Re:.NET benefits... for Microsoft by ta+bu+shi+da+yu · · Score: 1

    Emulating the software platform (the Windows APIs) is entirely another.

    Uh-huh. .NET doesn't rely on the Windows APIs (i.e. Win32). Go do some reading.

    The reason they can't readily shuffle the Windows platform to another architecture is because people have a bunch of applications they still want to run which are IA32-native.

    Sure, but that has nothing to do with .NET.

    --
    XML is like violence. If it doesn't solve the problem, use more.
  120. Re:.NET benefits... for Microsoft by Tetsujin · · Score: 1

    Emulating the software platform (the Windows APIs) is entirely another.

    Uh-huh. .NET doesn't rely on the Windows APIs (i.e. Win32). Go do some reading.

    Nevertheless, the .NET platform relies upon certain libraries and interfaces. The difference between emulating the Common Language Runtime and emulating the entire .NET platform is equivalent to the difference between writing a PC emulator and re-implementing Windows.

    The reason they can't readily shuffle the Windows platform to another architecture is because people have a bunch of applications they still want to run which are IA32-native.

    Sure, but that has nothing to do with .NET.

    It does. .NET is how Microsoft is getting themselves out of that situation.

    --
    Bow-ties are cool.
  121. Re:.NET benefits... for Microsoft by ta+bu+shi+da+yu · · Score: 1

    Nevertheless, the .NET platform relies upon certain libraries and interfaces. The difference between emulating the Common Language Runtime and emulating the entire .NET platform is equivalent to the difference between writing a PC emulator and re-implementing Windows.

    Which ones?

    --
    XML is like violence. If it doesn't solve the problem, use more.
  122. Re:.NET benefits... for Microsoft by Tetsujin · · Score: 1

    Nevertheless, the .NET platform relies upon certain libraries and interfaces.

    Which ones?

    All of them! I guess you could look here and see which ones Mono still lacks...

    Though I would say, since .NET is a bit of a fresh start, the problem of replicating its libraries probably isn't as complicated as replicating all the stuff WINE needed to replicate... (It seems that way. I only say "probably" because I don't know.)

    The ECMA standards cover the C# language and the CLR runtime - and, from what I understand, precious little else. The interfaces are known but things like Windows Forms and Silverlight have to be re-implemented for other platforms (i.e. Mono) if people want support for it outside Windows. If you think I'm wrong on this point, please feel free to elaborate. Provide some information if you've got it.

    But in any case, I don't see what this has to do with my point - which was that .NET serves as Microsoft's exit strategy from IA-32 dependence. I believe that Microsoft is letting enough of .NET loose to encourage wider adoption, while keeping enough of it to themselves that they can act as gatekeepers for the platform. But even if they really are completely open with the platform: that doesn't change the fact that its existence provides Microsoft with a way to move their developers, and eventually their users, off of IA-32 code. I don't even understand why that would be a contentious idea.

    --
    Bow-ties are cool.