Slashdot Mirror


Ask Slashdot: Is an Open Source .NET Up To the Job?

Rob Y. writes: The discussion on Slashdot about Microsoft's move to open source .NET core has centered on:

1. whether this means Microsoft is no longer the enemy of the open source movement
2. if not, then does it mean Microsoft has so lost in the web server arena that it's resorting to desperate moves.
3. or nah — it's standard Microsoft operating procedure. Embrace, extend, extinguish.

What I'd like to ask is whether anybody that's not currently a .NET fan actually wants to use it? Open source or not. What is the competition? Java? PHP? Ruby? Node.js? All of the above? Anything but Microsoft? Because as an OSS advocate, I see only one serious reason to even consider using it — standardization. Any of those competing platforms could be as good or better, but the problem is: how to get a job in this industry when there are so many massively complex platforms out there. I'm still coding in C, and at 62, will probably live out my working days doing that. But I can still remember when learning a new programming language was no big deal. Even C required learning a fairly large library to make it useful, but it's nothing compared to what's out there today. And worse, jobs (and technologies) don't last like they used to. Odds are, in a few years, you'll be starting over in yet another job where they use something else.

Employers love standardization. Choosing a standard means you can't be blamed for your choice. Choosing a standard means you can recruit young, cheap developers and actually get some output from them before they move on. Or you can outsource with some hope of success (because that's what outsourcing firms do — recruit young, cheap devs and rotate them around). To me, those are red flags — not pluses at all. But they're undeniable pluses to greedy employers. Of course, there's much more to being an effective developer than knowing the platform so you can be easily slotted in to a project. But try telling that to the private equity guys running too much of the show these days.

So, assuming Microsoft is sincere about this open source move,
1. Is .NET up to the job?
2. Is there an open source choice today that's popular enough to be considered the standard that employers would like?
3. If the answer to 1 is yes and 2 is no, make the argument for avoiding .NET.

