Slashdot Mirror


Microsoft Developers Respond To .NET Criticism

bonch writes "Richard Grimes of Dr. Dobbs Journal wrote an article entitled Mr. Grimes' Farewell, in which he discusses what he feels are inherent flaws in .NET, and how he is abandoning his .NET column. Grimes argues that .NET is merely thin wrappers to Win32 calls (Avalon uses message functions that date back to 16-bit Windows), that Microsoft has abandoned confidence in both .NET and sales of Longhorn, and that the framework itself is too large and poorly implemented, most of it ported from past APIs like WFC and VB. Dan Fernandez, Microsoft's Visual C# Project Manager, has responded in his blog. Richard Grimes appears in the comments to defend his criticism, referencing first-hand disassembly of .NET APIs using ildasm. Scott Swigart has also responded to the criticism of Visual Basic .NET. Apparently, Mr. Grimes struck some nerves."

133 of 583 comments (clear)

  1. Irony by bigtallmofo · · Score: 5, Interesting

    How ironic would it be if Microsoft eventually abandoned .Net and Mono was the only remaining development environment that supported C#?

    --
    I'm a big tall mofo.
    1. Re:Irony by diegocgteleline.es · · Score: 2, Interesting

      How ironic would it be if Microsoft eventually abandoned .Net and Mono was the only remaining development environment that supported C#?

      It still would be great. It seems like the criticism is made to the platform built on top of C#, ie: .NET. C# continues being a good language. We still can build our own FOSS platform with NO implementation of .NET.

    2. Re:Irony by RoLi · · Score: 3, Insightful
      Actually despite the public image being the contrary, Microsoft is abandoning it's products quite fast. Examples are Hailstorm, Passport, standard Visual Basic, etc.

    3. Re:Irony by diegocgteleline.es · · Score: 2, Insightful

      C# looks much nicer, and unlike Java it's a ECMA standard. Why would I want to use Java?

    4. Re:Irony by WinterSolstice · · Score: 4, Interesting

      I think the word you are looking for is "flailing"... as in MS s flailing around, trying to find a way to get a solid grip on a world that is fast passing them by.

      IBM did this in the early 90's PC market too, when the clones became far superior to the actual AT/XT machines. I would speculate that it is fairly common among large corporations when they hit a point where sales revenue is not increasing the way it used to.

      Let's see... what has MS attempted recently?
      Smartphones
      Xbox
      Pocket PC
      Media Center .Net
      WebTV
      Windows Embedded
      Windows "Clustering"
      XP ...

      Looks to me like they are trying to put a version of Windows into every market that uses processors. Seems to me like they've been right in line with what they said they were going to do. I wish them luck....

      -WS

      --
      An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
    5. Re:Irony by LarsWestergren · · Score: 4, Insightful

      Java is mature language, lots of jobs available, and there are a huge number of open source projects written for it. Unlike C#, is not a Microsoft product. Personally, I think it looks nicer than C#. Java has the Java Community Process where I can decide how it will develop in the future, and there are Open Source implementations such as Classpath available (which BTW makes it possible to run Java under Mono).

      Why the hell would I want to use C#?

      --

      Being bitter is drinking poison and hoping someone else will die

    6. Re:Irony by truthsearch · · Score: 5, Informative

      Java is not open. C# and the CLR are. They are ECMA standards.

      I'm getting tired of correcting people about this, but I can't help myself. C# and the CLR ARE NOT OPEN. An organization has embraced them in their list of standards. That does not mean they can be changed by anyone and still be a standard. They are not documented any better or worse then Java and their implementations do not have to be open.

      The only difference between these things being standards is that Microsoft can't change the interfaces and say they comply with the standard. Meanwhile Java can be changed at any time by Sun.

      And if you still want to call the CLR open then don't forget many parts are patented. So having it as an "open" standard is irrelevant when you can easily be sued by its creator for using it.

    7. Re:Irony by dubl-u · · Score: 5, Informative
      C# looks much nicer, and unlike Java it's a ECMA standard. Why would I want to use Java?

      I'm not saying you shouldn't use C#, but here are some of the reasons I continue to use Java:
      • broader tools support (esp. IntelliJ IDEA, which I love)
      • JDKs available from Sun, IBM, Blackdown.org
      • much larger pool of developers
      • many good open-source Java libraries
      • much larger pool of employers
    8. Re:Irony by x0n · · Score: 3, Interesting
      The only difference between these things being standards is that Microsoft can't change the interfaces and say they comply with the standard. Meanwhile Java can be changed at any time by Sun.

      And all other differences aside, don't you think this is the best one? Especially given the state of Java's W.O.R.A.B.O.O.T.R.R.V.A.V. (Write Once, Run Anywhere But Only On The Right Runtime Version And Vendor).

      And didn't MS release the source code to the first version of the CLR? That's a lot more than Sun ever did with the JVM.

      - Oisin

      --

      PGP KeyId: 0x08D63965
    9. Re:Irony by bolix · · Score: 2, Insightful

      I don't think thats what MS are doing. I think we're seeing genuine confusion over the company direction. There is no true enemy any more except the end users. Internal to MS, i think it plays out like this:

      1) On one hand you've got the the internet geeks: "the always-online and pervasive computing model will benefit the standards based, trim orgs" guys. Unless MS can set that standard or reduce the bloat, they're the Mainframe in the 80s.

      2) On the other hand, you've got the party-faithful, invested in the bloat and cross-licensing who cannot envision losing the unprecedented market dominance. Again, the Mainframe in the 80s.

      From what i've seen of the MS press, the push inside MS is on the standardisation and convincing the marketplace to side with the heavy hitters. What can you say about an organisation who's older products are stalling upgrades to its own new revisions? IMHO Its a slow realization for MS that the OS bloat is self defeating and that the platform tie in has as many cons as pros.

    10. Re:Irony by SunFan · · Score: 2, Interesting


      This C# vs. Java troll just never dies. A very small portion of .NET is "standardized". The rest is 100% proprietary to Microsoft, is almost certainly patent encumbered, and has the business ethic of Bill Gates and Steve Ballmer to back it up.

      You want to use Java, because it is actually vastly more open than .NET will ever be. Is it not true that IBM has its own JDK? Is it not true that IBM and Sun are competitors? Why does Sun tolerate this? Because they want it that way!

      Is it also not true that Apple (technically a Sun competitor) also has their own JDK? What about the JDKs available for Linux (technically a competitor to Solaris) and FreeBSD (also technically a competitor to Solaris)? Need I mention that there is a full-blown JDK for Windows? Windows! Sun doesn't even sell Windows!

      Sun openly wants Java to be used widely and by many companies. What has Microsoft openly said about .NET and Mono? I would be interested in seeing what their official PR on this matter is.

      --
      -- Microsoft is the most expensive commodity operating system and office suite vendor in the marketplace.
    11. Re:Irony by ckaminski · · Score: 2, Interesting

      How ironic do you think it is that this will eventually be true? From MFC/ATL to DAO/RDO/ADO and the IDX/HDC fiasco to ASP and ASP.NET?

      I'm sick of finishing a project, only to have the next one require interfacing with the newest damn MS product using a new interface/language. .NET is continuing proof that Microsoft cannot act like a grownup and work with the rest of the industry by writing a verison of VB for the Sun JVM. Rather than cooperate to build the ultimate computing environment, they have NIH syndrome and fragment the industry.

      I learn C# only to make myself worth something, but from now on, every project I write for personal usage or work on for OSS will either use C++, Perl or Java.

      Damn Microsoft.

    12. Re:Irony by aztracker1 · · Score: 2, Informative

      Have you ever tried to use a C code library with Java.. may as well pull your hair out now.. much nicer in C#.. that's probably my best example.. beyond that, they are more similar than different.

      --
      Michael J. Ryan - tracker1.info
  2. Put it this way... how would you feel? by syntap · · Score: 5, Funny

    How would you feel if someone criticized stuff YOU made in a public forum? This blogging stuff has gone TOO FAR and doesn't respect peoples' feelings.

    1. Re:Put it this way... how would you feel? by geminidomino · · Score: 2, Insightful

      Good.

      No one should HAVE to respect anyone else's feelings. Blogging just seems to be the only medium where you can still get away with having and voicing an opinion that might hurt someone's feelings.

      They had a chance to respond (thus the whole point of this story). Whether their responses have any substance is left as an exercise for the reader.

    2. Re:Put it this way... how would you feel? by Anonymous Coward · · Score: 5, Funny

      Your post sucks.

    3. Re:Put it this way... how would you feel? by Dony · · Score: 3, Funny

      WHOOSH!
      What was that! Something just flew over my head!

      --
      Machiavelli, a graphic novel
    4. Re:Put it this way... how would you feel? by obender · · Score: 2, Insightful
      How would you feel if someone criticized stuff YOU made in a public forum

      You can learn to appreciate that, just start a project at Sourceforge. After a year or so of regular releases you will be happy with any comments at all.

    5. Re:Put it this way... how would you feel? by Anonymous Coward · · Score: 2, Funny

      Girlfriends and creating development environments are mutually exclusive.

  3. It'll be better by zecg · · Score: 4, Funny

    I hear that now they have this spyware that downloads and installs .Net framework on users' PCs. Now we need a worm that does the same and the thing will soon be widely deployed!

    --
    .i lu doi ringos.star. xu do puku'aroroi dunli dopecaku leni virnu li'u
  4. Thin wrapper? by nmg196 · · Score: 3, Insightful

    ".NET is merely thin wrappers to Win32 calls"

    Of course it is. That's called functional programming! What did he want them to do? Write the whole thing again from scratch in ASM?

    Somewhere further down this page someone's going to write "In other news, Win32 is a thin wrapper for Assembly Language".

    I'm a .NET developer and in general, I think it's great - it's a very fast platform to devlop for - and your developments run very fast.

    Sure it has some problems with the fact that some parts are just wrappers. For example the SMTP functionality is really bad and always gives you exactly the same error message no matter what actually went wrong. But we're still very early in .NET development, and I'm sure .NET 2.0 and future versions will fix many issues that exist with the current version.

    1. Re:Thin wrapper? by jolyonr · · Score: 5, Insightful

      Point. Woosh - that's the sound of you missing it completely.

      The problem being described is that by being "merely thin wrappers to Win32 calls" it is simply papering over the enormous cracks and legacy rubbish that is the current Win32 architecture when there was an opportunity here to break free of that all and start with a new, clean, functional and efficient environment for the 21st century.

      I don't deny that Microsoft have done a good job in the packaging, but as the old saying goes, however hard you try, you can't polish a turd.

      Jolyon

      --


      Please read my Canon EOS tech blog at http://www.everyothershot.com
    2. Re:Thin wrapper? by m50d · · Score: 4, Insightful

      I think he probably wanted them to rewrite things to be crossplatform. Java isn't a thin wrapper around the Solaris API, it's a completely redone API which uses Solaris as just one of many backends. It's not noticeably more Solaris-based than win32-based or anything else-based. By contrast .net is clearly completely based around windows, making it harder to port to other platforms, and arguably harder to use.

      --
      I am trolling
    3. Re:Thin wrapper? by Stween · · Score: 4, Informative

      Of course it is. That's called functional programming!

      I suggest you take some time to read up on functional programming.

      (Disclaimer: I know what you're meaning to say, I'm merely pointing out that the term you used isn't what you think it is.)

    4. Re:Thin wrapper? by sisula · · Score: 3, Insightful

      "But we're still very early in .NET development, ..."

      Yes, we are and that's why you can't use this thing for serious projects.

    5. Re:Thin wrapper? by jtogel · · Score: 2

      It could have been more than a thin wrapper for specific Win32 calls. It could have been an API implementable on more than one platform, for example, with .NET calls supervenient on the native calls on more than one OS.

      By the way, the word you are looking for is probably "modular" rather than "functional". Functional programming is what you do with LISP.

    6. Re:Thin wrapper? by elleomea · · Score: 4, Informative

      "So should Firefox. They are simply papering over the enourmous cracks and legacy rubbish that is Netscape 4.0."

      The Mozilla project did do a massive rewrite of the original Netscape code.

    7. Re:Thin wrapper? by blowdart · · Score: 2, Informative

      But surely the library is a wrapper. You're not calling Win32 directly, but through the framework shim. You can implement the namespaces on more than one platform, mono is proof of that.

    8. Re:Thin wrapper? by MooCows · · Score: 5, Insightful

      1. I write a .Net application.
      2. Microsoft rewrites Windows, ejects the old API but keeps .Net compatibility. (it's a thin wrapper after all)
      I don't have to rewrite my application (not even recompile it), while MS can fix their low-level API.
      3. PROFIT!!!

      I do agree there are a bunch of flaws in the .Net library.. but the whole system is still a solid improvement over MFC et al. IMHO

      --
      The path I walk alone is endlessly long.
      30 minutes by bike, 15 by bus.
    9. Re:Thin wrapper? by MooCows · · Score: 4, Informative

      Umm .. the .Net library has a namespace called System.Windows which contains all the windows-specific functionality (COM, System.Windows.Forms, etc).

      Nobody is forced to use this namespace, nor can we blame MS for offering Windows-only functionality.
      .Net is undeniably built with Windows in mind, but it's hardly 'win32-based'.
      The runtime runs just fine on any platform (Rotor and Mono show this) and the library is clearly devided between Windows libs and 'common' libs like XML, SOAP, HTTP, etc.

      There are also plenty third party libraries available to enable platform independence. (GTK#, WX#, etc.)

      --
      The path I walk alone is endlessly long.
      30 minutes by bike, 15 by bus.
    10. Re:Thin wrapper? by jonathan_ingram · · Score: 2, Interesting

      Mozilla *was* completely rewritten from the Netscape 4 codebase, which was basically completely scrapped after being open-sourced.

    11. Re:Thin wrapper? by kbradl1 · · Score: 2, Insightful

      I am by no means a big fan of Microsoft, but bashing should take place only when bashing is due. Microsoft implemented .Net as a wrapper to Win32 because that would be the fastest way to do it. Isn't COM/MFC just wrappers to the WIN32 API too? In the meantime they are rewriting the Win API into managed code and calling this new API WINFX http://www.ondotnet.com/pub/a/dotnet/2003/11/24/lo nghorn_01.htm. The benefit here is that the .Net interface layer can stay the same, while the low level API layer is changed and your programs can still compile. If this really happens as Microsoft says it will, then I have no problems with the wrapper layer. It is much faster than Java and easier to develop in than C++.

    12. Re:Thin wrapper? by fish+waffle · · Score: 2, Interesting

      [Java's] not noticeably more Solaris-based than win32-based or anything else-based.

      Actually, it is biased slightly in the lower level implementation design constraints, although you're right that for most people it's not noticeable. Java (bytecode) uses big-endian encodings however, and IIRC the (strict) floating point specs are more Sun-friendly.

    13. Re:Thin wrapper? by MoebiusStreet · · Score: 2, Interesting

      Hence the Java reputation for "Write Once Debug Everywhere".

      My employer's website used Java applets way back when, but when we found that it wasn't as portable as promised (e.g., events firing in different orders, colors mapping differently), we canned it.

      So what you might view as Java's asset turned out to be, given our particularly priorities, a dealbreaker.

    14. Re:Thin wrapper? by m50d · · Score: 2, Insightful

      Yes, but with the default MS runtime that's the only way to get GUI. So that's what the majority of apps will use. Wheras with java, the gui shipped is a crossplatform one (which sucks, but that's another argument). Yes Wx# exists, but how many app makers are going to bother even looking for something like that when they have a toolkit there and don't care it's windows-only.

      --
      I am trolling
    15. Re:Thin wrapper? by thoth · · Score: 2, Insightful

      EXACTLY. If C#/.NET kicks so much butt, then why hasn't Microsoft cranked out C#/.NET version of Exchange, SQL, Office, IE, etc. ???

      If you are an early adopter, you'll just wind up helping Microsoft debug. Where's the advantage for you? They should prove it is a serious platform by releasing serious products built with it.

      This isn't like 15 years ago when they released Windows and cut off Lotus 1-2-3 by getting their first with Excel. There's too much intertia behind Win32 for it to vanish.

    16. Re:Thin wrapper? by Dcnjoe60 · · Score: 3, Insightful

      I think he probably wanted them to rewrite things to be crossplatform. Java isn't a thin wrapper around the Solaris API, it's a completely redone API which uses Solaris as just one of many backends. It's not noticeably more Solaris-based than win32-based or anything else-based. By contrast .net is clearly completely based around windows, making it harder to port to other platforms, and arguably harder to use.

      That will ultimately be the problem/downfall of .Net. It is so tied into the current Window's API that either a) new versions of Windows will need to limit what they do for backwards compatability or b) .Net will morph into an unsightly mess of add-on features to keep up with Windows or c) future .Net will not be backwards compatable (or forwards, for that matter).

      Based on Microsoft's past track record with development languages and APIs, I'd say option c is most likely to prevail.

  5. So what else is left to sell? by Nuclear+Elephant · · Score: 4, Funny

    Microsoft has abandoned confidence in both .NET and sales of Longhorn

    Great! Does this mean they'll be shipping their own Linux+OpenOffice Distro?

    1. Re:So what else is left to sell? by Mozk · · Score: 3, Insightful

      Would you really trust anything named "Linux" from Microsoft?

      --
      No existe.
    2. Re:So what else is left to sell? by BRonsk · · Score: 2, Funny

      Great! Does this mean they'll be shipping their own Linux+OpenOffice Distro?
      He didn't say anything about MS loosing confidence in Office!! Maybe they'll port Office to Linux using Mono?

    3. Re:So what else is left to sell? by geminidomino · · Score: 3, Funny

      Given my experience with their stuff, I wouldn't trust anything named "Turd Sandwich" from Microsoft.

  6. Design Flow by should_be_linear · · Score: 5, Funny

    First platform independent framework/runtime, implemented for only one OS.

    --
    839*929
    1. Re:Design Flow by conteXXt · · Score: 5, Insightful

      Props are due.

      Hardly anyone ever mentions that little tidbit anymore as it was assumed (correctly) from the beginning that .NET was only supposed to fool the Windows Java developers to give up on Java.

      Everyone else saw through the thin veil.

      --
      The truth about Led Zep should never be told on /. (Karma suicide ensues)
    2. Re:Design Flow by rednaxel · · Score: 5, Insightful
      As I use to say:

      • Java: one language, any platform
      • .NET: any language, one platform
      --
      If you can read this, thank an english teacher.
    3. Re:Design Flow by SunFan · · Score: 2, Insightful


      Actually, don't languages have to be bent to fit in .NET? It seems it really isn't "any language", but, instead, it's "any language that plays by our rules."

      --
      -- Microsoft is the most expensive commodity operating system and office suite vendor in the marketplace.
    4. Re:Design Flow by Anonymous Coward · · Score: 2, Informative

      This is completely untrue. There are a ton of languages that compile to java bytecode. The current list is almost 200 languages!

      Parent and modders, please stop propagating this lie.

  7. Well he's right about one thing by SeanJones · · Score: 2, Funny

    Calling it C# certainly has made web-searching difficult. Google only turned up 7 million three hundred thousand entries.

    1. Re:Well he's right about one thing by klevin · · Score: 3, Informative

      Researched the name? Hah! Have you ever seen how products get named in big companies?

      It generally goes something like this:
      1) developers work on product, calling it by one (informal) name
      2) product gets close to release
      3) marketing department sends out email to developers telling them they've come up with a name for the product, implying they'd like feedback
      4) developers scream because the "formal" name is meaningless drivel that tells the user nothing
      5) marketing department changes the name in a manner that has nothing to do with developer feedback, as all of that email went to /dev/null
      6) repeat 3-4 until marketing department has a name they like
      7) release product

  8. no suprises. by Lumpy · · Score: 4, Insightful

    The VB devs here prefer, and every VB install is actually VB6. We buy .NET but none of the Devs want it for anything but the license to use VB6.

    VB6 is much smaller and has a higher compatability across all the company platforms, plus the windows CE devices we have here in he wearhouse and field techs carry run an older CE version that seems to like the CD kit+VB6 better. (no upgrading them is not an option at $2150.00 each)

    Or so they say, I rarely touch the stuff. I find that python does the job faster and better, but try and convince a VB jockey that it really is just as easy without an IDE.

    Python + wxPython = killer cross platform Rapid development language.... as soon as you get past the quirks.

    --
    Do not look at laser with remaining good eye.
    1. Re:no suprises. by Dacmot · · Score: 2, Funny
      Python + wxPython = killer cross platform Rapid development language.... as soon as you get past the quirks.


      Just like Perl/Tk
    2. Re:no suprises. by MyLongNickName · · Score: 3, Insightful

      Then your devs need to get off the crack pipe.

      I work in a one-man shop. I do not have a CS degree, kind of sliding into programming from another field. I never understood a lot of the C-programmers terms like inheritence and polymorphism. Now that I have it, I have a hard time remembering how I got my work done otherwise.

      You ever play with custom controls in VB6? The damn things would break for no apparent reason, and the code for where controls are loaded was enitrely seperate from the rest of your code... made for some interesting debugging when VB6 decided my control could not be loaded. Add on top of this that you could not truely test an install on your machine, and VB6 sucked

      I wear a lot of hats.. db admin, application developer, spec writer, manual writer, tech support, with a user base spread out over five or six cities. I don't have time to delve into third party installation programs, version history databases, etc. I do not have a dedicated QA department with their own set of clean PCs to test on. I don't have someone who can test installs to make sure there are no glitches. .NET has made my life much easier. I can invest time into building tools to help me do my job faster and with more reliable results. I can trust .NET's installation programs to work as advertised. Its VSS implementation is vastly improved over VB6's.

      Am I a super programmer? No. I can get the job done, and I understand enough about the industry I work in (banking) to know how to meet the requirements of the job even when the folks who are describing the project don't. I am also not impressed by bells and whistles. I like to get the job done, and make my apps as ancillary to my users' lives as possible. I like the same from my development environment. .NET has given me a lot of freedom, and helped me to be a lot more efficient than I was three years ago.

      Are there "better" programming enviroments for other folks? Sure. We all tend to gravitate to the tools we need. For mine, VB.NET is it. But if anyone claims VB6 is better, they are plain wrong. My guess is that they were not willing to go through the learning curve (quite steep). If I had to go back to VB6, I'd switch careers.

      --
      See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
    3. Re:no suprises. by SparafucileMan · · Score: 2, Informative

      There is Python/tk. The problem is that TK sucks compared to wxWindows.

    4. Re:no suprises. by justins · · Score: 2, Funny
      Python + wxPython = killer cross platform Rapid development language.... as soon as you get past the quirks.

      When the best RAD environment available is an abortion like Boa Constructor, you are suffering from more than "quirks."
      --
      Now before I get modded down, I be to remind whoever might read this that what I am saying is FACT. - bogaboga
    5. Re:no suprises. by robinjo · · Score: 2, Informative

      You could have had all the advantages you mentioned ages ago by using Delphi.

    6. Re:no suprises. by Tablizer · · Score: 3, Insightful

      I find that for some tasks a coordinate-based IDE works better, and for others a "flow-based" (nested) approach works better. Thus, when people get into holy wars over cordinate versus flow, I say "both!". But, nothing has integrated both yet.

      The entire market is confused right now, and this is not necessarily (or not only) Microsoft's fault. Businesses like rich GUI's, but also want open standards and easy, web-based deployment. These requirements are either contradictory or have not been integrated into an acceptable standard yet. The fight for a solution is still raging and it is hard to settle on an Ultimate Framework until decent solutions or framework come along. Java is a mess also, taking an army to produce Hello World.

      Client/server crashed into the web, and the wreck is ugly. The web standards were not originally designed for business forms and rich GUIs and the retrofitting is ugly.

  9. Microsoft pays the bills! by erroneus · · Score: 5, Interesting

    There are thousands if not millions of people who have built thier understanding of computer systems around Microsoft's operating systems, software products and programming environments. Let that idea settle in deeply for those who see a much larger picture and take it for granted.

    This is not only their identity as programmers, but their foundation for career building and therefore their house and car payments, their breakfast and dinner and their hopes for retirement. It's a huge deal to criticise Microsoft for these people. Is it any wonder why it becomes a holy war for so many people? It's no mystery to me at all -- I even have a brother who has fallen into that trap and in order to keep peace in the family, I pretty much keep my "opinions" to myself much of the time.

    So while I am glad to see greater use and corporate acceptance of Linux or other alternative operating systems, I kind worry a little for those who aren't allowing themselves to see things beginning to crumble for Microsoft and that if they aren't careful will fall along with them.

    1. Re:Microsoft pays the bills! by Taladar · · Score: 2, Insightful

      The Grandparent is right. Your horizon is definitely very small if you only see the products of one company. How big that company is or how long they will stay is irrelevant. Even if you only use the products of one company it is never wrong to know about other, independent ones.

  10. VIA forums... by realkiwi · · Score: 4, Interesting

    recently migrated to .NET. The server admin seems happy but the user experience sucks big time. I never thought I would say something nice about Cold Fusion but the forum certainly was more user friendly running under that.

    --
    realkiwi
    1. Re:VIA forums... by Anonymous Coward · · Score: 3, Insightful

      The server admin seems happy but the user experience sucks big time.

      And, if you like, you can build crappy software on top of EJB, Tomcat, Apache, LAMP, etc. Why are you blaming .NET?

    2. Re:VIA forums... by jeremyds · · Score: 4, Insightful

      What does the platform the forum is built on have anything to do with whether or not it's "user friendly"?

  11. sometimes things have to hurt. by ecalkin · · Score: 4, Insightful

    If you stick your head in the sand and only hear good things, this leads to *big* problems later. You can look at some history at IBM and see that the cheerleader mentality cost them a lot. It didn't matter what the truth was, it didn't matter what reality was, it didn't matter if the product worked, it was your job to promote it like it was the best thing since sliced bread, and do it with a smile on your face. You could see a lot of that with PS/2s

    Everyone that builds something, designs somethings, etc, should be able to have some basic defense of his actions, designs, procedures. If all you can say is "that's hurtfull", you are in big trouble.

    eric

    1. Re:sometimes things have to hurt. by n1m1tz · · Score: 2, Insightful

      Whew, you're talking about IBM. For a minute there I thought you were talking about the current administration of the USA....

      --
      G
    2. Re:sometimes things have to hurt. by opposume · · Score: 2, Insightful

      hear hear! As somone who works on many projects, I love it when somone tells me bad things about the project. That way I can step back and take an objective look at it, really examine what they're talking about and make a decision based on my findings. Weather they're blowing smoke, or really seeing a problem. If they really saw a problem, I will correct it. It's just that simple. I wouldn't just leave it, discounting the 3rd party opinion as bunk.

      --
      I haven't lost my mind. It's backed up on disk somewhere.
    3. Re:sometimes things have to hurt. by sdcharle · · Score: 2, Interesting
      You can look at some history at IBM and see that the cheerleader mentality cost them a lot.

      No doubt, esp those company songs IBM had...

  12. Start again? by Caine · · Score: 3, Insightful

    Ah boy, I wouldn't want to hire you. Microsoft sits on a treasure chest, namely 10 years of bugfixed, known-to-be-working code. It contains every little obscure bugged that grandma Uxbuklu in outer Mongolia have ever encountered. And you want them to throw that away? That sounds great! If you're a Linux developer that is.

    I would recommend you read what Joel has to say, since he say it so much better than I have time to do.

    1. Re:Start again? by RedK · · Score: 2, Insightful

      Microsoft sits on a treasure chest, namely 10 years of bugfixed, known-to-be-working code.

      That would be great, if the Win32 API and all other extensions of it weren't brain dead to begin with.

      The problem isn't the code itself, but rather the design that was put in it, ie, none at all. It takes 60 lines of code just to get things ready to do something.

      I wrote a simple application in C using Win32 to just mute/unmute the Main Volume Control. Took 120 lines of code spread out over 5 different functions. This is not withstanding their really broken event system where you don't attach callbacks to the events you want, you just get sent everything and if you don't need to redefine a default event, you need to then ship back yourself to the default handler.

      --
      "Not to mention all the idiots who use words like boxen."
      Anonymous Coward on Monday August 04, @06:49PM
    2. Re:Start again? by monkey_jam · · Score: 5, Funny

      Microsoft sits on a treasure chest, namely 10 years of bugfixed, known-to-be-working code

      Yeah, now if only they'd release it....

    3. Re:Start again? by skraps · · Score: 4, Funny

      You should check out my new language, "Braindead". Every program is exactly one character long! Of course, some people complain that they have trouble finding which of the +Inf characters to use, but that's a different problem.

      --
      Karma: -2147483648 (Mostly affected by integer overflow)
    4. Re:Start again? by RahoulB · · Score: 3, Insightful

      Win32 is one of many possible APIs to the NT kernel - it just happens to be the one with the most development against it and (most importantly) is backwards compatible with Windows 9X.

      If they are going to have a whole new API (which is what .NET really is) then why build it on top of the flaky and ugly Win32 API, when it could be inserted as a peer to the Win32 API (in the same way that Carbon and Cocoa are on OSX).

    5. Re:Start again? by uradu · · Score: 4, Insightful

      Microsoft is also developing lots of new systems code, and Grimes' question is, how come so little (if any) of it is written in .NET, if .NET is indeed the future? Or is .NET just the latest incarnation of the MFC: good enough for everyone else and to sell lots of books, but most certainly not for internal Microsoft development?

    6. Re:Start again? by RedK · · Score: 2, Insightful

      However, the fact that you don't see why this is needed doesn't mean it isn't needed. Half of those lines and their cryptic arguments is to ensure that some bug doesn't show up. Or that some programmer in deepest Africa can use his native language consisting of tounge-clicks.

      And that my friend is the original point of this thread. Just adding code/cryptic arguments to bypass bugs is sign of a weak design to begin with. Bugs should be in functionality, not in the design of the API itself.

      But it was not localization. Try reading up on the Mixer API for Windows. It is cludge over cludge. The functions take over 10 parameters each, even to do simple things. You need to get a handle on 3 different objects before you can do anything usefull. Compared to other APIs i've seen, Win32 is by far the one that has you going through many hoops to do 1 thing. Everytime.

      .NET could have been a fresh start. But they decided to wrap Win32 yet again.

      --
      "Not to mention all the idiots who use words like boxen."
      Anonymous Coward on Monday August 04, @06:49PM
    7. Re:Start again? by mlwmohawk · · Score: 2, Interesting

      You say that Microsoft is sitting on a treasure chest 10 years of "bugfixed, known-to-be-working" code. As a former Windows developer, since version 1.03, and who was a Windows NT kernel developer since NT 3.1 (The first version), I can say I hear what you are saying, but "bugfixed, and known-to-be-working" code is only valuable if it can be said that the foundation of the code is solid. If the foundation of the code is bad, its like putting fresh paint on a house with termites and wood-rot. The core of NT was good when Cutler first worked on it. Since then, Microsoft has compromised every aspect of NT that was good. That valuable "bugfixed" code is mostly code that was in error in the first place. The general design of Win32 (and Win16 prior) is too reliant on little or no security between applications. As long as there is a need for normal users to have "Administrator" rights for their applications to run or install correctly, Windows will always be a disaster.

    8. Re:Start again? by Foolhardy · · Score: 2, Informative

      Exactly. I was really hoping that Avalon with .NET would become a new environment subsystem to replace Win32 in Longhorn. This is exactly the kind of thing that environment subsystems were designed to do: .NET is a new API, has (or should have) a completely seperate interface from Win32, and it will (supposedly) have an entirely different graphical and windowing system. Hey, even ReactOS is planning a Java environment subsystem, one not built on Win32.

      Win32 was introduced in NT 3.1 to be easy to port using source code written for (dos) Win3.1 that followed all the Win16 API rules. Win16, IIRC, goes all the way back to Windows 1.0. Since then, layer after layer of compatibility has been added so that you can still compile different binaries that will run on Win1.0, 3.1, 95, NT, XP and everything in between using the same source code. Compatibility is nice, but forcing the main API to be compatible with all those previous versions is getting a little excessive. There should be wrapper libraries that covert the old API versions to the new ones without sacraficing the design of the new API's interface or implementation.
      Win16 was never designed for long-term compatibility, and it shows. All windows are expected to be visible to all applications and allow unrestricted transmission of messages, including dangerous ones. NT works around this by dividing the window spaces into desktops, but desktops can't be used widely because the would break compatibility.
      Note subtle differences between WM_XBUTTONDOWN, WM_LBUTTONDOWN, WM_NCXBUTTONDOWN, WM_NCLBUTTONDOWN, WM_NCHITTEST, and WM_INPUT. WM_L/R/MBUTTONDOWN were used in versions previous to 2000/ME to be compatible with Win16. The WM_XBUTTONDOWN is a more generic version introduced in 2000/ME. WM_NCHITTEST also sends click messages, but also includes movement and some special events also duplicated in WM_SYSCOMMAND, WM_ACTIVATE and WM_APPACTIVATE. WM_INPUT does the same things, but with handles and less pre-processing. The WM_NC* messages are special for non-client messages that haven't been captured. Juggling capture, focus and disabled windows is fun.
      Each windows message has exactly two parameters: lparam and wparam. This can't be changed because it would break the fixed format of all the message functions. There are many creative ways to cram as much information into these two parameters as possible. The MSG structure has a few other fixed properties, like pt for screen coordinates which are sent even for messages that have nothing to do with coordinates, so some functions use it to pack more parameters. .NET wouldn't have this problem: events are objects, and you can always add new properties to

  13. Tried .NET a year ago by MSBob · · Score: 5, Insightful
    I agree that it is a thin wrapper around (bad) Win32 APIs.


    The one thing Microsoft has been consistently bad at is developing nice clean APIs. They often provided very good tools to help you cope with the sheer ugliness of their APIs but MS never managed to create an API that felt natural to use.


    I had high hopes with .NET I thought MS was going to turn a new leaf in the API department and finally provide a programming environment that's usable without a gazillion wizards. No such luck. All of the OLE/COM crap sticks out of .NET like a sore thumb. The whole thing feels like a stovepipe patch on top of an old and crufty system and it just doesn't hang together as well as the Java runtime for example.

    --
    Your pizza just the way you ought to have it.
    1. Re:Tried .NET a year ago by TummyX · · Score: 4, Insightful

      You can account for everyone by making your API *extensible* which MS.NET not. They have difficulty designing abstract APIs. They should steal more from Java2.

      This is coming from a .NET developer btw.

    2. Re:Tried .NET a year ago by skraps · · Score: 2, Funny
      Yes, COM and Win32 ugliness do show through in .NET. However, they couldn't have done it any other way. Remember when .NET came out any every single windows programmer was bitching and moaning about having to re-learn and re-implement everything? Imagine how many times worse that would have been without backwards compatibility. To make things "just work" in a backwards compatible way, some of the ugliness had to show through. All abstractions leak.

      It is unfortunate, but there is no other way it would have got off the ground. Presumably COM and Win32 stuff can be phased out in the future. The warts will always be there, but these things are used in the real world of business computing, not some totally pure abstraction wet dream world.

      --
      Karma: -2147483648 (Mostly affected by integer overflow)
    3. Re:Tried .NET a year ago by truthsearch · · Score: 2, Interesting

      There's a VERY big difference between .NET being a wrapper for Win32 and backwards compatibility. Doing everything within .NET's runtime for client apps means calling Win32 functions. Their bugs and flakiness show through. The added layer also brings a huge performance drop.

      Calling COM and Win32 function directly, however, is another whole story. The interrop sucks. And it doesn't just suck, it sucks badly. The could have written .NET from scratch instead of a layer on Win32 and still have interrop. Being on top of Win32 the interrop should actually be quite good.

      The backwards compatibility can only come from the interrop to older code. It has nothing at all to do with COM and Win32 ugliness showing through in .NET.

    4. Re:Tried .NET a year ago by mattgreen · · Score: 2, Interesting

      If people only talked about what they knew, they wouldn't talk very much. Slashdot is mostly a forum for people who enjoy debating ideologies, or more accurately, stating their dogma and being affirmed by others without actually going to the trouble of backing up their arguments with facts.

      As a Win32 developer, one of my pet peeves is the way the CreateWindow() call works. Client code calls CreateWindow(), and then, *BEFORE THAT CALL RETURNS* your window message function gets a few messages initially. It makes it very difficult to set up an effective wrapper around the API using C++. It is possible, but you have to use assembly language to sneak the instance pointer in. Obviously, they have some reason for blocking CreateWindow() until the message procedure sets up, but it does make life more difficult. (Perhaps the newly created window has a chance to stop the creation process?) These are relics of a procedural architecture, and it shows.

      Other annoyances: not all operating system handles can be closed through CloseHandle(), such as directory enumeration handles. Naming conventions vary quite a bit - you can almost tell if an API is old or not by whether it uses Hungarian notation.

      MSDN does an excellent job of pointing out these nuances, however. I can usually find what I need within the remarks section.

  14. What about .MAC? by spacedx · · Score: 5, Funny

    I am a .Mac developer and I can assure you that iDisk is more than a thin wrapper for WebDAV calls! Homepage is the best web development platform I've ever had the pleasure of using.

    1. Re:What about .MAC? by spacedx · · Score: 2, Funny

      (Score:5, Interesting)

      Wow. Just wow.

    2. Re:What about .MAC? by fsck! · · Score: 2, Informative

      Just so you all know, THIS GUY WAS MAKING A JOKE. .Mac is completely unrelated in scope to .NET. It's an Apple-centric hosting service with lots of OS integration for contact and bookmark syncing, plus webmail and hosting. It's not a runtime. I wish I had mod points right now.

  15. actually... by sethadam1 · · Score: 2, Funny

    but as the old saying goes, however hard you try, you can't polish a turd

    Actually, the saying goes:

    "You can polish a turd all you want, but it's still a turd."

    1. Re:actually... by khallow · · Score: 4, Funny

      And in proper slashdot tradition, I demonstrate both sayings are wrong.

  16. Re:Thank you to Dan Fernandez by Anonymous Coward · · Score: 2, Insightful

    You also just proved that his bloatware alert was correct.

    And your average Linux distro is bigger than the XP CD. Guess why? It includes different stuff.

    Are the utils and class libs exactly equivalent? Does the default Java install include all the EJB stuff to match the ASP.NET in the .NET download? Maybe one's better than the other - the GCC distro's grown over the years, but there's nothing wrong with that, is there?

  17. Re:Thank you to Dan Fernandez by Anonymous Coward · · Score: 2, Insightful

    No! He did not. Read carefully. 23+ MB is not MANY times larger than 15 MB. He is not denying it is larger. MANY implies that it is atleast twice as large. .NET gives you better libraries out of the box than Java. Any decent managed code distribution is large including open source solutions. ActivePython for example is 18 MB.

  18. SHOCKER- Microsoft's new framework forces upgrade by daperdan · · Score: 2, Informative

    This is an old tactic of Microsoft. Thow out backwards compatibility and force an upgrade. I think most M$ users are used to this by now. If you want to keep up with the latest and greatest you have to rewrite to take advantage of the cool new features. This has been going on since the beginning.

    It will continue as long as developers are still willing to take the dirty sanchez that Microsoft has to offer. Microsoft is in it for the MONEY only. Advancement of computer science is not a concern.

  19. This is the bit that worries me... by argent · · Score: 4, Insightful

    My opinion is that Avalon, or more specifically, XAML, will mark the death of ASP. The reason is that Avalon is a client-side technology, but the browser is an important part of the distribution model. XAML is so rich that a browser-contained XAML application will look no different to a process-based Avalon application, and coupled with Web Services or Indigo (as the mechanism to access remote code), an XAML application will make an ASP.NET application look paltry and antiquated.

    Microsoft's track record with browser-based applications is one security disaster after another. Their existing browser-centric security model is fragile that I can't see a way to fix it without changing the API and breaking every application that uses it.

    If Microsoft's web applications come to depend on that model, they'll never be able to extricate themselves from that mess.

  20. Re:SHOCKER- Microsoft's new framework forces upgra by Anonymous Coward · · Score: 2, Informative

    This is an old tactic of Microsoft. Thow out backwards compatibility and force an upgrade.

    Uh, no. The framework works on Win98+ (see the download page).

    Half the complaints here are picking up on the "layer on top of Win32" comment which is exactly the backward compatibility point.

  21. Already debunked. by MythMoth · · Score: 3, Interesting

    This myth, .net is merely thin wrappers to Win32 has been very thoroughly debunked by the inimitable Ian Griffiths in his OnDotNet column on Longhorn.

    Being anti-Microsoft doesn't automatically make something true.

    --
    --- These are not words: wierd, genious, rediculous
    1. Re:Already debunked. by CreatorOfSmallTruths · · Score: 5, Insightful

      Being anti-Microsoft doesn't automatically make something true.

      Yes.. But having dissassembly output does...

    2. Re:Already debunked. by thePjunisher · · Score: 5, Interesting
      Dumbass. Next time, link to a article that supports you claim, not one that contradicts it...
      WinFX marks the start of a similar transition, with .NET turning from a wrapper into the native API. .NET need not be a set of wrappers any more than Win32 needs to be a set of wrappers for 16-bit versions of Windows.
  22. Re:Thank you to Dan Fernandez by Mant · · Score: 2, Informative

    How is 23.7 many times 15?

    Isn't the guy also complaining that alot of it is just wrappers? If they weren't, wouldn't it be much bigger?

    Can't have it both ways.

  23. Re:Nope.. not in C by TheRaven64 · · Score: 2, Informative
    Assuming that there was meant to be some kind of comparison between the i and the x (e.g. < or >), you most certainly can do that in C. The C99 specification allows declarations of variables inside for loops. The variable then has the scope of the loop.

    The C99 specification has been out for over 5 years. There is really no excuse for using older versions these days.

    --
    I am TheRaven on Soylent News
  24. Re:SHOCKER- Microsoft's new framework forces upgra by Lemmingue · · Score: 3, Informative

    Are you sure? Why most DOS apps still runs in Windows XP? You can use your Word 6.0 in your Windows XP with no problems. I think it makes sense to rewrite parts of your application to take advantage of new features. How can you develop software using an API that doesn't exists? Try to develop a Linux app

  25. Avalon availability by Chris+Kamel · · Score: 4, Insightful

    From RG's article I take the decision to make Avalon available to other versions of Windows as a lack of confidence in the sales of Longhorn.
    So if MS made Avalon not available for other versions of windows we'd moan about requiring to upgade to longhorn and MS wanting to make more sales on the expense of the consumer. When they announce it will be available for older versions of Windows we moan about their lack of confidence in longhorn sales... sheesh......

    --
    The following statement is true
    The preceding statement is false
    1. Re:Avalon availability by danheskett · · Score: 2, Informative

      That's exactly it.

      MS heard a lot of feedback - from me included - that developers weren't going to spend time and effort learning about Avalon and WinFS if only Longhorn users would have it. WinXP is very well saturated right now, today.

      There is no way I am going to develop any app that only works for Longhorn users. At the last PDC conference there were a lot of shallow "ohh's and ahhs" but not a lot of excited committment, because hey, why bother if my users can't use it for 5 years?

  26. OT: Scott Swigart by dackroyd · · Score: 4, Funny

    Apparently, you also forget the pain of pre-.NET development. I haven't forgotten the insane amount of work it was to build a Web site with tables that let you sort and page data. I haven't forgotten how much work it was to write client-side and server side code to validate form fields.

    Wtf? Apparently he has forgoten to use PHP for web development.

    --
    "Free software as in beer, copy protection as in racket" - Telsa Gwynne
    1. Re:OT: Scott Swigart by ShieldW0lf · · Score: 2, Interesting

      PHP lets you do that, but you have to progam it. Page date? Sure. Put in a URL parameter for "recordstart=" and "numofrecords=". Sort by a column? Sure, put in a parameter for "col=" and "sortorder=" - there are a hundred ways to do it. Then in your PHP code you read those parameters and craft a SQL query to do the deed.

      Sounds fine, right?

      ASP.NET developes can do that with literally two clicks and setting a property or maybe two. Then you create a stored procedure for your query (abstracting out that phase), and your users can sort by any column, page with user-definable page lengths - without generating a new query to the server (whereas your PHP example probably generates a query on every page request). If the user has a new-ish browser he/she can resort without another page load, as well as probably re-size the number of records on page. If the user is on an older browser or one without javascript enabled the script automatically detects this and serves a static copy, much like the one you generated with PHP.


      You are so totally talking out of your ass.

      The DataGrid control which you are referring to allows you to implement default paging and sorting or custom paging and sorting.

      But when you use default paging and sorting, the query pulls ALL the sorted data from the database tier to the web tier, then cuts out the stuff that's not relevant to the page. Every time you page, you're pulling ALL the data from the database. Every time you change the sort order, you're pulling ALL the data from the database. This is completely USELESS as in broken for ANYTHING except small tables. And if you're not using the DataGrid, you get nothing.

      So when you go about impementing custom paging, which you WILL need to do, it becomes MORE work than under classic ASP.

      You know how you do paging properly in ASP.NET? You skip those stupid fucking useless controls, you write your paging and sorting into your stored procedure where it fucking belongs and you use a DataReader control to fetch your data in firehose mode.

      Just like you should have been doing in ASP all along.

      --
      -1 Uncomfortable Truth
  27. If I say something idiotic and inflammatory... by PepeGSay · · Score: 5, Insightful

    everyone will read it and post it on Slashdot. This guy is using kernels of truth to act as if those kernels of truth are indisputable evidence of his incorrect conclusions. e.g. "The sky is blue. Blue is the color of water. Therefor if I fly I will drown."

  28. Abandoned confidence? by zero_offset · · Score: 3, Interesting

    Microsoft has abandoned confidence in both .NET and sales of Longhorn

    That will come as a big surprise to Microsoft.

    Hell, Grimes doesn't even get the original name of the .NET preview right. In the linked article, he states:

    "I started using .NET when it was in technical preview at the beginning of 2000; at that time it was called COM+2"

    In fact, it was being called COM3, and it was renamed NGWS because Windows NT wouldn't let you work with a directory called COM3 (IIRC, you could create the directory, but trying to use it resuled in some kind of conflict in which NT thought you were referring to a serial port).

    Fernandez himself says everything else you need to know about Grimes' DDJ bitchfest.

    --

    Slashdot quality declines as the number of hot grits posts decreases. - Provolt's Law, Apr-09-2005

    1. Re:Abandoned confidence? by qodfathr · · Score: 2, Informative

      I'm not defending Grimes, because I honestly think he's lost his mind, but I'm looking at some of my very old Powerpoints when I, too, was involved in the very early (pre) betas, and, sure enough, there it is: COM+ 2.0.

      In fact, I see COM+ 2.0 far more than COM3, prior to the change to NGWS.

      Looking back further still, the original COM+ was more like COM+ 2.0 (with attributed-based programming extensions to C++, no less), but that got scaled back and the shipping version of COM+ was more akin to COM+MTS.

      --
      Yes, it's true. This man has no dick.
  29. Ick by the_2nd_coming · · Score: 5, Funny

    I feel dirty reading so many MS Developer comments... bleh

    --



    I am the Alpha and the Omega-3
  30. Hello, Microsoft tech support? by leonbrooks · · Score: 3, Funny

    I buried one of your turd sandwiches in my garden and all of the plants died. So did the pests living on them. And my neighbours' plants. Can I install a Turd Sandwich Service Pack or something?

    --
    Got time? Spend some of it coding or testing
    1. Re:Hello, Microsoft tech support? by Anonymous Coward · · Score: 5, Funny

      MS Troubleshooting Help for "Turd Sandwich"
      1. Is your garden on the planet earth, and exposed to sunlight, oxygen, and water? []y []n
      2. Are you using MS Turd Sandwich in the Spring, Summer or Fall? (MS Turd Sandwich is incompatible with Winter in some climates) []y []n
      3. Please grade and re-seed your lawn and garden, replant your trees and shrubs, and rebuild any property on the affected location. Did this solve your problem? []y []n
      4. You have reached the end of the troubleshooter for MS Turd Sandwich. Please contact tech support for the same information, or upgrade to MS Turd Sandwich 2.0, which contains twice as much Turd as the previous release.

  31. Python? Ruby? Squeak? by leonbrooks · · Score: 4, Interesting

    All "one language, any platform" - even Java bytecode, via JRuby and JPython. So in a different way, "any language, any platform". Same story with Mono. Remind me again: why does .NET exist?

    --
    Got time? Spend some of it coding or testing
    1. Re:Python? Ruby? Squeak? by XMyth · · Score: 5, Interesting

      Why do 50+ window managers exist? Why do KDE *AND* Gnome exist when XFCE is so much faster?

      Why do YOU exist when I already exist?

  32. Try wxRuby by leonbrooks · · Score: 2, Insightful

    Goodbye, quirks.

    --
    Got time? Spend some of it coding or testing
  33. Re:Syntax error by mwvdlee · · Score: 4, Informative

    I think it's valid in the C99 specs, which is the current standard for the C language.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  34. Holy stinking jesus by belarm314 · · Score: 4, Interesting

    From some AC responding to Dan Fernandez's blog and referring to Richard Grimes:
    At the bottom you'll find that he listed his email, but rather then use a contact me form, or listing it directly, he ENCODED HIS EMAIL address in Rot 13 encryption!! Do you really want to take advice on "usability" from someone who thinks it's a good idea to encrypt their email address?

    I'm not sure I really need to comment further on this.

    --
    When moderating, assume I have not yet had my coffee.
  35. Case Sensitivity and capitalization conventions by daviddennis · · Score: 2, Insightful

    This is a little off-topic but it's something I'm very curious about.

    Mr Grimes says:

    I think that case insensitivity is juvenile

    and so I can, perhaps, ask about capitalization conventions.

    Why is it that people write (and case-sensitivity therefore forces me to write)

    thisLittleThing();

    instead of

    ThisLittleThing();

    or even

    this_little_thing();

    ?

    To me, this_little_thing() is much easier to read, and at least ThisLittleThing is tolerable. But I am forced to say thisLittleThing() instead. It seems just plain counterintuitive to use capital letters within the name of something, but to not capitalize the first letter of it.

    I really wish most langages WERE case-insensitive, because then I could type ThisLittleThing() and nobody would care except me (who would find it much easier to read my own code). The only thing case sensitivity lets you do is make ThisLittleThing mean something else from THisLittleThing and I don't see how that benefits anyone.

    I think the best case convention is in the Apple file system, where I could say THISLITTLETHING and it meant the same as ThisLittleThing, but if I saved a file as ThisLittleThing it would appear in that same case.

    So could some kind soul explain the benefits of case-sensitivity, and why we should write thisLittleThing() instead of ThisLittleThing?

    I know it's a little thing but since I value more or less correct English, writing like that bugs the heck out of me.

    Many thanks.

    D

    1. Re:Case Sensitivity and capitalization conventions by rifftide · · Score: 2, Informative
      A common coding convention is for variable names to begin with a lowercase letter, while class names begin with an uppercase letter. So a maintenance programmer would expect ThisLittleThing and thisLittleThing to name a class and a variable, respectively.

      As for the underscore thing... many people agree with you, but this_little_thing is slightly more verbose (takes longer to type AND read) than thisLittleThing without adding content. But hey, that's another one of those religious issues that always flares up whenever the project coding standards document is released.

  36. So, what's a good API? by mattgreen · · Score: 2, Interesting

    While we're bitching about APIs, would someone point me to a good API similar to .NET? I've used Java a bit and didn't find it nearly as intuitive as .NET. The inexpressiveness of the language ends up making life tedious (such as no support for delegates). Naming inconsistencies abound, such as .size() being used on some containers instead of .getSize(). Python, for all intents and purposes, can do a whole freakin lot but the API is one of the messiest I have ever seen.

  37. Happens every now and then by leandrod · · Score: 5, Interesting

    I am old enough to remember the original VB columnist at some high-profile magazine (was it Dr Dobb's itself?) throwing the towel on the column because he couldn't stand the bloating of the language by MS... and the C++ Advisor-or-something-the-like columnist (was it Unix Magazine or what?) quitting the column because C++, being designed by committee, required a language lawyer and was only getting worse.

    No news here. If you don't care for elegance, you go awok with evolution. ISO SQL, Perl, there are many many examples.

    Now if only people would rethink and take the pain of learning a real, elegant language... a functional (Lisp, Scheme, Haskell, ML) or pure OO (Smalltalk, Squeak) or truly relational (Tutorial D, D4) one.

    Instead of just trying to keep extending known languages into unknown fields. C is just structure, platform-independent Assembly; how come people want to create custom applications in it or its Java, C++, C#, ObjectiveC? This comes only as an indictment of the alternatives, or worse still of programmers and their managers.

    And BASIC, it was only a stepping stone in learning COBOL. How come it is used to deploy anything more than a prototype? Don't get me started with excuses.

    It is high time managers and programmers get real and start using languages designed to do what they want. COBOL, Pascal, Smalltalk, Lisp... each in their niche, they are better than C or BASIC and their overextended derivatives.

    --
    Leandro Guimarães Faria Corcete DUTRA
    DA, DBA, SysAdmin, Data Modeller
    GNU Project, Debian GNU/Lin
    1. Re:Happens every now and then by yerM)M · · Score: 2, Funny

      Have you actually ever tried to compile with pascal? It's too damn fast, I'd never get a chance to read slashdot again. Long live templated C++!

  38. platform independence by idlake · · Score: 3, Insightful

    This notion that platform independence is a value we should all aspire to is an idea pushed by Sun. The idea was kind of attractive 10 years ago when there was no usable X11 toolkit other than Motif (and that was barely usable), Macintosh was in shambles, and it looked like the only way to get any GUI software for UNIX/Linux was to piggy-back onto Windows.

    That's not the situation today anymore. Whether you like them or not, UNIX and Linux have two powerful and complete desktop environments and half a dozen excellent toolkits. There is no need anymore to piggy-back on Windows. When people develop for Linux, they should do the best job they can for the Linux environment, not worry about whether it can be ported to other, proprietary platforms. Windows has enough software as it is, and if we ham-string Linux software development with worrying about cross-platform issues, we will always be behind

    1. Re:platform independence by IdahoEv · · Score: 2, Insightful

      I am developing an application that does some interesting real-time mathematical processing on audio data from an input stream. I wrote it in Java on my Mac, with all the OOP trimmings - the processing stream is fully multithreaded, with each step in the process happening in it's own thread, passing data down a bucket-brigade of storage objects with locks.

      So the program involves GUI elements, threading and locking, hardware interfaces (i.e. the microphone port), etc.

      After I'd done the core development on my mac, I tried the application on my sister's windows laptop. It worked perfectly, the first time, even the hardware interface to the microphone. We've since seen the same result on a dozen different Windows and Mac machines with widely-varying audio hardware. I haven't tried linux yet because I don't have a desktop linux machine easily available (only servers in the basement), but I expect the experience to be similar.

      We are nearly ready to ship this package. When we do, it will ship simultaneously on Windows, Linux, and Macintosh OS X. And this with ZERO extra effort made to port the code between platforms.

      And you're telling me that platform-independence isn't important?

      --
      I stole this sig from someone cleverer than me.
  39. 70 million .Net Users by n9uxu8 · · Score: 5, Insightful

    From DF Blog:

    Soma: We have seen over 70 million downloads of the .NET framework from Windows Update and the Microsoft Download center to date. For a simple guy like me, that translates to about 5.5 million downloads a month. Another interesting datapoint is that in 2004, we expect to have about 54 million new PCs shipping with the .NET framework installed/preloaded. We also have over 2.5M developers targeting managed code.

    It's a small point, but how many users have .Net installed because they did a windows update and it was one of the available options? My mom has .Net installed, but I guarantee she is not using it for anything other than keeping her hard drive full.

    Dave

  40. no, it doesn't by idlake · · Score: 2, Insightful

    The software industry has many different jobs. Most of them are the same whether you run open source software or Microsoft software (support, documentation, etc.). In fact, software development itself is usually paid, and paid about equally, whether it is open source or proprietary.

    The big difference between Microsoft and open source is the extra profits. Microsoft is making huge profits on their software. But if companies don't have to pay for those profits anymore, that means more money, not less money, for hiring people.

    Altogether, open source makes the economy more efficient, and that's a good thing. And by reducing the amount of money companies pay above the true cost of producing software when they buy Microsoft software, the job situation is actually helped.

    Of course, all the Microsoft experts will have to learn something new. Well, that's unfortunate, but that's what you need in a market economy: flexibility.

  41. on shareware and windows... by acroyear · · Score: 2, Insightful

    "I've also tlkd to plenty of shareware developers and they certainly aren't using java. May use C/C++, Visual Basic, or Delphi." -- Fernandez.

    *sigh*

    of COURSE *shareware* developers are going to stick with windows. its the platform that created shareware, and has all the built-in tools (specifically, the registry) and the legacy of libraries out there to support the enforcement of shareware licenses by use-counts, disabled features, etc...

    that and once you've had to pay for your development environment, of course you're going to want to get some money back for your products.

    on the other hand, OpenSource client software exists in C, C++, Python, Java, Perl, and others, but until Mono gains a foothold (unlikely because skeptical developers fear when M$ pulls out the patent trump card they're holding), there will be very little C# open source out there. Free IDE support is out there because it, too, is open-source in many cases (eclipse being the major one).

    professional developers use the right tool for the right job (theoretically). as such, we have pieces in vb (with vb.net add-ons leadng to an eventual full refactoring to vb.net) and java JFC, as necessary.

    --
    "But remember, most lynch mobs aren't this nice." (H.Simpson)
    -- Joe
  42. eating their own dog food by rifftide · · Score: 2, Interesting
    From Dan Fernandez's response to Grimes:

    RG: Microsoft treats .NET as a useful library to extend its products, and to date, it has not shown any more conviction to the framework. There have been a few .NET products written entirely in .NET; one such product is Microsoft CRM....They do not want the expense of rewriting their existing code for .NET, and there is no compulsion to provide all new code in .NET; instead, .NET will be hosted as and when it's needed, particularly to allow extensibility through user-supplied code.

    My Response: We should dissect exactly what Richard says here. He says that Microsoft is using .NET to extend existing products and that Microsoft doesn't want the expense of rewriting applications from scratch in .NET. This makes perfect sense to me, why would we re-write perfectly good code? .NET code can interoperate with existing code, and you bet we're going to take advantage of the interoperability layer to add new features that exploit the best managed code has to offer. As I pointed out previously, Microsoft is using .NET in all sorts of software from operating systems, to developer tools, to Office.

    If Microsoft doesn't use .NET in the core code of its flagship products (and not merely as an interop gateway), Grimes asks, why should anyone else? Well, Fernandez points out that Microsoft does use it in a number of places, including some new high-level portions of Windows. But it is telling that we don't hear about an effort to rewrite MS Office or SQL Server using .NET. Some of us are old enough to remember Bill Gates evangelizing for OS/2, telling everyone that that represented the new direction of the computing industry... until he changed his mind. A more recent example was MFC, a truly ugly framework which was (and is) widely used but has been shunned by Microsoft's own developers.

    Grimes is saying that .NET has been oversold. It excels as a framework for server-side enterprise applications on Windows, and also sounds like a good solution for browsers and other client-side platforms running untrusted application code - but only on Windows. For other situations .NET offers some benefits such as better error detection and easier installation than DCOM apps, but they are often outweighed by disadvantages including less control over performance, the additional size of the .NET framework, and the diminished control over one's source code IP.

  43. Glad I'm a JAVA guy! by AwesomeJT · · Score: 2, Interesting

    I'm glad I stuck with Java. I'm fairly happy there, although I would give my right arm for a deconstructor. The J2EE suite is coming a long nicely and there are now free application servers these days to run on any platform/OS that runs the JRE. Anyone from the M$ camp ready to defect to the Java side?

    --
    SPAM solution made easy: 1 spammer, 5 cords of rope, 5 hourses, and fireworks. Be creative.
  44. Not Embraced and Extended Here by Doc+Ruby · · Score: 3, Insightful

    Interesting how Microsoft gets all heated up about developing technologies, like .NET, only when threatened by others, like Java, that they can't control. When the threat is no longer hot, because it's beaten like Netscape, or can't be beaten, like Java, Microsoft's intensity in delivering the new tech also subsides. The actual needs of users, trumpeted in the vaporware announcements as imperative, never actually enter into the considerations.

    --

    --
    make install -not war

  45. Why is one standards body... by SuperKendall · · Score: 4, Insightful

    Better than another?

    C# Ecma, and Java is JCP. One is a community based process and the other a standard effectivley controlled by a single company who manages to get ECMA to rubberstamp the whole thing - so if I were you I'd probably keep the whole "ECMA standard" thing at a low profile so people don't look too close at what is going on there.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  46. Case Insensitivity by Nom+du+Keyboard · · Score: 2, Insightful
    I think that case insensitivity is juvenile,

    And I think you're an idiot for saying that. Now we've both had our equal say.

    The argument that "VarX and "VARX" should refer to different variables makes no sense to me. I've used Unix since 1977, and to this day don't feel it improved anything be being so case sensitive. When a simple typo can create a programming bug, that's making software errors way too easy. To this day, modern databases know not to do case sensitive searches without special instruction. Perhaps they know something that programming languages don't.

    I have yet to see one good argument for how case sensitivity improves the ability to write better code. I know many why it doesn't. And most early programming languages survived just fine without it, especially since keypunches didn't include it unless you multi-punched each column by hand. VB 6 and .NET get it right. It corrects your casing to match the initial declaration of the variable. That is not juvenile!

    Leave the case sensitivity for the data, and keep it out of my programming languages. This is the one worst thing that Java didn't fix when they had the chance!

    --
    "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
  47. Umm, ever RTFA? by SuperKendall · · Score: 2, Interesting

    The article specifically talks about the potential for XAML to replace ASP.net, since why would you have an ASP.net that can only sing and dance when you can have a XAML app that can cook, too?

    The poster you responded to was rightfully pointing out that Microsoft has a poor record at implementing secure browser-based full app solutions, in particular wondering about XAML security holes of the future.

    In short: We are discussing the FA, not just a small slice of what YOU want to talk about.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  48. This is why developers can't sit still by freejamesbrown · · Score: 2, Insightful

    Anybody with any amount of age will tell you the same. My uncle programmed Fortran in the 70s. My dad and I programmed BASIC in the 80s. My cousin programmed COBOL through both of those decades AND the 90s.

    You can't sit still and expect to be marketable. Sure, your current job has you doing one thing or another, but look at ASP programmers... there's still jobs there, but to Microsoft, the platform is poof! It comes turned off by default! ASP.NET will be replaced just the same.

    Same thing happened to a variety of languages in the *nix world. The college crowds come in with the en vogue languages to solve some of the same problems you've already been solving.

    You have your platforms (languages, data formats, OSes, environments, etc) you do your work in, and to survive and thrive, you better have your platforms you hobby around in. (and hopefully if you follow things right, your hobby platforms translate to your next job platform.)

    You have to be multi-lingual... or multi-platformed... think biodiversity.

    Religion over ANY one platform can't cloud your judgement.

    Being overzealoutous may give you big ups in the short term. You put all your eggs in. You could become the Guru. You could charge big bucks. You could write a book. You could speak at conferences and people might actually read your posts and care what you think. You may find yourself being bigger than it. But sooner or later, you may find yourself as dead wrong as you could possibly be. For a non-computer, non-troll example I present to you: Michael Jackson.

    I guess this is why people in general can't sit still. Of course, maybe in the course of writing the last paragraph, I found myself going, "Man, it'd be nice to be a guru, and write a book, and be notable instead of just John Q. Bendable-Always-Employed-Programmer." Well and then there's being notable in your field, who care about the details, or notable to your customers, who care that you got it done awesomely regardless of their offbeat details.

    So maybe there's a magical middle in there. A chewy center?
    m.

  49. .Net DOA by theolein · · Score: 3, Insightful

    While I can sympathise with Richard Grimes and certaqinly agree with him that .Net is more of a marketing exercise than technological breakthrough (even C# is Microsoft's response to Sun's lawsuit over MS' mangling of Java), I don't think Microsoft can now afford to give it up.

    While they may very well be desperate since almost none of the initial investments have paid out, i.e. the lack of notable .Net applications on the client side of things reminds me very much of Java's client side predicament, they are in the now unenviable position of having spent so many years (6+) in development and (5+) in marketing and obviously having spent astronomical sums on both that they can not afford to switch to something else.

    They seem more likely, as is shown by their decisions to port Avalon and Indigo to XP, to try and hack it to work on all platforms so that at least the development effort will not have been wasted. The end effect will probably be that .Net will be ubiquitous on the various Windows platforms and will be the end user development plaform of choice, much as VB is today, but that it will be the same total sludge of low level hacks that give MFC and VB their well deserved reputation for irritation.

    I also serioiusly doubt that .Net, will ever really kill off server side Java, not unless Sun makes some really stupid moves, although that, I suppose, is well within the realm of possibility.

    I aslo agree totally, that MS is very quick to jump and get all defensive whenever somebody of note crticises them or their products. Admitting failure or misdeeds is not one of MS' strengths.

    1. Re:.Net DOA by theolein · · Score: 2, Insightful

      My reasons for thinking of .Net and above all C# as a marketing exercise is due to the fiasco that Microsoft and Sun went through in the late 90's when Sun successfully stopped Microsoft from co-opting Java into becoming a "Microsoft language" as Basic (VB) and C++ (VC++) had become, i.e. a language in which the current implementation on Windows was wildly incompatible with implementations on other platforms.

      That, I think, is the impetus that got Microsoft to start work on a Java-like language. I don't disagree that C# has some technological innovations, but they aren't that spectacular so that they make C# syntactically fundamentally different from Java. C# was, IMO, designed to entice Java developers to move over to the Windows platform (since .Net was obviously never ported and Mono will certainly not replace enterprise Java on Linux).

      Moreover, the fiasco that Microsoft went through in 2000 to around 2002, naming every thing they possibly could .Net in some manner or another until they discovered that they were confusing their own customers definitely does suggest that it indeed a marketing exercise primarily.

  50. Ok, I'll bite by Lysol · · Score: 3, Interesting

    Hmmm.. I feel much more 'comfortable' looking at C and Java vs. C#/VB. And while C# is closer to Java, it still has that MS look that I've come to recognize via torturous years, long ago, with VB.

    No, C# is not, IMO, nicer looking than Java.

    That said, C can be quite fugly too, but there's just something about it; maybe it's because it's sorta the serrogate programming mother of languages I have become fond of.

    Sorta like that not so pretty, overweight, mother that lives down the street and, while a little abrasive sometimes, can usually get anything done that you want her to.

    C# is that sketchy lawyer chick that just moved into the brownstone across the street that Mr. Smith used to live in (Mr. Smith was the nicest old guy you ever knew). On the contrary, Ms. C#, even tho she sometimes gives cookies to the neighbors and plays a nice game, has the look in the corner of her eye that just says someting is wrong or fake. Like there's something there you just can't trust.

    Meanwhile, Mr. Java a few doors down from Ms. C#, was one of those younger guys that just moved in prior to the .com boom and bust. He's had some great partys, but also had his ups and downs with the neighborhood meetings. However, in the end, he's got a pretty good amount of support from the community and you can tell he's in it for the long haul.

    I trust the JCP much more than ECMA. They're two fundamentally different organizations of which, one has a voting body made up of many organizations - including open source projects - and the other has no voting process at all. Getting the ECMA standard slapped on your product says nothing to the owned ideas, methodologies and implementations behind it. The Mono guys like to use this all the time, but just because it's a standard does not mean it's patent free and free of legal entanglements and/or threats.

  51. XAML and replacement by SuperKendall · · Score: 2, Informative

    Uhm, perhaps years ago, when they were dicking with losers like VBScript, ASP, and ActiveX. But those are all old technologies, ones MS is no longer pushing.

    Correct, they are now pushing new looser technologies like XAML. Thus the posters point since from the users point of view XAML looks very much like those other technologies - they go a website and encunter something unexpectedly powerful. With great power comes great responsibility, and that is what Microsoft has seemed to lack over time.

    Even if they use XAML as a replacement for ASP.NET, it will completely render to industry standards on the front end, just like ASP.NET.

    Render to what now? Do you know what XAML is? What standard would that render to? It's going to be a lot of XML (like XUL in fact) that describes a GUI app that renders on the screen using native controls, kind of like a really verbose scriptable AWT. Not like we've been down that road already...

    But anway, XAML runs on the front end. It's totally a front-end technology, just like ActiveX in the way that the client is running code to make it happen. And while it might be more secure it's only as secure as whatever client is rendering the XAML code, and that calls into question again how secure is that code really in terms of what XMAL can call.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  52. .NET Hell by rastin · · Score: 2, Insightful

    It's just like .DLL Hell, but now its the developers fault, not the OS.

  53. Re:But they won't rewrite Windows by Dcnjoe60 · · Score: 2, Funny

    I'm curious as to why you think win32 apps will still run on Longhorn? There were/are many win32 apps that failed to run on XP. Microsoft blamed the programmers. But if the compatability layer is actually compatable, then shouldn't they have worked?

    Maybe Microsoft can grab a copy of Wine and use it for their compatability layer.

  54. The real import of Richard Grimes' article. by theolein · · Score: 3, Interesting

    I was wondering, apart from his comments themselves on the state and future of .Net, what the real consequence of some of Richard Grimes' stature is when he decides to publicly drop his .Net column.

    It occurred to me that this is the first public person who is both a respected author in the Microsoft developer world and, possibly more importantly, a columnist at DrDobb's, who is publicly washing his hands with .Net. And that is why, I think, why Microsoft's bloggers are doing overtime on the defensive damage containment sector.

    Dr Dobbs is possibly the most respected software development journal in the English speaking world. Certainly it has dropped somewhat over the years with the advent of the internet and the ease of accessibility to good quality development articles that the internet brings, but it is still probably the most important journal, especially relating to Microsoft products. The fact that a noted author in this journal has decided to wash his hands of .Net due to his frustration with the framework is what got the bloggers up in arms. Fear, simple fear, I think.

    is it really that important? I don't know. I have no idea if this is the beginning trickle of a torrent of developers who will decide to drop .Net and move to some other framework or platform, or if it is just one frustrated man who will have no influence on future events.

    While I would suspect the latter, I think that Microsoft's bloggers reactions means that Microsoft fears the former. And they right to be. A general dissatisfaction with .Net could very really cripple Microsoft's uptake in the enterprise, and the loss of enterprise development interest would leave Microsoft with an Desktop OS, a Server OS and an Office package.

    Think about that.