421 comments

  1. Why bother? by BarbaraHudson · · Score: 3, Informative

    If you're already using something that works (and who isn't), what's the motivation to change?

    --
    "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    1. Re:Why bother? by Frosty+Piss · · Score: 3, Informative

      If you're already using something that works (and who isn't), what's the motivation to change?

      As much as the Slashdot Hardcore might hate it, .NET has a huge presence in "enterprise" software and IT. It behooves one to know something about it, it's a popular too that might get you a job... On the other hand, there are many still on the Java boat.

      --
      If you want news from today, you have to come back tomorrow.
    2. Re:Why bother? by Anonymous Coward · · Score: 0

      Are you saying that software development languages in their current state are perfect and there is no reason to learn anything new or different? If so, in the not too distant future I predict you'll be walking out of your job with your personal items in a cardboard box.

    3. Re:Why bother? by Kagetsuki · · Score: 3, Insightful

      .NET is slowly beeing weeded out of the enterprise though and that's a trend I don't want to see diminished by devs picking up .NET because it's now "open source". It's OK to hate .NET, open source or not.

    4. Re:Why bother? by BarbaraHudson · · Score: 5, Insightful

      I think you missed my point, so please allow me to elaborate. For someone who wants to go from Windows to other platforms, an open-source .NET makes sense, but only if their code is already in .NET.

      For people who are already using toolchains other than .NET that support their products on multiple platforms, there's no reason to switch. It's just "re-implementing the wheel" with another language.

      And since the official Java implementation is open source (OpenJDK) and has been for years, why not just stick with it if you're already using it? So really, the majority of people who aren't already using .NET have no real reason to switch.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    5. Re:Why bother? by Anonymous Coward · · Score: 0

      It'll get you a job maintaining some crap code written half a decade ago, on a minimum budget.

    6. Re:Why bother? by BarbaraHudson · · Score: 2

      Are you saying that software development languages in their current state are perfect and there is no reason to learn anything new or different? If so, in the not too distant future I predict you'll be walking out of your job with your personal items in a cardboard box.

      That's not what I wrote. I wrote that there's no real reason for projects and programmers who are already implementing solutions using other toolchains to make the switch. Why re-code the wheel? If, for example, you coded your project in Java (which has been open-sourced for years and runs on multiple platforms), why would you switch to .NET and obsolete all your current code that's (hopefully) already been written and debugged?

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    7. Re:Why bother? by Anonymous Coward · · Score: 0

      Hah. You're one to talk about motivation to change, Tommy Boy.

    8. Re:Why bother? by Anonymous Coward · · Score: 4, Informative

      Two words: Visual Studio. As a tool for productivity, Visual Studio is the best debugger out there and has been for 25 years. And it runs on Windows, which is the desktop OS of choice as far as corporate America is concerned. Particularly for IT managers at businesses outside the software industry, that looks mighty attractive when they're deciding on a platform for their inhouse apps. .NET is as good or better than Java for most purposes and the managers don't care about the FOSS ideology and Microsoft's past antitrust abuses, at least not when they're wearing their company hats.

    9. Re:Why bother? by Billly+Gates · · Score: 1

      I welcome it if it is more open and cheaper. 100k to start a website for unlimited licenses is freaking nuts.

      But that was a few years ago.

      MS is changing because they have lost and can no longer use leverage like they once did. Witness IE and visual studio where lots of free competition exists?

      I welcome an alternative to java and hopes it encourages python and php to get their acts together. More competition the better for everyone

    10. Re:Why bother? by jd2112 · · Score: 1

      If you're already using something that works (and who isn't), what's the motivation to change?

      As much as the Slashdot Hardcore might hate it, .NET has a huge presence in "enterprise" software and IT. It behooves one to know something about it, it's a popular too that might get you a job... On the other hand, there are many still on the Java boat.

      The question now is "Which is the greater Evil and/or threat to Open Source: Microsoft or Oracle?" Personally I think Oracle wins hands down on both counts.
      I have always preferred .NET to Java, with the main drawback to .NET is that in the past its cross-platform functionality has been quite limited.

      --
      Any insufficiently advanced magic is indistinguishable from technology.
    11. Re:Why bother? by digsbo · · Score: 3, Interesting

      Agree with AC. I've done a number of different languages, and used a few different IDEs (including Eclipse, Netbeans, and whatever WebObjects used), and VS is the best of those, hands down. I still have to argue with C guys at the office that for application development (not bit slinging) that automatically memory managed languages like C# are superior for productivity to C/C++. I am thrilled that developing in visual studio and deploying to Linux (without limitation) is a realistic option in a couple years.

    12. Re:Why bother? by jd2112 · · Score: 5, Insightful

      .NET is slowly beeing weeded out of the enterprise though and that's a trend I don't want to see diminished by devs picking up .NET because it's now "open source". It's OK to hate .NET, open source or not.

      Citation please? I've been seeing a gradual increase in .NET development, And I get called frequently by headhunters looking for .NET developers despite that software development is not my primary job function.

      --
      Any insufficiently advanced magic is indistinguishable from technology.
    13. Re:Why bother? by Crazy+Taco · · Score: 3, Interesting

      .NET is slowly beeing weeded out of the enterprise though and that's a trend I don't want to see diminished by devs picking up .NET because it's now "open source". It's OK to hate .NET, open source or not.

      Lol, are you serious about that? That's not true at all! I work at a fortune 500 company and it's the exact opposite: it's Java that everyone is trying to weed out. There are several reasons for this, but they include these three things: Java's performance is slower than .Net, Java's IDEs are not as good as .Net's (Visual Studio is probably the best IDE ever built), and most importantly, the constant daily updates of Java to fix security flaws are driving everyone crazy and causing support nightmares. When haven't you recently turned on your computer only to have Java say an update is ready to install, and then pop up it's really slow installer to do it (that tries to install Ask.com as your homepage to boot)?

      And one other thing about Java and another reason enterprises are trying to weed it out... the various Java application servers sprawling all over the place are seriously annoying and make supporting Java well a massive undertaking of training and manpower. In my organization, we have purchased Java applications from vendors that are based on all of these: Oracle Weblogic, IBM Websphere, Apache Tomcat, Redhat JBoss, and Apache Geronimo, and we have to figure out how to admin and support them all. And worse, none of these are as good as .Net/IIS, which is what we've chosen for all custom development that we do in house.

      Plus, there are other things about .Net that make it better than many alternatives. For one thing, it's not a language, it's a runtime. There are all variety of languages you can use, which means you can use .Net whether your programmers come from a C syntax background or a Visual Basic type of background. And when it comes to web technologies, MVC and other .Net contributions are excellent: much better than the Java equivalents. And IIS is a fantastic web servers these days. True, it got off to a rocky, buggy start and trailed Apache for years, up through the IIS 6 days, but with IIS 7 and above it's actually much better than Apache, both in ease of administration and more importantly, in performance (why is Apache still spawning processes for every request that comes in... don't they realize the overhead of that??). A lot of the performance reasons that are behind people switching from Apache to Nginx are also capabilities that IIS has.

      So I really don't understand where this bashing of .Net comes from, but I'm guessing a lot of it is from open source fanboys that love to hate Microsoft and have never taken time to use the recent (last 3-5 years) iterations of it's products. I totally get that a lot of people up to now have certainly preferred open source because it is free, but with .Net going that way a lot of you should try it. Having used Java and .Net both, I'd never in a million years pick Java over .Net. And I'd never pick PHP over .Net either, because that technology is pretty much the equivalent of what Microsoft's classic ASP was a decade ago, and .Net is far ahead of it now.

      --
      Beware of bugs in the above code; I have only proved it correct, not tried it.
    14. Re:Why bother? by ClickOnThis · · Score: 2

      I have always preferred .NET to Java,

      Why? A sincere question, not a snark. Is it multi-programing-language support? The Microsoft IDE (VS?) What is it that wins over the Java ecosystem?

      with the main drawback to .NET is that in the past its cross-platform functionality has been quite limited.

      Until Mono came along, I assume you mean. I have little experience with Mono. Those who do, please weigh in: does Mono offer equivalent cross-platform flexibility to Java run-time environments?

      --
      If it weren't for deadlines, nothing would be late.
    15. Re:Why bother? by BarbaraHudson · · Score: 1

      That still doesn't address my point - you're not going to orphan an existing code base to switch to another language and waste your time essentially re-inventing your wheel.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    16. Re:Why bother? by Bite+The+Pillow · · Score: 3, Interesting

      You ask why switch... but that is not the only option.

      I have enough experience in Java to know how to write Java style, with Java conventions. And the problems it can cause. I have enough experience with Java developers writing .NET code to know which questions you have to ask to see if someone can code by copying Stackoverflow or Codeproject examples, or really knows their business.

      If you have a .NET focused person who also claims Java experience, how do you know what questions to ask if you don't know .NET?

      My focus is in hiring or interviewing. At a tech lead level you might have to decide whom to trust when deadlines matter and skillsets are a mystery. As a sole developer, you may have interview questions on both languages if you put them down, so they can decide where you are most needed.

      Ca read .NET and write Java? What if they need someone who can read/maintain Java and write .NET?

      I've always said that learning a competing language shows you the faults in your own. If there are no faults, you can defend that statement.

      You say why bother, I say why not?

      1. Is .NET up to the job?
      As I understand it, only parts of .NET are open source at the moment. Platforms other than Windows may not be supported, and the CLR is not yet open. Your requirements determine if it is up to the job. I'm guessing that for most people, the closed Windows implementation may be, but the open source part might not be.

      2. Is there an open source choice today that's popular enough to be considered the standard that employers would like?
      Java, but it is hardly a standard requirement. I'm answering no to this one.

      3. If the answer to 1 is yes and 2 is no, make the argument for avoiding .NET.
      Answer #1 has already made that argument for you. I'm guessing you didn't understand what is or is not open source now.

      In particular, some of .NET CLR is a managed wrapper of the Windows API, much like MFC was an object-oriented wrapper. I don't see those bits being valuable cross-platform without an abstraction layer like WINE in between, and then the utility to people who use GTK or wxWidgets will be marginal. Why use it if you already know another windowing library?

      "Why not learn it?" of course, but since we're talking about OS-level internals now, and things that are not supported by the current state of the .NET release, it's fair to say that the argument to avoid it is obvious.

      Disclaimer: I get paid to do .NET, but I don't get paid to convince you to do the same.

    17. Re:Why bother? by Anonymous Coward · · Score: 0, Flamebait

      I smell a shill. .NET is being phased out in a LOT of places, particularly the (very) large companies I consult for. There are a handful of holdouts, but they will likely end up carrying it all the way to their demise if they don't switch away soon.

      And the primary argument against .NET is that it is a Microsoft product, and it's hard to convince beaten developers to come back to a sinking ship.

    18. Re:Why bother? by jsrjsr · · Score: 2

      Really? Weeded out? I've been developing in C# since .NET 1.0 showed up. Around .NET 2.0, we wrote our first full product in .NET. Our next new product uses .NET 4.5. So far I've heard nothing about .NET getting "weeded out" from anyone at my company.

    19. Re:Why bother? by Anonymous Coward · · Score: 1, Insightful

      And the primary argument against .NET is that it is a Microsoft product

      Which is a stupid argument. Judge the product by the product, not its maker.

    20. Re:Why bother? by Anonymous Coward · · Score: 1

      Anyone with a large codebase in production is unlikely to abandon it unless they're convinced that they can't get to where they want without a rewrite. Twitter's decision to abandon Ruby comes to mind. So the question is not, what existing code bases will be rewritten in .NET, but should be, will this encourage managers and developers to write new apps in .NET as opposed to something else. And the answer is...

      I don't know.

    21. Re:Why bother? by Grishnakh · · Score: 0

      but I'm guessing a lot of it is from open source fanboys that love to hate Microsoft and have never taken time to use the recent (last 3-5 years) iterations of it's products.

      All you have to do is try out Windows 8/Metro to renew any hatred for MS products that may have subsided.

    22. Re:Why bother? by curmudgeon99 · · Score: 4, Informative

      Java is killing it all around the United States. My company just had me rewrite a series of apps to remove the entire MS stack from .NET to SQLServer.

    23. Re: Why bother? by Anonymous Coward · · Score: 0

      No one wants to reply to your straw man

    24. Re:Why bother? by davester666 · · Score: 0

      the constant daily updates of Java to fix security flaws are driving everyone crazy and causing support nightmares.

      And .Net has no updates. Ok, maybe just one or two a year...for new features. It has no security problems.

      --
      Sleep your way to a whiter smile...date a dentist!
    25. Re:Why bother? by Anonymous Coward · · Score: 0

      .NET is definitely being slowly deprecated at the (large international) company I work for. Not that the .NET developers aren't trying to put up a fight. But it basically comes down to the JVM being an open, standard thing that can be deployed on Linux and with which a variety of languages can be used. If .NET and C# compiled to JVM bytecode it might stand a chance at our place, but otherwise the writing is on the wall. That's not to say there won't be plenty of jobs for years. There's probably still COBOL somewhere in the company.

    26. Re:Why bother? by DuckDodgers · · Score: 5, Insightful

      .NET performance isn't better, I don't know where you got that from. .NET startup is better - non-Micro-Edition versions of the Java Virtual Machine load the whole Java language standard library at startup, and it's a pretty big standard library, so it is slower and uses more memory than a .NET application at startup. But the Java Virtual Machine has the HotSpot ( https://en.wikipedia.org/wiki/... ) which does runtime alteration and optimization of code. What that means is that for long-running code - which is of course the common case for web servers - the Java Virtual Machine monitors the execution profile of methods and once a method is executed around 10,000 times it will examine it and if it can find common cases or frequently used code paths it will dynamically rewrite the method or inline it to make it faster. As far as I know, .NET has nothing similar - performance never changes.

      The Java Virtual Machine is also a runtime. .NET supports C#, VB.net, F#, Nemerle, and a number of other languages. The Java Virtual Machine supports Java, Ruby, Python, Groovy, Scala, Clojure, Scheme (Kawa), Lisp (ABCL), Javascript, and a number of other languages.

      And last but most importantly, it's been more than five years since I rejected Microsoft options out of hand for technical reasons. But I still reject them for ethical ones. This is a company that intentionally modified APIs to break third party applications, lied about software releases and features to hurt competitors, made business deals that are illegal under US anti-trust law with OEMs to block competition, waged countless FUD campaigns throughout its life, and wields its intellectual property resources like a weapon of mass economic destruction to squash innovative competitors. Where would the world technology industry be today if we didn't have this trillion dollar parasite doing more work than any other factor to stifle competition?

    27. Re:Why bother? by Kagetsuki · · Score: 4, Interesting

      Uhh... .NET usage has been falling for many years now, that's why they made it open source to try and recover from that trend. I'm confused as to why you are asking for citation when the whole discussion is sort of based on this issue. Also note that headhunters looking for .NET devs could be the result of devs *leaving* .NET causing a lack of hands and thusly an increased need.

      If you want a more detailed answer: .NET was generally used in these huge systems where end to end would be built with the same framework. The thing is .NET is not always the "right tool for the job" and increasingly it is rarely the framework devs want to work with. Because of this the general trend is to have more modular systems where each component is built separately and just connected with an API or some cross-component communication protocol (EG Rails server app with API and native mobile clients).

      Of course there are a variety of mertis and demeris, cost issues, etc. to consider so I'm not going to tell you to get off .NET but it would probably be a good idea to keep an open mind and to at least try out some other frameworks (and languages) in your spare time. That "gradual increase" you are preceiving in .NET could end and it would be good to have a fallback; not to mention you can reverse-import some tricks from other frameworks into .NET once you know them (or bring some tricks from .NET into other langauges or frameworks).

    28. Re:Why bother? by drinkypoo · · Score: 1

      So I really don't understand where this bashing of .Net comes from, but I'm guessing a lot of it is from open source fanboys that love to hate Microsoft and have never taken time to use the recent (last 3-5 years) iterations of it's products.

      It's not about perceived quality, although the perceived quality is fairly low because all of the identifiably .NET software I've used so far has been slower than the competition... but I'm willing to imagine that the software I've used has been of particularly poor quality itself, and it's not .NET's fault. It's because I don't trust Microsoft. Now that they are apparently open sourcing the interesting parts of .NET, their primary influence over the language should be only their control over the best IDE, which is significant but not necessarily a deal-breaker. However, as long as the majority of the .NET world is Microsoft-based, I still won't trust it. And therein lies the problem; it's going to have to have a bunch of competing implementations and thus many of the same problems as Java before it's going to be trustworthy.

      If you're happy being tied to Windows, more power to you, I guess. I'm not. I'm not happy about ask.com invitations either, mind you. But I don't actually see those on Linux.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    29. Re:Why bother? by curmudgeon99 · · Score: 5, Interesting
      Not true.
      Monster:
      • NYC: 134 jobs Java, 74 .NET
      • Chicago: 59 jobs Java , 45 jobs .NET
      • San Francisco, CA: 116 jobs Java, 16 jobs .NET
      • Seattle: 38 jobs Java, 35 jobs .NET
      • Redmond, WA: 39 jobs Java, 32 jobs .NET

      Dice

      • NYC: 863 jobs Java, 330 jobs .NET
      • Chicago: 293 jobs Java, 197 jobs .NET
      • San Francisco: 512 jobs Java, 115 jobs .NET
      • Seattle: 301 jobs Java, 74 jobs .NET
      • Redmond, WA: 13 jobs Java, 34 jobs .NET

      So, ONLY on Dice and ONLY in Redmond, WA--Microsoft's home--are there more .NET jobs than Java. Everywhere else Java kills .NET.

    30. Re:Why bother? by Kagetsuki · · Score: 1

      You are a .NET dev in a .NET company with .NET devs. Why on earth would someone there just up and say "Oh hey, .NET isn't as popular as it was before and many new systems at other companies are being developed in other frameworks. Let's just change all our stuff at increidble cost and huge risk with a massive learning curve".

      Of course you're not going to hear that and I'm most certainly not going to tell you to drop or weed out .NET for where you are at. But please be aware your personal experience in your own enclosed environment likely does not reflect global trends. Also, do yourself a favour and check out other frameworks and languages - even it you don't feel compelled to switch you may learn some tricks and new ideas you can bring back into your .NET dev.

    31. Re:Why bother? by Anonymous Coward · · Score: 0

      If VS is open-sourced and made cross-platform, why can't you use it for Java developement or some other non-MS language?

    32. Re:Why bother? by Anonymous Coward · · Score: 0

      What are they moving to?

    33. Re:Why bother? by locketine · · Score: 4, Interesting

      .Net also does dynamic and re-usable runtime optimizations. You can also instruct it to inline certain methods, load certain resources in the background that you expect to use but the runtime will do the same thing, just maybe not as intelligently. "Code Complete 2" has some code execution speed examples in it and most of them show C# running faster than Java; The author was comparing simple ops like method calls, conditionals, dictionaries, arrays, etc.

      --
      Think globally but act within local variable scope.
    34. Re:Why bother? by Kagetsuki · · Score: 1

      1. I'm really sorry you wrote that long comment because I'm not necessarily disagreeing with you and I'm not some Enterprise Java nut (I actually really, really hate Enterprise Java).
      2. "Lol, are you serious about that? That's not true at all! I work at a fortune 500 company" Awesome tone there; fuck you. So your big super rich company got sold on .Net and you're switching over to it. Good for you? I honestly don't care. Though I totally agree on most of your points comparing .Net to Java and by that criteria I can absolutely see why your company did the switch.
      3. From what I have seen your saying Java is being "weeded out" is completely accurate. No disagreement from me there!
      4. .Net isn't the only framework you can use with multiple languages - though I would question using one framework end to end when it may be more efficient and mangable to instead take a pre-module-framework approach with specialized dev teams on each module. Note that I said "may be" in the last sentence - definitely not one-size-fits-all.
      5. Not bashing .NET but not my cup of tea. Keep your mind open, play with some alternative frameworks, and most of all have some fun.

    35. Re:Why bother? by wonkavader · · Score: 2

      This is a stupid response. A great product where the maker insures you're going to get pushed to other things you'll have to pay for from that same maker is a product there's a darn good argument against.

    36. Re:Why bother? by Anonymous Coward · · Score: 0

      From what little I've seen, the garbage collector performance in Mono is considerably lacking, and it's missing a large chunk of the libraries as they aren't included in the open spec.

    37. Re:Why bother? by SoftwareArtist · · Score: 0

      > Java's IDEs are not as good as .Net's (Visual Studio is probably the best IDE ever built)

      You have got to be kidding! Visual Studio is probably the single worst designed IDE I've ever used (and I've used a lot!), and compared to just about anything in the Java world it is unbelievably primitive. Every time I have to do something in Visual Studio I quickly find myself cursing it. Between the mostly broken autocompletion, its inability to distinguish between classes and constructors, the fact that you can't do anything while a build is in progress, not even trivial things like selecting "set as startup project", the unbelievable slowness and constant hangs...

      If you want to see a truly good IDE, give IDEA a try. It's like moving from the 19th century into the 21st.

      --
      "I'm too busy to research this and form an educated opinion, but I do have time to tell everyone my uninformed opinion."
    38. Re:Why bother? by Anonymous Coward · · Score: 1

      Oracle is better?

    39. Re:Why bother? by phantomfive · · Score: 1

      If you have a .NET focused person who also claims Java experience, how do you know what questions to ask if you don't know .NET?

      If I were interviewing someone who programmed in either .NET or Java who had trouble picking up the other language, I would absolutely not hire them. They are both so similar that if you can't pick up the language, then you are incompetent.

      --
      "First they came for the slanderers and i said nothing."
    40. Re:Why bother? by MightyMartian · · Score: 1

      Oh bullshit. Java dwarfs .NET.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    41. Re:Why bother? by Anonymous Coward · · Score: 0

      This is a company that... wields its intellectual property resources like a weapon of mass economic destruction to squash innovative competitors.

      Because Oracle is any better in that regard?

    42. Re:Why bother? by Anonymous Coward · · Score: 0

      VS is not being open sourced.

    43. Re:Why bother? by Anonymous Coward · · Score: 0

      the fact that you can't do anything while a build is in progress, not even trivial things like selecting "set as startup project",

      Eh? What was the last version of VS you used? 2012 at least lets you keep working while a build is running, it's just a bit slower.

      the unbelievable slowness and constant hangs...

      In my experience, every Java IDE has been worse. Eclipse is a particularly bad offender - I've seen lag and hangs with small Eclipse projects that are on the same magnitude as the multi-hundred-thousand line of code projects that VS handles. If not worse.

    44. Re:Why bother? by AqD · · Score: 2

      For what reasons? Here .NET has been replacing Java in all areas for many years.

    45. Re:Why bother? by AqD · · Score: 1

      Debugging is also inherently easier on the platform because .NET coders are not forced to catch every exceptions and mishandle them in wrong place and wrong time. Breaking on exception in any large Java app is a nightmare.

    46. Re:Why bother? by Jeeeb · · Score: 2, Interesting

      Uhh... .NET usage has been falling for many years now, that's why they made it open source to try and recover from that trend. I'm confused as to why you are asking for citation when the whole discussion is sort of based on this issue. Also note that headhunters looking for .NET devs could be the result of devs *leaving* .NET causing a lack of hands and thusly an increased need.

      As far as I can see the premise of the original question is that 'my employees like .NET but I'm happy in C and about to retire, should I bother learning it'? Nothing about that implies that .NET is fading. In fact it seems to imply the exact opposite to me. In the hypothetical situation that it did imply that .NET is fading though, that still wouldn't make it a fact. Is there actual evidence that .NET is failing? All I can see on this Slashdot thread is mis-matched anecdotes.

    47. Re:Why bother? by qpqp · · Score: 1

      When haven't you recently turned on your computer only to have Java say an update is ready to install, and then pop up it's really slow installer to do it (that tries to install Ask.com as your homepage to boot)?

      I don't do Windows, you insensitive clod. Things don't "pop up" and say updates are needed.
      Also, the reference implementation is OpenJDK.

      Don't get me wrong, Java (and the JVM) has it's flaws, but to bind myself to MS stuff again? Fool me once...

    48. Re:Why bother? by ndykman · · Score: 1

      Performance is a tricky issue, but .Net does the same options as Java does in terms of dynamic optimizations. Also, the platform allows for pre-compilation of assemblies, which can really add to performance if used correctly (again, startup and memory performance). And .Net Native seems to be promising in some cases (potential for POGO based optimization), but it's in preview, so we have to see how it really plays out.

      It's true that the Ruby and Python versions that run onto of .Net have stalled. There is a version of Scheme that runs on it. Basically, both the CLR and the JVM are fine virtual machines.

      I can't speak to the ethical objections. For me personally, the technology works and Microsoft is not the same company it was in terms of power. Frankly, Microsoft at its worst in the day never bothered me as much as Apple and even Google now. I can still put together a great computer out of parts, and like it or not, Microsoft did play a role in making that market. It's good that Linux, etc came along and provided choices, but if the Apple model had prevailed, I think technology would not be as far along. But it's impossible to say what if.

    49. Re:Why bother? by qpqp · · Score: 1

      you're not going to orphan an existing code base to switch to another language and waste your time essentially re-inventing your wheel.

      Only think that is generally considered in such cases is writing a wrapper around it and calling it a (legacy) black box. But who in their right mind would ever write a wrapper around the JVM for .net, except maybe emscripten?

    50. Re:Why bother? by phantomfive · · Score: 2

      .Net also does dynamic and re-usable runtime optimizations.

      Everyone knows this. We know this because they paid a lot of money to Sun for violating their patents for such optimizations.

      --
      "First they came for the slanderers and i said nothing."
    51. Re:Why bother? by hyperquantization · · Score: 2

      In which ways? C# has historically been years ahead of Java in terms of features and flexibility. Now, if you want to argue about JVM vs. .NET, then you might have an argument.

    52. Re:Why bother? by cb88 · · Score: 1

      I believe that was very very much the case when I entered college a few years ago... but once I hit the job market it was more like %70 .Net and the rest were a mix with Java holding a big chunk of the remainder at the top and Python rising in usage.

      I like to keep my options open though... and Java is the clear choice for a multiplatform language. I live within driving distance of a banking center and a few research areas as well as the automotive industry so its not like I didn't have a selection. Obviously you get more options if you have more experience than just a college degree. But other options were limited to replacing people that have left companies/gotten hit by buses etc.. I really don't see java being in the growth part of the equation at best Oracle is squeezing the life out of it bit by bit.

    53. Re:Why bother? by jd2112 · · Score: 1

      I have always preferred .NET to Java,

      Why? A sincere question, not a snark. Is it multi-programing-language support? The Microsoft IDE (VS?) What is it that wins over the Java ecosystem?

      Just personal preference. I've used both and at least for me Java tends to induce more headaches than C#.

      with the main drawback to .NET is that in the past its cross-platform functionality has been quite limited.

      Until Mono came along, I assume you mean. I have little experience with Mono. Those who do, please weigh in: does Mono offer equivalent cross-platform flexibility to Java run-time environments?

      Mono never really caught on in the Linux community due to general distrust of Microsoft, as many people believe that if Mono ever caught on Microsoft would attempt to crush it. Hopefully Microsoft releasing .NET under actual open source licenses will improve this situation, particularly with Java now being at the mercy of Oracle who IMHO makes Microsoft look like a bunch of Saints in comparison.

      --
      Any insufficiently advanced magic is indistinguishable from technology.
    54. Re:Why bother? by rjstanford · · Score: 4, Informative

      Its not the language, its the libraries, the conventions, the external resources. I picked up Ruby and Python, Node and even dusted off my PHP chops to write some modules for a client a few months ago. It wasn't hard, but I spent 20% of my time on the language, 50% figuring out what libraries to use, and another 30% making damn sure that my novice attempts were at least idiomatic and didn't come across as novice (including having them vetted by more seasoned users).

      Anyone can write a for() loop in anything. Knowing the massive standard libraries for a language well enough to leverage them (for example, in Java I still see people dragging in external Base64 implementations that haven't been needed in a decade but once were) takes far, far longer.

      I want people to write clean code that will be well understood and maintainable by others 5 years from now, not someone who just figures out how to get code to compile.

      --
      You're special forces then? That's great! I just love your olympics!
    55. Re:Why bother? by Anonymous Coward · · Score: 1

      Um, seeing as you reject .NET and refuse to use it, I'm not sure why you are making the claim that its performance is worse than Java. .NET performs MUCH better than anything you can do in Java, in speed, reliability, and memory footprint. It isn't even close in compairson. Add to that the much improved IDE and functionality and ease of use for .NET and there really isn't much comparison at all. And I used to be the #1 Java fan, but it just doesn't cut it for much anymore.

      If you are running on windows, you would almost have to be a fool to not use .NET unless you had a very specific reason not to.

      Not sure how you got insightful, because it is not. And I personally hate Microsoft and use Linux at home, but .NET is pretty damn good if you get to ignore the licensing costs involved for windows itself.

    56. Re:Why bother? by phantomfive · · Score: 1

      Ruby, Python, Node, and PHP are distinct, with distinct styles. C# and Java are so similar that you can forget which one you are looking at sometimes. The biggest difference in those languages on a day-to-day basis is remembering whether to capitalize the first character of your methods and variables.

      --
      "First they came for the slanderers and i said nothing."
    57. Re:Why bother? by Anonymous Coward · · Score: 0

      My last job (a Fortune 10 company) specifically said "no .NET development" 10yrs ago.
      The only exceptions to that were canned 3rd party .NET software for which there were no valid alternatives.

    58. Re:Why bother? by ahabswhale · · Score: 4, Informative

      In my city (Minneapolis) Java (and other JVM languages) completely dominates. I would guess most cities end up leaning one way or the other.

      --
      Are agnostics skeptical of unicorns too?
    59. Re:Why bother? by MightyMartian · · Score: 1

      I'm not comparing features, but penetration.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    60. Re:Why bother? by Anonymous Coward · · Score: 0

      You quoted his message and then wrote yours... I might be slow, but can you please connect the dots... he asked that if a company is already using a functional solution, what is the motivation to change? You answered something entirely different. Can you clarify if this was just an attempt to get your opinion towards the top of the list by responding to the first post?

    61. Re:Why bother? by Anonymous Coward · · Score: 0

      If you're going to compare JetBrains IDEs to JetBrains IDEs, .NET wins for the second time.

    62. Re:Why bother? by ahabswhale · · Score: 0, Flamebait

      This is one of the stupidest posts I've seen in a while. 1) Java's performance is fantastic. It's one of the fastest languages on the planet. I don't ever run into performance problems where the cause is Java. Ever. It's almost always some database bullshit. I work for one of the highest trafficked websites on the planet so I know a thing or two about performance. 2) .NET has the best IDE? ROFL. IntelliJ makes Visual Studio look like a piece of shit. In fact, JetBrains (the maker of IntelliJ) makes ReSharper just so the losers stuck with Visual Studio can learn how the other half lives. JetBrains makes a fortune on that product. Finally, the security holes you mention revolve around client-side Java. Who fucking uses that anymore? Nobody.

      In short, not a single one of your arguments is even remotely accurate. Not surprising because all of you .NETers don't know jack shit about what happens in the developer world outside of what Microsoft shoves down your throat.

      --
      Are agnostics skeptical of unicorns too?
    63. Re:Why bother? by ahabswhale · · Score: 1, Funny

      Performance comparisons from a Microsoft employee make C# look faster than Java? Fascinating.

      --
      Are agnostics skeptical of unicorns too?
    64. Re:Why bother? by complete+loony · · Score: 1

      Visual Studio keeps forgetting that it is primarily a text editor. Never, ever, ever do stuff in the main thread that would stop me from entering text. I suspect this is mostly because they allow 3rd parties to run code within the editor process.

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
    65. Re:Why bother? by LostMyBeaver · · Score: 2, Insightful

      In my city, PHP completely dominates... that is of course unless I look at things asking for skills other than PHP.

      I did a few searches on Monster.com and found that Java and .NET are about the same. There is however a single employer posting way more java jobs in Minneapolis.

      This is actually not meant to be a troll or rude, but having traveled 42 states and 60+ countries, Minneapolis, while being an amazing place and a diamond in the rough was strangely, from an employment perspective, one of the most unusual places I encountered in my travels. I've been an instructor (ever since I found out that it pays much more to talk about working than actually working) and have met people everywhere. I felt like engineers in Minneapolis were much more likely to be happy with less overall ambition. It's an odd generalization, possibly more poorly researched than your own, but it struck me as if engineers were just another cog in the machine and many of the engineers I encountered adopted an almost Scandinavian lifestyle of working to live instead of living to work.

      While here in Oslo, Noway I consider that the norm or the average, in the U.S., I consider it highly unusual and somehow a little scary.

      My point is, that I feel that Minneapolis from my perspective probably should never be used as an example of "normal". There are some special things which make Minneapolis a wonderful place to live. In fact, if it weren't for the impressively awful weather (which makes Norway look warm), I would love to live there... as long as I didn't need to work there.

    66. Re:Why bother? by ahabswhale · · Score: 0

      Apparently you thing people from Minneapolis aren't just unambitious but stupid as well. Almost your entire post is a troll. In any event, it was interesting to learn that ambitious folks are from Norway and code PHP. I'll keep that in mind if I ever get some ambition.

      As for working to live instead of living to work...welcome to the United States.

      p.s. Nobody with any actual programming skills uses Monster to find a job.

      --
      Are agnostics skeptical of unicorns too?
    67. Re:Why bother? by Anonymous Coward · · Score: 0

      .NET is a Microsoft version of Java that they wasn't allowed to call java

    68. Re:Why bother? by ToasterMonkey · · Score: 2, Insightful

      but if the Apple model had prevailed, I think technology would not be as far along. But it's impossible to say what if.

      That's a silly thing to say. If Apple wasn't around, what would desktop PC makers have looked up to the past fifteen years?

      We'd have had PS2 connectors, floppy drives, beige boxes, flaky suspend/resume, x86 BIOS, 32-bit processors, no built-in 3D acceleration, no built-in WiFi, 100mb ethernet, etc. for even LONGER than we did. Do you remember having to buy PCI-USB cards, PCI WiFi adaptors, unaccelerated desktop interfaces, rolling the dice on resume from sleep, PS2/USB converters?? I do.

      What exactly is this technology-retarding "Apple model" in your mind? Sorry man, it's just silly to hear something along the lines of "if Apple prevailed, we wouldn't have nice things" when they have been the lead in most of the nice things PCs have. If Apple prevailed... IDK, MAYBE Dell would have made nice computers sooner and we'd still be where we are at today?

    69. Re:Why bother? by shutdown+-p+now · · Score: 1

      10 years ago .NET was at 1.1. Today it's at 4.5.

      Enterprises usually don't start using a new tech extensively until it has been out for a while.

    70. Re:Why bother? by shutdown+-p+now · · Score: 4, Interesting

      Perf of JVM vs CLR is a complicated topic. Generally speaking, JVM (HotSpot, specifically) has an edge when it comes to optimizing code, but CLR has an edge in that some of the language semantics generate more efficient code to begin with. User-defined value types (structs) and non-type-erased generics thereof make a big difference there.

      HotSpot is better at optimization because it can afford to be slower - it can interpret the bytecode for rare code paths, and only kick in the full-fledged optimizer after it figures out that something is worth optimizing. CLR doesn't have a bytecode interpreter at all, it always JIT-compiles on first call - which means that the compiler has to be fast enough, and that in turn means shedding slow but effective optimizations.

      Of late, .NET Native is an interesting piece of tech that precompiles .NET apps using VC++ compiler backend. So you get all optimizations in your .NET code that C++ normally gets. Of course, it's still slower due to the more deterministic but less memory-friendly sequencing and memory model, and all the extra runtime checks, but it's still faster than JIT (and, I strongly suspect, HotSpot, though I don't think anyone has profiled them yet).

    71. Re:Why bother? by shutdown+-p+now · · Score: 1

      Did you count the jobs that only listed C# or VB.NET in the .NET category?

    72. Re:Why bother? by shutdown+-p+now · · Score: 1

      This was true circa Java 1.4 / C# 1.0. Since then they've got rather different model for generics, lambdas, and a bunch of other stuff. C# has LINQ, dynamic and iterators on top of that. There are enough differences to matter.

    73. Re:Why bother? by phantomfive · · Score: 1

      There are enough differences to matter.

      Not really.

      --
      "First they came for the slanderers and i said nothing."
    74. Re:Why bother? by ls671 · · Score: 1

      > both in ease of administration and more importantly, in performance (why is Apache still spawning processes for every request that comes in..

      Apache has had thread model (no need to fork new processes) and EVEN nginx like event model, with fewer/threads than connections for quite a while. Update your info. We run latest IIS and apache on production servers and IIS seems to do pretty well but saying the things you say about apache isn't fair and false in some cases.

      In fact, we run instances of apache with event model (max 75 threads, max 4096 connections, keep alive 5 seconds) as a caching reverse proxy and WAF (mod_security) in front of IIS application servers and others. Centralized WAF configuration for all applications and caching so all static content requests rarely hit the application servers.

      App server behind the caching reverse-proxy get 2 to 15 work threads, keepalive rarely on, the config is fine tuned with the help of benchmarks and yes, some backend apps are faster with only 2 workers and often degrade with more than 15.

      This is a typical performance setup.

      --
      Everything I write is lies, read between the lines.
    75. Re:Why bother? by shutdown+-p+now · · Score: 1

      This is subjective. But it certainly goes beyond "remembering whether to capitalize the first character of your methods and variables", at least if we're talking about idiomatic C# vs Java.

      Granted, Java is catching up with lambdas and the associated library stuff in Java 8. But it is still hampered by type erasure, and libraries haven't picked up on their use yet, while in C# the patterns that only really make sense with lambdas have been idiomatic in libraries for a few years now.

    76. Re:Why bother? by jrumney · · Score: 2

      Did you count the jobs that only listed C# or VB.NET in the .NET category?

      Last time I tried doing this I found that C# pulled in a lot of C jobs. And if you're going down that path to be fair to .NET, you'd better also be fair to Java by including jobs that only list J2EE or Android.

    77. Re:Why bother? by shutdown+-p+now · · Score: 1

      Yes, you should (and you should also include e.g. SharePoint for .NET). But without doing all that stuff, the numbers are basically meaningless.

    78. Re:Why bother? by TheRaven64 · · Score: 1

      Java doesn't require you to catch every exception, it requires that, for every exception that cam be generated in a method, you must either catch it or advertise that your method can throw it. This makes static analysis and reasoning about exception much easier, because you know exactly what exceptions a particular method can throw. Handling exceptions at the wrong place is a problem with the programmers, not with the language or VM.

      --
      I am TheRaven on Soylent News
    79. Re:Why bother? by Anonymous Coward · · Score: 0

      With free tools from Microsoft, and the flexibility that is available from those tools, you don't need to buy anything from Microsoft to use .NET. A lot of these anti-.NET arguments are years out of date.

    80. Re:Why bother? by ls671 · · Score: 1

      Well maybe not but they got a less of a Ronald McDonald's like strategy.

      http://marketrealist.com/2013/...

      --
      Everything I write is lies, read between the lines.
    81. Re:Why bother? by Anonymous Coward · · Score: 0

      Totally agree, and so do most of the developers I've worked with that are polyglots - it's only those that have gone straight to .NET or come from C/C++ only backgrounds that seem to think differently. However, what you'll frequently find is that the people that defend Visual Studio usually mean Visual Studio with JetBrains ReSharper installed - at which point it is basically JetBrains IDEA for C#! The latest Visual Studio has got a lot better out of the box, but still has serious issues.

    82. Re:Why bother? by turbidostato · · Score: 2

      "C# has historically been years ahead of Java"

      Given that Java is older than C# by more than a decade I have problems accepting your assertion that C# has historically been years ahead of Java at nothing.

    83. Re:Why bother? by ls671 · · Score: 1

      Exactly, they have been copying from each other lately anyway so they are close to equivalent in terms of performance. Runtime VMs are runtime VMs.

      --
      Everything I write is lies, read between the lines.
    84. Re:Why bother? by DuSTman31 · · Score: 1
      >why is Apache still spawning processes for every request that comes in... don't they realize the overhead of that??

      I'm not sure if you're serious about that or not, however

      • Since Apache2 you could change multiprocessing modules. The prefork MPM does the equivalent of apache1 and makes a number of forked off worker processes.
      • Apache1/Apache2-prefork don't use one process per request unless you specifically request it to. Worker processes are retired after a number of requests (usually a couple hundred) as this helps to contain the impact of any memory leakage that may have been accidentally introduced etc
      • Apache1/Apache2-prefork doesn't wait for a request to spawn the new worker processes, It spawns them in the background and hands incoming requests over to them. An incoming request doesn't have to wait for a worker process to spawn
      • Though you can argue that windows is reasonably performant in general, one primitive that linux that's far faster is process creation. Processes are meant to be cheap in unix systems, and used as such.
      • Separating things out into multiple processes helps to contain the effect of any bugs. Worker processes can crash all they want and won't impact the service as a whole.

      I tend to use prefork MPM on servers for the isolation, unless I'm expecting a tonne of traffic, but by all means use the worker MPM, which uses a large amount of threads inside a single process.

    85. Re:Why bother? by znrt · · Score: 2, Interesting

      And the primary argument against .NET is that it is a Microsoft product

      Which is a stupid argument. Judge the product by the product, not its maker.

      being concerned about "ms product" is not stupid. the ultimate purpose of .net is to sell windows licenses. if you are ok with using windows / cashing out for licenses, be my guest. if you are not then .net simply isn't an option (there's mono but it always was more a marketing stunt than a real option). java is nowadays an "oracle product", and that sucks too, but you can safely ignore the full stack of expensive bloat oracle offers, except for the jvm which is free as in beer, and will run almost everywhere. for now.

      regarding technical merits ... you can't really judgde such complex and large products by merely reading an abstract on them. you have to put them to use and the use cases vary wildly, and deploying a whole stack of solutions takes years. both can work, but it depends on many more choices you will make along the road. it's not something you "test". you choose and live with it.

      then, the java ecosystem has been evolving for years with an unmatched community contributing an impressive stack of open source middleware and tools, and this is one of the main reasons java is so prevalent in enterprise. the paradigm "everything around the java language, in any os" turned out to be much stronger than "everything around windows os, in any language". no surprise, we already knew that before ballmer's "developers" dance.

      if you ask me, it's irrelevant. i've been proficent in java-world for decades but it's now boring like hell, and i would not touch .net with a stick. fuck java, fuck .net, javascript is the new toy! :D

    86. Re:Why bother? by znrt · · Score: 1

      Oracle is better?

      nope. but if you go java who cares about oracle? as long as they don't fuck up the jvm too much everything is fine. that's sun's legacy. and in if they finally do, there will be a fork.

      (of course there's people buying all the expensive crap from oracle, but that's a different issue: people just doesn't know better, and is easily hypnotized by the "big company who knows better" bullshit)

    87. Re:Why bother? by znrt · · Score: 1

      With free tools from Microsoft, and the flexibility that is available from those tools, you don't need to buy anything from Microsoft to use .NET. A lot of these anti-.NET arguments are years out of date.

      don't you still need windows?

    88. Re:Why bother? by Anonymous Coward · · Score: 0

      .Net also does dynamic and re-usable runtime optimizations.

      They do by now? Last I checked these runtime optimizations where limited to a IL to native conversion at first use. This prohibits complex optimisations as it has neither the runtime information (usage profile) nor the time (start up has to be instant) to do it correctly. Java instead interprets the first few thousand calls to a method, then generates an optimized version from the gained profile information, the generated native code is also profiled and recompiled if use changes significantly.

      The .Net JIT doesn't really play in the same league as the Hotspot JIT afaik.

    89. Re:Why bother? by Anonymous Coward · · Score: 0

      That's why I prefer C#.NET over Java. It comes down to efficiency and flexibility. Java sacrifices a lot in order to be able to run on such a wide range of devices. .NET is more focused on general purpose computers and servers interacting with general purposed computers. Much of C#'s difference from Java comes from glorified compiler macros and it's ability to manipulate data on both managed and unmanaged layers. It's just got a varied enough set of features to allow for describing to the compiler what you want it to do better.

    90. Re: Why bother? by Anonymous Coward · · Score: 0

      Ok. Does that mean the full Visual Studio is free as well? Cost is the main hindrance for adoption of it anyway.

    91. Re:Why bother? by SourceFrog · · Score: 1

      This doesn't mean Java is "killing" .NET because it neglects an important factor: Most the Java jobs are probably for smartphone development and most the .NET jobs are probably for desktop app development. Smartphones are inherently a bigger "ecosystem" by the absolute numbers, simply because the ratio of smartphones to desktop computers is high, but that doesn't mean desktop computers are going away at all in the in-some-ways-still-more-important "getting real work done STILL needs a desktop computer" segment.

      --
      My other UID is three digits.
    92. Re:Why bother? by Gadget_Guy · · Score: 0, Offtopic

      We'd have had PS2 connectors, floppy drives, beige boxes, flaky suspend/resume, x86 BIOS, 32-bit processors, no built-in 3D acceleration, no built-in WiFi, 100mb ethernet, etc. for even LONGER than we did.

      There is no evidence to suggest any of these at all. PCs were very customisable, so OEMs and users alike could spec systems the way they wanted. If they didn't want floppies, or wanted to add built-in WiFi then it was all possible (although on-board implementations of WiFi often still look to the system like PCI cards). The first version of 64-bit Windows was released two years before Apple started to add support to OS X.

      Do you remember having to buy PCI-USB cards

      I remember having USB connectors on my motherboard long before we had anything to plug into them (devices to plug in didn't appear on the market until they came out with version 1.1 of the standard that fixed a bunch of problems) and before Apple started using the connectors. It is hardly surprising that the connectors would appear on the PC first considering that the standard was developed by "Compaq, Digital Equipment Corporation, IBM, Intel, Microsoft, NEC, and Nortel" (according to Wikipedia). The difference was that they didn't throw out the old connectors (and so gradually moved to the new standard) rather than Apple's approach.

      The thing about the "Apple model" is that there is less flexibility in the hardware. With PCs (and other systems) you could make the computers as you wanted them to be by using industry-standard components. Yes, Apple started using those components, but would they have ever done that without the PC to spur them on? Would they have ever had real multitasking without Unix and Windows shaming them into doing it?

      Probably. Who knows? It really doesn't matter, since we can't change history to find out the answer.

    93. Re:Why bother? by SourceFrog · · Score: 1

      I've worked extensively with both, and while .NET is much faster to develop applications in (developer-productivity-wise), C/C++ still makes for much better *client application performance*. For simpler applications, this doesn't matter so much. But for any relatively complex application, it becomes important.

      --
      My other UID is three digits.
    94. Re: Why bother? by ljw1004 · · Score: 4, Informative

      Ok. Does that mean the full Visual Studio is free as well? Cost is the main hindrance for adoption of it anyway.

      Yes it is free. "Visual Studio Community Edition" it's called.

    95. Re:Why bother? by Jeeeb · · Score: 1

      Why? A sincere question, not a snark. Is it multi-programing-language support? The Microsoft IDE (VS?) What is it that wins over the Java ecosystem?

      I'm not the OP but while Java is not a bad programming language at all, in my opinion C# is much nicer. It is pretty much Java but with more features and candy. Java has finally caught up with a few of the big ones - e.g. lambdas, try-resource to match C#'s using blocks, the streaming API to kind of capture part of LINQ's functionality and default methods to kind of match extension methods as a way to do mixins.

      It's still lacks a lot of features though - e.g. generics with support for unboxed types and runtime type checking, unsigned types, stack allocated arrays/structs, support for unsafe code and pointers, coroutines, type inference on variable declerations, properties and property initializer syntax, operator overloading, language level support for async programming constructs, nullable types and the '??' operator, dynamic types, .etc. C# 6 will also be adding the '.?' to allow propagation of null through chained methods

      In addition to this I feel like the core .NET libraries have generally benefited from the hindsite of seeing where Java went wrong / could be improved on.

    96. Re: Why bother? by Anonymous Coward · · Score: 0

      I find the auto completion in VS without Resharper better than the auto completion in PyCharm. So YMMV. Still prefer VS with Resharper.

    97. Re:Why bother? by Jeeeb · · Score: 1

      Replying to myself but I also think ref/out parameters are worth mention :)

    98. Re: Why bother? by Anonymous Coward · · Score: 0

      A true C guru who really understands the architecture, knows the assembler well, and is very careful about memory cleanup can always write a more performative program in vim or emacs than the same developer can write in Java, C#, or Python. But how many developers are there who you would trust with pointers and malloc? Really trust?
      Ultimately, the problem with C and C++ is that if they are used badly, you'll end up with a vulnerable mess - and they are easier to use badly. Unless I'm dealing with a hotshot who can code a complex algorithm in assembly and can explain EXACTLY how a buffer overflow can lead to arbitrary cod execution, I'm going to hand them a vm with garbage collection.

    99. Re:Why bother? by Kagetsuki · · Score: 0, Troll

      Your reply is also somewhat confusing to me. I don't think you've actually looked into the issue. .NET popularity has gone downhill as more developers want to use more dynamic and developer-oriented solutions which are almost invariably open source. This is an actual trend; a real statistic, and essentially the reason why MS went ahead and open sourced .NET.

      As for C and .NET you can use .NET quite easily with C. Even if your project is strictly in C#, if you know C I doubt you'd have much trouble with C# (other than maybe getting the hang of good-practices?).

      There is no real demerit to learning .NET and it's not like it's a poorly designed framework. It's just that it's really designed with this enterprise approach in mind that was once its strengh but is now it's demerit. The "new wave" of large scale app dev isn't to build a Titanic in .NET, it's to build an armada of smaller multi-purpose apps that work together as a group each built with the language and framework that best suits it. There is also the fact that even though open-sourced it's really not easy to do development or deployment on anything but an MS platform, and really only MS products tie in well with it - so .NET still comes with some vendor lock-in and if you aren't an MS shop then that's a huge demerit.

    100. Re:Why bother? by DuckDodgers · · Score: 1

      No, Oracle is not any better. The only advantage we have is that Java was opened before Oracle bought Sun.

    101. Re:Why bother? by DuckDodgers · · Score: 1

      Frankly, Microsoft at its worst in the day never bothered me as much as Apple and even Google now. I can still put together a great computer out of parts, and like it or not, Microsoft did play a role in making that market. It's good that Linux, etc came along and provided choices, but if the Apple model had prevailed, I think technology would not be as far along. But it's impossible to say what if.

      In the 1980s and 1990s Microsoft crushed competing office suites with underhanded moves. So if that hadn't happened, maybe we would have Microsoft Office competing on a more even playing field against Corel Office, Star Office, and a dozen other players - and all of the vendors, including Microsoft, offering their product for cheaper than what Office costs now. Today everybody gets Microsoft Office because everybody else is already using Microsoft Office.

      And in operating systems, remember that Microsoft again used dishonest and in some cases illegal tactics to crush competitors. They killed DR-DOS, OS/2, BeOS, and AmigaOS. They almost completely killed Apple, the company nearly collapsed and only survived because Microsoft loaned them $150 million in 1997 - and Microsoft only did that to forestall the anti-trust prosecution it had rightly earned. Again, imagine a market today in which the desktop PCs as well as mobile devices had one or two or three or five more active players with at least 5% market share. Maybe some of them are like Apple and sell a complete bundled hardware and software product, and maybe some would have been like Microsoft and just sold software. Even if those competing operating systems were all proprietary, the competition between vendors would push innovation much harder and have them struggling to provide the best reliability, uptime, security, and user experience for the lowest price. HP tried to do something with Palm and WebOS for desktops a few years ago, but they killed it before it even launched due to lack of interest. Windows is business PCs, period.

      Now maybe, technical or business errors by those competing office suite vendors or competing operating system vendors would have killed their products anyway. Maybe Microsoft would have won its current position purely on technical merit. But we'll never get a chance to find that out.

    102. Re:Why bother? by Anonymous Coward · · Score: 0

      Bro, you're a little out of touch. I don't know where you're getting that data from, as I'm a .NET dev in Minneapolis and I get constant job notifications about .NET jobs in Minneapolis and surrounding metro areas (St Paul, Plymouth). There *are* a number of Java jobs I've seen, but I've easily seen quantity of .NET jobs. Anecdata != scientific sample.

      Not hating, just saying, Minneapolis is in no way "completely dominated" by Java.

    103. Re:Why bother? by Anonymous Coward · · Score: 0

      I think you missed my point, so please allow me to elaborate. For someone who wants to go from Windows to other platforms, an open-source .NET makes sense, but only if their code is already in .NET.

      For people who are already using toolchains other than .NET that support their products on multiple platforms, there's no reason to switch. It's just "re-implementing the wheel" with another language.

      And since the official Java implementation is open source (OpenJDK) and has been for years, why not just stick with it if you're already using it? So really, the majority of people who aren't already using .NET have no real reason to switch.

      ^This all the way. We have a codebase that was built in .NET but would be very useful for non-Windows platforms. An open-source version of .NET would be great for us, rather than having to rewrite everything in a new language solely for those platforms.

    104. Re:Why bother? by DuckDodgers · · Score: 1

      Benchmarks?

      To be realistic, licensing costs aren't a factor. Think about it. Assume five moderately good developers cost $500,000 a year, and you can choose to use free (as in beer or speech) products on the server and on developer environments. If using Windows costs you 5 Windows 7 or 8.1 business licenses ($1000), 5 MSDN subscriptions ($6000), and your software runs on five big iron servers with two sockets each and you put Windows Data Center Edition on them ($30,000), and a few Client Access Licenses (I have no idea what that would cost, $300? $5000?) and one Microsoft consultant to spend a month setting all of that up ($20,000, all together that's still in the neighborhood of $60,000. If you get a 12% boost to productivity for using Microsoft, you break even on costs and get your releases out faster. That's a win. If you get a bigger boost to productivity, so much the better.

      Proprietary software costs aren't really a problem for most companies. It's a factor, but a relatively small one. The real question isn't whether you can afford the $60,000 (or whatever) - if you can't afford the $60,000, you have bigger problems. The question for a business planner is whether the $60,000 gets you enough advantages to justify it. Where proprietary software costs suck is for the working poor and lower middle class, and people trying to learn enough to get an entry level job in tech support, system administration, or software development. I know people making a third of my income who will throw out a $400 laptop after Windows is corrupted. It would cost $150 to get a new copy of Windows, $200 to get Windows fixed or re-imaged by a PC repair shop. So they just junk the thing and borrow money to get a $400 replacement. How much easier would it be to put Xubuntu on it for the $10 it costs to get a 4GB USB flash drive?

    105. Re:Why bother? by DuckDodgers · · Score: 1

      Thanks for the information. I did not know that.

    106. Re:Why bother? by Anonymous Coward · · Score: 0

      25 years is a stretch. VS was probably best around 2003 or so. Before that, Borland won hands down.

    107. Re:Why bother? by Anonymous Coward · · Score: 0

      If you're already using .NET (and plenty of people are), what's the motivation to change?

    108. Re:Why bother? by Jeeeb · · Score: 5, Insightful

      Your reply is also somewhat confusing to me. I don't think you've actually looked into the issue. .NET popularity has gone downhill as more developers want to use more dynamic and developer-oriented solutions which are almost invariably open source. This is an actual trend; a real statistic, and essentially the reason why MS went ahead and open sourced .NET.

      If it is a real trend and a real statistic then please link to some reference for this. I'm interested to see. Maybe I'm not very good at Google searches but I cannot find any reliable statistics to support this.

      As for C and .NET you can use .NET quite easily with C. Even if your project is strictly in C#, if you know C I doubt you'd have much trouble with C# (other than maybe getting the hang of good-practices?).

      I code mostly in C++ and C# and have no trouble at all with C#. It's one of my favourite languages. My post however was not about myself, I was paraphrasing the original question, as perhaps I've missed something but the statement "why you are asking for citation when the whole discussion is sort of based on this issue" is completely at odds with how I read the original question - i.e. (very much paraphrasing here) 'Should I learn C# it seems to be the way forward'

      Though even if your interpretation of the original question is correct, it would still not seem unreasonable to ask for a reference to support the statement that .NET is losing popularity. The only evidence of this "fact" I can see on this thread is mis-matched anecdotes, hence my reply to your post.

    109. Re:Why bother? by Anonymous Coward · · Score: 0

      Thats what she said

    110. Re:Why bother? by Anonymous Coward · · Score: 0

      Benchmarks? Write the same GUI program in both and run them yourself, its BLATENTLY obvious. As in if you showed me any benchmarks showing differently I would know they were fake set up to shill for Java. Everyone who has done both recently know this, period.

      I brought up the licensing cost because they can be far more significant than you mentioned. You are ignoring costs for MSSQL server and MS IIS which can both be fairly significant in addition to the ones you mentioned. But like I said, if you have already sunk those costs you would be a fool to not use .NET.

      I went from "Use Java for everything", to "Java GUI tends to be too slow and use too much memory", to "Java applets have too many security holes", to "Anything you want to use Java on the server there is something easier to use". The only time I ever use Java now is for droid development, and most times using new web technologies you can get nearly the same effect with web pages, which has the bonus of working on IPads as well (Funny how you now avoid Java to be platform independent on mobile devices).

      Java went from the great hope of being the one great language to utter crap because of JVM lawsuits and crappy JVM implementatiions. I'm positive Java could become world class and the best language if someone could write a great JVM wihtout security holes and not getting sued into oblivion. Not much is wrong with Java itself, just what happens when you try and actually use it.

    111. Re: Why bother? by MemeRot · · Score: 2

      You don't actually. That's the point of open sourcing .net core, to really beef up mono. MS has a strong commitment to supporting mono, especially in vNext. You can write C# to target mono, ios, and android and ignore Windows deployment entirely

    112. Re:Why bother? by bi$hop · · Score: 1

      Visual Studio is probably the best IDE ever built

      This made me laugh so hard I cried. Obviously you've never used Intellij.

    113. Re: Why bother? by Anonymous Coward · · Score: 0

      Not entirely true. MS is now working with the Mono group to get .NET fully featured on Linux. I think the market strategy is a bit more broad than, "let's go open sorce to sell more server licenses."

    114. Re:Why bother? by Anonymous Coward · · Score: 1

      And don't even mention asynchronous code. Java's offerings are pathetic, at best, from both a language and runtime perspective. Future is horrid, encouraging the use of either polling or blocking to obtain the result. CompletableFuture and CompletionStage in Java 8 finally brings it almost on par with the offerings from JavaScript, C# and other languages but despite existing it's entirely absent from the framework. The common third-party libraries like Guava provide little more than offering a simple callback mechanism on top of Future. Really the only sane asynchronous library is RxJava, which is NetFlix's port of Microsoft's Rx library.

      From a language perspective C# has async/await which makes writing asynchronous code incredibly simple and coherent. The same language construct has been proposed for EcmaScript 7 which makes sense considering how well it would work with Promises (Traceur already supports the proposal with an experimental flag). Assuming Java ever gets something even remotely similar it will probably be 20 years from now and implemented in such a backwards way as to be practically useless.

      Yes, Java has been around longer, and yes Java has a thriving ecosystem of libraries, but Java is absolutely a dinosaur in that it's incredibly slow to evolve. Even look what the big proposal is on the board for Java 9, Project Jigsaw. Adding modules and profiles to split the J2SE into pieces so that it's not a giant monolithic monster. .NET has had both since 1.0 and 3.0 respectively.

    115. Re:Why bother? by DuckDodgers · · Score: 1

      Sorry, I was only considering non-GUI applications since that's the playground I know. I realize benchmarking is complex and difficult territory to traverse, but for example at http://www.techempower.com/ben... the best Java implementations consistently beat the best IIS+C#, though admittedly not be a lot. I'm not aware of public, reproducible benchmarks on Windows JVM + Tomcat vs. CLR + IIS - and I'm assuming if they existed and showed CLR doing well, Microsoft would be shouting them from the rooftops.

      I agree that for mobile, it makes more sense to use HTML5 + Javascipt wherever it can fit.

      I don't love Java or Oracle, I just consider them less of an evil in the 1980+ history of computing than Microsoft. (And "more evil than Oracle" is a high bar to cross.)

    116. Re:Why bother? by DuckDodgers · · Score: 1

      (Edit - I should have been more broad, Windows JVM + Tomcat/Jetty/Netty vs. CLR + IIS, not just Tomcat.)

    117. Re:Why bother? by BarbaraHudson · · Score: 1

      Sure, it works both ways. Anyone who goes "no no No NO!" is just being obstinate. However, it's going to take quite some time for the open source version of .NET to be of use to anyone.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    118. Re:Why bother? by hyperquantization · · Score: 1

      Given that Java is older than C# by more than a decade I have problems accepting your assertion that C# has historically been years ahead of Java at nothing.

      And there's the irony: Java got successful enough to rest on its laurels in lieu of external competition. Then it got tossed around around between companies, so it hasn't had a smooth existence. For instance, C# has had lambda expressions since 2007 (http://en.wikipedia.org/wiki/C_Sharp_%28programming_language%29#Versions). Java finally got lambdas literally just this year. Now, admittedly, they are two very different languages when it comes to design philosophy, but their markets do overlap, and these features are incredibly useful in those markets.

    119. Re: Why bother? by kungfuj35u5 · · Score: 1

      This is not exactly what apache does anymore. Since apache 2.x it has served multiple processes of apache that dispatch new threads.

    120. Re:Why bother? by gbjbaanb · · Score: 0

      I would pick PHP over .NET everytime... and I'm not a PHP dev!

      the main reason is the bloat in .NET - its good at many things, but web serving is always been a "look at the cool kids and try to replicate what they do". So you either have to support IIS-based webservers which I have always found rather clunky (and if you ever go back to one that was written a while ago, getting it working again is always been trouble).

      For webservices, I found that WCF is crud. Its nice to code up a webservice that doesn't require IIS, and it all seems nice. But then I saw how PHP could do a web service in 6 lines of code compared to the 6 files of code WCF required I knew I was using the wrong tool for the job (especially when you factor in WCF's dreadful performance).

      The last aspect is security - having worked in very high secure systems, one additional thing you can do to help add a layer of security is not to use a monoculture - so a web server written in PHP that talks to a Windows server running .NET is more secure than both running the same OS (ie a zero-day exploit will be used on both servers, but if one is Linux and the other Windows one server is going to be immune).

      I'm all for .NET, its a good tool and I use it daily. But experience has taught me to advocate the right tool, regardless of what it is. I hate and loath the "it is Microsoft therefore we use it" attitude as I've seen so many useless systems written with the wrong, but Microsoft, tool. (I guess the same applies to Oracle, IBM and every other vendor or language - the same hate goes for "100% pure java" that was just a way of saying "only buy my shit")

      PS. Apache has supported threads since 2.0 came out, it only spawns processes where some 'cgi-style' processor requires them. Also, on Unixy systems spawning processes is as cheap as spawning threads on Windows.(if you want a truly lightweight thread on Windows, google for Windows Fibres to see what I mean). But again, my point is - you don't know enough about what you're criticising and so are making poor choices based on hype and bullshit.

    121. Re:Why bother? by hyperquantization · · Score: 1

      Oh, well then your comment adds absolutely nothing to this thread. This is something we all already know. C# (and .NET, and CLR) is the new kid on the block, of course it's not going to have the same market presence as Java. But I'd argue that that's the primary impetus behind opening it up: the common excuse for why people don't use .NET is because it's tied to Windows.

    122. Re:Why bother? by BarbaraHudson · · Score: 1

      Sure, the argument works both ways. However, the open source version of .NET doesn't work, and won't for the foreseeable future, so it's currently not an option to even consider. In other words, the article's headline is "Is an Open Source .NET Up To the Job?" and the answer is "No."

      His second question, "is there an open source choice today that's popular enough to be considered the standard that employers would like?" C/C++ is open, but "too complicated" for many, so Java is the best candidate for an all-around language, with problem-domain-specific languages to supplement it depending on the task.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    123. Re:Why bother? by Anonymous Coward · · Score: 0

      That's probably because Minneapolis is a podunk town that is a decade or more behind the real tech cities.

    124. Re:Why bother? by gbjbaanb · · Score: 1

      Of late, .NET Native is an interesting piece of tech that precompiles .NET apps using VC++ compiler backend. So you get all optimizations in your .NET code that C++ normally gets.

      this is why I prefer C++ - my time is worth a lot less than the time all my users spend using my programs, so although my boss complains about my productivity, he does that when I'm writing .NET code anyway :-)

    125. Re:Why bother? by Anonymous Coward · · Score: 0

      He said nothing of the sort. In fact, he said exactly the opposite of what you are accusing him of.

      In my opinion, you live in a backwater, hick city. If people from Minneapolis share the same lack of reading and comprehension ability as you do, then they really are stupid.

    126. Re:Why bother? by Anonymous Coward · · Score: 0

      I have seen games written with both Java and .NET. Every Java game is either slow as shit or looks like a blocky mess. Games in .NET look and perform almost like a modern standalone game which was written in a real programming language.

    127. Re:Why bother? by curmudgeon99 · · Score: 0, Redundant

      Because the .NET stack is inherantly more expensive. The tools cost big bugs, it requires a Microsoft server and will only run on SQLServer. All of the Java tools we use are free--every last one--and we run it on CentOS Linux servers. Finally, all our staff is Java oriented.

    128. Re:Why bother? by Will.Woodhull · · Score: 1

      All I can see on this Slashdot thread is mis-matched anecdotes.

      That's the nature of slashdot, no matter what the subject of any given thread.

      I read slashdot at least daily, sometimes visiting several times a day if a topic is of great interest to me. But I don't read it for information about any subject. I read it to find out what the attitudes and biases of one vocal segment of the technoratti are. Sometimes that helps me shape my own opinion; sometimes it helps me identify where I should invest my limited argumentative resources. But almost never does slashdot give me any solid information; it is always just a jumbled of mismatched anecdotes.

      --
      Will
    129. Re:Why bother? by Sudline · · Score: 1

      You have not understood half of the post you criticize. The PHP thing for example.

    130. Re:Why bother? by Sudline · · Score: 1

      I do not know how you value Tiobe, but according to its stats, in May 2012 the part of C# was 6.823% and in December 2014 it is 4.328%.

    131. Re:Why bother? by Foofoobar · · Score: 1

      Yeh and real tech cities like the Bay Area don't use .Net either though. Oracle, Pivotal, Sun, Spring, Groov, Grails... they all dominate here.

      --
      This is my sig. There are many like it but this one is mine.
    132. Re:Why bother? by Sudline · · Score: 1

      Virtually any programming language is compiled to .NET. So this is not a big advantage from the JVM!

    133. Re:Why bother? by LordThyGod · · Score: 1

      why is Apache still spawning processes for every request that comes in... don't they realize the overhead of that??

      That statement is so obviously and blatantly wrong, it calls into question the rest of what you are saying that might have had some validity.

    134. Re:Why bother? by locketine · · Score: 1

      DuckDodgers didn't know this and that's who I was responding to.

      From a quick web search I found patents from HP covering IL optimizations so I'm not convinced that the giant patent infringement settlement between MS and Sun specifically covered the IL optimizations we're talking about.

      --
      Think globally but act within local variable scope.
    135. Re:Why bother? by locketine · · Score: 1

      Someone who worked at MS over ten years ago is not "a Microsoft employee". Troll someone else.

      --
      Think globally but act within local variable scope.
    136. Re: Why bother? by MemeRot · · Score: 1

      This is why it bums me out that my company is spending so much developer time trying to move off of ms languages.

    137. Re: Why bother? by MemeRot · · Score: 1

      Visual studio, xamarin studio, and some of the java IDEs are in the latest jolt ide awards. They're all generally recognized as good.

    138. Re:Why bother? by phantomfive · · Score: 1

      That's true, Java doesn't do inline optimizations.

      --
      "First they came for the slanderers and i said nothing."
    139. Re: Why bother? by MemeRot · · Score: 1

      C# can compile to android apps and ios apps now too. It's not just a server world any more.

    140. Re:Why bother? by Anonymous Coward · · Score: 0

      I'm always happy if I can switch back to Qt Creator.
      VS is just but ugly. Unfortunately, I have to use it from time to time

    141. Re:Why bother? by Anonymous Coward · · Score: 0

      Must agree with the others. While you may have rewritten something in Java, I've been hired now twice in the past year to rewrite old Java code in .Net.

    142. Re:Why bother? by phantomfive · · Score: 1

      This is subjective. But it certainly goes beyond "remembering whether to capitalize the first character of your methods and variables", at least if we're talking about idiomatic C# vs Java.

      That's true, sometimes I forget and accidentally type 'foreach' instead of 'for.'

      Seriously though, the differences between Java and C# are miniscule compared to the differences in other languages. I spent the evening reading A Method of Programming. No one will ever look at that and confuse it with either language.

      --
      "First they came for the slanderers and i said nothing."
    143. Re:Why bother? by Anonymous Coward · · Score: 0

      Why enterprises IT folks are worried about startup performance when they are looking at applications that run a long time puzzles me. You should never have to restart an app... maybe once a year, should you can reload, which that's application dependent. That's why Java was put in place--I have servers that have 20+ users that have been running for 18 months, no restarts. If you're worried about start times, a lot that's not good, a sign of constant reboots/upgrades with both the design and technology.

    144. Re:Why bother? by Anonymous Coward · · Score: 0

      If the language is high level to catch the coding mistakes and you do proper architecture design, debuggers are only need for edge cases.

      I see in the future less use of debuggers, but that's me.

    145. Re:Why bother? by ahabswhale · · Score: 1

      Yeah, because he doesn't work there anymore, I'm sure he's completely unbiased.

      --
      Are agnostics skeptical of unicorns too?
    146. Re:Why bother? by Anonymous Coward · · Score: 0

      What a ridiculous comparison. That's like comparing "Ruby" and "JVM" and then asserting Ruby is on top. .NET is not a language.

    147. Re:Why bother? by squiggleslash · · Score: 1

      Funny thing is C# isn't where .NET is and isn't where its popularity comes from. VB.net is why .NET is popular, and unfortunately why the GP is wrong.

      Shame, but I'm hoping an influx of interest now the platform is open source will move .NET more towards C#. And I hope the superiority of C# to tJPL will, ultimately, move Enterprises to the platform. Java has stagnated in large part because its real competition - that nobody wants to admit - are PHP and Visual BASIC. And, ironically given Oracle's actions against Google, Android is the only thing giving non-Enterprise developers exposure to the language and keeping it in the public eye.

      A sudden popularity in C# may push Java to be more relevant, and if Java fails, we might see some interesting moves in areas that have traditionally been Java based.

      --
      You are not alone. This is not normal. None of this is normal.
    148. Re:Why bother? by atlasdropperofworlds · · Score: 1

      You are presenting a straw man. Obviously no one is going to do a rewrite. The question is simply this: Is it viable for a project? The answer is yes, because it's already been proven in several large-scale deployments, many of which are in governments and fortune 500 corporations.

      Because this is slashdot, the answer is going to be 'no', and the reason given is going to be 'microsoft', because those who disagree are automatically just 'shills'.

    149. Re: Why bother? by MemeRot · · Score: 1

      Because you know ahead of time all the possible things that can go wrong in your method?

    150. Re:Why bother? by zidium · · Score: 1

      Here's the trend right here: http://www.indeed.com/jobtrend...

      --
      Slashdot Valentines Beta Massacre: iT WORKED! The boycotts killed Beta!!
    151. Re:Why bother? by zidium · · Score: 1

      PHP is beating Java these days.

      --
      Slashdot Valentines Beta Massacre: iT WORKED! The boycotts killed Beta!!
    152. Re:Why bother? by BarbaraHudson · · Score: 1

      Perhaps you need to read the the original announcement Salient points:

      Lay the foundation for a cross platform .NET

      As a .NET developer you were able to build & run code on more than just Windows for a while now, including Linux, MacOS, iOs and Android.

      The challenge is that the Windows implementation has one code base while Mono has a completely separate code base. The Mono community was essentially forced to re-implement .NET because no open source implementation was available. Sure, the source code was available since Rotor but we didn’t use an OSI approved open source license, which made Rotor a non-starter. Customers have reported various mismatches, which are hard to fix because neither side can look at the code of the other side. This also results in a lot of duplicated work in areas that aren’t actually platform specific. A recent example is immutable collections.

      The best way to build a cross-platform stack is to build a single stack, in a collaborative manner. And the best way to do exactly that is by open sourcing it. Building and running on non-Windows platforms. We currently only provide the ability to build and run on Windows. We intend to build a public working group between us and the Mono community once we have enough code out there.

      In other words, it hasn't happened yet. They're still at the "laying the foundation" stage, by their own admission. NOT ready for prime time. Anyone using it today still needs to maintain multiple code bases.

      .NET Core Runtime (CoreCLR). We’re currently figuring out the plan for open sourcing the runtime. Stay tuned!

      Again, an announcement of what WILL happen. Again, not there yet.

      The question isn't "is .NET viable today" but "is open-source .NET viable today"? The answer is a resounding NO. You're the one presenting the straw man, not me.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    153. Re: Why bother? by Anonymous Coward · · Score: 0

      http://www.indeed.com/jobtrends?q=php%2C+java%2C+.net%2C+javascript&l=&relative=1

    154. Re:Why bother? by dwat001 · · Score: 2

      Within .Net there is a move away from ASP.Net towards new frameworks such as MVC.Net. You get a different picture with a slightly different link http://www.indeed.com/jobtrend...

    155. Re:Why bother? by digsbo · · Score: 1

      Sure. In any case where you can take a working hunk of code and write an interface that's platform agnostic so you can use better tools for things that talk to it, you'd do it. It doesn't necessarily work for everything, but if you've got a Java based data services layer, and you want to make a client layer on top of it, then in those cases you easily could do exactly what you're asking about.

    156. Re:Why bother? by digsbo · · Score: 1

      You don't make a wrapper. You make an interface. Like a web service. It's not appropriate everywhere, but it is in many cases, and can be easy.

    157. Re:Why bother? by rdnetto · · Score: 1

      why is Apache still spawning processes for every request that comes in... don't they realize the overhead of that?

      My guess is they're UNIX devs - under Linux (and probably some other Unices), forking is ridiculously cheap. In fact (IIRC), spawning a thread has more overhead than forking, since Linux threads are just processes which share resources.

      I'm not sure how many people are using Apache under Windows, but I wouldn't be surprised if they were a minority.

      --
      Most human behaviour can be explained in terms of identity.
    158. Re:Why bother? by digsbo · · Score: 1

      I'd agree. So it really depends on whether you need better client app performance, or programmer productivity. Otherwise, the only languages we'd ever use would be C and Assembler.

    159. Re:Why bother? by BarbaraHudson · · Score: 1

      But why would you bother? It would be the same question if your code base were written in .NET. Why would you bother writing a client layer in Java if you could do it in .NET?

      Why bother maintaining multiple languages when you don't have to?

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    160. Re:Why bother? by Baki · · Score: 1

      Working at a large bank, we have 75% java and 25% .net for new server software. Old software is on the mainframe.
      Recently it was decided to drop .net and go 100% to java.

      We'll keep .net run-time capabiltiy for the occasional 3rd party software that requires it, but I think, java has won in the enterprise. At least in banks, all large payments infrastructure software and the likes are JEE packages.

      We used to have .net for more front-end stuff. But HTML5 has made that superfluous. Fat clients are still losing ground, and web-based apps using HTML5 with rich GUI's can be served from a JEE container very well.

    161. Re:Why bother? by Man+On+Pink+Corner · · Score: 1

      nope. but if you go java who cares about oracle? as long as they don't fuck up the jvm too much everything is fine. that's sun's legacy. and in if they finally do, there will be a fork.

      How about we wait for the final outcome of Oracle v. Google before being quite so confident about that?

      Adopting an Oracle solution because you don't like Microsoft is like buddying up with Beelzebub because you don't like that annoying neighbor who keeps trying to get you to join Amway.

    162. Re:Why bother? by locketine · · Score: 1

      Cut the sarcasm man. It doesn't suit your extremely weak argument.

      --
      Think globally but act within local variable scope.
    163. Re:Why bother? by locketine · · Score: 1

      Java does inline optimizations. IL is an abbreviation for Intermediate Language, the bread and butter of CLR and JVM.

      --
      Think globally but act within local variable scope.
    164. Re:Why bother? by shutdown+-p+now · · Score: 1

      Promises and async is indeed a good point. I've been writing async (UI) code in C# for the past two years, and have almost forgotten what a mess it was before tasks and await.

      BTW, async/await is also proposed for C++, though it is a much more generalized construct there:

      http://www.open-std.org/jtc1/s...

      VC++ has a preview of the implementation in the current betas:

      http://blogs.msdn.com/b/vcblog...

    165. Re:Why bother? by shutdown+-p+now · · Score: 1

      Compiler optimizations don't really help if your code is I/O or input-bound, which accounts for most of the code written today - so users rarely see the benefits. Occasionally you get a situation where one particular code path is CPU-bound and is hit often enough that optimizing it matters, but in that case it's usually still easier to use C++ for that particular bit, and some other high-level language for the rest.

      Granted, with all the changes already in C++14, and more good stuff coming in C++17, C++ itself gets more high-level every year. Right now I'd say the problem is really more with the tooling than with the language... debugging C# or Java is still a much more comfortable experience than debugging C++. But it doesn't have to be that way.

    166. Re:Why bother? by ahabswhale · · Score: 1

      It's a weak argument to say that a former Microsoft employee might be biased towards Microsoft tech? He's been away from Microsoft for 10 years but Code Complete was published in 2004. So he wrote that book while still a Microsoft employee. Additionally, he still lives in the same area which is dominated by Microsoft tech. What's your argument other than calling me sarcastic? None? Thought so.

      --
      Are agnostics skeptical of unicorns too?
    167. Re:Why bother? by Rob+Y. · · Score: 1

      Um, I asked the original question, and 'Should I learn C#' was not my point. I only mentioned that I code in C and am old to point out that I have no pressing need to learn any new platform (though I have used Java for some things). I was really just interested abstractly in what 'no brainer' platform choices are already out there - and whether .NET changes that landscape any. I can see the 'boss' class thinking it does, but not necessarily the techie class. So is Java (or something else) deeply entrenched enough that .NET is irrelevant, or is open source .NET some kind of Godsend? That kind of thing...

      --
      Posted from my Android phone. Oh, I can change this? There, that's better...
    168. Re:Why bother? by phantomfive · · Score: 1

      What intermediate language optimization are you talking about specifically, that Microsoft's compiler does, which Java's doesn't?

      --
      "First they came for the slanderers and i said nothing."
    169. Re:Why bother? by bondsbw · · Score: 1

      Of course Java was ahead of C# before C# was released. C# started out as a Java clone. Java was arguably ahead of C# for about two versions or so, although .NET learned some lessons from Java and implemented some things better (like events, properties, and generics).

      C# 3+ leaped ahead by most measures with functional programming concepts such as lambdas and LINQ, as well as duck typing and more. Java has recently improved in many of these areas but I don't yet feel Java's implementation is superior.

      On the other hand if you are really into functional programming, look at Scala for the JVM or F# for .NET. Those are both fantastic languages and I would personally choose them assuming my job allowed (which unfortunately it does not).

      --
      All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
    170. Re:Why bother? by bondsbw · · Score: 2

      Also this is completely wrong:

      Given that Java is older than C# by more than a decade

      Java 1 was released in 1996, C# 1 was released in 2002.

      --
      All my liberal friends think I'm a conservative, all my conservative friends think I'm a liberal.
    171. Re:Why bother? by able1234au · · Score: 1

      and another good example is internet explorer. When it was competing with Netscape, it was out innovating Netscape as well as using underhanded methods such as embedding it in the operating system. Once netscape was dead, it stopped innovating. Finally Firefox took off, and chrome. So without competition MS does not innovate.

      Another example of underhandness. Apple was leading with Quicktime which had a proper extensible architecture. They had to do a Windows version of Quicktime and hired an outside firm to port it. Microsoft was struggling with performance of Media Player until they hired the same firm and surprise surprise that firm knew all the techniques to accelerate the performance of video. Where would they have learned that.

    172. Re:Why bother? by jsrjsr · · Score: 1

      More like a .NET / C# / C++ / C developer in a mostly .NET group. There is plenty of non-.NET code that we have to maintain and interface with. Most of the rest of the company does not use .NET at all -- yet.

      My group began using .NET. Other groups have followed. Some groups are just now beginning to move to .NET. Not all will, depending on the products they develop. But not even the groups that do not use .NET talk about "weeding out" .NET.

    173. Re:Why bother? by Anonymous Coward · · Score: 0

      .NET is slowly beeing weeded out of the enterprise though and that's a trend I don't want to see diminished by devs picking up .NET because it's now "open source". It's OK to hate .NET, open source or not.

      Lol, are you serious about that? That's not true at all! I work at a fortune 500 company and

      Annnnd I stopped reading right there. Why is is so important for everyone and their grandparents to state they "Work for a Fortune 500 company"? It's gotten so commonplace here that whenever someone mentions it, I stop reading the rest. It's just as bad as the "...Oh Wait." crap.

      If that's the case then I'm the president of 10 Fortune 100 companies if that's all its needed to validate one's self over actual experience on the internet.

    174. Re:Why bother? by Anonymous Coward · · Score: 0

      Microsoft licensing is cheap, relative to non-huge corps other costs. Around here, licensing costs is not an issue, it's only licensing mangement. If someone wants a new server, we need to get another license, which means someone needs to spend time getting that license and documenting its use. That is a very low bar to get over. We'd rather pay for MS SQL than have to work with MySQL for "free". A lot of our every day stuff is much harder or cannot be done in MySQL. "Free" is never "free".

      Not to say there isn't other free options out there, but none that are easy to find admins for.

      We've already reached the point where Windows licensing is dead simple. It's done per server for as many VMs as you want. CPU is so cheap, the biggest issue is memory and IO, but IO is starting to not be an issue.

      Our biggest issue to scaling is engineers and programmers making decent code. Windows wanting 4GB of memory is less of an issue than bad program/system design.

      In my personal experience, there seems to be an opesource "deadzone" for medium sized corps. Quite a few people who program opensource are great at throwing together something quickly and making it work, but is brittle and crap at scaling, requiring huge hardware and server management overhead. The code would work fine under light load, but good luck throwing 10gb+ of traffic at it.

      Then you have Google sized companies. Great engineers, but they get paid a lot more than a medium corp can afford.

      In my experience, a lot of Microsoft stuff "just works". They know their customers are primarily medium enterprises, and the focus on that. Opensource seems to be driven by the Googles of the world and requires decent knowledge and understanding to make proper use, the kind of talent few medium enterprises can afford or find.

    175. Re:Why bother? by Kagetsuki · · Score: 1

      Had this post been your original quesiton I think you would have gotten some better answers but I don't think you'll ever get a straight answer because there are so many unknowns. .NET matters in markets that use it. Anywhere that uses .NET is likely going to be strictly .NET. The open sourcing of .NET is certainly not going to dramatically change the landscape in favour of .NET but internal to the .NET ecosystem I can only see things improving.

      Of course considering .NET a "no brainer" choice is a HUGE mistake. It has places where it works well, for sure - but trying to get .NET to do things it's not good at doing is not going to be fun. Look at project requirements, compare possible frameworks, see what fits your team; choose the best tool for the job.

    176. Re:Why bother? by Anonymous Coward · · Score: 0

      Add to your list is circumventing US immigration policies by importing overseas workers through their new "training center" in Canada (BC), so they can skirt VISA quotas.

    177. Re:Why bother? by qpqp · · Score: 1

      I was referring to SoA, so yeah, it's a wrapper around its interface (since it already has one, as we're not talking about 80's legacy stuff, though even that had interfaces).

    178. Re:Why bother? by Bengie · · Score: 1

      Warning: My Java experience is a bit dated, and some of my issues may have been addressed in recent version, but based on my periodic reading, it seems to be working "as intended" and will never be "fixed".

      One thing that I absolutely hate about Java is the whole, nearly everything is an object, even primitives, in many cases. I have some pretty high performance code in C# where even a single allocation of a small object can quickly turn into hundreds of megs per second. I can quickly get code working in C#, then slowly replace the code from allocating objects to using primitives and value passing or in-place value changes.

      Java, on the other hand, decides that ints in generic arrays are immutable objects, meaning every time I change a value, it has to create a new object. There are many other times where Java does similar things where there is no way to cleanly make your code or can't make your code not have to work with objects.

      The problem this creates is that high object creation causes lots of garbage collection, which stops world, which causes all of the threads to stop, and the more CPU cores you have, the quicker the GC kicks in. So instead of my .Net version running at 99% CPU, I have a Java version running at 70% CPU, and slower per %, because of all of the object work.

      C# gives me the best of both worlds. Quick prototyping in a very clean and strict way, allowing me to define my code in very extendable generic ways but enforce strict usage, while allowing me to eventually micro-optimize without having to sacrifice clean code.

      I have programs with thousands of lines of well factored code that has many layers of generic objects and functions, where I can run a 32 core server at a sustained average of 97%+ CPU for hours, crunching data, and use less than 50MB of object allocation.

      Another thing C# allows me to do is have some degree of control over data locality. I've had performance gains of over 20% by tweaking classes/structures. Better control of how the data is laid out in memory allowed me to change up my algorithms, causing fewer cache-lines to have to be fetched from memory, reducing memory pressure in L1/L2 cache.

      In the end, C#.Net allows me to write "Faster" code than C, because it allows me to quickly and easily make usage of modern multi-core CPUs, while giving me an easy to use and clean language. Java gives me a nice language, but I can't optimize it as well as C#.Net. It could e a limitation of my knowledge, but Java just seems to want to do many things as objects a lot more than C#.

      Don't get me started about how awesome async in .Net is. Threads are the devil when it comes to scaling. I haven't gotten to use DataFlow yet because production is only .Net 4.0, but once we go 4.5, I'm jumping on that also.

    179. Re:Why bother? by Bengie · · Score: 1

      5 MSDN subscriptions ($6000)

      Ouch, we only pay $400 per seat for a 2 year license. $200/year/seat

    180. Re:Why bother? by locketine · · Score: 1

      Uh, none. I never claimed that the .Net CLR had additional optimizations beyond what's provided by the JVM. It does perform certain operations faster according to Code Complete 2 by Steve Mconnel but I don't remember the details.

      --
      Think globally but act within local variable scope.
    181. Re:Why bother? by phantomfive · · Score: 1

      lol ok

      --
      "First they came for the slanderers and i said nothing."
    182. Re:Why bother? by locketine · · Score: 1

      Your claim is that he committed academic fraud, fabricating data from examples that can be easily verified to provide a former employer with a slight publicity spike at great personal cost to himself and his software consulting business. I cannot find the date he left MS but his own company, Construx, was founded by him in 1996 so my guess would be he left MS around that time, well before the 2nd edition of code complete was printed in 2004.

      --
      Think globally but act within local variable scope.
    183. Re:Why bother? by rev0lt · · Score: 1

      Visual Studio (since the .NET inclusion) is the worst piece of crap I've ever used to develop. Ugly, slow, hard to customize, to a point where I basically started using SharpDevelop instead o VS for C# development. And debugging? VS .NET had for *years* read-only mode on running/debugging - this makes debugging complex code and fixing it as you go basically impossible. I'd say their debugger was pretty much useless for almost a decade. Having used pre-NET versions of VS, I can assure you they completely assassinated the product. (I've also tried a recent release, 2012? 2014? and it wasnt as bad, but still a pile of crap).

    184. Re:Why bother? by ahabswhale · · Score: 1

      I never said he fabricated anything but it's not hard in benchmarks to set them up to favor whatever you want. It's not hard to find examples of people in the software industry making their pet languages, frameworks, or whatever look better than the competition. It happens ALL THE FUCKING TIME. And I'm sure he makes a ton of money consulting to Microsoft (yes, his own blog says he consults there). So yeah, there's a financial interest alright.

      --
      Are agnostics skeptical of unicorns too?
    185. Re:Why bother? by Bengie · · Score: 1

      Whatsapp has load tested nginx in production with a max of 2.8m connections and 400k new connections per second and capable of handling about 50k requests per second on a single server. They had their server at 3m connections for a bit, but it started to backlog to the point where it had a 15sec backlog. 50k requests per second for 15 seconds is 750k outstanding requests, without crashing. Let me know how Apache would handle that.

    186. Re:Why bother? by atlasdropperofworlds · · Score: 1

      Question #1: Is .NET up to the job?

    187. Re:Why bother? by locketine · · Score: 1

      Well that's valid but clearly you didn't read the book. He provides the code, setup and timing results. He would have had to fabricate the data to make MS look good Java did in fact win a couple categories.

      I really do understand your skepticism though because I've seen that as well for more complicated "experiments" where they were dealing with so many variables in the setup that they could get whatever results they wanted.

      I'm glad we're finally having an actual conversation than just snarky remarks.

      --
      Think globally but act within local variable scope.
    188. Re:Why bother? by atlasdropperofworlds · · Score: 1

      > You're the one presenting the straw man, not me.

      A straw man is when you redirect an argument: In your case, you are saying "no one will do a rewrite of code if they are using a working stack", but the question is "is .NET viable?". No one is going to reply to your assertion because it is irrelevant in this context.

    189. Re:Why bother? by digsbo · · Score: 1

      Why use a car to go 999 miles when you already walked one mile to your destination 1000 miles away? If the tools you are using aren't the best, and you can figure out a way to build the coupling points out so it's not painful, and then do some or most or all of your forward development at a higher productivity, then it's kind of an easy answer. Maybe if you really think you'll be 100% complete at some point, or the existing code base is so ridiculously large it will never make sense to migrate to something new, than it wouldn't. But many, many organizations have enough work to do moving forward that it absolutely makes sense to use more productive tools to do so.

    190. Re:Why bother? by BarbaraHudson · · Score: 1

      Question #1: Is .NET up to the job?

      The headline reads " Is an Open Source .NET Up To the Job?" And the answer is no.

      --
      "Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
    191. Re:Why bother? by ls671 · · Score: 1

      easy, google it:

      http://www.rootusers.com/web-s...

      apache 2.4 in event model can beat nginx in some situation.

      Event model is event model whether it is nginx or apache. Most nginx fanboys know nothing about this unfortunately...

      --
      Everything I write is lies, read between the lines.
    192. Re:Why bother? by sydbarrett74 · · Score: 1

      many of the engineers I encountered adopted an almost Scandinavian lifestyle of working to live instead of living to work.

      What's wrong with that? The vast majority of the planet has a far healthier work-life balance than we here in the US have. Time to take your blinkers off.

      --
      'He who has to break a thing to find out what it is, has left the path of wisdom.' -- Gandalf to Saruman
    193. Re: Why bother? by Anonymous Coward · · Score: 0

      Christ whoever thinks java is killing anything is as wrong as those asshats on Fox "news". Let's stop the echo chamber of negativity against MS and make claims based on experience. I used to buy in to this crap until I started using visual studio and developing with the mono framework. Visual studio is hands down the best ide out there now and tried them all.
      Net isn't a language, it's a framework. Just like mono. Go mono and don't look back.

    194. Re: Why bother? by TheRaven64 · · Score: 1
      Uh, yes? Because that's how you write code that handles errors correctly. Exceptions come from three sources:
      • Runtime exceptions. These don't need to be caught or declared by Java code, but you can generally avoid them by making sure you have null reference checks and using iterators for collections.
      • Exceptions that you throw yourself. You know you're throwing these and the odds are that you want the caller to handle them (if you're using exceptions for intraprocedural flow control, then you're an idiot). So advertise them on your method. Done.
      • Exceptions thrown by methods that you call. These are all advertised by those methods and checked by the compiler (or your IDE), so there's no excuse for not knowing that they're expected.

      This stuff isn't hard. You know at every call site what the possible exceptions are, and you know this because the compiler won't let you explicitly throw or fail to handle any exceptions in your methods. The exceptions that a method can throw are in the JavaDoc and are checked at compile time, so you'll get a compile error if you don't either handle or advertise the exception.

      Good error handling is one of the key things that differentiates good developers from bad. If it's something that you find hard, in a language that goes out of its way to make it easy, then you might want to consider other careers.

      --
      I am TheRaven on Soylent News
    195. Re:Why bother? by znrt · · Score: 1

      Quite a few people who program opensource are great at throwing together something quickly and making it work, but is brittle and crap at scaling

      doesn't that apply to .net development as well? java has been a frequent choice in universities (despite ms efforts) and thus many freshmen are at least somewhat versed in java. ok, still freshmen, but at least with an academic background. you couldn't say the same about some vb/asp guys back in the days.

      i work for a once start-up that is now a big international company, building sw that is complex, cpu and io intensive and that must be secure and scale, and often subject to academic review. it has been a java shop since day one. there's some libraries in c, several scripting languages used here and there, but not a single project has been developed in .net that i know of, and only very rarely some partner (which are specialized companies in several other countries) has done his part in .net. actually, only non-techies use windows at all in the company. as a developer you are given the choice, but only a few happen to choose windows and many of those switch to linux anyway after a while. not saying that all this couldn't be done in .net as well but, you see, scenarios vary and i happen to be in exactly your opposite.

    196. Re: Why bother? by znrt · · Score: 1

      thanks, i wasn't aware on that. not that i would bet on ms' "strong comitment", but lets wait and see what comes out from that!

      i can understand that ms has found itself at some point isolated from current sw development state of the art and trends, and that they now want to catch up is a good thing. they just need to keep working and contributing and stop throwing fancy "product names" at ceos faces, and start thinking about developers in a non ms-centric world, which is what it is.

    197. Re:Why bother? by CyberTech · · Score: 1

      I agree with the majority of your post here, just wanted to comment on this:

      "(why is Apache still spawning processes for every request that comes in... don't they realize the overhead of that??)."

      It's because they don't control the entire software stack, as MS does, so they can't guarantee that a multithreaded model will work properly -- all it takes is one library in the 3rd party module chain to have been buggy (or simply not work) under multithreading, and then the server is unstable.. Apache has supported a multithreaded workers forever.. well back to the 2.0 days (at least a decade), but it's never been default. It also supposes a hybrid mode, where there are multiple workers and each worker spawns multiple threads, in an attempt to alleviate some of the issues caused by the library chains.

      --
      -- CyberTech
    198. Re: Why bother? by curmudgeon99 · · Score: 2

      You know there are support groups out there that can help you with your grief about the immanent collapse of the .NET ecosystem.

      Even Microsoft has orphaned you by going with HTML5 and JavaScript for Metro interfaces.

      Java is the one. Going on about how nice Visual Studio is to work in is like telling us how nice the deck chairs were on the Titanic. It's too late, friend. Sure, .NET will live on in pockets of diehard iconclasts until finally even they--like Japanese soliders on deserted islands, thinking that WWII was still being fought--wake up to the fact that .NET is a dead man walking. Mono is dead. .NET is the Zune and Java is the iPod.

      Can't you see the writing on the wall? Starting to open source .NET? That's a desperate Hail Mary ploy by MS to try to resurrect that corpse called .NET. It's dying and you need to get over your denial, and your anger and get on with the bargaining, depression and acceptance.

      Remember that CEO who said CEO Friday: Why we don’t hire .NET programmers. Don't worry, you don't have to click on that link, I'll quote the relevant part for you:

      ...Everything, that is, but .NET.

      Now let me clarify — .NET is a dandy language. It’s modern, it’s fancy, it’s got all the bells and whistles. And if you’re doing Windows Mobile 7 apps (which the stats suggest you aren’t), it’s your only choice. But choosing .NET is a choice, and whenever anybody does it, I can’t help but ask “why?”
      Don’t get me wrong: .NET on your resume isn’t an instant showstopper. But it will definitely raise questions during the phone screen, for reasons that are best explained by simile:

      Programming with .NET is like cooking in a McDonalds kitchen. It is full of amazing tools that automate absolutely everything. Just press the right button and follow the beeping lights, and you can churn out flawless 1.6 oz burgers faster than anybody else on the planet.

      However, if you need to make a 1.7 oz burger, you simply can’t. There’s no button for it. The patties are pre-formed in the wrong size. They start out frozen so they can’t be smushed up and reformed, and the thawing machine is so tightly integrated with the cooking machine that there’s no way to intercept it between the two. A McDonalds kitchen makes exactly what’s on the McDonalds menu — and does so in an absolutely foolproof fashion. But it can’t go off the menu, and any attempt to bend the machine to your will just breaks it such that it needs to be sent back to the factory for repairs.

      Instead, we look for a very different sort of person....

    199. Re: Why bother? by MemeRot · · Score: 1

      I didn't realize you didn't have to declare runtime errors, sorry.

    200. Re: Why bother? by AqD · · Score: 1

      While that's true in theory, in practice its usefulness is directly based on correct design of interfaces, which even developers of Java itself couldn't do well.

      For instance, the Iterable/Iterator - if you're looping through a directory which may throw IOException in the middle, you are forced to wrap all such problems into RuntimeException or other types of ugly workground, because they didn't expect Iterable/Iterator to throw exception during iteration - not that it's hard to implement, in fact it's perfectly solvable by generics (ex: Iterable), but you're totally screwed as long as Sun/Oracle don't fix their broken API themselves.

      Another is MalformedURLException - it appears 20 years ago some idiot believed URLs are supposed to come from user input on browser rather than created internally from Path or somewhere else, which couldn't and shouldn't produce malformed URLs. Now because of his stupidity everyone has to live with the annoying yet meaningless exception that's never actually thrown.

      All those disadvantages wouldn't matter for a complete in-house project where you can just correct any spec and any inappropriate design when sighted, like those of our own, where checked exception could benefit a lot (I realized that when I was polishing a .NET project). Unfortunately Sun made a lot of things wrong and they never bothered to fix any of them. If they have done less, we'd have suffered less.

    201. Re:Why bother? by Anonymous Coward · · Score: 0

      As far as I know

      So you don't know anything about .NET since about V1, but you wanted to make an unsubstantiated claim that .NET performance "isn't better" because you either dislike .NET or you're a blowhard (or both) meanwhile you have absolutely no citation to make on the subject, nor enough knowledge of .NET's internals to make an informed judgement.

      Thanks for contributing noise to the debate.

      it's been more than five years since I rejected Microsoft options out of hand for technical reasons

      OK so you have knowledge of .NET from five years ago. Obviously it hasn't developed or evolved at all since then, while Java gets updates and improvements *facepalm*

      (Also, you don't appear to know what "out of hand" means. If you had technical reasons, you weren't rejecting them out of hand.)

      This is a company that

      Blah blah blah. This is a technical discussion about .NET.

    202. Re:Why bother? by Anonymous Coward · · Score: 0

      Oh so patents are good now are they?

    203. Re:Why bother? by Bengie · · Score: 1

      The fact that nginx's performance drops off after 600 connections indicates they're doing something wrong with their benchmark. Like I said, nginx doesn't drop performance even after 2mil+ connections. 1,000 connections is nothing for even a single core server, that benchmark is crap. They need to be testing more along 100k connections per core.

    204. Re:Why bother? by Bengie · · Score: 1

      As I understand it, only parts of .NET are open source at the moment.

      The parts that are not dependent on Windows. They didn't opensource the Windows Secure Storage API, because the fundamental parts required for that API to work is in Windows. Pretty much all of the stuff that can work on any system, has been opened.

      The "Windows" version of .Net is going to be based on the OpenSource version. MS is working on transitioning the Windows .Net stack to the exact same version as what they have on GIT. While there may be some forks of .Net, the official MS repo on GITHub will be the one Windows uses.

    205. Re:Why bother? by ls671 · · Score: 1

      I have seem at least 10 benchmarks showing the same. Do your own research and try to be a little less biased. Latest apache does the same as nginx now. Event driven model with multiple connections handled by a single thread. That is as simple as that and it shouldn't be too hard to understand that using the same techniques, apache will indeed be as fast.

      See a more detailed benchmark here: (search for nginx for comparison)
      https://people.apache.org/~jim...

      --
      Everything I write is lies, read between the lines.
    206. Re:Why bother? by godefroi · · Score: 1

      The ".NET stack" only runs on "SQLServer"? You either have a funny definition of ".NET stack" or you're completely ignorant.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    207. Re: Why bother? by godefroi · · Score: 1

      So a no-name CEO of a tiny little startup (who doesn't know the difference between a platform and a language) doesn't hire .NET programmers, and that means .NET is dying and Java will rule the world?

      Tee hee. Keep posting, I'm enjoying it.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    208. Re:Why bother? by curmudgeon99 · · Score: 1

      No, but you know as well as I do that to use the Microsoft ecosystem you inevitably get sucked into running an all-Microsoft stack.
      Can you point me to the Linux or Mac version of SQLServer?

      Can you point me to the Linux or Mac version of IIS?

      I'm waiting...

    209. Re:Why bother? by godefroi · · Score: 1

      .NET places no requirements on MSSQL. Me personally, I store my data in a mix of MSSQL. Postgres, SQLite, Cassandra, Lucene (the Java version), and yes, even Firebird (and I absolutely do NOT recommend Firebird).

      If you want to host ASP.NET code on Linux, there are various ways to host Mono's version, using Apache, Nginx, and other servers: http://www.mono-project.com/do...

      Once .NET Core actually exists, we'll see what the hosting story looks like. I imagine it'll look a lot like Mono's.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    210. Re:Why bother? by curmudgeon99 · · Score: 1

      I understand all about Mono but the monkey is still, after three major versions, missing huge chunks of what .NET purports to do, such as complete support for WF 2.0 and any real support for WPF. I understand what a pain it must be to work against the beast from Redmond with the monkey but you know as well as the rest of us that in Mono you are working on another Symbian.

    211. Re:Why bother? by MooseMiester · · Score: 1

      Xamarin may or may not have an effect here.

      The Enterprise shops are very hot on Xamarin, because it means the existing .net resources can make phone apps... that easily talk to the existing .net based services...

      Yes, the mean.js/node.js stack is in demand right now, but that doesn't mean Java is killing .net. Most of the enterprise shops I know (twenty or so) are .net....

      --
      Murphy was an optimist
    212. Re:Why bother? by rhyous · · Score: 1

      .NET is slowly beeing weeded out of the enterprise though and that's a trend I don't want to see diminished by devs picking up .NET because it's now "open source". It's OK to hate .NET, open source or not.

      You are blowing smoke with this comment. The exact opposite is happening and in a big way.

      Look, I am a FreeBSD guy, but Microsoft is winning whether you think so or not. .NET is rapidly growing in the enterprise!

      Why?
      1. Because it is a well thought-out language that is easy to write, easy to learn.
      2. Because the IDE is second to none. Visual Studio is so far ahead of anything else out there one wonders if any other IDE can catch up ever. It takes dozens of searching and finding plugins to even get Eclipse close to the same functionality and you just can't get there. Eclipse still hasn't reached VS 2008 quality let alone VS 2013 quality.
      3. Everyone always says "If only we could rewrite it, it would be better." Well, .NET is basically a rewrite of Java (thanks to the Sun lawsuit). .Net is fully-backed by Microsoft who invests a ton of money into it, as apposed to Java which doesn't have as much investment. Microsoft fixed a ton of the java issues with the rewrite and haven't looked back. Java has been behind for years.
      4. Microsoft has been putting out open source for years. WiX, Orchard, Entity Framework, etc...
      5. The new generation doesn't hate Microsoft or Apple or anyone (OK some Linux zealots might, but not many), they just love technology and when it comes to development, .NET as a complete package including language, IDE, build tools, etc, is the best out there.
      6. NuGet

      So there are some misconceptions about .NET vs C#. Sites like tiobe shows a list of popular languages. However, what it doesn't show is that multiple of these languages are .NET languages. http://www.tiobe.com/index.php...

      C# 4.3%
      VB 1.8%
      F# 0.8%
      C++ - You can code in .NET with C++. It is hard to know what percent of the C++ tiobe is .NET. I would guess that it is 2%.

      That means .NET is really 9% and growing.

      Now, because the Surface Pro 3 is the best tablet on the market now, and selling like gangbusters, pretty soon, all those Apple and Google app developers will be moving to create new .NET versions. Well, they will find cross platform tools like Xamarin to meet their needs and suddenly they won't be coding in anything but .NET anymore.

    213. Re:Why bother? by godefroi · · Score: 1

      That's why everyone who works on Mono should be so excited about the .NET Core announcement. They still won't have WPF (but who wants that), and I doubt WF will be a part of it, but they'll have a lot more than they do now.

      --
      Karma: Poor (Mostly affected by lame karma-joke sigs)
    214. Re:Why bother? by DuckDodgers · · Score: 1

      You have it backwards. I'm saying that for the past 5 years Microsoft's technologies have been competitive very consistently in every domain - operating systems, office suites, browsers, toolkits, databases, security, you name it. Before that their technology was inconsistent in quality.

      For performance, .NET has compile-time optimization. Java has runtime optimization. .NET uses less memory to launch, and starts faster, and in many applications (especially desktop applications) that's an advantage. But for long running applications like a web server, the Java Virtual Machine has the edge because it profiles the running code and rewrites it on the fly, which offers better optimization than compile-time optimization.

    215. Re:Why bother? by DuckDodgers · · Score: 1

      I was assuming a standard Visual Studio Professional subscription: http://www.visualstudio.com/pr... ($1200 per user per year). Maybe you can negotiate big discounts. I never tried. I saw $1200 and balked. :)

    216. Re:Why bother? by leslie.satenstein · · Score: 1

      It is a MS grasping at straws to remain relevant. With Android, with other technologies displacing .net, how to sustain .net so that customers do not abandon or have rewritten, their .net applications, is the knee jerking MS action.

    217. Re:Why bother? by Slashdot+Parent · · Score: 1

      In my organization, we have purchased Java applications from vendors that are based on all of these: Oracle Weblogic, IBM Websphere, Apache Tomcat, Redhat JBoss, and Apache Geronimo, and we have to figure out how to admin and support them all.

      Why in the actual fuck would you want to do that? For the love of all things holy, pick one of those (or one commercial + one free, if that is more appropriate to your company) and standardize. Do you support half a dozen office suites as well?

      So I really don't understand where this bashing of .Net comes from, but I'm guessing a lot of it is from open source fanboys that love to hate Microsoft and have never taken time to use the recent (last 3-5 years) iterations of it's products.

      Lack of familiarity. MS was extremely opaque about what the hell .NET even was when it first came out until they finally admitted that it was their version of Java. And since there was no reasonable free way to get started with it (and I don't think it's cross platform, right?), most devs and universities standardized on Java.

      At this point, from my point of view, there is little point in ever learning .NET since it offers nothing over the Java ecosystem. My next language will probably be either Python or Scala.

      --
      They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
    218. Re:Why bother? by david_thornley · · Score: 1

      Do not lump C and C++'s memory management together. They're considerably different now. C++ has a uniform resource handling technique (RAII, or perhaps RRID (Resource Release Is Destruction)) which works well. C doesn't have that, last I looked. C# uses garbage collection for memory but (IIRC) IDispose or something like that for other resources.

      I'm not going to suggest that you learn modern C++, because that's a lot of work, but C++ has progressed a lot since the original C with Classes.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    219. Re:Why bother? by Anonymous Coward · · Score: 0

      Apple doesn't let you customize anything, you have it their way. If they don't think something is good enough, you'd never get to hear about it in this prevailing Apple world.

      And seriously... 15 years? Nobody even cared about them, computers or otherwise, before the iPhone... You could maybe make the argument for the mp3 player, but beyond that... come on...

      captcha: decorate

    220. Re: Why bother? by curmudgeon99 · · Score: 1

      If you need help getting some counseling, I'm here for you.

      Denial is a tough row to hoe but I'm sure, with therapy, you can make the transition to another language. There's always PHP or Python if the thought of finally breaking down and learning Java is too painful for you. Or perhaps Go or Hack might offer an easier transition for you...

    221. Re:Why bother? by Anonymous Coward · · Score: 0

      Just about everything in this comment is completely disconnected from reality. You are either a massive shill or an amazing troll.

    222. Re:Why bother? by RingDev · · Score: 1

      This is only true in an extremely narrow scope of costs analysis.

      Yes, Eclipse is free, unless you are using My Eclipse or any other paid tool for additional functionality. At $150 a year for a subscription license, it's still not as expensive as Visual Studio Pro's $680 price tag.

      And across a team of 20 developers, I'm going to blow $10k on licenses (assuming I'm not getting a volume discount or maintaining a Silver/Gold partner status).

      But there are other costs. For example, my team just upgraded to the latest version of MEB. To call it a cluster-fuck would be an understatement. All told across the team, between the upgrade itself, and issues with the new IDE we spent 200+ hours of labor. We took 1 guy off of his project and had him become the "MEB issue guy" and he spent 2 weeks just walking around helping other devs when they ran into issues with the IDE and build. Figure it costs the company on average $50+/hr for labor on my team. This one upgrade has cost us even more than the $10k in additional license costs I would have paid for VS2013.

      And that's not even getting into the data side of the house. Our Oracle license cost an arm and a leg compared to our SQL Server licenses. And .Net apps have no problem what so ever connecting to any data source you have. If there is a connection driver for it, .Net can connect to it. SQL Server, Oracle, DB2, Lotus, almost all of the NoSQL databases. And with Entity Framework I get the power of persistent objects without the hassle of crap fest of Hibernate.

      Java is a great tool. And it blow MS/.Net out of the water for cross-platform development, no questions asked. But when it comes to LOB applications, working with the .Net stack is just so much easier.

      Now, if you're getting into super high performance stuff, ditch Java and .Net and move back in to the realm of C. Although, I'd still rather use VS2013 for C development ;)

      -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
    223. Re:Why bother? by curmudgeon99 · · Score: 1

      Rick, I just upgrade my team to MyEclipse 2015 and we have not had any problems. What problems did you see?

      As for database connections and the price of any given database, I consider that orthogonal to this discussion, as you can in the Java world choose to use any DB you like, including SQL Server.

      My experience--albeit limited--in the .NET space is that Microsoft tools have an affinity for Microsoft-built comrades. If I'm not mistaken, I believe Sharepoint requires SQL Server.

    224. Re:Why bother? by RingDev · · Score: 1

      Most of our problems with MEB have been tied to the WebSphere and SVN integration features. The devs have been working with the tools team to get it worked out, so I'm not in the details on each issue. But I was getting reports of "delayed for 2 hours due to MEB" pretty much daily from multiple projects and teams. The department as a whole, across ~40 developers, has viewed the upgrade as severely negative and it has sparked talks of switching to Eclipse and other tools.

      I'd agree with you on the databases being orthogonal. I was just pointing out that the parent's point about .Net requiring SQL Server was factually incorrect. While I strongly prefer SQL Server because the tools that are included, and the 3rd party tools available, make certain aspects of software development, release management, and debugging sooooo much easier. Oracle has many similar tools, but again, the price is a tough pill to swallow, and in my experience, they don't have the same UX polish that MS has put together in the SQL Server tools. When the Free Toad fork went out of active development 10 years ago and it's still considered one of the better tools to work with Oracle through, it kinda says something about the quality of tools available to Oracle.

      I believe you are correct on SharePoint, at least I've never implemented it on anything other than SQL Server, and giving it's reliance on in-document searching and the MS text search engine, I'd be very surprised to find out that it could run on a different back end.

      There is an affinity as well between IIS and .Net. I believe you can run .Net sites off of Apache on Windows, but I would wager you would have a much lighter support community.

      And while Mono and the MS Open initiative are breaking the affinity between .Net and Windows, that relationship will always exist. At this point though, I'm much less interested in WPF. Not because there is anything wrong with it (Honestly, a true vector based layout engine is soooo much better than dealing with flow based layout of HTML), but because the war is over, Web killed the desktop app. There are very few scenarios where a desktop app is still necessary, especially in the LOB environment that the majority of development is involved.

      Don't get me wrong, Java is a great language. Not drinking the coolaid here. I'll jump to PHP or C++, or Java as the project requires. But Visual Studio is by far the strongest, most stable, and feature rich IDE available on the market.

      -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
    225. Re: Why bother? by RingDev · · Score: 1

      I'm thinking you may want to take a look in the mirror on accusations of denial.

      Java is a good programming language, but seeing as how it has lost almost 50% of it's market penetration over the last 12 years while C# and VB.Net have both increased their market penetration significantly over the same time would imply that factually speaking, Java is not "taking over". If anything, it is being replaced.

      Not necessarily by .Net languages, with the transition to mobile platforms Objective-C/Swift are taking the place of what would have historically been Java apps.

      And even as you mentioned, PHP and Python are also replacing Java.

      The point I would make is that having multiple programming languages available to us is GOOD! I prefer working within Visual Studio, but I am glad that Java exists. Because if Microsoft ever does go belly up, I'm going to need another mainstay to jump to. Likewise, if Java goes through yet another fragmentation, I like knowing that I can drop an increasingly convoluted support structure and switch to the .Net framework.

      Options are good. We don't need, nor do we even want a "winner" in this market. If going open source opens another option to compete with Java on the LAMP stack, AWESOME! If Open.Net put's Java at risk, LAME!

      Put the coolaide down, go share a beer with your fellow developers, C# and Java alike, and sit there ragging on the Fortran/Cobol programmers :P

      -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
    226. Re: Why bother? by RingDev · · Score: 1

      "Even Microsoft has orphaned you by going with HTML5 and JavaScript for Metro interfaces. "

      Microsoft had Silverlight, which was designed to compete against Flash. When the mobile platforms exploded, and both Apple and Google said, "Fsk Flash!" Microsoft saw the writing on the wall. Why continue to invest in a platform that wasn't going to be supported on the fastest growing market segment? If Microsoft had continued with Silverlight/WPF for Metro it would have been a ridiculously dumb technical decision. Going to HTML 5 and JavaScript libraries was the logical choice.

      ".NET is the Zune "

      I believe the Zune platform was primarily C/C++, which currently blows Java out of the water for popular programming languages.

      "Java is the iPod"

      Lol, no. The iPod is C/Objective-C. Even the new stuff is Objective-C and Swift. Java is nothing to the Apple platform.

      "Can't you see the writing on the wall?"

      No, but I can see the Tiobe index: http://www.tiobe.com/index.php...

      Which sure seems to point out the exact opposite. Java is losing ground, .Net framework languages are gaining. Not 1-for-1 mind you, but the trend is opposite of your bemoaning.

      As for the CEO you quoted, he doesn't appear to understand what it is that the .Net framework and the JVM are actually doing. Either that, or he is expressing an opposition to all high level programming languages (.Net and Java included). In either case, it doesn't really make your point for you other than noting that someone has drank the anti-MS coolaide and is making irrational decisions based on it.

      -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
    227. Re: Why bother? by Anonymous Coward · · Score: 0

      Assuming this is true, what if I just want 1.6oz burgers? Why bother with anything else when I have those great tools? It's like saying that to build a house, you have to use something other than the most effective blueprints - just because. There's a good reason why those burgers are 1.6oz.

    228. Re:Why bother? by michaelpearls · · Score: 1

      Don't be silly. With .NET core, you can use your "free" Linux server all you want. You won't have to buy a Microsoft server license to run ASP.NET and C#. I personally think that's the whole point of going open source.

    229. Re: Why bother? by curmudgeon99 · · Score: 1

      So, you're saying you're okay with those Tech CEOs bypassing you with your McDonald's skills

    230. Re:Why bother? by ahodgson · · Score: 1

      All utterly irrelevant, since virtually any real application behind that is going to be doing at most a few hundred requests per second per core.

      Web server differences are only relevant for serving tiny static files, or possibly a messaging app with millions of otherwise cheap requests coming in.

      Also, most sites offload image and static file serving to a CDN.

      I guarantee that 99.9+% of real sites will see no performance difference between Apache and Nginx.

    231. Re:Why bother? by curmudgeon99 · · Score: 1

      Fair enough. With MEB 2014, I sent genuitec a few nastygrams over their decision to punt on SVN support. I'm there with you. But I did get it to work well and you can always use Tortoise--that's what my team uses. Do you do a commit every 15 minutes?

      As for your troubles with WebSphere--well, that pig is something I have been able to jettison many times for all the alternatives so if you're still stuck with WebSphere you have your own set of problems.

      Also, frankly, I think you are being sandbagged if people can claim that 25% of their time daily is waiting for MEB. I think, frankly, that has to be bullshit--they are exaggerating.

      Also, if you have to leave MEB, then there is the fabulous free Spring Tool Suite which does lots of what MEB does. I understand that, technically, .NET can connect to any database vendor's driver. But you also know that when you're in a MS shop you end up--because of support and tools such a VS--end up being a 100% MS shop. It just happens. I doubt MSDN is going to give you oodles of pointers on how to configure .NET and solve esoteric problems on Postgres, MySQL or Oracle. It's not in their best interest to support the competition. So, bottom line, the decision to become an MS shop is a higher cost point and so fewer and fewer shops are choosing that. I look back on my decision in 1999 to become a Java fiend as the best decision I ever made and I stand by that assessment to this day. The last product I worked professionally on that came from Microsoft was VB6 and it constantly fucked up. Certainly, your mileage may vary but I have found my salary spiraling up and up without end because I know Java and the JEE ecosystem and its many open-sourced brethren so well.

    232. Re:Why bother? by RingDev · · Score: 1

      "But you also know that when you're in a MS shop you end up--because of support and tools such a VS--end up being a 100% MS shop. It just happens"

      Actually, I don't know that. I have worked in 100% MS shops. And I have worked in blended shops. And seeing as how you point out that you haven't worked in a MS shop for over a decade, I'd wager that YOU don't know that either.

      "I doubt MSDN is going to give you oodles of pointers on how to configure .NET and solve esoteric problems on Postgres, MySQL or Oracle."

      True, If I go to the MSDN I will find information on connecting TO Postgre, MySQL, and Oracle, but I won't find information on solving esoteric problems within those platforms. Just as I wouldn't go to the Oracle knowledge base expecting to find details on the SQL Server query optimizer.

      "So, bottom line, the decision to become an MS shop is a higher cost point "

      That's a neat statement for which you have offered no proof. VS Pro is more expensive than MEB, but MEB has an annual license where as VS Pro is a 1-time purchase. VS Pro also includes many tools that allow for more rapid development (Entity Framework + LINQ destroys Hibernate for development speed). If using VS saves me even just a handful of hours in a year, it is the cheaper option. Similarly, if you compare the Oracle and SQL Server licensing, it is easy to see that the vast majority of LOB scenarios will have a lower cost using SQL Server's license structure than Oracles, especially with the advent of multiple-core VMs.

      That isn't a MS trumps all endorsement, for just as I can point out numerous actual real world examples where MS is cheaper, I can also point out numerous real-world examples where .Net/SQL Server are NOT the best tool for the job.

      "fewer and fewer shops are choosing that"

      You realize that this statement is factually incorrect, right? I can show you code repository scans, job indexes, market index, education trends, etc... that all show the same thing: .Net has been gaining popularity consistently over the last 14 years while Java has been losing popularity consistently.

      "The last product I worked professionally on that came from Microsoft was VB6 and it constantly fucked up."

      So you're justifying your choice in cool aide based on a 17 year old platform that has been deprecated for a decade. I hate to break it to you, but 17 years ago Java was just as fucked up. Heck, even just 10 years ago it was incredibly painful to use. Not to mention the half dozen different 'varieties' to navigate.

      Listen, Java is a solid platform. But it isn't the end-all-be-all solution. I would seriously recommend spending some time doing some fun projects in C# (there are plenty of open source C# opportunities out there!) with the FREE edition of Visual Studio. It will take some time to learn, and it will take even longer to learn all of the powers that the IDE presents you with, but you will likely walk away from it as a more well informed developer.

      -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
    233. Re:Why bother? by Anonymous Coward · · Score: 0

      That made no sense. There is a huge difference between a software framework and a database ....

  2. C# and Xamarin allow cross platform mobile by MemeRot · · Score: 4, Interesting

    Which is probably more important than anything else. The benefit of open sourcing .net core is that mono will get better. So if you have a lot of existing .net code and want to get away from ms licensing, at least ms will keep the dev tool revenue.

    1. Re:C# and Xamarin allow cross platform mobile by Anonymous Coward · · Score: 0

      For me, I've found other tools to be more effective cross platform options even though they're not open source (or have only a few open source libraries as part of the standard library). It has its issues but Delphi XE7 can target Win32, Win64, OS X, iOS and Android. Maybe Windows Phone as well in future versions. I find modern Object Pascal to be very readable and quite elegant.

    2. Re:C# and Xamarin allow cross platform mobile by Jeeeb · · Score: 1

      Which is probably more important than anything else. The benefit of open sourcing .net core is that mono will get better. So if you have a lot of existing .net code and want to get away from ms licensing, at least ms will keep the dev tool revenue.

      From (mostly indirect) experience, maybe it does for CRUD apps. For complicated applications though you might get ~30% code sharing and a lot of pain.

    3. Re:C# and Xamarin allow cross platform mobile by Anonymous Coward · · Score: 0

      I think you are wrong. Software like iCircuit seems to reach 80% code reuse (http://praeclarum.org/post/42378027611/icircuit-code-reuse-part-cinq). I've done my own C-like cross platform stuff and indeed the sharing accounts for the business logic of your program. If your program is all about UI and calling web services then yes, it doesn't help much. That doesn't mean it has to be complex or simple.

  3. MS has been late to every recent tech movement by scorp1us · · Score: 5, Interesting

    I've been a cross-platform coder for about a decade now. I liked the ideas of Java and .NET when they came out, but they were lacking in execution. If you look at everything powering technology today: Big Data, Node.js, Android/iOS, cloud remember (Hotmail was bought by MS, originally on BSD servers) Microsoft hasn't done squat. Meanwhile MS has delivered a lot of failed tech: WinForms, Zune, Windows Phone. (I've only ever seen two people with a Windows Phone) Only the Xbox and .NET have succeeded. I would be very concerned hitching my trailer to MS. They don't do innovation anymore, they don't even do copying (embrace and extend) well.

    A big .NET friend of mine has recently taken to web development. He develops on OSX, deploys to Linux (AWS). He loves how he can take one thing and just run it on another. He doesn't have to worry about putting IIS on Linux, Node works everywhere. The code he develops isn't tied to any specific OS platform. Angular is node dependent, but Knockout isn't.

    And there in I think the real danger is realized. If you use .NET you are locked into MS stagnant mono-culture, and their failing culture of innovation. If you want bleeding edge, OS agnosticism, MS isn't going to deliver it. Their goal will always be to lock you into their vertical to protect their verticals.

    With the very good developments in Linux and the Apple premium is gone, only organizations with legacy applications need consider any Microsoft technology.

    PS. I use Qt for everything on Mobile and desktop, Node for server and Knockout/Angular for web client. There is a slight possibility that Qt's QML will work on the web. Python for anything else. This is crossplatform, and not one drop of MS. It is my speculation that MS is a wounded animal, realizing they are like Cadillac. Cadillac realized the average age of their customers were getting older, and over 60 and that market would be no longer driving in a few years. There's an exodus from MS platforms. Their new focus aims to fix this. Buyer beware. Where is the money in it for them?

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
    1. Re:MS has been late to every recent tech movement by Anonymous Coward · · Score: 5, Informative

      So much misinformation.

      1) Angular is NOT node dependent, at all. We use it with our own custom .NET web server (libuv + libcurl + our own HTTP stack), with no special support for angular at all (which is a purely client side DSL for web applications built on top of ECMA262, DOM Level 3/4, and a few HTML5 WG specs like a modern Selectors & History API).

      2) You can deploy traditional .NET (ASP.NET / MVC) servers any which way you want too, you can develop on OSX, deploy to Mono on Linux in an EC2 instance, or you can deploy to an IIS instance anywhere you want as well.

      3) You're mixing up technologies, .NET is an brand for the implementation of the CLI & BCL (ECMA specifications (just like JavaScript) that form the framework that is the basis of most MSIL VMs, eg: Mono and .NET's various VMs on windows).

      4) You're tying in ASP.NET / MVC in with .NET in general, however with the exception of M$ shops - anyone writing large scale web servers in .NET is certainly NOT using ASP.NET (horribly stateful, not amazingly efficient), and certainly not plain ASP.NET (they're augmenting it w/ Kestrel or whatever) - they're using an owin compatible server like Katana, Nowin, etc - and using frameworks like Nancy or SimpleWeb, which are the .NET equivilents of Node.js w/ koa or express.

      P.S. I run a .net web service running on FreeBSD on AWS (using Mono) that servers ~300,000 concurrent users at any point in time, not quite 1 million requests/minute on average 24/7 (a barely successful iOS app, enough to sustain a small software company).

    2. Re:MS has been late to every recent tech movement by Anonymous Coward · · Score: 1

      I would be very concerned hitching my trailer to MS. They don't do innovation anymore, they don't even do copying (embrace and extend) well.

      Correction: Microsoft has never done innovation. Microsoft's standard methods of "innovation" have always been to copy, steal or buy.

    3. Re:MS has been late to every recent tech movement by steelfood · · Score: 4, Insightful

      This is a result of their past transgressions coming back to haunt them. Over the past 15 years, they've managed to alienate practically everybody. They've burned everyone who's worked with them, including vendors, partners, and now with Windows 8, application developers, server administrators, and general users.

      Their reputation precedes them. Nobody trusts them. People are avoiding anything by Microsoft. If it wasn't for Windows Server and Active Directory, Office, and to a lesser extent, SQL Server, and Visual Studio, everyone would have long switched away from Microsoft products.

      Their tactics worked in the 90's because there were so many small players that they could take advantage of, and people were largely ignorant of Microsoft's dirty actions. Today, there are a few major players, all of whom are well-known and liked by their users and partners. They're not just competing with Microsoft on technology, but also on reputation as well. People are showing their willingness to deal with a bit of inconvenience in using (arguably) slightly inferior enterprise solutions over the potential risks of being locked in and screwed over by a company with a history of doing so.

      Oracle is starting to feel this too. Anti-competitive behavior is being punished. Oracle still has a stranglehold on enterprise databases, but that's eroding very quickly. Look what's happening to Java and even more so, OpenOffice and MySQL.

      --
      "If a nation expects to be ignorant and free in a state of civilization, it expects what never was and never will be."
    4. Re:MS has been late to every recent tech movement by Bite+The+Pillow · · Score: 0, Troll

      PS. I use Qt for everything on Mobile and desktop, Node for server and Knockout/Angular for web client.

      Fuck you with a rake, sideways. I understand that JavaScript/AJAX is the way to get things done, but I have never seen a good Knockout implementation. If you have a template that replies on AJAX, you either have a default text that doesn't apply if JS is disabled, or the user doesn't know if something failed to load.

      Example, visit Youtube with JS disabled - you get a message that this video isn't available. I don't know if they use JS, I assume not, but the HTML does not give me useful information.

      It is so easy to do knockout, but so hard to do it well. To rely on Knockout or Angular, both JS libraries, for a web client, is basically to tell your security minded users to just trust you.

      Well, I can't trust you and I can't trust your advertisers, so go get a rake.

    5. Re:MS has been late to every recent tech movement by Anonymous Coward · · Score: 0

      OpenOffice is a sucky Microsoft Office clone that has always been a good example of why Java is slower than C/C++. I wish it were better than Microsoft, but unfortunately the best thing that can be said about it is that it is free (in both senses). Ultimately the enterprise decision is still stuck in the last decade; do we pay Microsoft for a solution that works right, or do we get a free solution that doesn't work quite right but our devs will be more able to fix any problems?

      Oracle probably isn't going much of anywhere. Nearly everyone in the market for an Oracle database already has one and will probably keep using it for quite a while. And MySQL is definitely not a replacement. The things that Oracle gets used for are actually the things that MySQL is not very good at. But the database market has definitely been expanding quite a lot and Oracle is not a big part of that expansion./p.

    6. Re: MS has been late to every recent tech movement by Anonymous Coward · · Score: 0

      Wrong, node is a standalone JS interpreter. Nothing to do with a browser. Not a library either.

    7. Re:MS has been late to every recent tech movement by qpqp · · Score: 1

      Irritates to no end those people who think that coding for node is a skillset superior to jscript itself.

      Of course it is superior, just like knowing RoR is superior to knowing just Ruby.
      You might want to reformulate your point, as it seemingly didn't quite come across the way you intended to, unless your point was to make you look stupid.

    8. Re:MS has been late to every recent tech movement by gnu-sucks · · Score: 1

      Besides some fancy admin tools, what is the difference between Oracle and MySQL?

      I know Oracle sells a lot of enterprise solution apps, but from a database point of view, what's the difference?

    9. Re:MS has been late to every recent tech movement by scorp1us · · Score: 1

      Ok ok. I always thought Angular was dependent on node because I always saw them together. I apologize for that one singular inaccuracy. The rest is true.

      The point remains. To pick up .NET now, you are marring yourself to an out-of-date tech stack.

      --
      Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
    10. Re:MS has been late to every recent tech movement by phantomfive · · Score: 0

      Their goal will always be to lock you into their vertical to protect their verticals.

      That's a good point.

      --
      "First they came for the slanderers and i said nothing."
    11. Re:MS has been late to every recent tech movement by qpqp · · Score: 1

      Microsoft's standard methods of "innovation" have always been to copy, steal or burn.

      That's how I read your sentence, so... FTFY ;)

    12. Re:MS has been late to every recent tech movement by scorp1us · · Score: 1

      jscript is some hacked implementation of javascript, by Microsoft. Thanks for making my point for me.

      --
      Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
    13. Re:MS has been late to every recent tech movement by rjstanford · · Score: 1

      Almost everything but for an easy kill let's talk about real clustering that f'n works. MySQL, even with the 3rd party solutions out there (and I've tried many of them) doesn't get close to Oracle for a truly vertical and horizontal multi-datacenter cluster.

      If you don't need that, MySQL is decent, although at least recently was still lacking in simple things like online index creation (adding an index to a table with hundreds of millions of rows shouldn't lock the table for hours, mmmkay?). Sure, there are very elaborate workarounds involving machine failovers, but there shouldn't have to be.

      --
      You're special forces then? That's great! I just love your olympics!
    14. Re:MS has been late to every recent tech movement by rjstanford · · Score: 2

      Someone as simple as YouTube could probably handle that, but for any complex interactions I'll be damned if I'm going to take my time statefully rendering HTML pages on the server (about the most expensive and restrictive operations you can do) just for the truly minute fraction of one percent that won't trust their browsers to execute dynamic code in a nice secure sandbox. Sorry, but I'm with those guys now. You're gonna need a lot of rakes.

      --
      You're special forces then? That's great! I just love your olympics!
    15. Re:MS has been late to every recent tech movement by Anonymous Coward · · Score: 0

      Well, what about Postgres?

    16. Re:MS has been late to every recent tech movement by Anonymous Coward · · Score: 0

      OpenOffice is a sucky Microsoft Office clone that has always been a good example of why Java is slower than C/C++.

      Um, what? Most of the OpenOffice code is C/C++. Java is only needed for the database for Base (MS Access replacement) and some wizards (also for a lot of build code, but that doesn't end up in the build). If you don't need those, OO will run just fine without any Java on your system.

    17. Re:MS has been late to every recent tech movement by Anonymous Coward · · Score: 0

      Take a look at Dryad LINQ and some of the related MS Research projects.
      It may not all be market ready, but they certainly haven't "done nothing" in regards to big data.
      Also .NET 4.5+ blows Java out of the water re. async programming model, LINQ being a thing, TPL and countless other really well thought out things included in the core.
      Very cool stuff.

    18. Re:MS has been late to every recent tech movement by SourceFrog · · Score: 2

      To be fair, Android/iOS are not exactly innovative either - they just managed to get themselves in the 'right place and right time' for the smartphone trend - but if you look at "innovation", the only thing they've innovated, is the business models (e.g. "app store" distribution cartels that reap 30% from ISVs).

      Microsoft haven't done squat in the past, but they have a new CEO with a very new approach - I'll be watching them closely. This is not the Microsoft of old. And Google has already become the new Microsoft, engaging in the same dirty tactics Microsoft used to.

      --
      My other UID is three digits.
    19. Re:MS has been late to every recent tech movement by clay_buster · · Score: 1

      .Net 4.5 has some nice async features. LINQ, on the other hand is yet another power tool that lets the unsuspecting create amazingly inefficient code. No one ever seems to have any idea what their LINQ code is doing under the hood.

    20. Re:MS has been late to every recent tech movement by Anonymous Coward · · Score: 0

      What a ridiculous statement. Microsoft will always be the Microsoft of old. Are you really that stupid to think they've suddenly changed because they have a new CEO? The only thing that's changed is that they now try to do their dirty tricks in private instead of embarrassingly publicizing it. To imply Google is the "new" Microsoft that they're up to the same dirty tactics as the "old" Microsoft is just the ludicrous rantings of a Microsoft shill trying to shake of the stink of the company that provides him his bread and butter. There is absolutely nothing Google could do to ever become what Microsoft is and still is. They are the most nefarious company on earth and they're reaping their rewards by being ignored by the tech community. Everything they make and manufacture is shitty. No wonder businesses are fleeing from them in droves. The only reason parts of C# were "open sourced" was that they recognized the writing on the wall and finally discovered it was a failure.

    21. Re: MS has been late to every recent tech movement by MemeRot · · Score: 1

      Depends on what you mean. We don't use linq to sql because you're not sure of the sql you'll generate. Linq to objects is quite nice. Joining two lists of objects in memory automatically rather than writing your own low level code to copy things over is awesome.

    22. Re:MS has been late to every recent tech movement by rev0lt · · Score: 1

      If you really have to ask this, you never used a real RDMS.

    23. Re: MS has been late to every recent tech movement by MemeRot · · Score: 1

      Why are you locked in? If you have web services calling web services it doesn't really matter what a web service is written in. There are some nice .net platforms that don't come from MS, like ServiceStack or Nancy. Even the MS Mvc.Net platform is mono compatible (and was already open source) so you can run Linux with docker running 6 instances of your service.

    24. Re:MS has been late to every recent tech movement by michaelpearls · · Score: 1

      > Where is the money in it for them?
      Windows Azure

  4. You seem to think .NET is a language by subreality · · Score: 0

    .NET is a runtime environment, not a language. You won't get worthwhile answers because your questions are broken.

    1. Re:You seem to think .NET is a language by Frosty+Piss · · Score: 1

      .NET is a runtime environment, not a language. You won't get worthwhile answers because your questions are broken.

      The .NET "ecosystem" includes many components, including C#, which is a language.

      The question is fine, but your response is pedantic.

      --
      If you want news from today, you have to come back tomorrow.
    2. Re:You seem to think .NET is a language by nzac · · Score: 1

      It pretty much is one language, you just have to pick you prefered syntax.

      There are a few minor differences but almost any statement in any of the 3 support languages has a functional equlivlent in the other 2.

      Of course if for some deluded reason you chose the C++ frontend you can also mix in superior regular C++. Anyone who uses C++/CLI for anything other than compadiblity reasons should be isolated and forced to exculsively program in it untill they see the error of their thinking.

    3. Re:You seem to think .NET is a language by Guspaz · · Score: 1

      There are dozens of languages that compile to the .NET CLI, including BASIC, C++, Ruby, PHP, Java, JavaScript, Python, Lisp, Pascal, Perl, Scheme, etc. C# is the most popular language to compile to the CLI, yes, but almost any other common language out there can be used too.

    4. Re:You seem to think .NET is a language by Billly+Gates · · Score: 2

      There are dozens of languages that compile to the .NET CLI, including BASIC, C++, Ruby, PHP, Java, JavaScript, Python, Lisp, Pascal, Perl, Scheme, etc. C# is the most popular language to compile to the CLI, yes, but almost any other common language out there can be used too.

      Yeah but really who uses them?

      95% of .NET is in c#. All the VB jobs are still for legacy 5.x and 6.x code that I see. Take it back 85% c# and 10% c++. Just because it can be done COBOL doesn't mean people use it other than to see if they can write a hello world program.

      In essence it is a c# based environment.

    5. Re:You seem to think .NET is a language by Nemyst · · Score: 2

      Not even that, Visual C++ .NET is a broken aberration that I have not seen used anywhere ever (it's not the same as Visual C++, which is straight up C++). .NET is effectively C#.

    6. Re:You seem to think .NET is a language by WinstonWolfIT · · Score: 1

      And, increasingly, F#. I haven't done the leap myself but will soon have to out of necessity, but I haven't seen a single C# -> F# developer want to go back.

    7. Re:You seem to think .NET is a language by NormalVisual · · Score: 1

      Not even that, Visual C++ .NET is a broken aberration that I have not seen used anywhere ever

      C++/CLI gets used plenty, but mostly in places where straight C++ has to interact with other managed code. It works, but C# is a *lot* easier to deal with if you're staying completely within the managed environment. If you don't have the need to mix them, you likely won't see it. In my case, I've had to use it both at my current job and the one previous when integrating legacy C++ code with newer .Net stuff.

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    8. Re:You seem to think .NET is a language by Bent+Spoke · · Score: 1

      .NET is a marketing vessel.

    9. Re:You seem to think .NET is a language by jader3rd · · Score: 1

      Not even that, Visual C++ .NET is a broken aberration that I have not seen used anywhere ever

      I don't think that anyone should ever write a full on application with it, but C++ .Net does work as a small .dll for C#/C++ interop, when your doing something really tricky and P/Invoke isn't quite cutting it.

  5. we can't find talented workers by Anonymous Coward · · Score: 2, Interesting

    I work at a funded startup in the Seattle area and we've had several .NET (C#) developer positions open for several months now. We rarely even get applicants and the ones we get rarely pass a basic phone screen.

      No way would we discriminate on age. The talent pool from what we've seen is crap.

    1. Re:we can't find talented workers by Anonymous Coward · · Score: 1

      You are working in a city that has very high demand and high pay for skilled programmers in this area, it isn't surprisingly that they are difficult to find there.

  6. I'm Using C++ by Greyfox · · Score: 1
    I'd been on Java for a while but started moving back toward C++ a couple years ago. Between boost, the Eigen math library and the new C++11 standard features, I haven't had to code my own utility libraries unless I want to. I've also started playing around with Qt as an easy-to-use and modern GUI library. The majority of my development has been on Linux, and these tools get me where I need to be.

    i think you'll find you're wrong about the C standard library being "nothing compared to what's out there". If it seems that way, you probably haven't learned enough about the C standard library. The C standard library provides an API to all your system resources. You can take full control of the hardware with the library. Things you never thought to ask if you could do. Most programmers, in my experience, never get much past the system("rm ...") stage. I've been doing maintenance programming for 25 years now and every fucking C program I've ever had to maintain has had one of those somewhere in the code. It makes me wish I could reach back in time through my monitor to slap someone.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    1. Re:I'm Using C++ by Anonymous Coward · · Score: 1

      Lock a file w/ ISO C. You can't, you're stuck w/ POSIX/Win32/ APIs.

      To this date there's no general IO mechanism (you have file descriptors, file-descriptor-specific IO functions, and that's it - good luck writing modular APIs in ISO C take input from arbitrary locations and respond in arbitrary fashions), you're suck to BSD sockets/winsock for networking, ISO file io for files, POSIX for sockets, Win32 APIs for windows sockets/MSMQ/etc, there's no general concept of IO at all in C.

      So far I've only been talking about IO.

      Don't get me started on threads (ISO C11 has threads, and very limited locking/atomic mechanisms - enough for basic work, not enough for large production systems w/ performance requirements around simple concepts like single produce multiple consumers, etc - which in ISO C 11 require ~3x as many instructions and 2x as much contention as really needs to happen).

      This is just two pretty basic concepts, IO and threads. I haven't touched general math (libm is lacking, complex math has issues, you're limited to fixed size integers in both C/C++ standards - so imath/gml/etc are required in certain circumstances, etc) - linear algebra (where you have to get to BLAS, LAPACK, etc - to cover 'some' of what eigen does), and then there's data structures (various types of linked list, maps, various types of trees, queues/stacks, tuples, tries, etc) - also VERY BASIC concepts, not covered by C.

      I think you're blinded by the incredible simplicity of software you work with.

    2. Re:I'm Using C++ by Anonymous Coward · · Score: 0

      Lock a file w/ ISO C. You can't, you're stuck w/ POSIX/Win32/ APIs.

      The thing is, nearly every other language happens to be in the same boat.

      How many OS are NOT built on top of C?
      How many languages run on an OS NOT built on top of C?

      I think you're blinded by the incredible simplicity of software you work with.

      How is just about any other language on the vast majority of OS any different?

      There are just more layers in-between, but it is the same boat.

      good luck writing modular APIs in ISO C take input from arbitrary locations and respond in arbitrary fashions),

      Done it, not that hard. Sure, you end up with platform-specific objects/classes/backends whatever you want to call them.....
      but again, the vast majority of languages this is what happens anyways.

      The truth is most OS are written in C, and libc consists of ANSI stuff + "the system library and/or POSIX" (all the non-ANSI stuff).

      Most languages, again, do not compile down to machine code that runs outside of an OS. If anything, they make lots of calls
      to the same exact C functions.

      The "good luck writing modular APIs" still happens, just perhaps someone has done the work for you in non-C languages.

      One could ask: why do so many people repeat themselves needlessly, when just adding things to C would make EVERYONE'S life easier?

      One could also ask: why is there not a "reference" C implementation? At least then, even without such things getting into "the standard" there would be a central target to aim for.

      Not excusing C's faults......but most languages on most OS, you are in the exact same boat, in the exact same ocean.....just because you are 5 levels up and do not notice, does not change a thing.

      I have a love/hate relationship with C...but why do so many people complain about it.....yet keep on using an OS built on top of it.........I have been waiting for DECADES for someone to write an OS/kernel in something not C ........ but that is "reinventing the wheel" so never goes anywhere...........never catches on............

      Please, take over the areas C lacks in. None of the "higher-level" languages seem to want to go there....they are chasing the higher targets, running around always looking upwards..........

      C and perhaps ANSI C deserves some blame, sure. But much blame can also go to the people who consistently avoid writing a proper OS, always cramming more and more on top of what is mostly a large foundation of C code.

    3. Re:I'm Using C++ by toejam13 · · Score: 4, Informative

      The C standard library provides an API to all your system resources.

      The C standard library (libC) provides a very basic API to some of your system resources. You have to include a large number of other libraries in order to obtain a feature set similar to the Java and .NET frameworks.

      And in addition to the IO, thread and math limitations that the AC above touches on, there are several other major problems facing the core C libraries: wchar support, qword support, socket support and overflow safe functions. There has been significant balkanization between the BSD, GNU and Microsoft camps on these topics, making cross platform development difficult. I've written a lot of wrapper code over the years dealing with the issue.

      The nice part about the Java and .NET frameworks is that they eliminate most of the problems I mentioned and several of the issues the AC brought up.

      But I do still find the C libraries, Java framework and .NET framework all lacking. They're good for about 80% of all cases, but I seem to find myself thumping on the native APIs far more than I thought I should. I'm really annoyed at how often I find myself using PInovoke under C#.

      My hope is that with the Core .NET moving off to the open source camp, maybe Microsoft can start focusing on adding C# bindings for the rest of WinAPI. The day I can write code without having to use a PInvoke is the day I'll stop writing C/C++ code.

    4. Re:I'm Using C++ by gbjbaanb · · Score: 1

      I'll tell you one more ting to look at in C/C++ : web development.

      I had to replace a PHP webserver that did a small bit of functionality recently, and we had a C++ service that did all the heavy lifting anyway, so I added a webserver lib to it (civitweb, a fork of mongoose) and found to my surprise that it was trivially easy. sure I had to write out my own headers but that requires all of 3 lines of cut and paste code, the rest - pure ease.

      All the bloated web frameworks I'd used previously are gone now, for all their advanced functionality, I find they just get in the way. I might still use them for big systems that have a lot of pre-built functionality, but if you want web serving that provides most of the functionality in client-side javascript anyway, I'd be doing it in C from now on!

    5. Re:I'm Using C++ by Bent+Spoke · · Score: 1

      Just for the record, how much significant software out there does not have C (and/or C++) at it's core.

      Even C# has it's core written in C++, apparently. I

  7. Here's a question... by Black+Parrot · · Score: 3, Interesting

    How come "Ask Slashdot" posts always boil down to "give me some ammunition for an argument with my boss" ?

    --
    Sheesh, evil *and* a jerk. -- Jade
    1. Re: Here's a question... by Rob+Y. · · Score: 2

      Umm. It was my question, and more for ammunition in a discussion with myself. I don't know much about .NET, but I know the web has done fine without it. And as an open source fan, that's good news. So, yeah, I'm not nuts about inviting Microsoft in - I'm sure their calculation is that they have nothing to lose and something to gain. Is there anything wrong with us making similar assessments?

      --
      Posted from my Android phone. Oh, I can change this? There, that's better...
    2. Re:Here's a question... by technology_dude · · Score: 1

      They don't "always". http://slashdot.org/submission...

    3. Re:Here's a question... by Anonymous Coward · · Score: 0

      So? What is wrong with tapping into the (presumed) pool of talent here.

    4. Re: Here's a question... by CauseBy · · Score: 1

      I used C# and .NET for a couple years at my previous job. I hated every single moment of it but not because of C# or .NET, but because of Visual Studio and Windows. I hate Microsoft's stack, from Windows on up. Visual Studio made me angry enough to throw chairs. (Today I finally have a job where I don't have to deal with anything from Redmond and it's awesome.)

      But I really did like C# and .NET a lot. I'm a Java guy and C# is mostly like Java except not stupid in many of the ways Java is stupid. C# handles dates and times better, its syntax is nicer to work with, it is less cluttered and I really liked LINQ. The .NET runtime is more capable than the Java runtime.

      If C# could be completely divorced from anything have anything to do with Microsoft, then I would consider taking a job working with it. I don't consider that highly likely, though.

    5. Re:Here's a question... by Schnapple · · Score: 1

      "My friend believes in evolution and I need to convince him that the world was created by God in a week. What arguments can I use to convince them to see the Light?"

      Not the same exact thing but can you see why trying to back up your confirmation bias can be asinine?

    6. Re: Here's a question... by Anonymous Coward · · Score: 0

      Fuck off, you arrogant cumdumpster.

    7. Re:Here's a question... by Anonymous Coward · · Score: 0

      More like "neckbeards complaining about Microsoft and talk about how great linux is" when it really isn't that big a deal. so much derailment on every valid Microsoft technology debate about how great linux is.

    8. Re: Here's a question... by Anonymous Coward · · Score: 0

      "the web has done fine without it" i guess we're not counting the 1/3 of the web that runs on IIS?

  8. Microsoft is adapting to a new role by MtHuurne · · Score: 3, Interesting

    I think Microsoft is adapting to being one of several vendors instead of being a dominant force. They have to play better with others because they don't have the market power they had 10 years ago.

    As for .Net, I used it briefly some years ago and wasn't impressed. Compared to Java, they decided that exceptions don't need to be declared, so you have to look up in the documentation which exceptions you have to handle. However, the documentation doesn't list all exceptions that can be thrown. So I have no idea how one would do proper error handling in .Net.

    Another thing that bothered me is that the documentation consists mostly of examples. However, if I read documentation I don't want a code fragment to copy-paste, I want to read the specification for a particular method. In particular, how it handles edge cases. That information was usually missing. Of course you can test the behavior, but there is no guarantee the next release will have the same behavior if the behavior was never documented. All in all, it didn't feel like a good platform for writing reliable applications.

    1. Re:Microsoft is adapting to a new role by Anonymous Coward · · Score: 0, Insightful

      As for .Net, I used it briefly some years ago and wasn't impressed. Compared to Java, they decided that exceptions don't need to be declared, so you have to look up in the documentation which exceptions you have to handle. However, the documentation doesn't list all exceptions that can be thrown. So I have no idea how one would do proper error handling in .Net.

      I get the feeling that you don't know how to do proper error handling in any language if you can't do it in C#. Anders Hjelsberg has explained, in detail, why C# does not contain checked exceptions and the explanation is eminently practical. How often, when "handling" an exception, do you actually do anything? What happens when a library adds a new type of exception to a method (hint: this is like a broken interface)? How do checked exceptions scale in large systems?

      Another thing that bothered me is that the documentation consists mostly of examples. However, if I read documentation I don't want a code fragment to copy-paste, I want to read the specification for a particular method. In particular, how it handles edge cases. That information was usually missing. Of course you can test the behavior, but there is no guarantee the next release will have the same behavior if the behavior was never documented. All in all, it didn't feel like a good platform for writing reliable applications.

      I encourage you to check out MSDN, because this is simply untrue. The documentation of common classes and methods often includes a small code sample, but that's hardly the focus.

    2. Re:Microsoft is adapting to a new role by phantomfive · · Score: 2

      Compared to Java, they decided that exceptions don't need to be declared, so you have to look up in the documentation which exceptions you have to handle. However, the documentation doesn't list all exceptions that can be thrown.

      Yeah, this is a big one, and it's especially painful when working with programmers who are less competent.

      If you are writing it yourself, you can just wrap everything in try{}catch{}, which is what I do, but you never no what method is going to throw an exception.

      --
      "First they came for the slanderers and i said nothing."
    3. Re:Microsoft is adapting to a new role by Zontar+The+Mindless · · Score: 1

      Another thing that bothered me is that the documentation consists mostly of examples. However, if I read documentation I don't want a code fragment to copy-paste, I want to read the specification for a particular method. In particular, how it handles edge cases. That information was usually missing. Of course you can test the behavior, but there is no guarantee the next release will have the same behavior if the behavior was never documented. All in all, it didn't feel like a good platform for writing reliable applications.

      As someone who works on API documentation (no, nothing to do with .NET, thank goodness), I really wish you would tell this to the marketing types at work who keep telling me, "Nobody wants... [*grimace*] specs. Just give them lots of examples to work from." And then smack them a couple of times.

      --
      Il n'y a pas de Planet B.
    4. Re:Microsoft is adapting to a new role by Jeeeb · · Score: 1

      Yeah, this is a big one, and it's especially painful when working with programmers who are less competent. If you are writing it yourself, you can just wrap everything in try{}catch{}, which is what I do, but you never no what method is going to throw an exception.

      Agreed about the docs. MSDN documentation in general is horrendous. It lacks critical information and is generally written in a completly impenetrable way. They also rely on crappy machine translation for non-English languages, ugh.

      There is one good reason for avoiding checked exceptions though. Interfaces. In Java it is required that either 1. all exceptions that might ever be thrown by implementations of an interface be declared at the interface decleration or 2. all exceptions be bundled in RuntimeExceptions to short circuit the checked exception mechanism anyway (with the potential side effect of ruining stack traces).

      As far as catching exceptions go, imo unless you are going to do something specific to deal with an exception, then catching it is bad coding practice. E.g. Catching a SocketException to implement retry logic - sure go for it. Catching an exception to log it and rethrow (or worse throw your own custom exception and ruin the stack trace) - do this as high up the call stack as possible.

    5. Re:Microsoft is adapting to a new role by phantomfive · · Score: 1

      There is one good reason for avoiding checked exceptions though. Interfaces. In Java it is required that either 1. all exceptions that might ever be thrown by implementations of an interface be declared at the interface decleration or 2. all exceptions be bundled in RuntimeExceptions to short circuit the checked exception mechanism anyway (with the potential side effect of ruining stack traces).

      Just throw Exception, unless you have some specific behavior change that can happen if a different exception is thrown, in which case you can throw Exception AND the SocketException (to use your example). Problem solved. RuntimeExceptions won't be bundled with that.

      As far as catching exceptions go, imo unless you are going to do something specific to deal with an exception, then catching it is bad coding practice.

      That depends on the error handling strategy of your program. It is especially important if you need to release resources. Either way, it's good to let the callers know what to expect.

      --
      "First they came for the slanderers and i said nothing."
    6. Re:Microsoft is adapting to a new role by Anonymous Coward · · Score: 0

      I'm going to have to agree with the OP; the .NET documentation really does suck and why I gave up on it years ago. It's like they assume the average programmer is a copy-paste type (which may be true). Those who really want to understand the methods deeply and produce solid code are forced to (ironically) Google everything.

      Of course it goes without saying that the gold standard is the Cocoa documentation and Xcode. I don't expect Microsoft to reach even close to that level of professionalism in their documentation and tools, but they could easily copy some of the best practices from it.

      Maybe part of this open source effort will include cleaning up that godawful mess, if they do I'll certainly take another look at it.

    7. Re:Microsoft is adapting to a new role by Anonymous Coward · · Score: 0

      .NET offers a very lazy way of dealing with exceptions, granted - but I see it more as a feature of .NET languages - that you can raise exceptions as a minimum which all derive from the Exception class - but more to the point, you should be creating your own for your own objects, but it's not a requirement. Most code ignores what you provide it anyway, and go for the basic Exception information. Lazy developers!
      But the point here, is that you don't really want full blown stack trace information or specific errors getting to a user, as most often they've no idea what it means anyway. It only helps developers. Thus, my point - the information you might provide is most likely lost. (Although could be logged)

      Secondly, by creating your own custom exceptions, you can provide the object raising the exception as an argument.
      Thirdly, if you don't know about stack traces, and stack frames - that's fine - but don't presume a language's flaws without knowledge of it.

      On a final point, .NET also gives us the notion of an application domain level "first chance" exception - which is what I tend to use for logging of exceptions, as it means the rest of my code doesn't have to concern itself with how to handle an exception, ie - logging logic spattered throughout your code.

      I'll be the first to admit that I don't have enough knowledge of Java to definitively say what mechanisms are available for handling exceptions, but I'm quite happy with the .NET model personally.

  9. addicted to abuse by Anonymous Coward · · Score: 0

    We've given them hundreds of chances already, and they've abused us every single time, ...but this time will be different, I'm sure of it. Just look at those big sincere eyes. Let's give them one more chance.

    1. Re:addicted to abuse by Anonymous Coward · · Score: 0

      We've given them hundreds of chances already, and they've abused us every single time, ...but this time will be different, I'm sure of it. Just look at those big sincere eyes. Let's give them one more chance.

      Sounds like my relationship with my girlfriend. She abuses me and wonders why I avoid her at home.

  10. Get off my lawn by Anonymous Coward · · Score: 0, Flamebait

    Seriously, get up to speed with your vernacular first. .NET is a branded CLI runtime, not a language - and perhaps more importantly not all apps/libs built for the CLI are necessarily compatible (you can write some perfectly elegant F# libraries that are a pain to use in C#, Boo, or IronPython - or worse, semantically broken w.r.t. common paradigms used in those latter languages).

    Secondly, and I should note, I'm actually a C/C++/assembly developer (embedded systems / machine learning / computer vision mostly - most of my job is hand optimizing code to the instruction, manually deforesting data structures and optimizing cache coherency and memory access patterns, etc) - so I'm not at all a .NET zealot.

    But secondly, .NET has been plenty capable for quite some time - there's this operating system, with millions of developers primarily using .NET now days, that has market dominance - writing business applications, web services, and hell - entire IaaS platforms, using just .NET.

    There's entire companies built around it, providing cross platform technology for games (Unity), mobile application development (Xamarin), IaaS (Microsoft's Azure), there's even entire games built in it (eg: The Sims 3, set genre world records in sales) - all of which are decent products (even if they don't appeal to you).

    What kind of a fool are you to have dribbled this shit? Did you think at all about the current state of the development world before presenting this question, seriously? How hard is it to use Google and figure out current trends, weigh up the pros/cons, etc for yourself?

    For someone who's been around 62 years, you don't seem to understand human behaviour nor development patterns and trends very well. People will use the best tool for the job, what constitutes as 'best tool' depends very much on individual needs - standardisation is one very small part for a lot of companies (especially larger ones w/ enough in house expertise to do whatever they need doing).

    Ignoring all of that, your entire premise is a generalisation about employers - presumably biased on your own personal history.

    Not all employers prefer standardization if it means making sacrifices, not all employers are naive enough to think following the crowd absolves them of making the wrong choice, and there's even employers who would never even consider outsourcing. Greedy employers or not, some employers are smart enough to make their own decisions based on their own requirements - not based purely on projected monetary balance sheets in 'perfect world' scenarios.

    1. Re: Get off my lawn by Anonymous Coward · · Score: 0

      If you had any questions about how piss-poor the quality of /. mods is nowadays, just look at the parent comment, written by a guy who knows his shit, and modded "troll."

  11. MS is a for profit company by Anonymous Coward · · Score: 0

    if open source makes em money, they will open source
    if not, not

    what is so hard about that

    the idea that MS cares about anything else is so stupid, its like [insert julie brown song]

  12. Embrase, Extend... Extinguish? by Anonymous Coward · · Score: 0

    3. or nah — it's standard Microsoft operating procedure. Embrace, extend, extinguish.

    Embracing and Extending open source has already been done. Following this with a third step requires abandoning what you've already embraced and extended in favor of closed source software.

    And with the past events (e.g. systemd, Firefox bloat, etc.) FOSS is more likely to self-destruct than be wiped out by a single company, and there will still be a person who's willing to archive the latest versions of the major packages in hopes that someone picks them up later to fix or update them. Either that or start from scratch and not make the same mistakes done in previous eras of software development.

    1. Re:Embrase, Extend... Extinguish? by NotInHere · · Score: 1

      firefox bloat? please explain.

    2. Re:Embrase, Extend... Extinguish? by Anonymous Coward · · Score: 0

      They type of bloat is known as a memory leak. Although this time, it's just on Firefox iteself that takes massive amounts of memory. No extensions, just strict Firefox.

      Window-objects takes the most, being 33% of what firefox uses. Within that portion, there's something under top(none), which refers to "ghost" windows of things that I've long closed, and "detached", which are also things that I've closed. Minimizing the memory use isn't doing that good of a job of cleaning things up.

      heap-unclassified is another chunk, as is heap-overhead. Not to mention a periodic periods where Firefox decides to pause for a few second to process something in the background without indicating why it needed to do so.

  13. Eclipse by Anonymous Coward · · Score: 0

    Sounds great, especially if we can program .NET in the eclipse IDE and run on Linux.

  14. Oracle... by Anonymous Coward · · Score: 0

    I'd sooner trust Oracle with Java than Microsoft with .NET...

    What's the *reason* to get tied to a framework anyways? Write RESTful (or QueryAPI?) stuffs, and just ignore the whole implementation issue... each component could be written in whatever is best for that component (e.g. do a quick prototype of everything in Perl, pieces that talk to the database in Java, etc.). No need to get tied to 'the hot new thing'.

    (especially to .NET running on Linux, urgh. Unless Microsoft developers use Linux boxes as their "main" machines, I wouldn't really expect much out of them as far as non-Microsoft crap).

  15. What will it change? by paulxnuke · · Score: 1

    I don't see much advantage to switching languages if the existing one works. .NET is by far the easiest of those listed to be productive in, but it requires buying into the MS server platform: the cost of that is pretty much the only advantage the others all have, other than religious feelings about free software. There are enough web developers and Linux sysadmins available that there is no real reason to pay for Windows licenses except to develop a little faster, not the sort of thing the business types notice.

    An open source .NET has obvious advantages for everyone, especially Mono, and I'm very happy about it. I don't see it changing anything quickly, but their market share will undoubtedly rise.

  16. Yes MS has lost and is now nice by Billly+Gates · · Score: 4, Interesting

    The old gray beards today might say the same with IBM or Digital but once market forces correct a monopoly the company either whithers or adapts.

    Doesn't mean MS is no different than any other corporation even if that opinion is unpopular here on slashdot. Timewarner/AT&T/Comcast are far more evil and God forbid what Jobs would have in store if Apple won the Pc wars in the 1980s and achieved 90% marketshare! MS would be tame in comparison.

    Under a free market people play nice or loose out.

    Today I like Microsoft even though I hated them hence my name 13 years ago. Here are the facts in late 2014
    1. IE is not a bad browser anymore. It used to be both feared and loathed in the old days as it was a threat to win32 applications. Today they no longer will ever have the control they did in 2004 when you needed to go to a library to use IE 6 if you used a mac or linux to fill out job apps. Yes I remember doing that. Monster.com was optimized for IE 6 quirks back then.IE 11 is modern and has great debugging tools and behaves like a real browser behaves and has the best security with sandboxing. IE 12 will even have an add-on framework ala Chrome/Firefox. I use adblock on IE today
    2. Visual Studio 2015 supports Android and Linux Xiarmin development?? No I am lying. Go google it as emulators are included including CLANG support.
    3. Office is available for Android and IOS. Full suite is coming soon
    4. MS more liberal with pricing for non corporations. Google VS Community edition. It is pro and free!
    5. MS is opening sourcing .NET and lots of frameworks
    6. Azure supports non win32 operating systems.
    7. MS is putting more effort in security and stabilizing and fixing bugs now that competition exists.

    Am I a fanboy? No. I am agnostic this day but I find MS getting much better and if it were not for Metro I would be a fan even of their desktop products. Windows 7 is a very stable desktop oriented OS. It is not and I repeat not the POS slashdotters who have not run Windows in 15 years remember.

    MS woke up and realized oh shoot. IOS and Android are eating our lunch! Eclipse will eat our lunch! Amazon will eat our lunch! Firefox and now I should say Chrome has eating our lunch! Ms has so much competition today on so many fronts it can't go back and use leverage of a monopoly in one area for another. Blocking Android on Windows? Who cares about Windows blah. Block W3C standards iwth IE? Fine I will use another browser etc.

    This was unthinkable in 1999. So Linux did not win the desktop wars like we hoped but open source software did win everything else. Browsers are competitive. Mobile operating systems competitive. Development environments are competitive. Clouds and virtual services for legacy win32 apps scare the crap out of them so soon if mega corps want to leave they can.

    MS is done. I welcome the new MS. As some (I did not say all folks) products are fairly decent and play well with others.

    1. Re:Yes MS has lost and is now nice by Anonymous Coward · · Score: 0

      You are assuming MS has learned their lesson. They are STILL hung up on that idiocy of one platform for all things. They tried to take the market by the horns with Vista, and the market said "phooey!" They tried it again with Win8, and the market again said "phooey!" The same GUI is not appropriate for all things. For instance, a touch screen has its uses, but not on the desktop. A phone GUI has to account for fat fingers, but a desktop GUI does not. MS has not learned this.
      I don't EVER assume MS is "nice".

    2. Re:Yes MS has lost and is now nice by motorsabbath · · Score: 1

      I have to say it: I've been running Win7 Pro in a VM for 3 years now and it is, indeed, a stable desktop. I wish MS (Ballmer, prick) didn't screw it up and leave it behind. Our POS requires a Windows backend and Win7 is fine.

      Running on a Debian host, of course. Still, not a bad desktop OS at all.

      --
      The heat from below can burn your eyes out
    3. Re:Yes MS has lost and is now nice by Anonymous Coward · · Score: 0

      Does anyone really care what MS is or isn't. You are either locked into MS, and then you follow their trends, or you are using something else and Microsoft are unimportant. It's not like there are customers to be won back to Windows.

      You mentioned Azure in point 6, but I don't know what that is, and I care so little I didn't even Google it. That is how important Microsoft are now to me. I haven't worked on Windows apps for 6 years, its all Android and Linux Servers now (with some iOS). I think thats true of the majority of programmers.

    4. Re:Yes MS has lost and is now nice by mpapet · · Score: 0

      The old gray beards today might say the same with IBM or Digital but once market forces correct a monopoly the company either whithers or adapts.

      Did you sleep through the monopoly classes in Econ 101? There's no market force that corrects a monopoly. Microsoft still has a monopoly.

      Under a free market people play nice or loose out.

      Did you attend any Econ classes at all? That's not how markets works.

      4. MS more liberal with pricing for non corporations. Google VS Community edition. It is pro and free!

      Ugh. First hit is free. Site licensing has gone up radically. The kickbacks make it so.

      5. MS is opening sourcing .NET and lots of frameworks

      Uhhh, yeah... What's the plan here? Where's DotNet going? Abandonware...

      6. Azure supports non win32 operating systems.

      And? What's the strategy here? Follow Amazon? Uhh. Yeah...

      7. MS is putting more effort in security and stabilizing and fixing bugs now that competition exists.

      And? Fixing bugs is something for which we should be thankful? What's the transparency on that?

      Browsers are competitive. Mobile operating systems competitive. Development environments are competitive. Clouds and virtual services for legacy win32 apps scare the crap out of them so soon if mega corps want to leave they can.

      You mean all those free browsers are charging because there's a viable market? Microsoft is irrelevant in mobile.

      Does Microsoft pay you much for this nonsense?

      --
      http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
    5. Re:Yes MS has lost and is now nice by Anonymous Coward · · Score: 0

      What a bunch of cowardly crying bullshit. Go spread your FUD somewhere else.

    6. Re:Yes MS has lost and is now nice by Uecker · · Score: 1

      I am still angry about Nokia. 10 thousands of jobs lost and the only mobile platform which was nice from a technology point of view destroyed. All for a hopeless attempt to get some market shared for Windows Mobile.

    7. Re:Yes MS has lost and is now nice by ahabswhale · · Score: 0

      It's not FUD (at least in the US). It's 100% true.

      --
      Are agnostics skeptical of unicorns too?
    8. Re:Yes MS has lost and is now nice by Anonymous Coward · · Score: 1

      Under a free market people play nice or loose out.

      Anyone who thinks markets are free is asleep.

      There may be many reasons for MS decline, but "the free market solved it!" is unlikely.

      The more likely story, is the fixed, pre-planned "market" switched gears. Poetic justice, perhaps;
      MS will live and die by the sword.

      Should also be mentioned: MS monopolies arguably pale to IBM. In the early days, MS viewed themselves as the scrappy young startup.

      The monopoly before MS is still around. The more likely story, is MS got replaced by another monopoly.

      The world (minus perhaps Russia, and countries not in the same league...even then, many of them have no desire for a "free market") has embraced a pre-planned, "global" economy.

      The "free market" was decided against, long ago, by all the major superpowers.

      I do not agree or disagree on your observations....but the more likely story is the people running global markets switched course, and the "free market" lost yet again.

      It is like saying Nixon is gone, so we should all trust the NSA/CIA/FBI (or equiv. in your jurisdiction).....highly naive.

      Perhaps you meant a "figure of speech" and not a literal interpretation "free market" but in case anyone thinks you were
      being serious, 99% of governments despise free markets, all the time every time. 200% of global corporations also, despise
      them. Fixed markets are more profitable and more efficient. Merging/partnering with the government and leeching off of taxpayer money is more profitable and more efficient.

    9. Re:Yes MS has lost and is now nice by Anonymous Coward · · Score: 0

      You must have a bad day. Why not try using WMI from linux on Windows. Or you got better idea of pulling counters from Windows?
      Windows seems to be a dead end.
      Look at the .NET source code. It turned to be based on OO XML, the biggest rubbish ever invented.

    10. Re:Yes MS has lost and is now nice by CauseBy · · Score: 1

      I require an apology from Microsoft before I will ever consider anything from them. After the apology they need to break themselves into a dozen or more companies none of which have "Micro" or "soft" in their name.

      Then? Maybe. Until then? No, their brand is toxic.

      Dear world,

      We are so sorry! We know we hijacked the entire tech industry for thirty years and foisted substandard products onto people without the capability to know better. We know that we have sold Windows as a Desktop Operating System when frankly it isn't even good enough to run calculators. We sold you office products and development tools which would be laughed at by rocks and we profited in the billions.

      Today we are returning your money. We are liquidating our operations, combining the proceeds with all of our cash, and disbursing that money back to the customers who we cheated over the years. That is how bad we feel. Various parts of our former business will end up owned by companies around the world and we hope you can give them the second chance which we are too embarrassed to ask you to give us. We don't deserve it and you would be right not to give it to us.

      This will be the last-ever communication from Microsoft Corp because after this we will cease to exist. Goodbye and we're sorry again and we hope the world can make something good out of our former products.

      Sincerely,
      Microsoft

      That would do it. Less than that, no.

    11. Re:Yes MS has lost and is now nice by Anonymous Coward · · Score: 0

      I for one, welcome the entire destruction of the Microsoft empire. They had their chance and, they blew it ... for decades.

    12. Re:Yes MS has lost and is now nice by Anonymous Coward · · Score: 0

      "phooey" my arse. The market basically gave them the big middle finger and told them fuck off and die. MS was then forced to tame back the shit that was Metro that they tried peddling a couple of years ago. And have since been forced to lift their game and stop behaving like the cunts they were.

    13. Re:Yes MS has lost and is now nice by dbreeze · · Score: 1

      Don't sugar coat it brother, tell 'em how it is.....

      --
      When the king heard the words of the Book of the Law he tore his robes.2Kings22:11
  17. Zune was great by ArchieBunker · · Score: 1

    Every person that has owned or owns a Zune loves it. They had pretty good reviews as well. Bleeding edge is not a good thing BTW.

    --
    Only the State obtains its revenue by coercion. - Murray Rothbard
    1. Re:Zune was great by Anonymous Coward · · Score: 0

      Every person that has owned or owns a Zune loves it.

      Four out of five Zune owners across the USA thought it was the best music player. And the rest of us suspect the fifth guy was really an Apple fan boi who was given a Zune as a Christmas gift.

    2. Re:Zune was great by Anonymous Coward · · Score: 0

      Every person? I had one go-around with it, and it SUCKED!

    3. Re:Zune was great by P.+I.+Staker · · Score: 1

      Zune ended up being a pretty decent product, especially later, but it never really took off. Microsoft was just late to the game and insisted on copying apple exactly. I don't even think the Zune software was much worse than iTunes (but I hate iTunes too); It was basically Microsoft iTunes. That said, being late to the game and needing time to build your ecosystem severely hurt it's value. Zune basically had all the annoyances of the iPod, but was missing the benefits of a fully developed ecosystem. I think the problem Microsoft is having is that they lack imagination. If you release an identical product that is just as good late, it ends up being not as good. In theory, with enough time you'll make up ground, but not if the market changes and you fail to react again. I did love my Zune 120 though; best mobile media player I've ever owned, wish I could replace it.

    4. Re:Zune was great by michaelpearls · · Score: 1

      Zune FTW! I loved the monthly music subscription for $14.95/month. I guess the XBox music is the new replacement for that?

  18. Sort of, I don't know, I don't see the advantage by Anonymous Coward · · Score: 1

    So I like C# as a language, even though I continue to work in Java. It feels a little more modern than Java and offers some interesting features. Sometimes I read about something in C# and think 'that's a nice, elegant approach,' but the language isn't the only piece. In my case I use Spring quite a bit, and although there's a Spring for .NET, I haven't really dabbled with it but looking at it, it seems less developed than Spring for Java/Groovy. I could learn the .NET framework libraries, but not everything will truly be cross platform. I did some COM and C++ programming on Win 32, so I realize there are some APIs which Microsoft uses which may not have a portable equivalent, so I don't expect .NET to be 100% cross platform on all APIs.

    I'm pretty handy with Java and Spring and I'm able to deliver with that stack. Having done some C#, I feel they are largely equivalent in terms of expressive power. It seems like some things (the workflow API for example) that are better integrated than equivalent Java solutions, but I feel like I'd be swapping one platform for a largely equivalent platform. It would take me a good deal of work and time to become as proficient in C# as I am in Java, but I don't think I'd necessarily be more effective as a developer. (Switching from a mid-sized Honda sedan to a mid-sized Toyota sedan probably won't get you anywhere faster).

    I would say 80% of my clients have a Unix/Linux flavor to their infrastructure. While I can write Java apps and deploy them on Windows, the same isn't really true for .NET. In addition, even if .NET were 100% cross platform, most of the customers I work with want supported software. They often buy gold or platinum level support with their infrastructure products so any Linux .NET platform would have to either be covered by their existing OS support contracts or through a third party willing to sell support. Even they would probably insist that .NET apps are deployed on Windows because that's what they know and can support.

    I think it's great that Microsoft is open-sourcing their .NET code and I hope it make life better/easier/more interesting for other devs out there, but from my stand point I don't see any great benefit in making the switch.

  19. The whole picture by Anonymous Coward · · Score: 0

    I don't think that the comments on this thread, or that of the original post take the whole picture into consideration. From my perspective, being working with .NET for 10 years; or since it came out I have several thoughts on this.
    First, the idea of .NET to me was a Java competitor, and thus I think they were pushing the idea that it would run on Linux in the future; and that was a big reason for me to start developing using it, as previous to .NET I had been doing much of my work on Linux with PHP etc. It has been sad to see that this promise was never met (until now).
    Second, there is a reason why I continue to use .NET and embrace the technology that is there. They have done an amazing job with Visual Studio as well as the runtime and language.
    But to start talking about the why, you have to dig into what has been going on in our industry for the past couple years. First Amazon, and now Microsoft have cloud offerings. Microsoft is now running ~25% of the servers on Azure are Linux OS's; which is a huge change (publicly) for them. Their CEO knows that 'cloud' is how the company is going to operate going forward; every strategy they have has a piece of this underlying it.
    So, to come back to why now... There has been mounting pressure from Mono (internal and external) to get .NET running on linux and having as much of the framework ported over as well. In order to do that they needed the source code for .NET so that they could just run their compilers on top of it. So that programmers could have insurances that code would run in the same manner on both platforms. This has been quite transparent; but there are other wings in Microsoft that have also been moving to open standards such as WebAPI, where they have taken away the need for IIS, and everything is handled via common interfaces; which shows foresight into all these decisions.
    But, for me the real reason this is the time; and that Microsoft is not going to back down on it is the single most important truth about running data centers; Power Consumption. As Azure grows to the largest cloud offering on the planet, they need to ensure that they can run as many things as cheaply as possible; and at some level Windows is not going to cut it. It might get them really far in some areas, but in micro servers running virtualized operating systems with stripped down Linux kernels there is a huge amount of money. And even if this ends up being a fraction of the servers on Azure they will save millions in operational costs, and keep competitive with Amazon.

    1. Re:The whole picture by Anonymous Coward · · Score: 0

      Excellent point about power consumption. The problem with the article OP is that the argument gets sidetracked into issues unrelated to the questions asked. The question of what choice management would pick is different from that of programmers. Management wants to get the best ROI. Programmers want a stable platform, easy to use tools and a good career path. MS has threatened to push javascript on programmers as the primary language for development, and a lot of .NET web development is just syntactic sugar for writing javascript. What's to say they won't drop support for most of .NET as a cost cutting move? It's what Sun did with Java, after all. They could reduce writing apps for Win32 to javascript and leave web development to OS tools, including a non-MS version of .NET.

  20. I'm a Java developer by Anonymous Coward · · Score: 0

    In the early 2000's I agonized about choosing Java or .NET to focus my career on. I ultimately chose Java because I'm an advocate of Free Software and open source software, I like using Linux and BSD, I own a Mac, etc. and Java seemed like the obvious choice. I do not regret that decision. There are many open source frameworks and libraries for anything you can think of in Java which is very helpful. The Oracle bought BEA Systems and Sun Microsystems and then merged the JVMs from the two companies into one GPL licensed JVM. The same JVM is used everywhere: Linux, BSD, Solaris, OSX, Windows, etc. The Java language and platform has progressed a lot in recent years, especially with Java 8, Java EE 7 and Java FX. Some Java people prefer working in other JVM languages such as Scala, JRuby, etc. but I really like Java. Features that are missing will eventually come to Java, like all the stuff that came in Java 8 (closures, streaming collections, new date & time API, etc.)

    I don't know .NET or C#, just what I hear from those that love to bash Java. With the open sourcing of .NET, I wonder how far they've gone. Is it the exact same runtime used on Windows, now fully open sourced like the JVM? Was the entire .NET platform open sourced, or just a subset? Doesn't .NET require IIS to run web apps? How will you run a .NET web app on Linux? In the Java world, the entire platform and runtimes are open source. You can run the same Java SE, FX and EE apps and application servers on any operating system. If you're the type that hates open source then you can choose commercial versions too (IBM J9 JVM, WebSphere, etc.)

    1. Re:I'm a Java developer by benjymouse · · Score: 2

      With the open sourcing of .NET, I wonder how far they've gone. Is it the exact same runtime used on Windows, now fully open sourced like the JVM?

      Yes

      Was the entire .NET platform open sourced, or just a subset?

      The entire *server* stack - i.e. everything you need to run a .NET server application. They have even created a small-footprint webserver Kestrel for Linux based on libuv. The reason for libuv actually touches on a very important aspect/advantage of modern .NET (and to some extent, Windows Server) . More on that below.

      Doesn't .NET require IIS to run web apps?

      No. You have *always* been able to just self-host the ASP.NET bits. However, MS have taken it a step further and completely separated out the bits of the pipeline so that you can pick and choose. For a long time there have been plugins for Apache httpd and others that would allow you to run Mono. Those will work fine regardless of whether ASP.NET is provided by Mono or MS. Kremel mentioned above, but you can use any other way. ASP.NET vNext is "pluggable".

      How will you run a .NET web app on Linux?

      curl -sSL https://raw.githubusercontent.... | sh && source ~/.kre/kvm/kvm.sh

      In the Java world, the entire platform and runtimes are open source.

      In the .NET world, the entire platform and runtimes are open source, and the platform specification is governed by international standards organizations (ECMA and ISO).

      Microsoft grants patent licenses for anyone who wants to create implementations of the specifications, and Microsoft *specifically* does not require paid testing suites and they do NOT assert that using the APIs constitutes copyright infringement.

      And now for some reflections on the differences: Microsofts stack - especially with the latest .NET and Windows Runtime - have grown to become completely focused on asynchronous programming. Windows (the NT line) with the "overlapped IO" available from the initial version always had a very high-performing "completion" oriented async model for all types of IO. While this model could yield much better scalability, to leverage it you had to program in a "callback" style that were often at odds on how you think about a problem (sequentially) as well as poor match for constructs such as exception handling, looping/branching etc.

      With C# 5.0 (and the equivalent VB.NET) async became an integrated feature of the language. This is not about smart synchronization primitives, multithreading or similar "low level" concepts. This is aboy having a language that effortlessly allows a programmer to express a sequential problem in a way that allow asynchronous processing all the way down to the system level where overlapped IO will be used. Without invading the way the solution is expressed.

      This is huge. I am aware of only one other ecosystem that does something similar: node.js. Python has the capability, but there's no ecosystem built around it where the capability is the default way to design libraries and APIs.

      In terms of enabling and supporting async programming style, C#, .NET (and F#) is the most mature option out there, along with the "new" kid node.js.

      Java only recently acquired the ability to process web requests asynchronously (yielding the thread to process other requests) - but the language and APIs make it exceedingly hard to leverage this capability for anything useful. If you look up articles for how to do async in Java you will notice a strange t

      --
      Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
    2. Re:I'm a Java developer by Anonymous Coward · · Score: 0

      >With C# 5.0 (and the equivalent VB.NET) async became an integrated feature of the language. This is not about smart synchronization primitives, multithreading or similar "low level" concepts. This is aboy having a language that effortlessly allows a programmer to express a sequential problem in a way that allow asynchronous processing all the way down to the system level where overlapped IO will be used. Without invading the way the solution is expressed.

      >This is huge. I am aware of only one other ecosystem that does something similar: node.js. Python has the capability, but there's no ecosystem built around it where the capability is the default way to design libraries and APIs.

      Haskell. It's async and you don't have to do anything differently compared to if it were sync.

  21. More: Embrace, Extend, Extinguish. by Anonymous Coward · · Score: 0, Flamebait

    Embrace, Extend, Extinguish.

  22. Yes MS has lost and is now nice by Anonymous Coward · · Score: 0

    Sure considering a year ago, *cough cough* Xbox one *cough* was locked up and was pissing off all the consumers *cough* with their *cough* games. Oh and its not like Windows 8 is any better. Give me a break, Microsoft is going down hill if anything.

  23. Angular is node dependent? by Anonymous Coward · · Score: 0

    You're just making stuff up there aren't you?

  24. Wrong questions by SoftwareArtist · · Score: 1

    > 2. Is there an open source choice today that's popular enough to be considered the standard that employers would like?

    I think this poster is really asking the wrong questions. There are lots of different choices that are all popular, depending on what you want to do. Web development? Java, PHP, and Node are all fairly popular. Android development? That means Java. iOS? It's Objective C and/or Swift. Windows? It's C#. Cross platform game engines? C++. There are good reasons for those differences. You really don't want to try writing web applications in C++, or game engines in PHP. But in every case, there are existing options that are "up to the job" and, in most cases, open source.

    Until now, C# and .NET were basically Windows-only technologies, and that held them back. (Yes there was Mono, but it was never more than the unloved step child.) With that changing, it now becomes plausible to use it for more things. Whether it's "up to the job" in those other fields has to be decided on technical grounds. Whether it will manage to take "market share" away from other technologies is partly a technical question, but more a political one.

    > Choosing a standard means you can recruit young, cheap developers and actually get some output from them before they move on.

    It also means you can recruit experienced developers who already know the technology. Standardization isn't just about being able to exploit people!

    --
    "I'm too busy to research this and form an educated opinion, but I do have time to tell everyone my uninformed opinion."
  25. DotNet is on Abandonware Trajectory by Anonymous Coward · · Score: 0

    The open source parts are incomplete. Are there resources fixing bugs? Is there a DotNet roadmap? What's the plan?

    Wine does great. Install the DotNet runtime and Bob's yer uncle.

  26. Is not about standards, but about what is used by tuxrulz · · Score: 1

    Rob like someone mention earlier, C# along with the whole (or many of the) Microsoft products portfolio is heavily used on the Enterprise. There are a couple of exceptions like many ISP which use Open Source alternatives to reduce operational costs, like thousands of Outlook licenses for example.

    And when a company operates on Microsoft systems, then is very common that they look to non Microsoft products with a little doubt. Because those smaller companies have sometimes gone bankrupt, or products get discontinued and unsupported. Also there is a more common belief that under Windows MS products will be more stable and will endure the test of time better than non MS software. And maybe is true, considering examples like Visual Basic 6 that still works these days. Outdated, but gets the job done.

    Only companies that work with mixed environments will actually have a need to look for other multi platform solutions like PHP, Python, Lua, Ruby, etc.

    Consumer products have moved to Android and for a couple of reasons. Beginning with the bad history of old Windows Phones crashing around, and the reject of the tile system. But that's on personal devices. Still companies use computers, and computers are either Windows (about just everyone), Macs (artists), and Linux (Developers, and IT). Since Android (1) is not self hosting, and (2) do not run efficiently and good enough on computers, there is nowhere there to be found. Like I said in another thread, while Android requires another OS to develop, those legacy OS are going nowhere. They will lose market in consumer products, yes, but became extinct no. If they do, then also the Android market will stale, because there will be nothing to develop Android OS or apps with. Also haven't seen any Android Server edition, so in the enterprise Android will have only 2 roles... a digital notepad & remote email.

    For C# to be a serious multi platform alternative Microsoft needs to make serious changes like:

    • * Open sourcing the whole .Net and opening the patents related to it. Not limited chunks like they have done
    • * Releasing same version for all desired platforms. No more .Net for Windows first, and a year later for everyone else by Xamarin.

    Doubt any of them will happen, and that's why C# along with .Net is destined to fail as a standard.

    But standard or no standard, at the end it depends on what OS platform the company you get contracted uses. But there is a very big change that if they use Microsoft products, you will end using either Visual Basic, C#, or both (or even Windows shell or VB scripts) to develop.

  27. ... presence ... by Anonymous Coward · · Score: 0

    ... As much as the Slashdot Hardcore might hate it, .NET has a huge presence in "enterprise" software ...

    I have been in the field for almost 4 decades and I can tell you that Cobol is still being used by fortune 100 corporations all around the world

    Does that mean Cobol gonna make a come back?

  28. Not a panacea by Eravnrekaree · · Score: 2

    From what I understand about .NET is they only open sourced the server side parts. Not the stuff desktop apps would use. Obviously this is because Microsoft is most challenged for market share on servers so has less to lose by doing this, it hopes to cut into the share of other platforms. Microsoft is not giving up much and doing little or nothing to advance cross platform application support on the desktop, mostly maintaining the Windows vendor lockin where it has its monopoly, on desktops.

    1. Re:Not a panacea by Mike+Sheen · · Score: 1

      It does seem a token gesture. I guess the desktop aspects of the .NET framework are too closely tied to the Win32 API to be of much use in the open source context.

  29. your information is 20 years out of date by raymorris · · Score: 5, Insightful

    You're comparing 1990s Apache to 2013 IIS. If you care to know what your talking about, you may wish to have another look to too what has changed in the last 10-20 years. Here's one example that's not only way out of date, but also wrong even for that time period :

    > why is Apache still spawning processes for every request that comes in... don't they realize the overhead of that??).

    Prior to the release'of Apache 2.0 in 2000 (fourteen years ago), Apache pre-spawned a group of processes and each process would handle one request AT A TIME. It never spawned a process for each request, it had a pool of processes that were reused. Pretty much just like how modern browsers now run separate tabs in separate processes. The #1 reason for that was to allow Apache to use libraries (like GD) that weren't thread safe. If Apache were multi-thread rather than multi-process, you couldn't use those libraries.

    Note also that Apache was designed for SERVER operating systems like Unix, Linux, and BSD, not for a desktop OS. On a server OS, forking a few processes at startup isn't that resource intensive- far less intensive that preloading IE and Office at startup.

    Of course like everything in Apache, the multiprocessing is done by a module, so you can still use processes rather than threads if you want to. You can do that and by choosing sane settings for the number of spare processes you won't fork new ones more than a few per hour.

    > A lot of the performance reasons that are behind people switching from Apache to Nginx

    I tested this very thoroughly. 90% of the performance difference of Nginx, which only occurs on some systems, is that it essentially forced noatime, regardless of the administrator's selection of mount options. Back when noatime wasn't the default, less-knowledgeable admins who didn't know to use noatime would see a significant performance benefit from Nginx vs Apache. Knowledgeable admins would mount with noatime, and find that Apache and Nginx performance was almost identical. Knowledgeable admins would also comment out the 90% of available modules they don't use, like mod_speling, and set MaxClients etc appropriately. With a reasonable configuration, Apache can give better performance than Nginx, depending on which benchmark you choose. In all cases, Apache provides more PREDICTABLE performance because it actually works as documented, while Nginx has documentation copy-pasted from elsewhere, but their code isn't actually the same as server they copy-pasted documentation from.

    1. Re:your information is 20 years out of date by Bengie · · Score: 1

      A process has at least one thread and threads are bad for scaling. As a rule of thumb, you should not have more threads than 2x your CPU count. The more threads you have, the more pressure you put on the thread scheduler, plus you cause massive cache thrashing and context switching. Many programmers seem to assume threads are cheap and let the thread scheduler handle mutiplexing instead of doing it themselves. On every OS and CPU, this is bad.

      There was a lot of talk about Linux's O(1) scheduler, but after it went live, it shortly got changed from the default because it didn't play well with enough common cases on modern system. Whatever the current scaling actually is, the system falls over after too many threads. It seems to be similar to O(n). Eventually your system spends more time scheduling threads than running them. You can have a lot of threads before it becomes an issue, but a modern server with 10gb+ connections, and this becomes an issue.

      Whatsapp had an awesome write up on issues they ran into making their servers scale. They where able to run a server in production handling 400k+ connections per second and an average of 2.8m active connections. Their current servers are load balanced to 1/2 that load to give them breathing room. You try making Apache with "threads" handle those kinds of loads. With one thread per connection, you're talking about 2.8 million threads, and at 400k connections per second, you best be using a thread pool and not creating new threads. Then you include them averaging 6.4k requests per second per core, a 24 core server would be processing about 153,000 requests per second. (70m messages/sec over 11,000 cores in their datacenter in 600 servers)

    2. Re:your information is 20 years out of date by Bengie · · Score: 1

      I mixed something up. That 70m message/s is not "requests", but messages getting passed around to other servers to send the messages to other users on other servers. The actual requests per second on the server was about 50k/s.

  30. Re:The 3 Es: Embrace, Extend, Exterminate by Anonymous Coward · · Score: 0

    Such a minimal amount of research required that you couldn't even post a link to it?

  31. Major shill in my opinion... by Anonymous Coward · · Score: 1

    Anyone who tries to argue that "X is easier than Y"....especially when "easier" isn't measurable...that's a bad thing.

    Look, Java was going down the tubes 3 years ago. I had serious doubts about it and was looking closely as Scala and other. Oracle is finally turning the development cycle of Java around. (How long was 1.6 around? Yikes!)

    Security. Rolling eyes. Yeah, Java security on the client sucks and everyone is turning it off. Security on the server...whole different story.

    Now: that said, there are STILL reasons to avoid Java. If you're doing web development, there's no reason (imo) to use Java anymore. (And that's why you'd have Apache Tomcat, Jetty (you missed that one) JBoss, Websphere, Weblogic or Glassfish.) Java is heavier weight than a node / php / or even ruby server (imo). .NET is better than Java for web development...but not better than node/php/etc. (Check out angular and ember)

    That leaves backend processing. Frankly javascript is getting better here as well...java is still solid here. How good is .NET with anything other than SQLServer? (No idea...but I wouldn't bet on it.) And that's before we start talking about Spring and other libraries.

    And then there's the fact that .NET requires Windows architecture. Frankly I run Linux for enterprise servers....and Mono doesn't cut it. That leaves Java or node/php/ruby.

    1. Re: Major shill in my opinion... by Anonymous Coward · · Score: 0

      Dude, you really need to got off your Java drugs. It is awful and it eats your Lifetime lifetime = new LifetimeDeveloper)() by making you repeat everything three times and more. Learn to love Ruby or Python, stay away from PHP though, it sucks your brain out and is a can full of worms. Java performance on the server? Well, it's a bit like a truck, you may load it really heavy but that needs so much infrastructure to get where you want to that it is far easier and coat effective to juat run a few more instances of the above languages. Some of the most heavily used web apps are made with these technologies, but hardly any with Java. Go figure.

    2. Re:Major shill in my opinion... by znrt · · Score: 2

      Java was going down the tubes 3 years ago. I had serious doubts about it and was looking closely as Scala

      funny how you tried to escape java "going down the tubes" by switching to a ... java emitter.

    3. Re: Major shill in my opinion... by Anonymous Coward · · Score: 0

      What's so funny about it? He's talking about Ruby web development as though Rails wasn't on the decline, and doesn't even mention Python (or Django or Flask), then starts talking about client frameworks.
      Most recently for application layer language I've worked with C#, Python, and PHP. Guess what? That list increases in speed of initial developmemt, and decreases in maintainability (dynamically typed languages are slightly harder to maintain, yes there are studies). I find newer MVC C# with LINQ and newer Django straddle the sweet spot, and hope that Go might come to occupy it perfectly in the next year or two).

      I hate Ruby. Probably just a personal taste thing, but I have been getting the feeling that it's losing out to Python (PHP is more a language for designers who need some app code; no one with a solid CS background takes it seriously).
      Java? I won't touch Java anymore. If I'm writing in a Windows shop, I use C# and VisualStudio because they're much, much better than Java and Eclipse (I prefer the JetBrains IDEs to Eclipse most of the time). If I don't have to write for Windows, I'm using Python; but I think I'll start shifting into Go when I have a free choice.

    4. Re: Major shill in my opinion... by ShieldW0lf · · Score: 1

      I found rebuilding Viacom's websites in Groovy to be a real pleasure.

      Working with .net, not so much...

      --
      -1 Uncomfortable Truth
    5. Re: Major shill in my opinion... by znrt · · Score: 1

      woosh!

      it's funny because scala IS a front end to java. yes, it was to the same 1.6 jvm op considered stalled. then one wonders: what do developers actually demand from a vm? what's the problem if it works, is solid, stable and predictable and doesn't get some new fancy (and mostly unneeded) goodies in a while?

      yeah, well, if you want to share unrelated personal experiencies, when doing client stuff i use pure client frameworks (angular nowadays for the most part) as opposed to full server/client stacks which in my view don't cut it, and i like them to be focused and simple. regarding ides i've used all of them but i'm perfectly fine with emacs and a console. if your code needs a specific ide to work on it then it's pretty low value for me. yes, java projects tend to be file spewing monsters and i ocassionally fire up some ide (eclipse or intellij, any will do), but you'll have a hard time convincing me to set up visual studio just to inspect or run some of your c# code, i'll probably point you in the general direction away from my lawn.

      ruby was completely unecessary, didn't bother with it and i'm glad it passed away with the hype (as expected) leaving just a legacy of crappy apps that need to be rewritten (or forgotten), c# was also redundant and late (unless you were a windows only freak) glad to hear they now want to mature and open up a bit, php is handy for small quick apps but nothing more (no matter how much they want to revamp it now), python is actually very cool (although i seldom have opportunity to use it) and go ... well, go seems weird on purpose, it has some nice features but what was the need to screw up so much of the syntax for no reason? sick of evangelists, i think i'll pass, too ...

  32. Re:The 3 Es: Embrace, Extend, Exterminate by Mike+Sheen · · Score: 1

    Such extraordinary claims require only a little ordinary proof.

  33. Its all about THE CLOUD by furry_wookie · · Score: 1, Informative

    What people don't get is this. Microsoft is totally being left out of the cloud.

    The fact is that no cloud provider wants to keep track of licenses, so all cloud platforms, all the new and exciting PaaS platforms etc. are based on ALL OPEN SOURCE. And there is a reason for this.

    When you are offering a system that can fire up nodes and destroy them dynamically and on-demand, its just not worth it to have to keep track of some piece of that being commercially licensed and all the restrictions you end up with on your freedom to fire up new nodes on demand etc..

    Microsoft has been totally shut out of the cloud offerings and PaaS developments out there because licensed software slows you down and restricts all the freedoms to be dynamic in a cloud world that makes it attractive in the first place.

    Maybe if open source .Net takes off we will see it begin to become another offering by cloud providers and as part of popular PaaS platforms.

    --
    -- Given enough time and money, Microsoft will eventualy invent UNIX.
    1. Re:Its all about THE CLOUD by art123 · · Score: 1

      Based on October 2014 financial results, Microsoft is the #2 cloud provider behind Amazon.

      http://talkincloud.com/iaas/103014/synergy-microsoft-azure-q3-revenue-136

    2. Re: Its all about THE CLOUD by MemeRot · · Score: 1

      You can spin up Windows servers and sql server instances in AWS. And other commercial products, like HANA. So cloud providers certainly do track licenses. It's baked into the price you pay for those instances.

  34. Re:Sort of, I don't know, I don't see the advantag by ahabswhale · · Score: 3, Informative

    There's no doubt C# is a nicer language to work in that Java but so is just about everything. Java is simply dated. However, there's nothing stopping you from using other JVM languages (like Groovy which is extremely easy to learn for a Java dev).

    --
    Are agnostics skeptical of unicorns too?
  35. brain dead by Anonymous Coward · · Score: 0

    If you choose windows as your OS for anything more important than managing your sisters doll collection you require psychiatric help. .Net only make sense on Windows.

  36. The strategy is very simple. by Anonymous Coward · · Score: 0

    This makes it much easier for them to buy out the competition.

  37. No, and that has little to do with open source by Casandro · · Score: 0

    Simply put, .net is _far_ to complex for the job. The .net framework binary is already much bigger than a typical Windows 2000 installation. You users are expected to install and maintain a huge framework. On the other side you don't really have much benefits. You have a mostly single vendor solution. Your software won't run on even on all 32 bit Windows machines.

    If you want to do client applications look around you, there's plenty of alternatives. One example is Lazarus/Freepascal which compiles you statically linked binaries for most common operating systems. I have been starting and maintaining a software project for Linux, Win32 and MacOSX, and the difference in code is just a few lines. It simply works and on all platforms you get a binary you can just drag and drop. No installation required. Should there be a bug in a new version, the user can simply switch back to the old one.

    If .net was any good, why doesn't Microsoft, the company most interested in it, offer Office for .net? They already do have Office for MacOSX.

    1. Re:No, and that has little to do with open source by Anonymous Coward · · Score: 0

      Out of the box freepascal/Lazarus does not support unicode, ok you can write unicode characters on a label and that will work, but if you read from database you don't get unicode directly unless you use UTF8ToAnsi or AnsiToUtf8 (it's been a week that I tried to work with Lazarus and Oracle/SQLServer). For code like DS.FieldByName('FieldName').AsString I suppose you can use those functions but if you want to link the datasource to a grid you can't. On the other hand with Delphi it just works out of the box without losing your time at specific libraries' hell like FreeTDS and it's pity because Lazarus felt nice even though it's slow compiling times.
      By the way for the task I wanted to use Lazarus I ended using VBA with Excel because it was a solution available at the time (I didn't know VBA) and half the time I lost trying to make Lazarus to read the unicode data I have finished what I wanted to do, eventually I will make the suggestion to the boss to buy Delphi and rewrite every VBA code to Delphi's version of object pascal. Lazarus it's not an option at this state.

  38. What are you asking for, exactly? by Anonymous Coward · · Score: 0

    What I'd like to ask is whether anybody that's not currently a .NET fan actually wants to use it?

    As long as the argument is sound, why does a personal position matter?

    Open source or not. What is the competition? Java? PHP? Ruby? Node.js? All of the above? Anything but Microsoft? Because as an OSS advocate, I see only one serious reason to even consider using it — standardization.

    Competition based on what? What are you trying to accomplish?

    Any of those competing platforms could be as good or better, but the problem is: how to get a job in this industry when there are so many massively complex platforms out there.

    Ah. Maybe this is your real question, and it's not even in the form of a question. Except...

    I'm still coding in C, and at 62, will probably live out my working days doing that.

    Hmm, ok. Maybe that wasn't your question? Do you plan on working well into your 70s and 80s? Or is this really about attracting younger talent?

    But I can still remember when learning a new programming language was no big deal. Even C required learning a fairly large library to make it useful, but it's nothing compared to what's out there today. And worse, jobs (and technologies) don't last like they used to. Odds are, in a few years, you'll be starting over in yet another job where they use something else.

    Yes. This is the scourge of the tech industry. I loathe it because learning the syntax for control structures, objects, string libraries, I/O streams, threading, etc. for the Nth time isn't fun anymore; most languages that are invented are saddled with more problems than they purport to solve--how widely its used has no bearing on its engineering quality--and new frameworks are created and abandoned.

    Even Microsoft, which is serious about supporting legacy code and backwards compatibility has fallen victim to this mindset. To combat this the smart decision makers wait around about 5 years or so, to see what actually sticks; although even this is no guarantee: The death-knoll of WPF (undeserved) and the slow death-spiral of Perl (well deserved) took longer than five years.

    Which leads to...

    Employers love standardization. Choosing a standard means you can't be blamed for your choice. Choosing a standard means you can recruit young, cheap developers and actually get some output from them before they move on. Or you can outsource with some hope of success (because that's what outsourcing firms do — recruit young, cheap devs and rotate them around). To me, those are red flags — not pluses at all. But they're undeniable pluses to greedy employers. Of course, there's much more to being an effective developer than knowing the platform so you can be easily slotted in to a project. But try telling that to the private equity guys running too much of the show these days.

    You definitely can be blamed for choosing a standard, and you should be blamed if you made a blatantly poor decision based on available facts.

  39. Poor third party library support by Anonymous Coward · · Score: 0

    .NET has horrible third party open source libraries, which is a major reason for picking java if you are working with server side code.

    I work in the game industry where MS is still dominant so I use both runtimes. .NET on the client and java on the server. The norm for server side libraries is that java has half a dozen for any particular task, while you are lucky to find one on the .NET side. Try to find a good REST client and server in .NET that's open source, or the equivalent to the Akka platform, or any number of tools where in java we have multiple choices and in .NET it's hard to find one that's really good. And many times when you do find something that works, it's still hosted on google code. And don't even get me started on Nuget, the package management system .NET developers think is so great but sucks and is not even cross platform.

    I didn't really understand how big of a difference there was until I started working in the game industry after 10 years working in the web industry. The ecosystems are just completely different and anyone who thinks .NET is a better choice for server side code is just plain ignorant, or they have a very niche case such as wanting to run the same code on client and server (which is often not the big win a lot of developers think it is).

    I'm not a MS or .NET hater. I just don't think .NET is even close to being competitive on the server. For windows client side stuff it's a whole other story.

  40. Not sure what youaspx on on apache by WombleGoneBad · · Score: 1

    1. Is .NET up to the job?

    Which job? The question needs better defined. If it is replacing every single other programming technology then the answer is simply No.

    2. Is there an open source choice today that's popular enough to be considered the standard that employers would like?

    Java is almost a drop in replacement for .Net. and has better cross platform support. Depsite being very popular, it has never gained universal acceptance. Often (for example) something like python, or C is a better choice depending on what you want to do and where you want to do it. I don't see .Net being any different.

    3. If the answer to 1 is yes and 2 is no, make the argument for avoiding .NET.

    You say 'avoiding' as if .Net is somehow automatically going to get rolled out everywhere like a steamroller. This is nonsense. Change is expensive and problematic, if you want people to start using .Net in areas where it is not currently dominant, you need a very compelling reason. If there is no 'standout' reasons, people will just stay with the status quo.

    I should say the c# is an excellent language and .Net is one of the best things to come out of microsoft (along with Excel and games), But it is firmly positioned as a windows application development tool, often tightly integrating with other windows components (such as Visual Studio, IIS), which means it is far less paletable when targetting non windows environments (for development OR deployment), or if you have a pre-existing architecture it has to integrate with. Being 'open source' doesn't magically fix interoperability issues.

    Also in terms of web applications (most business .Net development work is actually asp.net for be-spoke apps), the server application code technology is decreasing in importance. JQuery and other client side technology is where all the progress is being made, the server code is often just a glorified access layer to a database.

  41. Re:Sort of, I don't know, I don't see the advantag by Anonymous Coward · · Score: 0

    There is doubt Java is nicer to work with than C# for just about everything. Look the the fact I'm arguing about it with you makes you a liar, you want to say you find C# is better that's ok.
    I have to do C# and Java at work all the time and I know my preference so go back to your Troll cave.

    For the record I'm not calling C# rubbish it has its place.

  42. MS is not dying, they are already dead by Anonymous Coward · · Score: 0

    C# is old. Look at statically compiled Groovy or Swift. Microsoft has no answer to that.

  43. Mo' Money! by EzInKy · · Score: 1

    If you offer enough even the most ardent C# opponent will apply. What is the price of a soul nowadays anyway?

    --
    Time is what keeps everything from happening all at once.
  44. Maker matters (did you ever use SSIS?) by Anonymous Coward · · Score: 0

    Every software development company/community has its own sort of institutional brain damage. Microsoft is a standout in this respect because they are extremely stubborn, their brain damage is profound, and the most affected areas are large scale applications. Just a few examples.

    SSIS is a mature product to be used by shops that among other things count real money of the real people. And you still cannot do basic software maintenance operations: dump its setting as human readable file, read settings from human readable/editable flat file, store settings in source control, compare two settings in human readable form.

    For many years (do not know how it is right now) SQL-Server would delete transaction log as a part of a full backup, so there was no way to recover transactions between last transaction log backup and full backup.Would any serious person use SQL-Server to count real people money?

    The problem with public .net is that anyone can hit some incarnation of this problem in the most unexpected time and in the most unexpected corner and the only solution will be to drop .net and start again because Microsoft is absolutely unmovable.

  45. Ok, I'll bite by Bent+Spoke · · Score: 2

    To me, .NET === Resource-Hog

    At my place of employment, we implemented a number of .NET apps that were mostly just a wrapper-frontend to our websocket based main app. We can pretty much do the same thing using Chrome, but it was thought this would be easier for our clients to use. Unfortunately, we also run a resource heavy data-generating simulator on the PC along with the app. So we couldn't help notice that when we used the .NET app, the simulator would get starved out. On the other hand, when using a browser, there was no such problem. (BTW: I find this a little ironic as browsers were the original 800lb gorrila.)

    So this leads one to wonder if one goal of .NET for MS wasn't to nudge up the number of server licenses, along with licenses for other MS products (IIS,SQL Server, ...)

  46. Agreed, no compelling reason to go .NET by echtertyp · · Score: 1
    I've had similar experiences. I've done Win32 and OLE and all that jazz, and then .NET in its heyday. Although .NET has evolved, it seems to be falling further behind the JVM ecosystem overall. Here's what I mean by "overall":

    1) the JVM itself is extremely battle tested now. There are even viable alternative JVMs. In terms of troubleshooting, reliability and management, the JVM is a non-issue. It's like the sun rising in the morning.
    2) The knowledge base of solved problems, libraries, projects and skills for the JVM world dwarfs .NET. Further, it seems that with the exception of a few guys like Brian Beckman, the smartest people in the world have made their choice: they do their work on top of the JVM. If you want to do massive streaming and/or parallel computing, you're going to turn to one or more top level Apache projects running on the JVM.
    3) Interestingly, the world of Java.next languages such as Groovy, Scala, Clojure is really getting traction. This is closely tied to #2, the smartest people in the world work in the JVM space. Clojure in particular is very nice, and you can deploy Clojure apps as Java jars, so in a stodgy big company setting, you can actually deliver.
    4) Finally, a problem I've seen since with Microsoft over the years (still a problem) is that MS solutions tend to address a problem facing *Microsoft the company* but do not address problems facing *developers and customers*. MS is reactive. When Java began to shake up the scene, MS rushed to market with a "me too" version (the .NET runtime and C#). Same deal with Windows Phone (answer to iOS), Silverlight (answer to Flash), and on and on. Here's the kicker: Microsoft's track record in keeping their promises is not good. If you tied your fortunes to MS tech initiatives in the last 15 years, you've lost a lot of time invested. Whereas with the JVM ecosystem, similar to the *nix ecosystem, everything you learn retains value. And the JVM ecosystem just evolves around problems and grows even more--whole branches don't go extinct as with the Microsoft / .NET ecosystem.

  47. My 2c by HeraldWilliamson · · Score: 1

    TL;DR: Development is moving client side. Java/.NET are primarily backend, or will be soon and as such won't be as relevant, that's why .NET has been on the decline not Java. Get friendly with Javascript and : AngularJS or Backbone or Knockout and HTML/CSS.

    Here's my thoughts... for what it's worth. I've written apps in pretty much everything. I created a fairly large site in PHP, have been writing primarily .NET apps, but have had to aid with the development of middleware in Java. I've also released an iOS/Android app or two. So I've been around the block and don't have a preference really. The geographical area that I'm in right now is in heavy demand for .NET... so that's what I do for the most part because I'm greedy and like money, if you pay me more to write Java ... then I'll be singing its praises.

    I see these discussions of .NET vs Java vs. all as pretty much pointless, both platforms will cost you just as much since your cost is development/maintenance, both have advantages and disadvantages. The fact is that most development is moving client side. This methodology has several advantages, the most notable in my opinion is the distribution of load. So... take something like ASP.NET MVC or RoR, if your app generates a giant HTML response server side and mails that back via XHR you have just crapped on yourself and your client. First, you had to pay the cost of generating said payload, and second, the client has to wait for that bastard to be downloaded/displayed. ( All of this does not matter if you can't write an efficient query to save your life or spend a ton of time waiting on disk I/O or some vendor service call ) <- This is where NodeJS really shines...

    Anyway, it would be much more ideal to just mail back a model and allow the client side to worry about binding/display, etc. This is why you're seeing frameworks like AngularJS, Knockout, Backbone, etc. take off. They provide a better experience for the user and they have the added benefit of relieving some of the processing that takes place server side. The downside being that not all JS engines are created equal Chrome V8 > whatever the hell IE has. ( yes I know you have to consider user device, etc. and not reveal business logic/secrets in the front end, validate server side, bla bla bla ) I don't think that there is much argument that most development is moving to mobile/web... there are still inhouse apps for giant corporations and you could make a living at that... but a majority of the industry is moving away from that model. Even the inhouse apps are starting to be primarily webby. The project I'm on currently ... I've written far more JS than C# ... which is weird... lol

    SO! That being said... You can safely consider Java or .NET a "back-end" platform, and even those two giants can be replaced by PHP, Ruby, NodeJS, etc. I would argue that its Google handing Microsoft their ass on a platter and not Oracle.... I suggest you concentrate on front end stuffs like Javascript and whatever frameworks are out there for that. Sharpen your UX/UI and people skills so you communicate with designers and BAs. I could code back-end stuff blindfolded, there's only so many ways to architect middleware, but making something that is usable and user friendly is an effing challenge. I've grown to have more respect for UX/UI folks than most, because a good designer is worth her/his weight in gold.

  48. VS unless you want to work with multiple projects by clay_buster · · Score: 1
    VS is great unless you want to run and build multiple projects (solutions) at the same time. Want to work on a library and a couple consumers? Open multiple copies of Visual Studio. Want to run the debugger against multiple copies? Run multiple copies of Visual Studio. Want to do certain operations in test or other modes? Run Visual. Studio as administrator

    VS only got the ability to edit code in the debugger in 64bit mode this year!

  49. Oracle have poisoned java by Anonymous Coward · · Score: 0

    .NET is now preferable in many ways. Oracle's deranged copyright claims to java interfaces really put the frighteners into legal in my company. Now we are umping java, just as fast as we can.

    1. Re:Oracle have poisoned java by Anonymous Coward · · Score: 0

      Oracle aren't even in the same league as those patent trolls and extortionists at Microsoft. No wonder the few that bet the company on .NET are fleeing Microsoft.

  50. .Net exception handling? by clay_buster · · Score: 1

    Exception handling isn't that different.

    Java unchecked exceptions operate basically the same was as C#/.Net extensions. You catch them where you want in the call stack or it bubbles all the top.

    People don't like checked exceptions because your code is filled with documentation about the types of problems it can have. Of course the alternative is you end up with catch Exception(e) code at boundaries which has its own problems.

  51. C# is the only .Net language for practical purpose by clay_buster · · Score: 1

    There are dozens of languages that compile to the .NET CLI, including BASIC, C++, Ruby, PHP, Java, JavaScript, Python, Lisp, Pascal, Perl, Scheme, etc. C# is the most popular language to compile to the CLI, yes, but almost any other common language out there can be used too.

    C# is really the only popular .Net language. Microsoft .Net spent time on C# while the Java / JVM crowd spent time building new languages.

  52. Re:Zune was great - waste of money by Anonymous Coward · · Score: 0

    THAT's funny, calling the Zune bleeding edge, not leading edge but BLEEDING edge. The only bleeding which went on was the billions Micrsoft bled to try and stop the Apple iPod. Too funny.

  53. Legacy Generation Frameworks by pigoon · · Score: 1

    10 years ago Java and .NET were welcome solutions to solve the "DLL Hell" issues using COM/COM+ objects.
    But, they have grown into 100 tentacled beasts.
    Way too many cooks in the kitchen.

    Today, the only reason you would architect a new solution with these behemoth frameworks is because you were given no better choice (ergo, your team is entirely leftovers at an Enterprise who no longer have the drive to update their skillset: ergo --> you're working at a crappy non-IT organization.

    Java can shift to Scala.
    .NET can shift to Ruby/Python/JavaScript

    Having worked in .NET since Classic ASP days, I am so happy to see a shift in programming culture away from these "head in the cloud" frameworks.
    *nix philosophy had it right: build things that do 1 thing really well. Node.js follows this model and has had a huge success because of it.

    Beyond that, writing a compiler is not something we have to rely on MS/Oracle to give us. There's literally no magic behind these curtains.
    Lastly, the LoC measure, simple code footprint of .NET and Java is a barrier to maintainability and velocity of updates.
    Why do .NET devs use Entity Framework? Because ADO.NET was sooo hard? *eye rolls*
    Just another solution where there wasn't a real problem.

  54. Moronic by Anonymous Coward · · Score: 0

    Standardized frameworks equate to "greedy employers"?

    What a foolish, idiotic question and pointless debate. You're clearly wrong. You have NO valid points or rationale.

  55. lmgtfy by celtic_hackr · · Score: 1

    Well, there's this old news.

    lmgtfy

    Then there is the XAML used for development now. Along that vein there is WPF, which is released in tandem with .Net, but is not actually .Net.

    It may be they are not planning some new Next Big Thing, that will launch a whole new series of catch-up games like when they came out with .Net. However, I've been writing Windows applications since before the Windows 3.1 days, and have done my own share of following along as my code becomes obsolete as MS comes out with new development tools, and portation tools that simply don't work, requiring massive rewrites or writing new tools to do rewrites. Either way is a costly process. So, yes, I'm skeptical when Microsoft comes bringing Trojan Horse gifts.

    It still is somewhat amazing to me, that time after time after time people fall for Microsoft promises and deals, only to find out too late, it was yet another Sun-Tzu Art of War trick. /.ers used to be smarter than this.

  56. Assumptions by bmo · · Score: 1

    So, assuming Microsoft is sincere

    That's a pretty fuckin' big assumption there, guy.

    >BMO goes back to read the Halloween documents

    The Easter Bunny, Santa Claus, A Sincere Microsoft Board Member, and a Rabbi (a Rabbi is required in every joke) come to a 4-way stop/intersection at the same time.

    Who goes first?

    The Rabbi, because the others don't fuckin' exist.

    --
    BMO

  57. Standardization ... really!!?? by floydman · · Score: 1

    That is the only reason you would adopt an "open source" .Net/Fuck
    Honestly, thats exactly where i stopped reading ...but forgive me for the rude interruption
    Microsofy does NOT standardize ... look at IE, look at MS-js,(and in case u r a geek) look at the wchar_t implementation of MS= NOTHING to do with standards (standards is 2 byte, for some $U&KING reason MS decided: Nah...screw them, 4 is good), look at MSRPC (rip off from onc/sun rpc, but naahhhh, we dont want msrpc to talk to sun rpc)
    what fucking standardization are you talking about!
    You would be an idiot to believe they want to "integrate" with other techs...
    rant over and out!

    P.S. I haven't commented in /. for years, but you just pissed me off!
     

    --
    The lunatic is in my head
  58. Kinda Misses the Point by Anonymous Coward · · Score: 0

    This sounds so much to me like arguments between other languages/frameworks. The participants are all reasonably popular and an argument can always be ginned up between adherents on either side:

    C/C++/C#/Objective-C

    PHP/Python/Perl

    Ruby (with or w/o Rails)/JavaScript

    Scala/Erlang/Dart

    Cobol/Fortran/Pascal/Assembler

    And I haven't even listed a dozen or three more languages that, at one time or another, were quite popular. dBase/Clipper/FoxPro, SmallTalk, BASIC, ColdFusion, ...

  59. Vote no, .NET is junk by Anonymous Coward · · Score: 0

    That pretty much says it for me.

    C# is a hack of Visual Basic features onto C instead of using C++ and was done to E/E/E non-MSFT development for enterprise systems. .NET is a large part of that and it is just as big a mess as anything else MSFT has done. It is poorly thought out and a kludge.

  60. Opinion from .net dev by Anonymous Coward · · Score: 0

    I worked as a developer for 15 years. Mostly MS stack. Some Oracle & experience outside work with Java, PCP, C++. These are my thoughts.

    1) I don't believe the statement - ".NET usage has been falling for many years now" - is true. It definitely isn't in my area (Tampa). As others have said, maybe some markets favor .net or Java. I need to see some unbiased research rather than random comments from MS haters or fanboys. All the job posting stats in an earlier comment mean to me is that there are plenty of .net & Java jobs right now.

    2) My personal opinion is that MS open-sourced .net core because they finally accepted that they can't rely on the Windows OS client any more. Making .net cross-platform will help Azure and IMHO Windows server. That is the main reason. The world moved on & they needed to adapt. Only time will tell if this helps or not.

    3) I worked in a Fortune 500 company and we have a mix of .net & Java. I suspect most Fortune 500 companies are similar.

    4) Java is definitely much, much stronger in Enterprise level distributed app's than .net. This is MS's fault. Large distributed app's are more likely to be run on Unix or at least support Unix so that meant that MS software was not considered by default. This is unlikely to change much any time soon. Though the new cross-platform support may at least put .net on the radar for new initiatives.

    5) Don't judge .net on older technologies like Web Forms & Win Forms. They were reasonable ideas at the time, but that time is past. MS's current web & server stack of MVC, Owin/Katana, SingalR is pretty good. I did always question MS's judgement on Silverlight. Did the world really need a Flash competitor? And when they finally started to come up with a somewhat compelling RIA platform, they just dropped it. WTF? IMHO, open source Silverlight.

    6) There are clearly a lot of MS haters in this comment section, but do your really trust Oracle's ability to steer Java? They may be better than Sun, but WTF are they thinking with the lawsuit against Android? They should be doing everything possible to support Java on Android. If Oracle wins at the Supreme Court level, the most likely result will be a future version of Android not written in Java.

  61. web servers by Anonymous Coward · · Score: 0

    I just want my cheapo shared hosting server to support a language with some amount of compile or load time type safety. If that means .Net, then so be it. C# itself is actually a pretty good language for many situations. I only use PHP because it's already there.

  62. hundreds of thousands per second by raymorris · · Score: 1

    That's interesting information, and useful for anyone serving hundreds of thousands of requests per second.

    For the 99.9% of sites that serve single to hundreds of requests per second, it might pay to keep in mind that your sedan is not designed to run on jet fuel. What someone going a thousand times as fast does isn't necessarily relevant.

    1. Re:hundreds of thousands per second by Bengie · · Score: 1

      Just wait until you get someone who targets you with their cheaply hired DDOS and kills your web servers because it can only handle hundreds of requests per second because of poor design. A good app designs should at least allow your server to handle more requests than you have bandwidth. It's sad when you hear about servers getting DOS'd with 10mb/s of traffic over a 1gb/s pipe.

  63. Microsoft's main product is... by Anonymous Coward · · Score: 0

    "[MIcrosoft] is a company that intentionally modified APIs to break third party applications, lied about software releases and features to hurt competitors, made business deals that are illegal under US anti-trust law with OEMs to block competition, waged countless FUD campaigns throughout its life, and wields its intellectual property resources like a weapon of mass economic destruction to squash innovative competitors. Where would the world technology industry be today if we didn't have this trillion dollar parasite doing more work than any other factor to stifle competition?"

    Microsoft's main product is evil. Microsoft is excellent at delivering evil.

    My opinion, shared by many.

    You didn't mention many, many other issues, such as Internet Explorer version 6.

    1. Re:Microsoft's main product is... by DuckDodgers · · Score: 1

      Excellent point, thanks.

  64. WPF by Joey+Vegetables · · Score: 4, Insightful

    I was surprised that the WPF issue has not been discussed more. Aside from C#, which is a sweet little language in most respects, and still ahead of Java IMO, WPF is the other fairly unique thing that .NET Microsoft brings to the table. It has no real parallel for the rich- or smart-client use case. (Mozilla's XUL is perhaps the most directly comparable FOSS technology.) And it is NOT being open-sourced. In fact, instead of throwing its weight behind a single WPF / XAML implementation, Microsoft allowed it to fragment between Silverlight (deprecated), WPF (supported only in the most lackluster fashion), and the client component of WinRT (Windows 8 only). This may in fact prove to be the opening needed for the modern HTML5 stack to become the preferred rich- and smart-client deployment technology even for desktop and laptop form factors. In that case it would also rapidly eat away at the very last piece of the technology business that Microsoft dominates.

    1. Re:WPF by Anonymous Coward · · Score: 0

      There's Qt's QML though ...

      https://www.youtube.com/watch?v=7TIgk8rpD5s

    2. Re:WPF by cavebison · · Score: 1

      > the very last piece of the technology business that Microsoft dominates

      A business doesn't have to dominate a market to do well. That's a very recent perception, caused by the monster successes of Apple, Google, Facebook, etc - each dominating a particular market (or two), but not doing amazingly well in others. Microsoft is a different business to those, in that they have fingers in lots of pies. They can afford to be struggling in some markets. MS isn't just .NET and Windows. This is a quick list of MS stuff anyone would consider successful products in the marketplace:

      Exchange Server
      Sharepoint
      SQL Server
      MS Office / Office 365
      IIS / Azure
      Visual Studio
      Windows Mobile (as a phone/tablet product)
      Windows Phone (modest uptake but at least it's competition)
      MS Hardware - keyboards, mice, game controllers, etc.
      XBox

      That's not a complete list, and then there's MS Research division. I don't think one can compare Microsoft to many other companies, except of course Apple and Google, who also diversify a great deal. You can compare open source products like *nix, Eclipse, etc. to *specific MS products* but to say MS as a whole is in trouble because of individual examples of market share is, I think, illogical. MS is a huge beast and has a lot of talent. They need to be more agile, but that can be done. We will see with the new leadership.

    3. Re:WPF by Joey+Vegetables · · Score: 1

      By some measures of success, sure. But my understanding is that Microsoft makes minimal money on most of these products, and even loses money on some of them. Windows and Office have always been the cash cows.

    4. Re:WPF by cavebison · · Score: 1

      > By some measures of success, sure.

      Well, by the ones that count. They can't be doing that much wrong.

      http://www.forbes.com/sites/gr...

      But this is off topic I suppose, not about .NET specifically. It's just odd seeing people say "Microsoft is done", but praise Google, even though Google also made a lot of stuff that went nowhere in the market (Glass, G+), or makes no money. These companies get so much revenue across the board, they can afford to experiment and mess up here and there.

      I think MS is just a popular punching bag out of habit, as this whole post demonstrates. I hardly ever comment, but still had to offer my 2c to this one. :)

    5. Re:WPF by Joey+Vegetables · · Score: 1

      I was trying to be kind. I'm actually quite impressed with some of the work Microsoft has been doing, including open-sourcing large parts of .NET, and evolving C#, which was already a great OOPL, into a truly multiparadigm language. I'm not terribly unhappy with some of the othe products that have been mentioned, and I'm not aware of anything else quite like Visual Studio. I don't hate Microsoft because it is Microsoft; I don't hate it at all. I do think that some of its past and present business practices have harmed the industry including Microsoft itself, and that they need a strong, consistent vision if they wish to survive the transition from a desktop- to a mobile-centric world. A UI framework that was truly best-of-breed, open-sourced and yet largely controlled and stewarded by Microsoft, could have been a great opportunity for Microsoft to establish and maintain a foothold in that world, and, over time, even to help bring Apple and Google down a notch, by helping promote a standard way to build UIs rather than proprietary iOS or Android (or WinRT) native apps. Now, my prediction is that evolution is going to happen anyway, but it will be focused around the HTML5 stack rather than anything from Microsoft.

  65. Microsoft is the stand-by by kdub007 · · Score: 1

    Here's the thing. I work in a Microsoft based shop. I've had businesses in the past that we predominantly used open source tools such as the LAMP model. But, through my 17+ years of working in the IT industry, both as a developer and as an admin, I would say that the predominance depends on application. If you're doing web-related development, then you're probably using PHP/Java type stuff. If you're writing desktop applications (as we do here, although I'm not currently a developer...I'm an admin) then you're probably using C#/VB.NET. If you're writing core-systems or interfaces for physical tools, you're probably using C/C++. Hell, you might even be working on legacy systems and using RPG/COBOL. It all depends on your application...I don't think we will ever get to a point where there is just one programming language that is ideal for everything. That said, in my experience, businesses tend to go with major company's products...aka, MS/IBM/Oracle. My impression is that executives, who are typically not very computer savvy, tend to want the security blanket of thinking the have support from those vendors. I personally feel that I get better support from the open-source community and it is usually free. I think MS support sucks (as demonstrated during my 9 hour $500 call to them a couple weeks ago.) If I could transition my company to more of a LAMP type infrastructure I definitely would, but I will never be allowed to do that. Why? Well, mostly because the software used by my highly specialiized manufacturing company, much of which is extremely expensive, is Windows based. The transition would be enormously costly, if possible at all. I think a lot of companies face this problem, and therefore .NET will live on. Is it the only solution? No. But at least in our case, we're married to it, and the divorce would cost us a lot of money.

    --
    The correct answer is 42.
  66. We run .net and mono and is pretty sweet by Anonymous Coward · · Score: 0

    At the company i work we use it to run our stack and we have been doing for 3 years. The hardest thing was getting continous builds completely running which required a few hacks but with each version of xbuild it supports more normal operations. In terms of speed we have been able to go around anything that is slower than normal .net and found some components to be faster. For us the open source news is great since it will provide us with a larger platform.

  67. Proprietary and patented platforms have no future by markoresko · · Score: 0

    Microsoft sacked hundreds of employees working on Mono (Open .Net implementation for non-Microsoft platforms, notably Linux). It is Microsoft who is desperate to undo it's own wrongdoing with .NET keeping it tied up with Windows-only ecosystem that seems to be dieing on both server, desktop and mobile. .Net itself it all *patented* by Microsoft and they can alway pull the plug not only to their own proprietary implementation (and also your apps) so it is *VERY risky* business to use .Net for anything important and to even *believe* Microsoft is a good guy - no it is not - it is singe strongest source of vendor-lock-in and whole Software industry halter. So it is unfortunately number 3) Embrace, extend, extinguish - but it would happen to Microsoft this time. Nothing that Microsoft releases will not be for the good of anyone but Microsoft, to lure people of developing and using their proprietary technologies. One thing that is obvious from this actually is that not One company can compete with 50 or 100 companies making products as a collective. Proprietary software development model with "license" sales is dead and burred. Even Microsoft tries to sale "services" instead. And "Macs" became PC hardware as well as Game consoles (PS4, Xbox One) and rely on FreeBSD to run, like Internet rely on Linux and not Windows (Google).

  68. microsoft enemy of open source by Anonymous Coward · · Score: 0

    For real? Come on codeplex. Heard of it? Microsoft doesn't cares about open source or not, they just care about success of their software so if opensource can power windows or whatever software they roll out for them is like very welcome. Come on grow up and get into this world. I can't believe so much people is still with the head in 1995.

  69. Yes. by Anonymous Coward · · Score: 0

    Yes. Yes, it is. Thanks for asking.

  70. One Word Answer... by OneWordAnswer · · Score: 1

    ...No.