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

583 comments

  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 Anonymous Coward · · Score: 0

      Why? Java is already the same language as C# and it is open (specs-wise). There are already mature open source compilers for Java.

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

    4. Re:Irony by skraps · · Score: 1
      That is probably true of the first version of .NET. With the second version, generics are introduced. Java generics are a laughable attempt at reducing typecasts - they do not enable generic programming. .NET generics are also leave a lot to be desired, but they go far beyond what is possible with the JVM.

      You are wrong on one critical point though. Java is not open. C# and the CLR are. They are ECMA standards.

      --
      Karma: -2147483648 (Mostly affected by integer overflow)
    5. 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?

    6. 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.
    7. Re:Irony by LWATCDR · · Score: 1

      Microsoft will not abandon .Net. OLE and DDE are still in wondows for goodness sakes. They will just give it a new name and keep pushing it.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    8. Re:Irony by alext · · Score: 1

      In what ways does C Sharp look "much nicer" than Java, given their practically identical syntax?

      Also, would you care to estimate the ratio of FOSS and Linux code written in Java to that written in C Sharp? My guess is that 1000:1 is probably understating it, and that 1000000:1 reflects the relative amount of investment. But I'd genuinely be interested to hear your figures, which I trust you will have made before making your own commitments to Mono or advising others to do so?

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

    10. Re:Irony by BrokenHalo · · Score: 1
      Microsoft will not abandon .Net.

      Something I've been a bit nervous about for a while is... (pause to don tin-foil hat) ...the push in some areas of the GNU/Linux community to adopt Mono.

      OK, I've never used the latter, and have no opinion as to how gratifying it is to use (or how close it is to .Net in the way it is implemented), but it strikes me as being just too easy for Microsoft to give Mono enough time to become entrenched in the OSS community, then to wheel out the lawyers for an intellectual property fight.

      Maybe I'm just being overly cynical, but I'm surprised no-one else seems to see that coming, and if that happens, MS will be in a position to do an awful lot of damage.

    11. Re:Irony by idlake · · Score: 0, Flamebait

      In what ways does C Sharp look "much nicer" than Java, given their practically identical syntax?

      C# has some crucial differences in its functionality and semantics.

      Also, would you care to estimate the ratio of FOSS and Linux code written in Java to that written in C Sharp?

      Well, what matters to me is not how much FOSS there is that runs on proprietary Java implementations, but how much FOSS there is that runs on FOSS Java implementations, and the answer is: not much.

      The best bet for an open source Java environment would be gcj with SWT, but having looked at that, I think it's far less appealing of a platform than Mono/Gnome.

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

    13. Re:Irony by truthsearch · · Score: 1

      C# is built "on top of" .NET. The rhetoric is .NET is the platform and C# is one choice for programming on that platform.

      C# was written specifically to be able to use almost every feature of the CLR. Every other language on the platform is more limited in its abilities.

      Sorry to nit-pick but that's what we're supposed to do here on /. ;)

    14. 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
    15. 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
    16. Re:Irony by xtracto · · Score: 0, Redundant

      Please, repeat with me:

      C#
      is not a Microsoft product

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
    17. Re:Irony by Anonymous Coward · · Score: 0

      Freak.

      Its about SERVICES, MS will be shipping CONTENT and SERVICES not stand alone applications so the MORE ON BOARD the BETTER for the SHAREHOLDERS, its no longer about Windows or Office anymore, those are just vectors for services, and now they ride on .NET its easier to get MORE people on board!

      Its not entrapment, you dumb paranoid tinfoil hat wearing fool. Dont flatter yourself.

    18. Re:Irony by truthsearch · · Score: 1

      All other differences aside, yes, it is better to be a standard. I just get annoyed when people confuse "standard" for "open". Some people mistakenly think freedom or cooperation when they hear standard. In this particular case it was only standardized for marketing purposes.

      MS released the source code for a version of the runtime written in their research department. Better than Sun, but it's still not the actual runtime everyone is using.

    19. Re:Irony by fredrik70 · · Score: 1

      Well, they're supposed to rip out the whole API with Longhrn and replace it with their WinFX API. mind you, I'm pretty confident the old stuff will work as well

      --
      if (!signature) { throw std::runtime_error("No sig!"); }
    20. Re:Irony by Anonymous Coward · · Score: 0

      Innovation requires experimentation. If you want to invent something cool and new, you have to experiment and along the way you will invent a lot of things that are lame or that are total failures. Microsoft has the resources to attempt a lot of projects and they have the humility to kill the ones that don't work. That's why the succeed. If you think that they are expecting everything they work on to be a huge success, then you are wrong. As long as a few succeed, they cover the losses of the rest. There is a lot of marketing hype behind each thing they try because that is Microsoft's way. They know that there is no chance of success unless they act confident in the product and try to convince others they should use it, but internally they understand that the project is a gamble and if it doesn't pan out, them's the breaks.

    21. Re:Irony by x0n · · Score: 1

      Ok, understood. Where you get annoyed about people confusing "standard" for "open", I get annoyed about people bashing m$ for no good reason. There are plenty of things to bash them over; releasing the SSCLI is not one of them, so keep it relevant.

      - Oisin

      --

      PGP KeyId: 0x08D63965
    22. Re:Irony by Deef · · Score: 1

      You can get the JVM source code with a Sun Community Source License

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

    24. 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.
    25. Re:Irony by Dr.+Sp0ng · · Score: 1

      C# was written specifically to be able to use almost every feature of the CLR. Every other language on the platform is more limited in its abilities.

      Not true. Managed C++ gives you access to more CLR internals than C# does (C# does give you more than most other languages, though, including VB.NET)

    26. Re:Irony by diegocgteleline.es · · Score: 1

      A very small portion of .NET is "standardized"

      I don't care about .NET. I was talking about C#

    27. Re:Irony by SunFan · · Score: 1


      And how is C# useful without .NET? Sure, you can implement algorithms for a term paper with it, but what else?

      --
      -- Microsoft is the most expensive commodity operating system and office suite vendor in the marketplace.
    28. Re:Irony by diegocgteleline.es · · Score: 1

      GTK#, QT#...yet another programming language

    29. Re:Irony by Anonymous Coward · · Score: 0

      Java is slow, buggy, excessively verbose crap.

    30. Re:Irony by Steeltoe · · Score: 1

      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.

      My personal experience predicates this to be the typical position before a company hits the critical tipping point where they can continue to leverage their market value beyond shareholders expectations, or just become an irrelevant platform. Yes, BSD is dying.

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

    32. 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
    33. Re:Irony by Anonymous Coward · · Score: 0

      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.

      and then later:
      I learn C# only to make myself worth something

      Dude, you gotta get off that bandwagon! As you mentioned earlier, C# will just be supplanted by "the next big thing" from Microsoft and you will be worth nothing again! Meanwhile, the rest of the world will continue to program in C++, Java and (at least in the FOSS community) Perl.

      Microsoft likes this kind of "churn". As long as people like you continue to learn their newest, latest, greatest thing then you don't have any time to really develop anything, leaving Microsoft as the only organization that can develop new things!

    34. Re:Irony by arose · · Score: 1

      What about GCJ/Gnome?

      --
      Analogies don't equal equalities, they are merely somewhat analogous.
    35. Re:Irony by Anonymous Coward · · Score: 1, Insightful

      mind you, I'm pretty confident the old stuff will work as well

      mind you, I am pretty confident it will not! They have not been able to maintain comaptibility with their .doc and .xls formats; what the hell makes you think they will doit with something as complex as their API's? Not that they have a good track record there either: tried to compile any Visual C++ 4 code with Visual C++ 6 lately?

    36. Re:Irony by bolix · · Score: 1

      Well....kinda. Death here, being a relative term: BSD growth/spread is stagnant in comparison to the competing platforms. Another take would be that its on permanent life support!

      I agree that we are definitely seeing some sort of internal Tipping point in evidence. Dirty laundry is everywhere not just in the code! MS is so bloody huge that i don't foresee the implosion typical of a smaller org without the proper management checks.

      Considering the major Internet engineering right now is machines talking to machines, i don't see much play for MS middleware. The standards are laying the groundwork for the next steps in user interactivity. MS are sitting on the fence and waiting for someone to tell them what they need to do to own this. The minions are headless and their leaders are fat and clueless.

    37. Re:Irony by Organic+Brain+Damage · · Score: 1
      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.
      As a software developer with 2 years of Java experience and 2 years of .NET experience in the last 4 years, all I can say is...you're insane. .NET makes Java and its' defenders look stupid and unproductive. Only a religious developer could use both products for 6-12 months and prefer Java and Java tools to C# and .NET and the MS IDE. I don't love or hate Microsoft or Sun or Apple or IBM or Oracle or any other large company. My favorite all-time development tool is Pascal as implemented by Borland in 1985.
    38. Re:Irony by idlake · · Score: 1

      Is there much written in gcj/gnome? On my Debian system, when I remove all libgcj* packages, no actual applications are affected, and I have a pretty complete Gnome installation.

      In any case, in terms of license and as a GUI platform, I think gcj/gnome is OK. But I still think C# is a significantly better language. What I'd really like to see is gcc#...

    39. Re:Irony by greenrd · · Score: 1
      Have you tried Eclipse?

    40. Re:Irony by Anonymous Coward · · Score: 0

      GCJ is barely functional...

    41. Re:Irony by fingerfucker · · Score: 1

      Why the hell would I want to use C#?

      For very practical reasons. One would be productivity and Java-like powers with automating businesses which use the Windows platform for its end user (from teh secretary, to a PHB).

      I am sure being a Java person, you are not particularly likely to check what's happening with the .NET job market, but if you check, you'll see it's boiling hot, especially for peoeple with experience in the financial industry.

    42. Re:Irony by cduffy · · Score: 1

      Yes, JNI is horrible and awful and evil. CNI, on the other hand, isn't. (Granted, it's only available for GCJ).

    43. Re:Irony by SenseiLeNoir · · Score: 1

      I try not to get so religious as you do. Yes I have developed in both languages, and both have their advantages and disadvantages. You should use the right tools for the job.

      I prefer Java over C# when I am developing software for a Mobile phone (J2ME support). I prefer Java when I am developing servlets. Or indeed anything that should run on any OS/Platform, and not just windows.

      I prefer C# when developing Windows Applications.

      As for the IDEs, I wouldnt say that ALL IDEs for Java are rubbish. I would say that netbeans IDE is a robust enough IDE. Sure its not visual, but it sure is robust, and its free (and source code is available). ALso someone mentioned eclipse, which I am just tryign out, and certainly looks good. This is one advantage for Java, because you do have a choice of IDEs.

      I agree with your sentiment on Turbo Pascal!!!

      --
      Have a nice day!
    44. Re:Irony by nickos · · Score: 1

      "My favorite all-time development tool is Pascal as implemented by Borland in 1985."

      Ahh yes, Borland Pascal by Anders Hejlsberg. Whatever happened to that guy? ;)

    45. Re:Irony by NaturalTwenty · · Score: 1

      C# has some crucial differences in its functionality and semantics.

      I'd love to hear some examples.

    46. Re:Irony by Anonymous Coward · · Score: 0

      He seems to work for microsoft now and has a lot to do with C#

    47. Re:Irony by Anonymous Coward · · Score: 0

      Don't you think that the sort of person who know that Anders Hejlsberg wrote Borland Pascal is also going to know about his involvement in C#? Where's your sense of humour?

  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 Anonymous Coward · · Score: 0

      Please excuse me while I roll around the floor laughing.

      Yes, nobody should ever criticise something in case people get upset.

      Accordingly, please take your comment back because it might upset some bloggers.

    4. Re:Put it this way... how would you feel? by G-Licious! · · Score: 1

      Someone needs to involve SomethingAwful in this.

    5. Re:Put it this way... how would you feel? by thePjunisher · · Score: 1

      If your girfriend asks you "does my ass look fat in this?", you have to respect her feelings, but if you make a half-baked development environment, someone has a legitimate concern, and your response is "ppl have big hard drives"...

    6. Re:Put it this way... how would you feel? by Conspire · · Score: 0, Offtopic

      Feelings, nothing more than feelings
      Trying to forget my feelings of love
      Teardrops rolling down on my face
      Trying to forget my feelings of love

      Feelings, for all my life I'll feel it
      I wish I've never met you, girl
      You'll never come again
      Feeling, whoo-oh-oh feeling
      Whoo-oh-oh, feel you again in my arms

      Feelings, feelings like I've never lost you
      And feelings like I'll never have you again in my heart
      Feelings, for all my life I'll feel it
      I wish I've never met you, girl; you'll never come again
      Feelings, feelings like I've never lost you
      And feelings like I'll never have you again in my life

      Feelings, whoo-oh-oh feeling it
      Whoo-oh-oh, feeling again in my arms
      Feelings
      Whoo-oh-oh feeling it
      Whoo-oh-oh feeling it

      Copyright 1975 Morris Albert

      Albert, ya gotta great song for the response, and I'm sorry I did not pay royalty but I also did not take credit. What's my license fee?????

      --
      Real men don't need signitures!!!
    7. Re:Put it this way... how would you feel? by SallyMac · · Score: 1

      You've got to be joking/trolling.
      How dare someone have a public opinion? OH NO!
      I just love when people blame Blogs for stuff like this, instead of realizing that they don't have to respect people's feelings. Instead, we get a great venue where people can publically stand up and let others know what they think of things, like this man did.
      I for one found it informative, especially as someone who fights the expansion of .Net due to it's many issues whenever i can.

      --
      cleverly disguised as a responsible adult ||
    8. 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
    9. Re:Put it this way... how would you feel? by Anonymous Coward · · Score: 0

      Holy hell, the mods got a joke! That's a front page story, right there. :-)

    10. Re:Put it this way... how would you feel? by Anonymous Coward · · Score: 0

      Yo Mamma!

    11. Re:Put it this way... how would you feel? by BloodSpite · · Score: 0

      I dunno. Thats a good question.

      However, I don't see that anyone at Microsoft has much room to complain as what Grimes wrote is essentially true!

      Is it perhaps the harbringer of yet another great Microsoft cover-up that they don't wanmt anyone to know just how much of their systems are held together with duct tape and paste? (kidding)

      --
      The truth does not change by our ability to stomach it -Flannery O'Conner
    12. 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.

    13. Re:Put it this way... how would you feel? by Quiet_Desperation · · Score: 1
      How would you feel if someone criticized stuff YOU made in a public forum?

      Your post sucks.

    14. Re:Put it this way... how would you feel? by cablepokerface · · Score: 0

      An AC post containing nothing but "Your post sucks" getting a +5 funny, now I have seen everything.

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

      Girlfriends and creating development environments are mutually exclusive.

    16. Re:Put it this way... how would you feel? by Anonymous Coward · · Score: 0

      Grow up.

    17. Re:Put it this way... how would you feel? by menkhaura · · Score: 1

      So very true...

      --
      Stupidity is an equal opportunity striker.
      Fellow slashdotter Bill Dog
    18. Re:Put it this way... how would you feel? by Cobron · · Score: 1

      Judging from your answer I'd say you actually haven't seen everything. I'f you've seen everything you'd know that post is in fact +5 funny :D .

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

      um... dr. dobbs journal is not a blog.

      ---

      wtfpwnt

    20. Re:Put it this way... how would you feel? by escher · · Score: 1

      Notice than in the rebuttals they sidestep around .NET's biggest flaw: The API is far too huge and convoluted. If VS.NET didn't have method autocomplete it would be near impossible to learn in a reasonable amount of time.

    21. Re:Put it this way... how would you feel? by coopaq · · Score: 1
      It's all about context. As in reading posts from top to bottom.

      It get's even funnier for me when I read them backwords starting from your's.

    22. Re:Put it this way... how would you feel? by jo42 · · Score: 1

      Let us put the analogy in this way:

      You have a kid. The kid is mentally challenged. Someone says out loud that the kid is retarded. Of course you are going to say the kid isn't retarded.

      Duh.

    23. Re:Put it this way... how would you feel? by Anonymous Coward · · Score: 0

      A girlfriend is a development enviroment.

    24. Re:Put it this way... how would you feel? by sapgau · · Score: 1

      *SNORT* That's so true!!

    25. Re:Put it this way... how would you feel? by ITgrrrl · · Score: 1

      I enjoy being a girl who codes and trains boys too. Regarding the other matter - truth is sometimes harsh. Better the blog with some strong opinion and objective fact than all the namby-pamby pandering to the emotions.

      --
      'The longing to be primitive is a disease of culture' George Santayana
  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
    1. Re:It'll be better by tokul · · Score: 1
      Now we need a worm that does the same and the thing will soon be widely deployed!
      worm won't increase deployment of .NET. It targets same audience as spyware.
    2. Re:It'll be better by Anonymous Coward · · Score: 0

      Now we need a worm that does the same and the thing will soon be widely deployed!

      What makes you think that Microsoft wasn't behind this? Annoyed with the slow adoption of .NOT, Microsoft releases a worm into the wild that deploys it to every computer.

      [taking drugs] ahhhh! I feel much better now [paranoia subsiding]

  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 Anonymous Coward · · Score: 1, Informative

      Huh? No it's not, at least here on Earth. Functional programming refers to a programming style enforced by languages like Standard ML and Haskell and encouraged (but not mandated) in Lisp family languages.

    3. 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
    4. Re:Thin wrapper? by Anonymous Coward · · Score: 0
      Yes, Microsoft should rewrite Windows from scratch. This is a huge opportunity for them to break free of the shackles of their robust, mature codebase.

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

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

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

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

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

    9. Re:Thin wrapper? by Anonymous Coward · · Score: 0

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

      Huh? It's been around publically for three years. And in development way before that: MS first demoed it (v0.9) late 2000 and they'd had it internally for some time before that. So what's the problem - isn't that mature enough for you?

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

    11. Re:Thin wrapper? by Anonymous Coward · · Score: 0

      s/rewrite/search and replace netscape with mozilla/

    12. Re:Thin wrapper? by Anonymous Coward · · Score: 0

      Ditto for Linux and every GNU project. They're all still in beta.

    13. 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.
    14. 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.
    15. 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.

    16. Re:Thin wrapper? by Anonymous Coward · · Score: 0

      Point. Whoosh... that was the sound of YOU completely missing the point.

      By wrapping Win32 you create the opportunity to mask the cracks, to tidy up what came before, to expose friendlier, simpler APIs that provide more functionality and hide the nastiness that came before.

    17. Re:Thin wrapper? by kpharmer · · Score: 1

      > however hard you try, you can't polish a turd

      you can if it's frozen

      maybe once microsoft gets enough users migrated over to .net they'll have the flexibility to revisit the internals and start improving them?

      of course, this is just idle speculation, and not that they ever seem interested in anything so far removed from shiney new product features.

    18. Re:Thin wrapper? by Anonymous Coward · · Score: 0

      That's called functional programming!

      Um, no. That's Prolog.NET, I guess.

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

    20. Re:Thin wrapper? by uradu · · Score: 1

      Actually, Grimes didn't make this particular point as well as he could have, and I think you actually read some of what he meant between the lines. He made two statements that he didn't logically link particularly well: that a lot of the .NET framework is a thin win32 wrapper, and that Microsoft are not implementing much or any new OS functionality in .NET, particularly in Longhorn. If indeed Microsoft are not themselves using .NET to implement new system functionality, any new features would indeed have to be exposed to .NET as thin wrapper classes. I assume that is what he meant with the win32 "thin wrapper" criticism.

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

    22. Re:Thin wrapper? by oliverthered · · Score: 1

      Win32 is crap .NET just wraps up Win32 .NET is?

      I think the main complaint is that the base classes are final or static or whatever .net called them, where as in the real world you could use Java or Delphi, or CBuilder and override all the methods.

      --
      thank God the internet isn't a human right.
    23. Re:Thin wrapper? by james_marsh · · Score: 1
      That's called functional programming!
      You might well be a .NET developer but you clearly have no idea what functional programming is! Perhaps you should have a look at F#.
    24. Re:Thin wrapper? by shutdown+-p+now · · Score: 1
      ".NET is merely thin wrappers to Win32 calls". Of course it is. That's called functional programming!
      /. readers, take point: from now on, "functional programming" is defined by the .NET crowd of "programmers" as "thin wrapper over Win32 calls". Whether it comes from mere ignorance, or inability to understand the basic concept of "functions as first-class values" is yet to be seen.
    25. Re:Thin wrapper? by Anonymous Coward · · Score: 1, Informative

      You are joking right? .Net development speed is in the sameball park as Java for the majority of projects (or at the very least in the same ball park) .Net is blidingly fast both for development *and* code execution if two things apply:

      1) You're running on windows - sorry Mono you still can't cut it but I want you to...

      2) You are willing to allow unsafe and/or unmanaged c++ (ugly as hell I know) for performance critical sections.

      If 1) does not apply this is clearly an area where Java beats .Nt hands down (something is always better than nothing).

      I you need performance via 2) then java's JNI is both extremely hard to use as well as far toocostly unless your interface is very chunky (unsafe c# is great if you want to skip all bounds checking and rebase arrays via pointers without the overheads of JNI)

      I use .Net (c#, ManagedC++ combined) for projects handling hundreds of millions of dollars everyday.

      By no means is it perfect in no particular order: The bug tracking transparency leaves much to be desired compared to java's (improving but still way behind)

      If you want to do hardcore gui stuff dropping in win32 hackery is indeed a pain

      Some of the API could have done with a polish before putting out to the wider world.

      But to say that .net is no good for serious projects is laughably biased. I would have said that charge was far more desrving of being applied to Java 1.1 (and I *still* wouldn't agree with it).

      I started doing heavy business coding on java and thought c# would just piss me off. Believe me I am now loath to go back to Java unless I have to...

      Swing is a largely beautiful OO graphics API. But anyone who has ever been bitten by mixing of light and heavyweight widgets will know how frustrating certain aspects of it can be. .Net exposes the underbelly of win32 too much but still lets you get things done.

      The central difference between Java and .Net that I can find in terms of attitude to developers from Java and .Net is that in Java you are not allowed to shoot yourself in the foot without writing JNI. In .Net you can do it more easily.

      Guess it depends how much faith you have in you and you're teams ability whether or not you are happy with this (I know I wouldn't have wanted my previous team to ever use /unsafe but I could still have prevented that and still used .Net)

      I'm glad I have the choice of which to use.

    26. Re:Thin wrapper? by Anonymous Coward · · Score: 0


      Umm, Prolog is logic programming, not functional programming. You're thinking of ML.NET, Haskell.NET or Scheme.NET.

    27. Re:Thin wrapper? by qodfathr · · Score: 1
      Hun?

      There are a LOT of classes in the framework (many 1000's), but I only roughly count 800 which are sealed (which is the word you for which you were looking.)

      I see similar percentages in Java.

      Additionally, languages such as C# make it fairly easy to extend non-sealed classes which were not explicitly made extendable (i.e. not marked virtual) with the 'new' modifier on a method.
      public class MyExtension : BaseWithOutVirtuals
      {
      public new int Foo(string bar) {...}
      }
      --
      Yes, it's true. This man has no dick.
    28. Re:Thin wrapper? by Lonewolf666 · · Score: 1

      ".NET is merely thin wrappers to Win32 calls"
      [...] I'm a .NET developer and in general, I think it's great


      Great as long as you are happy with staying on the x86 platform and Windows.
      But how difficult will it be to port it to other architectures? I guess this does not matter to Microsoft, since they are obviously committed to x86 and don't have any interest in seeing Windows abandoned.
      But for those of us who like Apples and Linux, it might be a good reason to avoid anything that smells of .NET

      --
      C - the footgun of programming languages
    29. Re:Thin wrapper? by Anonymous Coward · · Score: 0
      Thanks for the clarification... For a second I was starting to think/hope that .NET was something more than a Java clone.

      It would be nice to see a major vendor like Microsoft endorse a functional programming langage it a bigger way, though.

    30. Re:Thin wrapper? by skraps · · Score: 1
      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.
      Aaah, you seem to have a misunderstanding of the term "thin wrapper". Thin wrapper means that it closely resembles the underlying API. In order to replace the underlying API seamlessly, you would need to have a "thick wrapper".
      --
      Karma: -2147483648 (Mostly affected by integer overflow)
    31. Re:Thin wrapper? by rider_prider · · Score: 1

      correction 1. I write a .Net application. 2. Microsoft rewrites Windows, ejects the old API but keeps .Net (newer version) compatibility. (it's a thin wrapper after all) Application has to be re-written due to basic incompatibilities using newly purchased version of Visual Studio and latest .NET runtime... 3. PROFIT!!! (for Microsoft) Goto 2.

    32. Re:Thin wrapper? by Paralizer · · Score: 1
      .NET is merely thin wrappers to Win32 calls"
      Of course it is. That's called functional programming!
      Last I checked, .NET was almost exclusively object oriented; that would be the opposite of functional programming.

      On another note, I'm pretty fond of functional programming; C seems to be my language of choice. I don't mind writing programs in C++ using OOP techniques, but it shouldn't be heavily relied upon. I notice todays code seems to be more and more "how many different objects can I write", without taking into consideration 90% of them should really just be normal functions.

      Todays schools teach in the order:
      Java -> C++ -> C -> ASM
      Sometimes skipping Java and going directly to C++. But when they start C++, students are immediately introduced to classes and object design without knowning the fundamentals of the underlying language. For example, the university in which I attend teaches C++ only (no C, no Java, no ASM). I'm in the second semister of my second year, and just the other day someone in my class (this is the first chance I've have to take this class due to prerequisites) asks, "why is that function above main()?" She honestly didn't know you could write a function above the main() function.

      There is way too much emphasis on OOP (object oriented programming), .NET isn't that great. If you need to use sockets, create your own library or grab one that's already written, there is no need to use a huge (non-portable) "framework" just because it is trendy.
    33. 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.

    34. Re:Thin wrapper? by MooCows · · Score: 1

      It's a thin wrapper now .. this doesn't mean it couldn't become a thick wrapper. Mono and MWF for example.

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

      Q.E.D.

      Also, Mono. And Portable.NET. etc.

      --
      The path I walk alone is endlessly long.
      30 minutes by bike, 15 by bus.
    36. Re:Thin wrapper? by kokoloko · · Score: 1

      MOD PARENT UP!!

    37. Re:Thin wrapper? by SpaghettiPattern · · Score: 1

      Of course it is [thin wrappers to Win32 calls].

      Regardless of the quality of the Win32 APIs...

      How far do you think MS is in making .NET the ultimate environment to have applications truly run platform independent? I bet they even haven't started thinking about it.

      --

      I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
    38. Re:Thin wrapper? by robertjw · · Score: 1

      What did he want them to do? Write the whole thing again from scratch in ASM?

      Well, ummm, yeah. Create a new API. Software companies with fewer resources have.

      Personally, I have no experience with .NET, and my response isn't a dig at your post. Your point is well taken, .NET may be very good at what it was designed for. The problem is, it's not really anything new. It's a rehashed wrapper around Win32. It may be a great wrapper, but many of the inherent problems with the Win32 API are still there.

      In the long term, I think this will be what will kill Microsoft. They can't come up with anything new unless a competitor holds them to the fire (e.g. firefox). One of these days someone is going to beat them to the punch on something vital and it will be very bad for them. In the software industry, like most other industries, you have to be moving forward, inventing and innovating to stay alive. Microsoft has a reputation of just serving up warmed-up leftovers, and that doesn't cut it.

    39. Re:Thin wrapper? by Roliverio · · Score: 1
      Somewhere further down this page someone's going to write "In other news, Win32 is a thin wrapper for Assembly Language".


      Win32 is not a Thin Wrapper for ASM, it's a Thin Wrapper to a Thin Wrapper for ASM (DOS)

      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


      You see, there are still dreamers in this world :) /me happy

      P.D. Mod me down as a Troll :D i just couldn't Resist!
    40. 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
    41. Re:Thin wrapper? by x0n · · Score: 1
      Behold the classic, utterly moronic Slashbot post:

      A) Exclaim to the world that you have no idea what you're talking about, but lay the foundation for delivering an opinion that is not yours, but you like anyway:

      Personally, I have no experience with .NET

      B) Start by offering a view that is completely contradictory to your next view, but is a peace offering the M$ zealots, just in case you get flamed and you can say, "well, it's not my point of view"

      NET may be very good at what it was designed for

      C) And the Coup-de-Grace: a completely meaningless statement with zero interesting points.

      The problem is, it's not really anything new. It's a rehashed wrapper around Win32.

      ??? and what's Win32? a wrapper around assembly code? and what's assembly code? a wrapper around hardware? what's next?

      and:

      One of these days someone is going to beat them to the punch on something vital and it will be very bad for them

      Ohhhh! and what's going to happen then? ehhhh, let me tell you: nothing. They will buy them up, just like everything/one else they see as a competitor or just a good acquisition.

      boooorrrring.

      - Oisin

      --

      PGP KeyId: 0x08D63965
    42. Re:Thin wrapper? by dosguru · · Score: 1

      This is one of the reasons I'm writing my thesis project with .NET (VB for now since that's what I know best, but it is portable). .NET allows me to not have to worry that my API will change too much during development, and I can take advantages of patches.

      The logic can be implemented in other systems later. That is a sign of a good theory, there are many ways to solve a problem that don't rely on a single system.

    43. Re:Thin wrapper? by MooCows · · Score: 1

      Windows-only, are you sure? :)

      Pretty screens here

      And "with the default MS runtime that's the only way to get GUI" is not really true, since you can release the gtk# lib or wx# lib with your application (plus the native dll for windows), and it will run fine using the MS .Net runtime.
      Pretty much like Python or Perl applications using wx or gtk.

      --
      The path I walk alone is endlessly long.
      30 minutes by bike, 15 by bus.
    44. Re:Thin wrapper? by oliverthered · · Score: 1

      How stupid, a language that lets you do stupid things like give a member the name of an inherited class when it is not virtuial. I hope it fixes the vtable properly.

      public class MYExtension
      {
      public int thisIsNotFoo(string bar);
      }

      Also, it's which 800 are 'sealed' not that 800 are sealed,
      java does have some sealed classes but that was generally to prevent things like the class loader being hijacked. Delphi and CBuilder have almost no sealed classes and yet they manage to elegantle extend WinAPI.

      --
      thank God the internet isn't a human right.
    45. Re:Thin wrapper? by Anonymous Coward · · Score: 0

      You're surely clueless about that, sir.

    46. Re:Thin wrapper? by Sloppy · · Score: 1
      That's called functional programming!
      Heh. I remember about 15 years ago when a friend of mine was showing me SML and raving about how cool it was, and I decided that I just didn't care for functional programming much. It just wasn't my cup o' tea. Now you're telling me that they've added Win32 to SML? I like it even less! ;-)
      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    47. Re:Thin wrapper? by mlwmohawk · · Score: 1

      You forget: "Microsoft rewrites Windows, ejects the old API but keeps .Net compatibility" Is at best, a long shot.

    48. Re:Thin wrapper? by joshdick · · Score: 1

      and I'm sure .NET 2.0 and future versions will fix many issues that exist with the current version.

      Right. Just like every other Windows product fixed all the problems of the previous version. You need to see this. You have a problem, but there is a solution.

    49. Re:Thin wrapper? by alienmole · · Score: 1

      I wish someone had shown me SML 15 years ago, I would have wasted less of my career churning out code in crappy languages where the rationale for language design decisions is that it seemed like a good idea at the time, and/or could be marketed with a cool buzzphrase.

      Don't be so quick to assume that something isn't your cup of tea - it could just be because it's unfamiliar.

      Anything beyond a superficial study of programming leads to formal principles which underly all programming languages. The functional languages are the most powerful and well-designed expression of those principles. Other languages are watered-down imitations that at best have borrowed a few formal features on an ad-hoc basis, mostly secondhand from the functional languages anyway.

    50. Re:Thin wrapper? by gimgol · · Score: 1

      So one could make the argument that Grimes is implying that the Mono Project is "simply papering over the enormous cracks and legacy rubbish in the current Linux architecture ..."?

      --

      We'd like to know a little bit about you for our files
    51. 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.

    52. Re:Thin wrapper? by m50d · · Score: 1

      No, it's not windows-only, but it's windows-oriented. It's based pretty much completely around the windows api, and I can't imagine it will perform as well on anything but windows. It will certainly be significantly harder to implement on non-windows system. It is very much a thin wrapper, and deserves criticism. If it's just a question of bundling a dll, no need to worry about overwriting other people's installs, then there's no significant barrier to using Wx, which is a Good Thing, but still, you underestimate the power of the default. The default gui will be the most used one since it isn't completely braindead, and so it deserves criticism for being a thin wrapper around the win32 api rather than a nice to port generic api.

      --
      I am trolling
    53. Re:Thin wrapper? by Dcnjoe60 · · Score: 1

      .NET allows me to not have to worry that my API will change too much during development, and I can take advantages of patches.

      That's what VB developers thought about VB3,4,5 and 6, too.

    54. Re:Thin wrapper? by Thuktun · · Score: 1

      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.

      And when someone wants to use something else, is it a matter of plugging in a different implementation and changing the configuration to use it? No, they have to rewrite all their code to exorcise the System.Windows namespace.

      Microsoft should have taken a different approach and created a general UI API interface that could have been implemented by Windows or other windowing subsystem. This would have allowed them to easily pull out the "thin wrappers" around Win32 and plugged in something else.

      They didn't because they didn't want to facilitate use of .NET to build tools for non-Microsoft platforms.

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

    56. Re:Thin wrapper? by Dasein · · Score: 1

      You know the sad thing is that they bought a lot of the people that could really make this happen.

      Simon Peyton Jones for one of them.

      --
      You are not a beautiful or unique snowflake -- but you could be if you got off your ass.
    57. Re:Thin wrapper? by aztracker1 · · Score: 1

      Umn, afaik, Portable.Net already has a workable SWF interface, and mono's new gtk based SWF is making strides... so, SWF should, in and of itself be pretty much portable, not necessarily a native look/feel on non-windows, but where does java ever look native really?

      --
      Michael J. Ryan - tracker1.info
    58. Re:Thin wrapper? by aztracker1 · · Score: 1

      AFAIK the System.Windows.Forms implimentation is pretty straight forward, and though may resemble the Win32 API, isn't necessarily alien to other approaches underneath...

      Now, granted I haven't had much experience with MFC, and haven't done much in VB6 gui's (a bit, but not much)... I've been doing .Net with more C#, and only some SWF, but don't find it particularly badly formed, compared to Java perse.

      --
      Michael J. Ryan - tracker1.info
    59. Re:Thin wrapper? by truthsearch · · Score: 1

      So you're ignoring the fact that .NET isn't compatible between versions 1.0 and 1.1? In their very first upgrade they broke backwards and forwards compatibility (i.e. APIs changed).

      And if you think the solution of supporting every set of APIs (every specific version number) is good you'll learn the hard way it's not. The best reason for upgrading a platform is often bug and security fixes. When you're locked into one very specific version and Microsoft keeps breaking compatibility (as they have so far) your platform version is basically unsupported. As soon as users need bug fixes you'll need to recompile for a new version of .NET, which changes every time, leaving you with more work.

    60. Re:Thin wrapper? by dosguru · · Score: 1

      Yes, and when I was writing 4, 5, and 6 code I didn't notice too much difference. Granted I wasn't doing too much programming at the time, but it was the 6 to .NET I noiced. I have yet to see a difference in 2002 to 2003 as I've been programming. I guess I havn't checked out 2005.

    61. Re:Thin wrapper? by Dcnjoe60 · · Score: 1

      Must not have been doing much database work between 4,5 and 6 because it changed quite a bit between releases and service packs.

    62. Re:Thin wrapper? by Anonymous Coward · · Score: 1, Insightful

      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.


      You are ignoring the simple fact that Microsoft likes the "churn". As long as they can keep everyone struggling to keep up with their changes, no one else but Microsoft can really develop anything new!

      Look, damnit, C++ was developed with the idea of code re-use in mind; there is simply no other reason that Visual C++ 4.0 code will not compile in Visual C++ 6.0 except malice!

    63. Re:Thin wrapper? by m50d · · Score: 1

      Only when people are using alternative toolkits like SWT, unfortunately. But something like Wx - api the same, uses native interface to implement it - would be far better.

      --
      I am trolling
    64. Re:Thin wrapper? by gammoth · · Score: 1

      It would be nice if a major vendor besides MS would endorse a functional language. (Sorry, couldn't resist.)

    65. Re:Thin wrapper? by aztracker1 · · Score: 1

      wx.Net already works, afaik in Windows, Linux and OS-X under MS.Net, mono, and pnet.. That's a choice of the developer, not a limit of the framework as to what gui library to use.

      --
      Michael J. Ryan - tracker1.info
    66. Re:Thin wrapper? by m50d · · Score: 1

      Yes, there is a choice, but most developers are going to just use the default.

      --
      I am trolling
  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.

    4. Re:So what else is left to sell? by eneville · · Score: 1

      I still wont use it.

    5. Re:So what else is left to sell? by mwvdlee · · Score: 1

      It really depends whether Microsoft's R&D department (named SCO) can succesfully destroy the GPL ;)

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  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 MooCows · · Score: 1

      Hmm, that's strange.. Mono has been compiling and running some test applications I wrote in C# quite well on my debian box.

      Must be luck.

      --
      The path I walk alone is endlessly long.
      30 minutes by bike, 15 by bus.
    3. Re:Design Flow by Anonymous Coward · · Score: 0

      If you've read any docs Microsoft ever put out, their notion of "cross-platform" means it works on Windows 9x AND Windows NT based platforms (and nowadays it means XP Home and XP Pro and maybe 2003 Server).

    4. 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.
    5. Re:Design Flow by Anonymous Coward · · Score: 0

      > Must be luck.

      Or someone else doing the work...

    6. Re:Design Flow by Anonymous Coward · · Score: 0

      Incorrect.

      "Java: one language, any platform"

      A JVM does not have to run code generated from Java. Any language can be used, as long as the compiler generates bytecode to the JVM spec. Of course, no one (to my knowledge) has done this, but such is life.

    7. 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.
    8. Re:Design Flow by Anonymous Coward · · Score: 0
      If you can read this, thank an english teacher.
      What an odd thing to say...

      1) The word "English" should be capitalized.
      2) A lot of people (me) learned to read from their parents... Most of the kids I knew were reading, at least a little, before they got to first grade.
      3) You don't really have an "English teacher" until middle school. Every elementary school I've ever seen just had a single teacher for each classroom, and that teacher covered everything -- math, science, English, whatever.

      The fraction of people who were actually taught to read by an English teacher must be rather small. Maybe people who learn English as their second language would fall into that category.
    9. 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.

    10. Re:Design Flow by feronti · · Score: 1

      The reason you should be thanking an English teacher is because if what he wrote was intelligible (i.e. it had proper grammar, punctuation, and spelling) then most likely that intelligibility was the result of careful training by a good English teacher. It made perfect sense to me.

    11. Re:Design Flow by stor · · Score: 1

      Yeah we should give MS props for Wine too then I guess.

      Cheers
      Stor

      --
      "Yeah well there's a lot of stuff that should be, but isn't"
    12. Re:Design Flow by Anonymous Coward · · Score: 0

      Well, if that's really what was intended, then it's even worse that "English" wasn't capitalized. And the comments about learning to read would also apply to learning to write... Just as few people learn to write from an English teacher. Honestly, I thought the sig was a joke, and the punchline was that "English" wasn't capitalized... but even that doesn't make much sense. Slashdot should let users moderate sigs...

      --
      If you can read this, thank an english teacher. (Score:-1, Ambiguous)

  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 Anonymous Coward · · Score: 0

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

      As opposed to 149,000,000 for Java? Why would you just search for C#?

    2. Re:Well he's right about one thing by UnknowingFool · · Score: 1
      Calling it C# certainly has made web-searching difficult. Google only turned up 7 million three hundred thousand entries.

      Grime's point was that in the beginning using "#" caused issues with search engines. Some of them like Google have adapted by now, but for a technology company as large as MS you would think would have researched the name better.

      --
      Well, there's spam egg sausage and spam, that's not got much spam in it.
    3. 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

    4. Re:Well he's right about one thing by mrroach · · Score: 1

      No kidding. First they have "COM" - which is useless as a search term, then they follow that up with ".net". How wonderfully attuned to the world around them. My next project goes one better though, it's called "and" STFW for details.

      -Mark

  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 Anonymous Coward · · Score: 0

      We buy .NET but none of the Devs want it for anything but the license to use VB6.

      VB6 isn't strongly typed. VB.NET *is* strongly typed. That's reason enough IMO.

      And if they don't want strong typing you should slap them until they do.

    3. Re:no suprises. by Anonymous Coward · · Score: 0
      Interesting you bring up Python...from the article:

      there is no excuse for using Option Strict Off ("late binding" is a synonym for "hard to find run time bugs"), and it's easy to lose track of your variables if you don't explicitly declare them.

      Not that I think VB.Net is the world's bestest language, but it's interesting that at this stage of the game, with languages like Python and Ruby seeing major use, and Lisp making a comeback for projects like airline reservation systems, there are still people who think late binding is only used by amateurs.

    4. 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
    5. Re:no suprises. by Anonymous Coward · · Score: 0

      Get Psyco!

    6. Re:no suprises. by Anonymous Coward · · Score: 0

      That's not a very helpful attitude. You might as well say "real men don't use Perl or Python" or any such typeless language and you'd get loads of Linux-types jumping up and down on you.

      VB.NET is a proper strongly-typed OO language. It's now on a par with C#. Sure, I'm a C/C++ jock so I prefer C# but there's nothing to sneer at any more.

    7. Re:no suprises. by SparafucileMan · · Score: 2, Informative

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

    8. Re:no suprises. by Anonymous Coward · · Score: 0

      You don't need ultimate speed for most GUI stuff. And for a lot of custom programming, development speed is a lot more important. Common Lisp is actually pretty fast (within a factor of 2 of c++, benchmarks I've seen, which is pretty good given people are reporting 5x dev speed vs. c++).

    9. Re:no suprises. by Anonymous Coward · · Score: 1, Informative

      So what do 'real men' do?

      Make snide little comments on slashdot.

      Go outside for a bit.

    10. Re:no suprises. by Anonymous Coward · · Score: 0, Flamebait

      Except for having to use Perl. Ass language of the highest order.

    11. 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
    12. Re:no suprises. by robinjo · · Score: 2, Informative

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

    13. Re:no suprises. by Anonymous Coward · · Score: 0

      By the sound of your technical expertise, I would suggest that you switch careers.

    14. Re:no suprises. by MyLongNickName · · Score: 1

      My guess is you don't even have a job.

      --
      See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
    15. 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.

    16. Re:no suprises. by Anonymous Coward · · Score: 0

      my guess is you are a Microsoft monkey boy! bahahahahaha.

    17. Re:no suprises. by Joe+Tie. · · Score: 1

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

      Speaking of both ipaqs and WxPython, anyone know if the guy who ported WxPython to the PocketPC ever uploaded it anywhere?

      --
      Everything will be taken away from you.
  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 Yaa+101 · · Score: 0, Troll

      Nah, they just die out like should in evolution...

    2. Re:Microsoft pays the bills! by Capt+James+McCarthy · · Score: 1

      Keep believing that. Microsoft, however you feel about them, isn't going anywhere for a long time as long as they have the means (read cash) to purchase other software companies and push advertising companies to sell their wares.

      --
      There are no loopholes. It's either legal or it's not.
    3. 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.

    4. Re:Microsoft pays the bills! by Anonymous Coward · · Score: 0

      Yeah, Keep thinking that...

      When MS collapses there will be this great sucking sound and an enormous simultaneous cheer! More work for us *nix geeks who actually know what we're doing! Apple will dominate the workstations/laptops and *nix the servers.

      MS is a lot like the old USSR Soviet Union. They don't see it coming yet, but soon they will be unable to stop it.

      Better start learning Linux young padawan!

    5. Re:Microsoft pays the bills! by stor · · Score: 1

      They won't spontaneously combust, no.

      They will not retain their current status perpetually though. History teaches us that even the largest of empires crumbles eventually. Especially if the citizens of that empire are complacent.

      Cheers
      Stor

      --
      "Yeah well there's a lot of stuff that should be, but isn't"
  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"?

    3. Re:VIA forums... by HangingChad · · Score: 1
      Our big .NET customer had the same experience. After switching to .NET their development times nearly doubled. And the ColdFusion server is still running 4x the traffic of all the .NET sites combined.

      After working with ASP.NET over a year and half my general opinion is that it's a horrible, clunky, bloated piece of crap. So much nicer to leave that customer site and be able to go back to PHP. I like ColdFusion much better than .NET.

      For some specific tasks ASP.NET is a good choice. But the number of those is so small and all of them have alternatives available. ASP.NET is clunkware. I remember the MSFT solution providers sales pitch was how much faster ASP.NET development would be...it's not. The customer spent almost 7 grand each on retraining their developers and hundreds of thousands on the development environment and server upgrades. Agh, what a waste.

      --
      That's our life, the big wheel of shit. - The Fat Man, Blue Tango Salvage
    4. Re:VIA forums... by rabtech · · Score: 1
      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.


      What the hell does this have to do with anything? That's a software development issue, not a platform issue.

      There are many web discussion forums out there that run on dotnet. I'm sure you could find one that better suits your needs. None of this has anything to do with dotnet as a platform and your comment is therefore offtopic.
      --
      Natural != (nontoxic || beneficial)
    5. Re:VIA forums... by rsborg · · Score: 1
      What does the platform the forum is built on have anything to do with whether or not it's "user friendly"?

      One of the key marks of Usability is response speed (gmail's context switch speed as opposed to yahoo/hotmail is a good example). I can bet that the .NET is probably slower than ColdFusion, albeit easier to code for. However, we'll never know, since the GP post was so light on details (why does the usability suck?).

      --
      Make sure everyone's vote counts: Verified Voting
    6. Re:VIA forums... by SunFan · · Score: 1


      I took a brief look at Cold Fusion a while back, and the one thing I remember is that I instantly "got it". It's pretty much among the most highly digested development platforms out there. Compared to learning and discussing J2EE/.NET, I can see how a forum on Cold Fusion might seem unusally friendly.

      --
      -- Microsoft is the most expensive commodity operating system and office suite vendor in the marketplace.
    7. Re:VIA forums... by Anonymous Coward · · Score: 0

      It leaks through, believe me.

    8. Re:VIA forums... by swordfish666 · · Score: 1

      I was a ColdFusion developer but 4 years ago I (the company) switched to .NET.

      If you think that you can install VS.NET and just start draging-n-dropping a web site together and expect it to be good you are so wrong.

      Oh and you think that out-of-the-box your development time will be cut in half.

      Wrong. It's called a learning curve.

      Oh and that's a damn shame that the company had to spend money on retraining their developers.

      Bash this.

      --
      I like-a do-the cha-cha.
    9. Re:VIA forums... by realkiwi · · Score: 1

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

      Because it is a migration. The forum went from running on CF to .NET. It went from not sucky to sucky. The administrator told me they had used migration tools. I would stay away from them if possible after looking at this example.

      --
      realkiwi
    10. Re:VIA forums... by realkiwi · · Score: 1

      No it is a migration issue. The migration tools for migrating from CF to .NET suck. Migration tools that are part of the platform...

      --
      realkiwi
  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 Big+Nothing · · Score: 0, Troll

      My PS/2 works like a charm. Then again, I think it's made by Sony, not IBM.

      --
      SIG: TAKE OFF EVERY 'CAPTAIN'!!
    2. 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
    3. 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.
    4. Re:sometimes things have to hurt. by Anonymous Coward · · Score: 0

      Except that PS/2 were awesome computers. MCA was the shit.
      The Model 30 family was crap, but the rest was good stuff.

      You mean they were overpriced and that nobody made MCA versions of their add-on cards? Yes. True.

      I had a Model 50, 80 and 70 in that order. They were much better than all the other crap around.

      Hey... my model 70 still works today. Yup. It does. And both the original mouse and keyboard still work... Those things are made like tanks... not like today's cheap plastic.

    5. Re:sometimes things have to hurt. by LifesABeach · · Score: 1

      I seem to remember hearing the same things when windows 3.1 came out. It would become the death nell of ps/2. Personally, I find .NET's solution to C++ code to be, well, less than an improvement over the version 6.0 product. I guess SUN got it right with JAVA's p-code, and .NET won't even handle XSLT 2.0, when the rest of the world has gone well beyond learning it.

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

    7. Re:sometimes things have to hurt. by stor · · Score: 1

      omfg. It's true! IBM *was* (is?) evil!

      The pain... the suffering... oh, the humanity!

      Cheers
      Stor

      --
      "Yeah well there's a lot of stuff that should be, but isn't"
    8. Re:sometimes things have to hurt. by Anonymous Coward · · Score: 0

      I still find it ironic how the PS/2 keyboard/mouse connector took the world by storm, long after the actual system died a horrible horrible death.

  12. Thank you to Dan Fernandez by evenprime · · Score: 0, Troll
    RG:The framework redistributable is 25 MB, which is many times larger than the Java redistributable.
    DF: My Response: Maybe I'm being too picky, but the size is 23,698K or 23.7MB. While Java's runtime is smaller, it still weighs in at 15MB.
    Yup, Dan, you are being picky. You also just proved that his bloatware alert was correct.
    --

    "Weapons should be hardy rather than decorative" - Miyamoto Musashi
    I think that goes for OS's too
    1. 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?

    2. Re:Thank you to Dan Fernandez by nearlygod · · Score: 1

      23,698K/1024 = 23.14 MB

      --
      The Tools Of Ignorance wanna be a tool?
    3. 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.

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

    5. Re:Thank you to Dan Fernandez by isometrick · · Score: 1

      "EJB stuff" is part of the application/web container ... much like you'll need IIS to run ASP.NET.

      The JRE is perfectly capable of running the application/web container as well as anything else you produce with the JDK ... hence why it is called the runtime environment.

      From a cursory inspection, it seems pretty fair to compare the JRE to the .NET redistributable because they have similar functionality ... much like you could compare the JDK to the .NET SDK.

      However, I'd like to see a side-by-side of their class libraries before I can say anything concrete. Anyone got a link?

    6. Re:Thank you to Dan Fernandez by Anonymous Coward · · Score: 0

      You're right, I'll never fit 23MB on my 200GB hard-drive

    7. Re:Thank you to Dan Fernandez by mikiN · · Score: 1

      How is 23.7 many times 15?

      (In Mathematica)
      In[1]:= times = 1;

      In[2]:= many = .;

      In[3]:= Solve[23.7 == many times 15, many]

      Out[3]= {{many -> 1.58}}

      --
      The Hacker's Guide To The Kernel: Don't panic()!
    8. Re:Thank you to Dan Fernandez by Anonymous Coward · · Score: 0

      "EJB stuff" is part of the application/web container ... much like you'll need IIS to run ASP.NET.

      ASP.NET uses IIS to open port 80, nothing more. All the logic is handled by the bundled ISAPI filter. The ASP.NET web classes *are* included in the regular runtime.

      ASP.NET has no dependency on IIS - you can happily host the ASP.NET ISAPI with Apache.

  13. 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 Anonymous Coward · · Score: 0

      Scripts are your friend

      Set WshShell = CreateObject("WScript.Shell")
      WshShell.Run "%windir%\System32\control.exe mmsys.cpl,@0,0"
      WScript.Sleep 100

      counter=0
      While( (Not WshShell.AppActivate("Sounds and Audio Devices Properties")) And counter 10)
      WScript.Sleep 100
      counter=counter+1
      Wend

      If (WshShell.AppActivate("Sounds and Audio Devices Properties")) Then
      WshShell.SendKeys "%M"
      WScript.Sleep 500
      WshShell.SendKeys "~"
      End If

      there's a less than sign between counter and 10 that won't come out

    3. Re:Start again? by Anonymous Coward · · Score: 0
      That would be great, if the Win32 API and all other extensions of it weren't brain dead to begin with.
      Says you.

      You can't quantify braindeadness. Quit your FUDin.

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

    5. 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)
    6. Re:Start again? by Caine · · Score: 1, Insightful

      I'm not saying the Win32 API is a beautiful flower of perfection, but it's far from braindead. I have to wonder what you did in those 120 lines considering you can write far more advanced Win32 programs in far less :), but sure, Win32 takes some lines to properly initialize.

      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.

      Also, I don't quite understand your aversion against the event system? I myself prefer to get messages, but if you want callbacks you can easily set them up in your event loop. Sending the event on to the default handler is seldom more than one line of code, so if you think that's a bother perhaps you should be doing something else?

      To return to the original argument, .NET does simplify things compared to the old Win32 API. Perhaps a little to much. But as long as things work it's very nice to work in. I've done virtually as much "real" work in .NET as I have in the old API which perhaps distorts my perception. And even more work in QT, GTK and Motif/Xlib.

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

    8. Re:Start again? by KarmaMB84 · · Score: 1

      Why bloat up the OS when you can implement a new API as a layer over top of the mature underlying API? If they were trying to create a whole new look with brand spanking new features and capabilities instead of an evolutionary progression then maybe a completely new codebase would be in order. I doubt it though.

    9. Re:Start again? by Dogtanian · · Score: 1

      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.

      Can we assume then that Braindead encompasses all legal programs in all current computer languages, and then some?

      Or do you restrict what can be done, in much the same way that there are an infinite number of even numbers, but you can't use them to express odd numbers (if you see what I'm getting at?)

      Either way, I hope you're not using fixed-length encoding for the single character that makes up a Braindead program.

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    10. Re:Start again? by Anonymous Coward · · Score: 0

      You're behind the times - those kinds of problems are PRECISELY the kinds of things being fixed with .NET - Check out Channel 9 and look up the video discussing the creation of drivers.

    11. Re:Start again? by KiloByte · · Score: 1

      bugfixed, known-to-be-working code

      We're not talking about that 0.001% of the code, we mean the rest.

      --
      The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
    12. Re:Start again? by Anonymous Coward · · Score: 0

      Did you read that link from Joel?? It is a 4 year old article on why rewriting Netscape 4 was a bad idea. If you have ever used Firebird, I'm not sure how you could say that. I wonder what the author (Joel) would say now looking back on those comments now that Firebird has been released (and in terms of usability and growing market share - a success)?

    13. Re:Start again? by daremonai · · Score: 1
      It contains every little obscure bugged that grandma Uxbuklu in outer Mongolia have ever encountered.
      Of course, it also contains every undiscovered little obscure bug left by a programmer who has since moved to Outer Mongolia...
      I would recommend you read what Joel has to say, since he say it so much better than I have time to do.
      Joel generally has interesting things to say, but I think this is one case where he's a bit off the mark. Perhaps some code he wrote at Microsoft got trashed, and he's been resenting it ever since.

      The fact of the matter is, there are problems either way, in keeping old code or discarding it. I don't think a default impulse one way or the other is helpful - you really need judgment to determine what to do.

      As an example, was Dennis Ritchie wrong to toss away all that mass of Multics code and write Unix from scratch? Somehow, Multics didn't seem to benefit in the long run from its "head start."

      Or, in the case Joel harps on, was it really the wrong decision for the Mozilla crew to toss the old Netscape code and rewrite Gecko from scratch? Perhaps at the time Joel wrote his article it wasn't clear that they had taken the correct approach, but I'd say events have shown the Mozilla team's decision was correct.

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

    15. Re:Start again? by shutdown+-p+now · · Score: 1
      Microsoft sits on a treasure chest, namely 10 years of bugfixed, known-to-be-working code.
      Why, yes, if what you say is true, seems like the only thing Microsoft does is just sit on this treasure chest. At least, I wouldn't dare call Windows XP or IE "bugfixed, known-to-be-working code" - so it must be elsewhere. Could you solve this mystery for us, please?
    16. Re:Start again? by Caine · · Score: 1

      As an example, was Dennis Ritchie wrong to toss away all that mass of Multics code and write Unix from scratch? Somehow, Multics didn't seem to benefit in the long run from its "head start."

      Multics took a hard hit, when early on BTL dropped out of the project, which it never recovered from. And with that, the project lost Ken Thompson and Dennis Ritchie as developers. Since those two didn't have the possibility to reuse old code from the Multics project and had (after many twists and turns) a new system to develop on, they had no choice than to start from scratch. Even though they did this, they imported many ideas and experiences from Multics. In fact, had Bell not pulled out it's very possible we would have a Linics today.

      Or, in the case Joel harps on, was it really the wrong decision for the Mozilla crew to toss the old Netscape code and rewrite Gecko from scratch? Perhaps at the time Joel wrote his article it wasn't clear that they had taken the correct approach, but I'd say events have shown the Mozilla team's decision was correct.

      Or we would have had a Firefox 3 years ago. You should note that Firefox is not a company effort, and can afford the time a complete rewrite entails and even then it's a waste. Perhaps we could by now have Firefox 3.0 with a more mature and robust codebase and with a far larger marketshare. IE would never have been given that big empty window alone on the scene which projected it to monopoly.

    17. Re:Start again? by oconnorcjo · · Score: 1
      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.

      It is funny that Joel uses Netscape as an example because Mozilla 1.7/FireFox 1.0.1 are far superior product in comparison to the original Netscape code.

      As a matter of fact I am going to use Mozilla as my example as well:
      .NET was an opportunity to fix all the design mistakes win32 made in its twenty odd years of development (and believe me when I say win32 is a HUGE mess). But instead of starting over like the mozilla team and creating a vastly superior product , they are going to sew .NET to the Frankenstien win32 which is layer upon layer of API's that are there to just replace mistakes and complexities of other API's going back to before 1995.

      --
      I miss the Karma Whores.
    18. 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
    19. Re:Start again? by wannabgeek · · Score: 0

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

      I generally respect Joel, but I think he makes too broad statements too easily. Sometimes a bad design needs to be thrown out.

      Just to prove the point, he criticized the effort of rewriting Netscape - the mozilla project! If we didn't do it, we wouldn't have had Firefox today. I rest my case.

      --
      I'm much more funny, interesting and insightful than the moderators think
    20. Re:Start again? by Anonymous Coward · · Score: 0

      So six divided by two is what exactly?

    21. Re:Start again? by mwlewis · · Score: 1
      ...there are an infinite number of even numbers, but you can't use them to express odd numbers...
      How so? You could always assume that you have to divide by 2, so
      2 => 1
      4 => 2
      6 => 3
      etc...
      --
      JOIN US FOR PONG!
    22. Re:Start again? by Caine · · Score: 1

      I got it to around 35 lines of code for opening the default mixer device, initializing, setting the mute value and uninitializing. And that's checking for errors too. Yes, there were big structs, which isn't unexpected. This is an OS-level API. If people want to have a SetMute(true); then use an audio-library. That's what they're there for.

    23. Re:Start again? by hairyfeet · · Score: 1

      I'd say WinNT and Win2k.As long as you avoid IE and outlook excrement.I've run 2k bug free for years and haven't bothered with updates since sp4.If it ain't broke,Dont fix it.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    24. Re:Start again? by Dogtanian · · Score: 1

      Okay; the even numbers thing was a crap analogy. My point was that if a single character is representing a number, and there are an infinite number of choices for that character, you can still restrict what can be represented with it (i.e. no odd numbers, only even numbers) whilst still *requiring* an infinite number of character-choices (since there are an infinite number of even numbers).

      This is somewhat akin to having a computer language whose only valid statement is

      printf('furbee');

      Well, if the number of times you want to print "furbee" is unrestricted, you'll need one character to represent
      printf('furbee');
      a different one for
      printf('furbee'); printf('furbee');
      another for
      printf('furbee'); printf('furbee'); printf('furbee');

      And so on ad infinitum; hence an infinite number of characters will be needed for even a single-statement language. *Very* restricted.

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    25. Re:Start again? by mwlewis · · Score: 1

      Yes, I understand that. It's the enumeration problem. So it depends on how smart the BrainDead compiler is. But it *is* possible. Consider the set of all programs. If his method of enumeration were done in a manner such as how you suggest:

      x => printf('furbee');
      x + 1 => printf('furbee'); printf('furbee');
      x + 2 => printf('furbee'); printf('furbee'); printf('furbee');
      ...etc...

      Then yes, because the only thing it will ever be able to do is print lots of furbees. Instead, imagine that the enumeration were done based on the enumerated equivalent program's length, so first you enumerate all the 1-character programs, then all the 2, 3, etc. Now you have a way to enumerate *all* possible programs, using a single 'character'. Give me an equivalent program, and I can tell you what it's character is. Give me a character, and I can tell you what it's equivalent program is. Of course, you've got a lot of buggy program's in there, but why should BrainDead be any different from all other languages?

      --
      JOIN US FOR PONG!
    26. Re:Start again? by Anonymous Coward · · Score: 0

      You really ought to consider another line of work. You're obviously no good at being a software developer.

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

    28. Re:Start again? by menkhaura · · Score: 1

      Mathematician: 3
      Engineer: 2.993, give or take 0.14
      Lawyer: how much do you want it to be?

      --
      Stupidity is an equal opportunity striker.
      Fellow slashdotter Bill Dog
    29. Re:Start again? by micromuncher · · Score: 1

      10 years of hacked (aka bug fix) code is HARDLY a good starting point for a light weight framework. Here is why...
      1- code size has a tendency to grow
      2- code complexity (especially with fixes) has a tendency to increase
      3- code requirements tend to get lost
      4- code knowledge tends to decrease (only developer X understood that bit o' code, and he left 5 years ago)
      5- Microsofts internal development policy tends to promote code duplication as opposed to re-use (ergo 100 implementations of a linked list)
      6- the software industry has matured 100 fold in the last 10 years (think SEI-CMM, patterns, etc.)
      7- I wouldn't hire you either.

      --
      /\/\icro/\/\uncher
    30. Re:Start again? by Anonymous Coward · · Score: 0

      Amusingly, Joel later switched to Firefox and praised all that is Mozilla. Except of course with the caveat that he was right, and their redesign cost them dearly yadda yadda.

    31. Re:Start again? by fox8118 · · Score: 1

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

      Yeah, now if only they'd release it.


      But who would want the source code to functions designed for a 16 bit platform?

    32. Re:Start again? by Anonymous Coward · · Score: 0
      They may be sitting on a chest, but I wouldn't call what's inside treasure. 10 years of fixing bug after bug doesn't lead to good code, it leads to more buggy code. If you haven't noticed bug reports on MS haven't stopped coming. If you are going to write a new language and new framework it should be NEW.

      It be like if I wrote a language that was just a wrapper to perl and I proclaimed it to be the greatest programming language of all time. Well it is no better than perl in fact since it is a wrapper it will be worse than perl because when things go wrong, and they always do, the error messages will be distorted.

      Bottom line is that its the same old crap that we had before .NET with a new shiny front end and we are expected to believe that it has solved all of MS programming problems.

    33. Re:Start again? by Slime-dogg · · Score: 1

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

      And now tell me what Carbon and Cocoa choked early on. Apple made the mistake of completely replacing the APIs used in MacOS 9, and then horribly implementing an emulator to run legacy stuff.

      Most people have old stuff that they want to run. When they upgrade their hardware, they want to be able to run the old stuff. MacOS X broke this, and forced Apple to reimplement. MS is just doing it backwards, they have old code that isn't broken, and they've created a new API for it. No problems for me, I can write code for the new API, which isn't braindead, and that's it. I don't care if it uses Win32 or not, because as far as I'm concerned, my part is done. The code is written, and it works.

      MS can then shift the framework to be native in a future OS, and my .NET program will be sure to work. Build the API before your platform shift, and you can be sure that your new platform will have a larger software library upon release.

      --
      You need to restart your computer. Hold down the Power button for several seconds or press the Restart button.
    34. Re:Start again? by FredGray · · Score: 1
      Apple made the mistake of completely replacing the APIs used in MacOS 9, and then horribly implementing an emulator to run legacy stuff.

      ...and since they did that, their shares have quadrupled! What's the problem here?

    35. Re:Start again? by Anonymous Coward · · Score: 0

      That would give you results outside your universe of possibilities. Think of a program (or programming language) that can only deal with integers, and you try a division like 3 / 2.

      The most probable scenario is rounding, but whatever may happen you sure know the result won't be 1.5.

    36. Re:Start again? by Anonymous Coward · · Score: 0

      That script's just freaky. I hate those dirty hacks where you rely too much on handling the interface.

    37. Re:Start again? by mwlewis · · Score: 1

      Not necessarily. Instead of storing things as integers, you could store them as rational numbers, which would mean storing pairs of integers. We do this anyway, since our computers can only store 1 and 0. Then we interpret those 1's and 0's to make floating point numbers.

      --
      JOIN US FOR PONG!
    38. 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

    39. Re:Start again? by Dogtanian · · Score: 1

      Bear in mind that what I was trying to show *wasn't* that given an infinite number of characters you couldn't represent all possible computer programs in all languages in a single character. (*)

      It was that Braindead could be designed such that it did *not* encompass all possible programs in all computer languages (if all it could do is print 'furbee', then this would be the case), and yet would *still* require an infinite number of characters to represent all possible *Braindead* programs.

      (*) Oh, hang on. What happens if we have a language with an infinite choice of characters that can be made up of any number of those characters?

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    40. Re:Start again? by johnnyb · · Score: 1

      Think of it this way, if Aqua were built _on top_ of the legacy MacOS system, MacOS X would have sucked royally. Instead, since Aqua was built on its own, it can be optimized for itself, rather than having to navigate many layers underneath.

    41. Re:Start again? by Anonymous Coward · · Score: 0

      But then you're introducing a new compound type, when the only allowed is integer.

      I know in computing your example is possible, but I was trying to represent the concept of spaces (don't know if this is the right name in English) from linear algebra. The only operations valid in all spaces are sum and multiplication (by an integer). If you have a function defined as F : Z -> Z (Z being the integer numbers set), you can't get any result that is not in Z.

    42. Re:Start again? by mwlewis · · Score: 1
      Oh, hang on. What happens if we have a language with an infinite choice of characters that can be made up of any number of those characters?
      I'm not sure, but I think it might be possible. If you have an uncountably infinite number of characters to choose from, then the answer is definitely no. If the characters are countable (meaning there's a 1-to-1 mapping between them and integers), then I'm not sure if it is possible.

      Reason to think that it might be is that the rationals can be thought of as a program of length 2. Now you have two characters picked from an infinite set. There is a 1-to-1 mapping between your programs and the rationals, so since the rationals are countable, so is your set of programs with 2 characters. I'm just not sure if this would hold for more than 2 characters.
      --
      JOIN US FOR PONG!
    43. Re:Start again? by mwlewis · · Score: 1

      The integers are really a ring, in algebraic terms. They have addition (subtraction just being addition of a negative integer), multiplication, a zero and unity. Division is not well defined, since you can get results outside of the set of integers.

      My point is just that integers are just symbols, and you can make them mean what you want them to mean. Sometimes we make them mean letters, sometimes they mean rational numbers. You're correct, in that an integer, and all valid operations on the ring of integers, will always be an integer, and you shouldn't try to do non-integer things to integers. But if you add a layer of abstraction, you can work in that layer, and do non-integer things with integers, according to the rules of your abstraction.

      --
      JOIN US FOR PONG!
    44. Re:Start again? by computational+super · · Score: 1
      Oh, hang on. What happens if we have a language with an infinite choice of characters that can be made up of any number of those characters?

      Actually, beleive it or not, I'm studying exactly that this semester (among other things). If your means of representing the language is limited to single characters of an infinite alphabet "sigma" and your language consists of all string over the alphabet "sigma" (also known as the "Kleene Star" of sigma), then there are still an infinite number of infinite languages that can not be represented by your representation scheme. In other words, sigma is referred to as being "countably infinite" under set theory, but "sigma-star" is uncountably infinite (being the "power set" of sigma). So, even with an infinite choice of characters, you still miss an infinite number of languages. Thus, one infinity is actually greater than another. David Hilbert's first problem discusses this in more depth.

      And people say advanced degrees in computer science don't have any real-world applicability...

      --
      Proud neuron in the Slashdot hivemind since 2002.
    45. Re:Start again? by daremonai · · Score: 1
      Multics took a hard hit, when early on BTL dropped out of the project, which it never recovered from.
      And yet it was released, during the long period that AT&T couldn't quite figure out what to do with Unix. But for all of that, it seems to have left little legacy today, beyond those features adopted by Unix. The only exception I can think of offhand are ACLs, which were not in the original Unix systems. Of course, part of the reason they exist today is they were picked up by later versions of Unix.... (Paging, dynamic linking and SMP support are of course other examples of things later picked up by Unix, but the Unix versions aren't really direct Multics inheritances in any meaningful sense.)
      Even though they did this, they imported many ideas and experiences from Multics.
      And discarded just as many. That is exactly my point. Ritchie and Thompson and the rest of the group were successful because they exercised good judgment in what to retain (e.g., the directory structure) and what to discard (e.g., the segmented memory model).
      Or we would have had a Firefox 3 years ago.
      Or perhaps never at all. A large body of pre-existing code can be a disadvantage, if it is not amenable to adaptation for new purposes, and is not organized in a way to encourage new contributions. This is obviously true for open-source projects, but applies to proprietary software as well.

      A silly example is provided by the original Unix Bourne shell. Bourne's source code was written (using preprocessor macros) in a weird Algol-like format, which made others reluctant to do anything with it. It was only when it was rewritten by Korn and others later that it became a subject of active development again.

    46. Re:Start again? by RahoulB · · Score: 1

      Carbon was a port of the OS 8 (via Quicktime) APIs to OSX - it's just that the APIs were such a mess they took the decision to clean them up before porting (breaking compatibility).

      Hence you get Classic applications (OS 8/9), Carbon applications (OS 9/X) or Cocoa applications (OS X). (And the Classic environment isn't an emulator - it's more like running a copy of Win95 in VMWare inside WinXP).

      But that's irrelevant. I'm not saying do away with Win32 - just that they should have made .NET totally separate from it. Otherwise you get implementations from the underlying layer creeping into the supposedly clean API (why else would you have access to HWNDs and WndProcs in .NET?)

    47. Re:Start again? by RahoulB · · Score: 1

      Cos the old API is crap. And the new features and capabilities are security and reliability - things that need to be built in from the bottom up rather than being built on sand.

    48. Re:Start again? by Dogtanian · · Score: 1

      This is the kind of thing I find very interesting and totally incomprehensible :-/

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    49. Re:Start again? by Anonymous Coward · · Score: 0

      Well, I think we agree then that it just depends on what the rules are for your context. :-)

    50. Re:Start again? by Caine · · Score: 1

      And yet it was released, during the long period that AT&T couldn't quite figure out what to do with Unix. But for all of that, it seems to have left little legacy today, beyond those features adopted by Unix.

      I honestly don't see your point here? An ill-backed system doesn't leave a legacy. Gee whiz, I'm suprised. The point is that if they hadn't rewrote it from scratch (and as we should note, they didn't want to either) we might have ended up with a mature "UNIX" much quicker. Also, it was other days back then. We're not talking about programs that would be deployed on a million different configurations in a thousand languages and cultures. Instead they were usually targeted for a very specific machine. This changes the whole concept quite a bit.

      Or perhaps never at all. A large body of pre-existing code can be a disadvantage, if it is not amenable to adaptation for new purposes, and is not organized in a way to encourage new contributions. This is obviously true for open-source projects, but applies to proprietary software as well.

      The thing, that a lot of people seem to fail to grasp here, is that Netscape (the company) died because of this decision. They disappeared from "the scene" and got downsized and bought. Now they're just a joke. As I've said, open source/hobby projects can afford to waste 5 years rewriting from scratch because they won't lose their income while they do it. A company doesn't have that privilege.

      And if your code is such as mess that it doesn't encourage contributions: refactor and clean up, don't throw the baby out with the bath water.

    51. Re:Start again? by Schnapple · · Score: 1
      Just to prove the point, he criticized the effort of rewriting Netscape - the mozilla project! If we didn't do it, we wouldn't have had Firefox today. I rest my case.
      He criticized the fact that Netscape the company decided to throw away every line of Netscape 4.x and rewrite it. From scratch. They didn't go back in and rewrite it a section at a time, they decided to wipe the slate clean. The lead developer quit over this. In an effort to remain cross-platform, they decided to rewrite every widget, so instead of people on Linux feeling like they're running Windows, everyone's platform nuances get ignored completely. They produced no new Netscapes (other than bug/security fixes for 4.x) for over three years, all the while Microsoft destroyed them.

      And then when Netscape 6 was released, it was a horrible, buggy piece of crap that was completely unusable and the average person looked at it and decided that indeed IE was the superior browser. Mozilla 1.0 was still years away.

      So yes, while the Netscape rewrite was a good thing for open source in the long run, it's the real reason that "throw everything away" rewrites are almost always a bad idea. You can disagree if you like but it's the real reason that MS almost always wins and Netscape is now a joke shell for IE/Firefox and a low-cost ISP.

    52. Re:Start again? by Anonymous Coward · · Score: 0

      Absolutely brilliant. I snarfed my coffee after I read about your "braindead" language. Now my 50,000 monkeys have the perfect language to work in.

    53. Re:Start again? by computational+super · · Score: 1

      This is the sort of thing graduate degrees in CS are all about... and beleive me; if I can comprehend it, anybody can. If you really find it interesting, start studying for the GRE - before you know it, you'll be comprehending more than you bargained for. ;)

      --
      Proud neuron in the Slashdot hivemind since 2002.
    54. Re:Start again? by Anonymous Coward · · Score: 0

      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?

      It's pretty much Grimes being ignorant; MS is extending the .NET in lots of places, and lots of internal new code is written using it. For example, the SPOT watches run a small CLR interpreter, and applications can be written using Visual Studio (yes, even VB). And almost all the data center code for the MSN DirectBand system (that feeds data to hundreds of radio stations all over the US and Canada) is written in .NET (mostly C#, some managed C++ and a little unmanaged C++).

    55. Re:Start again? by daremonai · · Score: 1
      I honestly don't see your point here? An ill-backed system doesn't leave a legacy. Gee whiz, I'm suprised. The point is that if they hadn't rewrote it from scratch (and as we should note, they didn't want to either) we might have ended up with a mature "UNIX" much quicker.
      You're not getting it. It was in large part because they had to rewrite Unix from scratch - for whatever relatively cheap, accessible hardware they could come up with - that it became as successful as it did. "Support" had nothing to do with it - after all, during most of the '70's, Unix was essentially completely unsupported. Universities and other places picked up Unix because it was tractable and ran on affordable hardware. If it had been a more complete Multics clone, I doubt it would have had anywhere near the same level of acceptance at the time.
      The thing, that a lot of people seem to fail to grasp here, is that Netscape (the company) died because of this decision.
      Actually, they were already pretty much dead at the time. Perhaps the code rewrite, as expensive and time-consuming as it was, was the only way for anything to survive out of it.
      And if your code is such as mess that it doesn't encourage contributions: refactor and clean up, don't throw the baby out with the bath water.
      Yeah, sometimes this is correct, but sometimes it isn't. For two more (ancient) examples, consider troff and TeX. Ossanna's original version of troff was written mostly in fairly impenetrable assembler; after his untimely death in a car crash, it sat unmodified for years until someone reimplemented it more or less from scratch from his (fortunately quite detailed) specifications. By contrast, modern (so to speak) versions of TeX still show a clear legacy of Knuth's original code; there simply has been no need to do a complete rewrite.

      A dogmatic assertion that rewrite is never indicated is just as wrong as one that it's always a good idea.

    56. Re:Start again? by Dogtanian · · Score: 1

      I've absolutely *no* interest whatsoever in going anywhere near a university in the forseeable future; quite honestly, I'd rather concentrate on my practical skills.

      Frankly, that's mathematical stuff, and I'm not that brilliant at maths.

      --
      "Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
    57. Re:Start again? by Caine · · Score: 1
      Universities and other places picked up Unix because it was tractable and ran on affordable hardware.

      I still don't see your point. Your saying that it was better to write code for a platform people could afford. Wow. Considered going into marketing? What this has to do with starting a new codebase, I don't understand. Their choice to "abandon" Multics wasn't voluntarily and the fact they got a cheap platform for UNIX was because they didn't get any funding.
      . Throughout 1969 we (mainly Ossanna, Thompson, Ritchie) lobbied intensively for the purchase of a medium-scale machine for which we promised to write an operating system; the machines we suggested were the DEC PDP-10 and the SDS (later Xerox) Sigma 7. The effort was frustrating, because our proposals were never clearly and finally turned down, but yet were certainly never accepted.

      -The Evolution of the Unix Time-sharing System, Dennis M. Ritchie, 1979

      A dogmatic assertion that rewrite is never indicated is just as wrong as one that it's always a good idea.

      I'd qualify the lone assembler programmer on the project dying in a car accident as "extreme circumstances" :). But hey, I don't know about you, perhaps that happens to your projects frequently. The only thing that's always true is that there's nothing that's always true. I mean, yes, there is code that's beyond saving. But in a professional company developing software for a living? Then something is fundamentally wrong and no rewriting will help you. In the case of a normal company, developing shrinkwrap software, abandoning a codebase is moronic.
    58. Re:Start again? by shweazel · · Score: 1

      Pfft your language is just a ripoff of Brainfuck

      ;-)

    59. Re:Start again? by daremonai · · Score: 1
      I still don't see your point. Your saying that it was better to write code for a platform people could afford. Wow. Considered going into marketing? What this has to do with starting a new codebase, I don't understand. Their choice to "abandon" Multics wasn't voluntarily and the fact they got a cheap platform for UNIX was because they didn't get any funding.
      Now you're being deliberately obtuse. Obviously, leaving Multics and rewriting from scratch was not Ritchie, et al.'s first choice. But because they were forced into it, and because, partly out of necessity and partly out of inclination, they threw out inessential elements, they ended up with a system far more portable and usable than Multics ever was. Yes, Multics had many innovative concepts - the problem was, it had too many of them, including many of questionable value.

      Have you ever seen the original Multics architecture document? It is far longer than a complete printout of the main documentation and source code for the Unix Version 6 kernel and principal utilities (probably later versions as well, but those are the ones I saw placed side by side). If something on the scale of that conglomeration had been what Bell Labs was releasing to the world, it would never have been picked up.

      I mean, yes, there is code that's beyond saving. But in a professional company developing software for a living? Then something is fundamentally wrong and no rewriting will help you. In the case of a normal company, developing shrinkwrap software, abandoning a codebase is moronic.
      Then I guess most major software companies have been moronic at some point or other. (OK, I'll grant that that's probably true on other grounds.) Take even Microsoft as an example - what legacy of the original PIA exists in NTFS? It was essentially rewritten at one point when it was decided the original wasn't maintainable.
    60. Re:Start again? by Caine · · Score: 1

      Then I guess most major software companies have been moronic at some point or other. (OK, I'll grant that that's probably true on other grounds.) Take even Microsoft as an example - what legacy of the original PIA exists in NTFS? It was essentially rewritten at one point when it was decided the original wasn't maintainable.

      I don't think anyone's arguing that rewriting modules and parts of the code can't and shouldn't be done. What we're talking about is taking your whole foundation and throwing it out the window i.e Netscape's browser or Microsofts Win32 API. Not saying that most companies haven't been moronic at one point or other. But there's a big difference between rewriting parts and rewriting your complete software base. If nothing ever was rewritten we wouldn't be making much progress now would we? :)

    61. Re:Start again? by BekendeVlaming · · Score: 1

      Oh my God!!!
      anybody heard of separation of interface and implementation ? .NET "is" a new API to program against. Whether it is (currently) based on the old Win32 API should be the least of your concerns. One day Microsoft will rewrite the core libraries to go straight to the kernel, without breaking your code (ok this is a bold statement) cause your code is based on an "interface". Why is it currently based on Win32 ? Probably to reduce the time-to-market. With Longhorn we will see .Net going more and more to the kernel directly. And one day .Net won't be relying on Win32/64 anymore, but coexist with it. Some 20 years later Win32/64 will be phased out.

    62. Re:Start again? by daremonai · · Score: 1
      What we're talking about is taking your whole foundation and throwing it out the window i.e Netscape's browser or Microsofts Win32 API.
      Or throwing out the original Windows core in favor of NT? (Yes, I know about NT's "spiritual" heritage from the next generation VMS project, but the core code itself is about as complete a rewrite from any predecessor as you'll ever see.)
      But there's a big difference between rewriting parts and rewriting your complete software base.
      Sure, and obviously it's rarely worth the trauma of the latter. (Especially when change has become as traumatic as it appears it has at Microsoft.) But where would Microsoft be now if they hadn't made the switch?
    63. Re:Start again? by Anonymous Coward · · Score: 0

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

      Hahahaha!

      This is really hilarious given the headline of the Slashdot story just 7 behind the one you responded to. I quote: "Dejan Levaja, a Serbian security engineer has discovered that nearly 8 years after the attack was first made public, WIndows 2003 and Windows XP SP2 are in fact vulnerable to the historic LAND attack."

      "Bug-fixed, known to be working code" indeed!

    64. Re:Start again? by Caine · · Score: 1
      Sure, and obviously it's rarely worth the trauma of the latter. (Especially when change has become as traumatic as it appears it has at Microsoft.) But where would Microsoft be now if they hadn't made the switch?

      I would say there's three very important things to note here:
      1. Microsoft did not throw away the old codebase. Instead they continued to develop it for over 10 years in parallel with the new one. Which leads us into
      2. You (as in virtually any other company) don't have the kind of money that two full OS-teams working for 10 years cost.
      3. Microsoft is incredibly good at maintaining "code-memory". They move all that relevant code into whatever new thing they do. The old classic SimCity bug is a shining example of this.
    65. Re:Start again? by SoggyP · · Score: 1

      As for internal m$ft dev -- MS's internal employee tracking/heirarchy system 'Headtrax' is based on .net ...

    66. Re:Start again? by uradu · · Score: 1

      Wow! So? Nothing of substance in Windows itself is. Talk about not putting your money where your mouth is.

    67. Re:Start again? by SoggyP · · Score: 1

      yeah, i was mainly responding to ".. but most certainly not for internal Microsoft development?"

      i figured I'd note that they actually do use it internally. I dont program; just commenting to drop a small turdlet of info [& definately not meaning to infer anything about .net's quality -- as i personally wouldnt know]

      oh yeah and i did hear from an anonymous source that headtrax has plenty of probs [go figure]

  14. 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 t_allardyce · · Score: 1, Flamebait

      Microsoft is geared around job creation (bless them) - if they made APIs that made sense then you would need less programmers and less hours to complete a task, anyone with 101 business can see that this means less jobs and somehow in a round about economic sense this means less money for microsoft. You see, in business, when a cost is significantly cut (eg by firing workers and replacing them with looms) a excess amount of money is 'freed', companies don't like excess money because it upsets accountants so someone needs to take it, that someone is the loom technician who is invested in to keep making more looms, everyone is happy.

      --
      This comment does not represent the views or opinions of the user.
    2. Re:Tried .NET a year ago by LiquidCoooled · · Score: 1

      I bet every single Library developed by Microsoft started out life as a tiny, well crafted specific interface.

      Just perfect for developing what was needed.
      Then one customer/developer needed X addition, and another required Y addtion, and so on...

      MS have tried to be accomodating to everyone, and have made their stack of cards incredibly tall.

      I have tremendous respect for the developers stuck underneath that mess, and wish them the best of luck finding a clean path out of it.

      --
      liqbase :: faster than paper
    3. 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.

    4. 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)
    5. Re:Tried .NET a year ago by cnettel · · Score: 1
      I think that you can do really clean things in .NET, especially if you don't touch GUI. That may sound like a joke, but you can write all kinds of stuff without relying on a single COM object or Win32 call on your own. The current WinForms interface, on the other hand, is a thin wrapper to how UI works in Win32.

      On the other hand, the problem of a general, cross-platform interface to differing real GUI frameworks is not a simple one. I don't know if I would say that Swing has succeeded, as GUI Java is terrible (in most incarnations).

      Microsoft made a choice of not reinventing their GUI in .NET. It would be somewhat surprising to do so in a 24 MB addition framework. I don't agree on the analysis that Avalon is severly dragged back by its Win32/USER/GDI heritage. True, there are HWNDs around, and you can use them if you ask to. There is, however, much less reason to do so. In WinForms, you'll have to go "out" to Win32 and do it yourself to get many things done. In Avalon, the USER32 representation of the window will not tell you much you didn't know already, and the USER32 calls won't help you much to accomplish new things. Think about it like Swing or whatever, just that you have much more work into making the drawing fast and doing away with the paradigm that a region refresh operation is something best handled by the original creator of the GUI. "Declarative UI definitions" are much nicer, most of the time...

    6. Re:Tried .NET a year ago by qodfathr · · Score: 1

      In WinForms, you'll have to go "out" to Win32 and do it yourself to get many things done.

      Have some examples to share? From real-world applications that you have developed? I don't want to see some contrived BS.

      I ask because I've been working on many, many (complex) WinForms apps for a few years now, and I can hardly recall ever calling out to Win32 directly. Maybe ONCE for some very custom icon drawing in a bizarre TreeView I was crafting. (And which I believe I could accomplish without P/Invoke in .NET 2.0.)

      --
      Yes, it's true. This man has no dick.
    7. Re:Tried .NET a year ago by skraps · · Score: 1
      I agree that you can make pure applications in .NET, if you just restrict yourself. And when I write .NET applications, that is exactly what I do.

      However, for comparison, it can also be said that you can write purely functional programs in C - you just have to restrict yourself from using side-effects.

      The fact is, COM/Win32 will never be completely removed from .NET, in the same way that side-effects can never be removed from C. They are built into the CLR. The metadata formats have specific constants to refer to COM activity.

      They also don't seem to be even the slightest bit ashamed of the COM/Win32 heritage. This is apparent when you create a new console project in Visual Studio. Among the 10 or so lines of boilerplate code (just a definition of Main), there is the [STAThread] attribute staring you in the face.

      --
      Karma: -2147483648 (Mostly affected by integer overflow)
    8. Re:Tried .NET a year ago by DarkEdgeX · · Score: 1

      The worst part is, at least with WinForms, not all of the functionality is exposed that you can acquire under native Win32/Win64. You get just the basics, and if you want more you're stuck authoring your own control or buying controls from a 3rd party vendor.

      It sucks.

      --
      All I know about Bush is I had a good job when Clinton was president.
    9. 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.

    10. Re:Tried .NET a year ago by clambake · · Score: 1

      MS never managed to create an API that felt natural to use

      Bah, what about DirectX? What's more natural than __lplpHwnLppScreenBufferLeftBlitDirect_043_channel AA?

    11. Re:Tried .NET a year ago by dscheele · · Score: 1

      I really enjoy reading discussion on Slashdot, but I have long since tired of reading general negative statements about a technology, with the implication that a competing technology is superior. It is all too easy to make blanket statements such as "(bad) Win32 APIs" whether you understand what you are talking about or not.

      I tend to dismiss comments like this as either ill-informed, poorly though out, or based on ideology rather than an understanding of the facts.

      If you are going to refer to "bad Win32 APIs," or make other such general statement, please back it up with an enlightening example or two to add some authority to your statement. WHY do you feel the design of the API is bad? HOW would you change the design to make it better? WHAT programming tasks or constructs are clumsy because of the API's design? I understand these points may be tangential to the primary discussion, but even a little evidence to support a position would be nice.

      My same point applies when I read members bash a programming language (on this system, usually Microsoft ones) but don't give specific reasons to support their assertions.

      There is too much ideology on here and too little objective discussion of facts, which dilutes the value of Slashdot.

      In my opinion.

    12. Re:Tried .NET a year ago by Tablizer · · Score: 1

      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.

      But what are examples of good API's? One should have a solution before they point out a problem. Did MS do the task wrong, or is the task just inherently hard? People fuss about Java's API's and goofy exception hierarchies also.

      Perhaps a problem is that all these interfaces are coupled too heavily with each other: you can't use interface Foo without having to also use interface Bar and Grog and Znorg. Make them more indepedent so that you can use or choose not the use without impacting other things. Make the interfaces easy-come, easy-go. (I suspect they don't do this because Sun and MS want to lock you in, and interface coupling is a way to do it.)

      The interface builders do a fairly good job of hiding implementation details, but not a good job at hiding inter-interface dependencies. Coupling interfaces to a chain of other interfaces creates almost as much problems as coupling interfaces to implementation it seems.

    13. 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. Re:Tried .NET a year ago by johnnyb · · Score: 1

      Don't forget that the first parameter is a structure with 75 members, the first of which is the size of the structure itself, and you have to zero out the whole structure before using it to avoid accidentally switching on a feature you didn't want.

      I currently teach DirectX. I would use SDL if anyone put out a halfway-decent introduction to game programming using SDL.

    15. Re:Tried .NET a year ago by MSBob · · Score: 1
      Take my most recent experience DirectShow. What a mess! Lot's of incoherent interfaces, bad documentation, unintuitive method names and coupled with some legacy garbage from ActiveMovie to the point that you can't use DirectShow on its own. You have to learn about their old ActiveMovie API to be able to accomplish certain things.

      Just go code something using MS APIs, something that can't be generated with a five step wizard. You'll have an idea of what I'm talking about.

      --
      Your pizza just the way you ought to have it.
    16. Re:Tried .NET a year ago by computational+super · · Score: 1
      if they made APIs that made sense then you would need less programmers and less hours to complete a task

      Actually, it's been my experience that the hours allocated to complete a "task" are based less around the time that it actually takes to do it, or the amount of time that an experienced (or even an inexperienced) programmer guesses he needs to do it than on the amount of time the marketroids decide they need it in. Since programmers all work on salary, the amount of hours allocated to complete any task are always 0, and the programmer ends up working overtime to complete the task (and five others) in 0 hours, so the net cost doesn't change.

      --
      Proud neuron in the Slashdot hivemind since 2002.
    17. Re:Tried .NET a year ago by MSBob · · Score: 1
      Good API? The way I describe a good API is through a "how else" factor. Basically when an API makes me exclaim "Of course, how else would you do it" then it's good. APIs that I give me this feeling are many, among them QT, STL, JDBC, SDL, OpenGL and more.

      On the opposite side of the spectrum are the "WTF" APIs and those are DirectShow (actually DirectAnything), SQL, w3c DOM and countless others.

      I'm afraid that so far MS APIs mostly cause me to exclaim "WTF" rather than "how else". So by my definition they are crap.

      --
      Your pizza just the way you ought to have it.
    18. Re:Tried .NET a year ago by gnovos · · Score: 1

      Don't forget that the first parameter is a structure with 75 members, the first of which is the size of the structure itself, and you have to zero out the whole structure before using it to avoid accidentally switching on a feature you didn't want.

      Oh sure, if you want fancy alpha blitting... I'll take my old-fashioned square sprites, thank you very much... Only 46 members in that structure, and only three of them are undocumented but will lock up the machine if used improperly! DX is awesome!

      --
      "Your superior intellect is no match for our puny weapons!"
    19. Re:Tried .NET a year ago by dark+druid · · Score: 1

      Not really related to the topic but to answer the Win32 issues.

      CreateWindow() returns when the window is created and initialized making it a one step operation instead of two. To wrap this in C++ you can pass your instance pointer for your C++ object as the lpParam argument to CreateWindow. When WM_CREATE gets sent to your new window you can get your instance pointer back out of the window creation structure. You can then call SetWindowLongPtr with GWLP_USERDATA to associate your object with the window and use GetWindowLongPtr to get it back out whenever your window proc function is called.

      As far as CloseHandle() goes all kernel objects can be closed via CloseHandle(). It's just that some purely user mode routines overload the handle type and those pseudo handles aren't recognized by the kernel.

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

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

  17. wh? by t_allardyce · · Score: 1

    wait, isn't everything microsoft does just a wrapper to the win api? like MFC, or is he saying dot net is a wrapper to some old wrappers? at the end of the day, a platform/language is only worth the number of installs it has and at the moment java is probably in the lead (which is really all dot net is) with javascript and flash following behind, if you realistically want to write a 'web service' or whatever the fuck microsofts advertising department wants to call it, your going to use one of those 3 things.

    --
    This comment does not represent the views or opinions of the user.
  18. Why mod this down ? by Eternally+optimistic · · Score: 1

    Parent is correct, look up "functional programming".

    --
    What keeps me going is my inertia.
  19. Take A Moment To Thank The Mono Guys by Anonymous Coward · · Score: 0, Funny

    Ain't we all lucky to have a group of rabid MS fanboys running free inside the open source community?

    1. Re:Take A Moment To Thank The Mono Guys by CreatorOfSmallTruths · · Score: 1

      Well, as long as they wrote the mono code they were contained... :-/ O o...

    2. Re:Take A Moment To Thank The Mono Guys by Anonymous Coward · · Score: 0

      Mono has the potential to devastate Linux application development.

      I don't think that is funny at all.

    3. Re:Take A Moment To Thank The Mono Guys by Anonymous Coward · · Score: 0

      I do.

  20. Nope.. not in C by Anonymous Coward · · Score: 1, Informative

    From the article:

    for (int i = 0; i x; i++) {...}

    Guess what language it's written in? If you said either C, C++, C#, and Java, then you are correct.

    ------
    Actually, you can't do that in C. C'mon now...

    1. Re:Nope.. not in C by Anonymous Coward · · Score: 0

      I'm sad to say that I noticed that as well. Doesn't inspire confidence! If only he had left off the type we would have given him the benefit of the doubt.

    2. 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
    3. Re:Nope.. not in C by Anonymous Coward · · Score: 0

      The C99 specification has been out for over 5 years.

      Solid compiler support, unfortunately. Unless you're using Comeau you're stuck - even GCC's only getting some of the finer points of C99 for v4.0 (thanks to JSM's hard work).

    4. Re:Nope.. not in C by Anonymous Coward · · Score: 0

      You cannot declare variables in the declaration of a for(...) loop. This guy obviously has not written
      C in years.

      - Moomin

    5. Re:Nope.. not in C by AndroidCat · · Score: 1

      I hear that C uses functions that date back to 16-bit Unix.

      --
      One line blog. I hear that they're called Twitters now.
    6. Re:Nope.. not in C by Anonymous Coward · · Score: 1, Informative
      Troll? But whatever. In the spirit of the other guy (who left out the less-than):
      ~ $ cat foo.c
      int main (void) { for(int i = 0; i != 1; i++) printf("Hello, world!\n"); }
      ~ $ gcc -std=c99 -Wno-implicit foo.c -o foo
      ~ $ ./foo
      Hello, world!
      Watch what happens when you take away the -std=c99, though:
      ~ $ gcc -Wno-implicit foo.c -o foo
      foo.c: In function `main':
      foo.c:1: error: `for' loop initial declaration used outside C99 mode
      This guy obviously has not written C in years.
      So: trolling, or not paying attention for "years"? :-)
    7. Re:Nope.. not in C by Anonymous Coward · · Score: 0
      He left out part of it. Still works in all four languages:
      // REALLY DISGUSTING HACK for the show
      // FIX THIS ASAP!!!
      for (int i = 0; i x; i++) {...}
  21. 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.

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

    1. Re:This is the bit that worries me... by hkb · · Score: 0, Flamebait

      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.

      Uhm, ever heard of .NET? (hint: its wtf we're talking about). It is by no means browser-centric and in fact, Visual Studio contain schemas for different browser platforms. Don't create idiotic and uninformed FUD.

      --
      /* Moderating all non-anonymous trolls up since 2004 */
    2. Re:This is the bit that worries me... by argent · · Score: 1

      Uhm, ever heard of .NET?

      Yep. It appears to use the same "security zones" security model that the current "browser-centric" design does... that is, it uses a discretionary access control model where the rights an object has (the "zone" an object is in) is determined by heuristics at the time it's accessed rather than being an inherent and irrevocable (without intevention by an object with greater rights) attribute of the object.

      Visual Studio contain schemas for different browser platforms

      That's terrifying. That means you can't even use a different browser to avoid it.

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

  24. 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.
    3. Re:Already debunked. by ergo98 · · Score: 1

      Yes.. But having dissassembly output does...

      I've never read the writings of Mr. Grimes (or, as he likes to be called, Grimey), however I'm highly suspicious of his chops if this is really the aha moment of his argument. The fact that much of the framework is just a managed veneer over unmanaged code, mostly the Win32 code base, has been known to every half-decent .NET developer since the outself. The reasons are fairly obvious and logical-

      -.NET was never about rewriting the entire platform, even though some .NET true believers think this is the only way. .NET is about a new, more powerful development paradigm atop the existing infrastructure. Even on a going forward basis there is no concerted push for "100% managed" - appropriate code goes in the unamanged layer, and wrappers are created. It's pragmatic, efficient development.

      -Much of the underlying unmanaged code is extremely fast, native code, that has been optimized for years (see the excellent crypo libraries). This is the reason why .NET apps are generally extremely fast. The hard to justify "Pure" campaign, such as that seen in the Java camp, has never flown in the .NET world.

      -There is a thin wrapper API, meaning that they can implement the underlying code on another platform, in either managed or unmanaged code, and the API will work. Mono has implemented a lot of the code that is implemented in Windows service code on the Microsoft .NET platform, proving the vision.

      There's nothing to see here.

    4. Re:Already debunked. by Anonymous Coward · · Score: 1, Informative

      The point is that the wrapping is often 'thin'. For example, WinForms retains most of the ugly Win32 characteristics such as the 'dispose pattern' or lack of modern OOP principles such as the Model-View-Controller paradigm etc etc

    5. Re:Already debunked. by shannara256 · · Score: 1
      Being anti-Microsoft doesn't automatically make something true.
      Yes.. But having dissassembly output does...

      Sweet!

      In other news, there is no god. Disassembly output follows:

      _main PROC NEAR
      push OFFSET FLAT:??_C@_0BC@FGCI@There?5is?5no?5god?4?6?$AA@ ; `string'
      call _printf
      pop ecx
      ret 0
      _main ENDP
    6. Re:Already debunked. by Anonymous Coward · · Score: 0

      We use C#/.Net alot for back-end servers. If you look at the .NET Framework, one can find out which parts of the lib you cannot use.

      For instance, if you don't use System.Native.* or System.Windows.*, you can run your app on *nix via mono in general.

      We have been running mono on platforms we cannot get a JRE for. It is funny that people keep touting how great Java is, but on some platforms we use, the newest JRE is 1.3.x. On these same platforms, mono runs just fine.

      C# and .Net isn't so bad, and we've picked it over Java5, especially since we can run mono and not be stuck with an MS OS.

      However, using Windows.Forms DOES tie you to MS. But for our back-end apps, and web services (you can use mono under apache to get ASP.NET), all is good. Definitely not "thin wrappers" around win32.

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

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

    2. Re:Avalon availability by Anonymous Coward · · Score: 0

      Gee, how come I never get invited to the Primary Domain Controller conference...

    3. Re:Avalon availability by Anonymous Coward · · Score: 0

      You might want to check what Active Directory tree you're in.

  27. you missed the point by iONiUM · · Score: 0

    I think you missed the point.

    Google won't search for a # sign (among other symbols), so when you search for "C#", all it searches for is "C".

    1. Re:you missed the point by iONiUM · · Score: 1

      Hm, not to respond to myself, but..

      It seems i was wrong, a C# search does work. Looks like google hardcoded it to work for specificaly C#, as if you try K#, or im sure very many other variations, it doesn't work.

    2. Re:you missed the point by cnettel · · Score: 1

      It's actually quite interesting. Try searching for C#, K#, respectively. Then try C++, K++. Obviously, for ++, they made it into a letter-like symbol (while a single + isn't). For #, they added (at least) C# and J#, but not the general symbol as aletter. (J# is the Microsoft wrapper for compiling Java 1.1 code, plus some Swing support, into running under the .NET framework. One nice thing about it is that it's able to binary serialize into Java-compatible stuff, so if you need to fix interoperability, that's a safe bet.)

    3. Re:you missed the point by Anonymous Coward · · Score: 0

      Google won't search for a # sign (among other symbols)

      They 'fixed' that now.

    4. Re:you missed the point by Quill_28 · · Score: 1

      It is a pain in the rear to search for c# books, on sites like amazone ebay or half.

  28. 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 l0rd · · Score: 1

      Or Python, or PERL.

      It really pisses me off how these Microsoft zealots just wont face reality and keep bringing out crappy web apps.

      Having programmed in both PHP & ASP.NET extensivly, I'll take PHP & Smarty over .NET any day.

    2. Re:OT: Scott Swigart by danheskett · · Score: 1, Offtopic

      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.

      ASP.NET is a good platform for web-development. It's language independent - C#, VB.NET, Python, even Perl! is possible. It is event driven and object orietated, and serves proper valid XHTML or HTML. It allows great object re-use, encapsulation, and verification possibilities. It is fast to develop in and performs well under load.

      Very solid technology. (That being said, I am still primarily a PHP4 developer). A lot of the functionality of ASP.NET can be recreated manually with PHP4, and much of can be done natively with PHP5. But most PHP developers don't. Instead they manually code the same drudge-work of reading URL parameters, generating and parsing SQL-statements, and writing really un-resuable bits of code.

    3. Re:OT: Scott Swigart by rabtech · · Score: 1

      PHP came after (and was a response to / copy of) Microsoft's ASP platform.

      Furthermore, I don't think comparing PHP to WebForms+C#/VB is a valid comparison at all.

      --
      Natural != (nontoxic || beneficial)
    4. Re:OT: Scott Swigart by neye_eve · · Score: 1

      It really pisses me off how these Microsoft zealots just wont face reality and keep bringing out crappy web apps.

      Having programmed in both PHP & ASP.NET extensivly, I'll take PHP & Smarty over .NET any day.


      It really pisses me off how these Linux zealots just wont face reality and keep making non-supported claims.

      Having read both your reply and his, I'll take his argument with at least some supporting example over yours any day.

      If my response seems over the top, overgeneralizing, and illogical, then maybe you should check your own reply from an objective viewpoint. Note, i am making the assumption that you are trying to persuade people to agree with you. If not, and you're just making an "electronic vote", so to speak, then nevermind this post.

    5. Re:OT: Scott Swigart by truthsearch · · Score: 1

      If you believe ASP.NET is very solid technology I doubt you've tried to use it to build anything relatively big. To me part of the definition of "solid" is stable when scaled. Not only is performance horrible when trying to scale .NET to anything of reasonable size for a big business, but its flaws often bring it to a screaching halt.

      One of the great benefits of .NET is supposed to be no more buffer overflows, right? Well they've simply replaced them with massive memory leaks and poor COM interrop. And the tighter integration to SQL Server to bring you those nice paging abilities means your users are more than screwed when the primary database goes down. I've never seen a DBA create an elegant failover in large scale .NET+SQL Server systems. Plus SQL Server is more likely to hang or freeze its connections than return errors for your app to handle.

      ASP.NET sounds solid. But I have yet to see it act as such in real life situations (of course YMMV, I'm just speaking from what I've seen in the financial industry).

    6. Re:OT: Scott Swigart by hkb · · Score: 1

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

      Apparently, you've forgotten that in .NET, this is a matter of a few lines of code and a databind to accomplish. Unlike PHP where this is not object-oriented, is many lines of code, is kludgy and involves a foreach loop and manually pumping out a lot of HTML.

      Indeed, he's probably referring to PHP directly. But if you want to code with that piece of shit, duct-tape, brick building language, go for it.

      --
      /* Moderating all non-anonymous trolls up since 2004 */
    7. 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
    8. Re:OT: Scott Swigart by Moskie · · Score: 1

      Mod parent up. He's hit the nail on the head.

      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.

      That is 100% right. ASP.Net's ability to seperate page design from program code is nice with the .Net languages, and the custom controls are useful for modularizing you web applications, but that's where ASP.Net's usefullness ends. I refuse to use ASP.Net's built-in controls, because in the end you have no friggin clue what they're doing.

      Look, in the end, a web page is just HTML and Javascript. I want to have full control over that HTML and Javascript. Using ASP.Net's controls takes that control away from me. Screw that. I trust my HTML generation better than ASP.Net's.

    9. Re:OT: Scott Swigart by Anonymous Coward · · Score: 1, Insightful

      > ASP.NET is a good platform for web-development.

      Until your site scales. Then you have a nightmare on your hands as you try to replace it, piece by piece, with something that does scale.

      I love it for small intranet projects though. Very slick. Very quick to deploy.

    10. Re:OT: Scott Swigart by BigJimSlade · · Score: 1

      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.


      Your argument is somewhat true for large datasets. For small datasets, you are talking out of your ass.

      DataSets allow for caching of data on the web server. One query is done and the data is cached to be used again and again for the life of the DataSet (which can be stored in a session for postbacks to the server). Couple this with caching on the SQL Server and you have a very small hit on your data tier.

      The DataGrid can also be made to do paging your way (for larger sets of data, or if your just uncomfortable with the DataSet paradigm) by implementing event listeners for paging, and adjusting the SQL string passed to the server. This will cause more hits to the data tier, but will not force your web server to hold a large amount of data in memory.

      I've been using .NET every day for the last 3 years (and Java every day for 4 years before that) and I have found it to be very flexible in this respect. You just have to know which control to use in which situation.

    11. Re:OT: Scott Swigart by I!heartU · · Score: 1

      Just wanted to add, yeah it does some things ok, and sometimes the DataGrid likes to step all over hell with what you're doing. Like throw in linkbutton on the interior of the grid, then respond to the event in the handler; do something that changes your data set, now your Fed and have to repost back from the client, passing your state to know what your supposed to be doing. Not sure why I'm posting this just wanted to see if anyone has noticed this. Controls created after the Page_Load call have their events ignored for the most part. And that is when all Click events fire, so rebinding and recreating controls in a datagrid goes to hell. It all just ends up being easier to do it the old way. Unless you just have a reporting grid and want to sort it.

    12. Re:OT: Scott Swigart by dcam · · Score: 1

      Apparently, you've forgotten that in .NET, this is a matter of a few lines of code and a databind to accomplish.

      And in classic ASP it was just a few lines too. You just need to know which lines.

      --
      meh
    13. Re:OT: Scott Swigart by danheskett · · Score: 1

      The DataGrid control which you are referring to allows you to implement default paging and sorting or custom paging and sorting.
      Actually I am not talking about the DataGrid. It's very basic. But, you are incorrect. The DataGrid when used properly generates one and only query. If you used a stored procedure from SQL Server it's insanely fast. I designed and implemented a system that uses the DataGrid to page, sort, and edit 2.5M records with the average record being about 1k. By your account, that should have generated, ohh, let's see.. 2,500,000,000 bytes of traffic to the client, give or take overheard. But it doesn't. Because you are wrong. One query, stored procedure, with the DataGrid getting what it needs from the server-side recordset as needed. Since then I've moved onto other DataGrids, for example: http://www.axezz.com/AxpDatagrid/Index.aspx And since wrote my own that uses a client-side XML request and XSLT to load only the records needed ala-carte. As a control it successfully allows users to page, search, and edit without any full-round trips to the server and it's so much more efficent than a PHP solution that that the users went gaga. I was able to convert the 4million record table to a MS-SQL database, running on one web server and one database server from a 3 web-server/1-database server Apache/MySQL setup.


      It's ASP.NET at it's best. Most other web-development platforms do not anything at all to encourage re-use and encapsulation, namely PHP 4.x. They encourage users like yourself to do things "the fucking way they are fucking supposed to be fucking fucking har har har".

      You can swear about it "all the fucking time" and "the fucking controls", but you are completely wrong about many, many things.

      Making .NET scale is pathetically easy. Making controls use only the smallest subset of data needed is easy. Making nice, friendly, single round trip data grids is easy.

  29. Re:SHOCKER- Microsoft's new framework forces upgra by Anonymous Coward · · Score: 0

    Try to develop a Linux app

    In fairness, they should be able to alter the internal APIs if they want. But they should provide alternative interfaces for useful stuff like that.

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

    1. Re:If I say something idiotic and inflammatory... by smallguy78 · · Score: 1

      All of Grime's points are well counter-argued by Dan, none of them (if you're a .NET developer and know what Grime's babling on about) hold any validity.

      But like you say, it makes great AnTi-M$$$ fodder !!11111 oMg I Am TEh l33t lInuX hAck0r..

      --
      Nothing costs nothing
    2. Re:If I say something idiotic and inflammatory... by Anonymous Coward · · Score: 0

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

      Well, the first kernel may be true (the sky could be in a state of blue instead of orange or black). The second kernel of "truth" is not true, though. Blue is not the color of water. Water is transparent. It is colorless. Thus, if you fly you won't drown.

  31. 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.
    2. Re:Abandoned confidence? by zero_offset · · Score: 1

      Interesting, thanks for checking.

      Personally I think they should have stuck with NGWS, but MS has never been able to resist the lure of their marketing zombies (usually to their extreme disadvantage, in every case which comes to mind).

      --

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

    3. Re:Abandoned confidence? by RichardGrimes · · Score: 1

      sigh here is a scan of one of the CDs I was sent at the end of December 1999 when I joined the COM+2 tech preview.

      http://www.grimes.demon.co.uk/dotnet/images/complu s2.jpg

      On that CD is a readme.htm that gives a list of the files that will be installed. Here is the first few files in that list:

      File List for COM+ 2.0
      \%SYSTEM%\msdis110.dll
      \%SYSTEM%\CORPerfMonSymbols.ini
      \%SYSTEM%\CORPerfMonSymbols.h
      \%SYSTEM%\CustomMarshalers.mod
      \%SYSTEM%\System32\mscorsn.dll
      \%SYSTEM%\mscoree.dll
      \%SYSTEM%\mscoree.tlb
      \%SYSTEM%\mscorrc.dll
      \%SYSTEM%\System32\mscorlib.dll


      Its clear from this that they are the files for the .NET runtime

      So I am right about the name, will you now accept that I am right about the other stuff?

    4. Re:Abandoned confidence? by RichardGrimes · · Score: 1

      the link got broken in the editor, note that the name of the file is complus2.jpg (no space in it)

    5. Re:Abandoned confidence? by zero_offset · · Score: 1

      sigh, my information was based on one of the dev lead's breakout session speeches. He actually demonstrated the COM3 folder naming problem, in fact. Granted, this problem pre-dated the tech preview (at which time I was still annoyed it wasn't going to be called NGWS; my interest was largely unrelated to the Internet and the ".NET" name was a sure sign the marketing dweebs were poking their festering fingers into the pie).

      sigh, so to a degree I can grant you weren't completely off-base -- as I had already done in response to godfathr's reply yesterday -- but that is a far cry from suddenly reversing my position.

      sigh, as I stated in my final sentence in the original post, Fernandez rather handily dispatched most of your points. I don't necessarily agree with everything he said (which also doesn't mean I agree with you), but I found his response more than adequate.

      --

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

    6. Re:Abandoned confidence? by RichardGrimes · · Score: 1

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

      Are you referring to Mary Kirtland's MSJ Dec 97 aricle? That was .NET, not COM+ component services. Yes, the article title said COM+ but her article was about the client side runtime, which is what we now call .NET. What we now call COM+ is the server side runtime, and Mary's article was not about that. Both MTS and COM+ 1.0 (and 1.5 in XP) use the catalog to contain information about configured objects. Unmanaged C++ did not have attributes (VC7 does but that's a code generation tool). Instead you had to apply configuration through the COM+ component services explorer, or write some convoluted OLE automation code. The reason why you have to write convoluted OLE automation code is that MTS and COM+ were (IMO) provided to fix the problems that VB6 had with COM. That is:

      1) It's pointless calling CoInitializeSecurity in VB
      2) VB can only produce STA objects so has poor scaleability

      Further, Win32 security is a pain in VB (few people do it), transaction enlistment is also a pain, and VB versioning of COM libraries is bad.

      COM+ added automatic enlistment of distributed Tx (C++ can do this without COM+), role based secuity (it's not hard to do this in C++), Neutral Threading Model (not needed with C++ since you can create MTA objects anyway). All of those things were done for VB's benefit (and of course C++ could use them too). Of course COM+ also added LCE and queued componments, which you could write in C++ if you could be bothered.

      The point is that MTS/COM+ made VB COM objects useful and added features that was impossible to do in VB. Thus I argue that COM+ was simply created to extend the lifetime of VB because fixing VB's poor hadling of COM would be too difficult. (BTW COM+ did provide some new security features - cloaking and delegation - that were new to C++, but I would contest that they are minor compared to the features it added for VB)

    7. Re:Abandoned confidence? by qodfathr · · Score: 1

      I agree that it appears that one of the main reasons for MTS/COM+ existence was to assist VB COM. Automation was never pretty, and I'm glad I don't live in that world anymore. (I've never been a fan of Classic VB, and have luckily been able to avoid it, although I did find myself producing more VBScript than I care to remember when automating some systems back in 1999.) For my taste, VB.NET isn't any better -- C# does just fine for me. I also think porting VB code to VB.NET is a waste of time -- just run the VB code under vbrun, and do new development in VB.NET, if you are so inclinded. It's not like I took my millions of lines of C/C++ code and ported them to C# when I adopted C# as my primary language.

      I'm well versed in Mary's article. I had the good fortune to speak with Mary several times back in those days (not that she would remember -- she had become the unoffical spokesperson and was giving rpesentations all of the time). I was not referencing her article, however, I was referencing some Power Point presentations which I've kept around, and Lord knows if I'm allowed to share them (probably not). In them, I can see VC++ code WITH ATTRIBUTES, and this was in the VC6 days. Note that this version of the language NEVER SHIPPED, and primary development was moved over to Cool. The attributes in the sample code were mainly MTS-centric, which makes sense given the MSFT mindset at the time -- make developers more productive in a COM+MTS-activation world.

      It was THAT language, plus some new COM stuff, plus "the compiler hooked into the 'object repository'" thingy that thankfully never became anything (well, I guess the GAC is a whisper of that) which was, on these slides, labelled as COM+ 2.0.

      At the time, it looked interesting and even somewhat promising, but when the 'proper' NGWS and C# came about, I felt glad that Microsoft had course corrected. (And I have a particularly warm feeling about it today, considering I ship software which runs 6 figures a copy and it's 99.99% managed code -- and to be 100% managed under .NET 2.0.)

      I don't want to sound too much like a MSFT fan-boy, but I've been more productive with C# and .NET than I have been on any other platform (and I started back in 1976, so I've used a lot of them -- TRS-80, CP/M, DOS, VAX VMS, Ultrix, SunOS, Solaris, Mac, Linux, BSD, IRIX, AS/400, Windows, etc., and I've been through my share of langauges, too, including BASIC, assembler, APL, Lisp, C++ (via cfront, no less) Prolog, Java, etc.) For me, it's not the perfect development platform, just the best. (And today we did our first run of our .NET app under OS X, thank you project Mono!) .NET has it's place, and it just happens to be the place were I am at today. (3 years ago I was deep in Java land, loved it at the time, yet now hate when I have to return because of the differences between C#/CLR and Java/JVM. For me, the .NET environment is a little more 'natural'. Three years from now I could easily be in a completely different place, and cringe at the thought of a return to the .NET universe.)

      --
      Yes, it's true. This man has no dick.
    8. Re:Abandoned confidence? by RichardGrimes · · Score: 1
      >I was not referencing her article, however, I was referencing some Power Point presentations
      >which I've kept around, and Lord knows if I'm allowed to share them (probably not). In them, I
      > can see VC++ code WITH ATTRIBUTES, and this was in the VC6 days. Note that this version
      > of the language NEVER SHIPPED, and primary development was moved over to Cool. The

      Well, without knowing exactly what you are referring to I cannot argue with you. Mary's article did have C++ with attributes, isn't that what you are talking about?

      I attended several C++ meetings at Microsoft in the timeframe you are talking about, and I did see some attributed C++, but I cannot remember the details (I've got my notes somewhere...). Of course, one of the aims of the VC team at that time was to produce attributed unmanaged C++, which did appear in VC7. And, of course, Managed C++ in VC7 is attributed. So when you say that an attributed version of C++ never shipped, well, several versions have shipped, but perhaps not the one that you saw in your powerpoints

      > attributes in the sample code were mainly MTS-centric, which makes sense given the MSFT
      > mindset at the time -- make developers more productive in a COM+MTS-activation world.

      Don Box produced some 'attributed' C++ where the attributes were XML. Again, that was in the time frame you mention.

      Oh well, its all history now.

  32. 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
    1. Re:Ick by Quill_28 · · Score: 1

      Why?

  33. Syntax error by anpe · · Score: 1, Informative

    From TFA:

    for ( int i = 0; i < x; i++) {...}

    Guess what language it's written in? If you said either C, C++, C#, and Java, then you are correct.


    Tss, tss. The bold part is _not_ legal C. Nice try Dan.

    1. 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?
    2. Re:Syntax error by anpe · · Score: 1

      Duh! Happens that you're right, so much for me reading outdated code :)

    3. Re:Syntax error by Anonymous Coward · · Score: 0

      Well, you've been shown to be a know-nothing asswipe. Dude!!!

  34. Below is an example of a for loop by noidentity · · Score: 1

    Below is an example of afor loop.

    for (int i = 0; i

    Man, I tried to compile it and got several errors! x was undefined, and ... wasn't a valid statement.

  35. cant get it to work by Anonymous Coward · · Score: 0


    -bash-2.05b$ cat jjj.c
    main()
    {
    for (int i = 0; i x; i++) {}
    }

    -bash-2.05b$ gcc --version
    gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-49)
    Copyright (C) 2002 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    -bash-2.05b$ gcc -std=c99 jjj.c
    jjj.c:2: warning: return type defaults to `int'
    jjj.c: In function `main':
    jjj.c:3: syntax error before "x"
    jjj.c:3: syntax error before ')' token
    -bash-2.05b$ uname -a
    Linux xxxxxxx.whatever 2.4.21-27.0.2.EL #1 Wed Jan 12 23:46:37 EST 2005 i686 i686 i386 GNU/Linux

    1. Re:cant get it to work by Anonymous Coward · · Score: 0

      put a less-than symbol between the 'i' and the 'x'.
      Slashdot wont display it, but a coder would know it was there.

  36. Yeah, like _that_ was hard... by leonbrooks · · Score: 1
    the whole system is still a solid improvement over MFC
    Name something that isn't.
    --
    Got time? Spend some of it coding or testing
    1. Re:Yeah, like _that_ was hard... by bloo9298 · · Score: 1

      No disagreement about the value of MFC, but I would say that X Toolkit is comparable rather than better...

  37. IE7 on Windows 2000 by MauMan · · Score: 1
    Dan Fernandez's (My Response) response to Richard Grimes (RG)

    * RG: I take the decision to make Avalon available to other versions of Windows as a lack of confidence in the sales of Longhorn.
    * RG: However, Microsoft's announcement that Avalon will be available for other versions of Windows indicates to me that they are not so confident on the uptake of Longhorn, and developers will not write applications for Avalon if they are not convinced that there will be the clients that will run it.

    My Reponse: The decision to make Avalon available to other versions of Windows was driven by one thing, customer demand. Any rudimentary Web search turns up results of customers complaining about not being able to have this functionality on down-level operating systems.

    Good! Then things like SP2 fixes and IE7 for windows 2000 will not be a problem since customers are complaining about having functionality on down-level operating systems!
    --
    ------- Code to try when you're bored: qsort( 0, UINT_MAX, sizeof( int* ), IntCompare );
  38. 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.

  39. MS losing confidence? by ellisDtrails · · Score: 1

    Thats news to me. MS is pushing ASP.NET 2.0 / Whidbey heavily, with new betas/previews coming out regularly. I work for a software integrator specializing in .NET based solutions, and business has never been better. We are working on a Cold Fusion -> .NET port now, and J2EE -> .NET port as well.

    1. Re:MS losing confidence? by Anonymous Coward · · Score: 0

      Nah, your just cashing in on the hype!

  40. Is Microsoft not a sort of huge worm itself? by MerlinTheWizard · · Score: 1

    Windows does get installed on computers even before they are purchased! Talk about efficient spreading... a spyware vendor's wildest dream... ;-)

  41. Re:SHOCKER- Microsoft's new framework forces upgra by Anonymous Coward · · Score: 0

    Are you sure, that your definition of "most" is not different from everyone's else?

  42. Uh, oh by ggvaidya · · Score: 1

    Look - trollmeat!

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

    2. Re:Python? Ruby? Squeak? by bloo9298 · · Score: 1

      Remind me again: why does .NET exist?

      Pocket PC.

    3. Re:Python? Ruby? Squeak? by Anonymous Coward · · Score: 0

      Why do they all manage X Windows? C# is like somebody coming up with Y Windows and hyping that we should all write apps for Y Windows even if it were only cosmetically different.

      They only get away with it because they are Microsoft, not because there's any sense in making a .Net in the first place.

    4. Re:Python? Ruby? Squeak? by mikelieman · · Score: 1

      XFCE. Feh!

      Ratpoison, now THAT's a window manager...

      --
      Technology -- No Place For Wimps! Grateful Dead and Jerry Garcia Chatroom -- http://www.wemissjerry.org
    5. Re:Python? Ruby? Squeak? by SmittyTheBold · · Score: 1

      Why do YOU exist when I already exist?

      He's not quite as redundant as you.

      --
      ± 29 dB
  44. Try wxRuby by leonbrooks · · Score: 2, Insightful

    Goodbye, quirks.

    --
    Got time? Spend some of it coding or testing
  45. Different stuff, and then some by leonbrooks · · Score: 1

    When MS ship two different office suites, three different 3D editors, three different vector drawing programs, a PhotoShop-class graphics editor, three different SQL databases (no seat charges or limits, natch) and three complete IDEs - each of which targets at least six languages - plus a genuine choice of web browsers and email clients for under AUD$100; then and only then will I start to be impressed by them.

    --
    Got time? Spend some of it coding or testing
  46. 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.
    1. Re:Holy stinking jesus by frag+thief · · Score: 1

      Yeah that made me laugh too. It's a clever way to filter out the lazy, clueless, and spambotian.

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

    2. Re:Case Sensitivity and capitalization conventions by 1000101 · · Score: 1

      For one, writing a compiler is much easier when you know that thisLittleThing and ThisLittleThing are different based solely on syntax.

    3. Re:Case Sensitivity and capitalization conventions by l4m3z0r · · Score: 1
      Case insensitivity is the mark of a very very very lazy coder. Once you adopt this method of doing things meaningful case conventions get tossed out the window.

      EXAMPLE: Lets say if I all caps something it means its a const, and if I caps the first letter its a object/variable while if i don't caps the first letter it could be a function call. When I'm coding along I'm gonna ignore those conventions if I can and just type all lowercase. Readability goes down severely as now I can no longer determine quickly what it is I'm looking at.

      Any and all complaints about case sensitivity are just the laziness of the complainer speaking. AWW I don't want to have to type that var name the same way everytime thats lame.

      Once you declare something the case of it should be the same as the declaration from then on out. So that it can be easily distinguised and found. Case sensitivity just forces good practice, while the oppossite encourages lazy ugly hackjob VB style code.

    4. Re:Case Sensitivity and capitalization conventions by Anonymous Coward · · Score: 0

      no, the *Java* coding convention is to start with lower-case letters. Most other ones are more useful that picky little crap like that.

    5. Re:Case Sensitivity and capitalization conventions by Anonymous Coward · · Score: 0

      Case insensitivity has the advantage of being easier for beginners. I'm amazed at how many beginners seem to not be able to grasp the concept of case sensitivity. That allows them to begin programming without too much fuss. (I assume that is why Pascal was not case sensitive either)

      Case sensitivity allows code to look more uniform. So you don't see all kinds of permutations of the code while trying to read it (but I guess editors could solve this too, by showing it to you the way you like it).

    6. Re:Case Sensitivity and capitalization conventions by Anonymous Coward · · Score: 0

      ...while the oppossite encourages lazy ugly hackjob VB style code.

      ...is too verbose. Couldnt you have meant the same thing with just saying:

      ...while the opposite encourages VB style code.

    7. Re:Case Sensitivity and capitalization conventions by geekoid · · Score: 1

      "But hey, that's another one of those religious issues that always flares up whenever the project coding standards document is released."

      Which is juvenile.

      There is no longer a need for case sensitivity.
      Yes, it gives you more characters;but that isn't needed anymore.
      When Variable where limited in in name size, I can see the point, no longer.
      The only conter point I have seen is longer variables take longer to type, to which I say "BooHoo".
      I am, of course, tlaking about easonalbe sizes. I variable name can get so big as to loose it's legability.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    8. Re:Case Sensitivity and capitalization conventions by Anonymous Coward · · Score: 0

      In Java, the case actually tells the reader something meaningful whereas in Microsoft's C# it is just a pointless, mindless convention (like hungarian notation). In Java "Class" is a class and "variable" is a variable of method, so you can write:

      List list = ...;

      for some generic temporary list. Then you know what it is without some stupid prefix like "TmpList" or "AList". Then the code you actually write, where you use the name a lot, is all lowercase unless it is a compound name. Basically this scheme is clearer, requires less Shifting, and is logical.

      Contrast that with C#, which just copied VB's based naming scheme, which was okay for a procedural case-insensitive language: Classes, Methods, Properties, privateVariableNames, privateMethodNames, privateProperties, etc. It doesn't tell you much of anything. You can still do "List list", but you don't get the other benefits, for example in java "Something.call()" you don't know if it is calling a Class (static) method or whether it is calling a method on the result of a property access. In "A.B" you don't know if "A" is a namespace, or "B" is one of class "A"'s properties, or if "A" is a property of this class so "B" is a property of its value.

      C# naming is all screwed up... inherited from an alien language or simple changed to make it look less like Java -- either way it's crap.

    9. Re:Case Sensitivity and capitalization conventions by tgrigsby · · Score: 1

      "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();


      I'll go a step further. I think that anyone who thinks that case insensitivity is juvenile was potty trained at gun-point. I've said it before and I'll say it again, allowing a programmer to write LastName and lastname and lastName and lAsTnAmE and mean something different each time is inviting trouble when the next guy comes along and tries to read the code. Rather than using lastname as a data member and lastName as a method name is just bad naming practice, period, end of story. While I agree with nearly everything Mr. Grimes had to say, throwing out a stab at the case-sensitivity argument was not only off-topic, it was... ...well.... ..Juvenile.

      --
      *** *** You're just jealous 'cause the voices talk to me... ***
    10. Re:Case Sensitivity and capitalization conventions by computational+super · · Score: 1

      Huh? Are you implying that allowing a programmer to write LastName and lastname and lastName and lAsTnAmE and mean the same thing is not inviting trouble? Using the same identifier in different places and capitalizing it differently is inviting trouble in general... case-sensitive languages just punish you for this up-front, with a compile error, rather than six months from now, with a missed reference during refactoring.

      --
      Proud neuron in the Slashdot hivemind since 2002.
    11. Re:Case Sensitivity and capitalization conventions by daviddennis · · Score: 1

      What I like about case insensitivity is that I'm not forcing my capitalization scheme on others, and vice versa.

      Many years ago, I worked in environments WHERE EVERYTHING WAS CODED IN ALL CAPS, and I found that icky to read, so I used all lowercase which I find more legible. I'd just like to still have that choice.

      Within a program, I'm going to be entirely consistent in my use of case, but I don't want to have to be consistent with other people when I find their conventions difficult to read.

      D

    12. Re:Case Sensitivity and capitalization conventions by daviddennis · · Score: 1

      It seems a pity that the best answer to my question is the lowest moderated, so perhaps some kind soul with moderator points could promote this on my behalf. (I'm the original poster so I can't use my own points).

      I really don't like the idea of storing real information in whether something's in caps or lower case. I suppose it started with

      #define TRUE 1

      but that at least has the virtue of being obvious at a glance. The difference between

      List

      and

      list

      isn't nearly as clear for untrained eyes.

      But I do see some logic behind this, and it's good for me to know the actual reason for this situation. I'm going to have to do some Java programming soon so it's good to recognize that in advance.

      D

    13. Re:Case Sensitivity and capitalization conventions by ProfKyne · · Score: 1

      Actually, Java's case conventions were popularized by Smalltalk.

      --
      "First you gotta do the truffle shuffle."
    14. Re:Case Sensitivity and capitalization conventions by tgrigsby · · Score: 1

      Using the same identifier in different places and capitalizing it differently is inviting trouble in general.

      I absolutely do not agree with this statement. If the compiler accepts any capitalization as valid and goes off the spelling only, there is trouble to get into. As for refactoring, non-case-sensitive refactoring tools exist and work very nicely, thank you very much. Check out Delphi 2005. "Suh-weet" only begins to describe it.

      --
      *** *** You're just jealous 'cause the voices talk to me... ***
  48. Yeah, goodbye quirks... by Anonymous Coward · · Score: 0

    Hello quirks. Trading the python quirks for ruby quirks isn't actually solving anything. Maybe you should accept that not everyone wants to use ruby, and some people who do want to can't, because they need threads.

    1. Re:Yeah, goodbye quirks... by pebs · · Score: 1

      Hello quirks. Trading the python quirks for ruby quirks isn't actually solving anything. Maybe you should accept that not everyone wants to use ruby, and some people who do want to can't, because they need threads.

      Pardon my ignorance, but how is Ruby lacking compared to Python regarding threads?

      --
      #!/
    2. Re:Yeah, goodbye quirks... by Anonymous Coward · · Score: 0

      Ruby has "green" threads, not native. On the other hand, it works under MS-DOS too :)

  49. Perl 5/6 vs VB6/.NET by Anonymous Coward · · Score: 0

    When you look at a programming language from the standpoint of: "This is how we represent the knowledge we have," it starts to make incompatibilities look less desirable. It also makes it seem unwise to encode your knowledge in a language owned by a large corporation, but I digress :)

    I have only been watching Perl 6 development out of the corner of my eye. I remember reading something like "Perl 6 will have a Perl 5 compiler"

    Will Perl 6 still have a Perl 5 compiler?

    How is the Perl community planning to face the compatibility/porting issues that the VB community has had so much trouble with?

    1. Re:Perl 5/6 vs VB6/.NET by Anonymous Coward · · Score: 0

      it is not Perl 6 that will have a Perl 5 compiler, but Parrot

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

    1. Re:So, what's a good API? by brainstyle · · Score: 1
      If you have access to OS X, check out Cocoa. It's a really nice API that's been around a long time, thanks largely to its being built on Objective C (You gotta try Interface Builder to get the full effect, mind you).

      Objective C is a really nice object oriented C variant, although it's still a C variant so you have to manage memory, have C-style for loops, and so forth. It's not Python, but as object oriented C languages go, Obj-C beats the pants off of C++.

      --
      "Why can't everyone just be straight with me?"
      "Because we live in a bendy world, dear."
    2. Re:So, what's a good API? by Anonymous Coward · · Score: 0

      What kind of API do you prefer ? A good one, or one which is similar to .NET ?

    3. Re:So, what's a good API? by Anonymous Coward · · Score: 0

      Yep, Cocoa is probably the best Framework/API around today.

      However, you don't need OSX to use it. Cocoa is just Apple's implementation of OpenStep (with some extensions) and GNUstep is a freely available implementation which you can use on Linux, BSD and even Windoze. They even implemented many of Apple's extensions. The eye candy isn't as nice as Apple's (yet) but that's only because so far the developers have been busy working towards the 1.0 release and looks weren't that important. In the future people will work on making it look nice, too.

      And as you mentioned Python, PyObjC is a bridge for Python to hook into both Cocoa (on OSX) and OpenStep/GNUstep (on other platforms).

    4. Re:So, what's a good API? by SunFan · · Score: 1


      What about Qt?

      --
      -- Microsoft is the most expensive commodity operating system and office suite vendor in the marketplace.
  51. 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 Anonymous Coward · · Score: 0

      hahaha

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

    3. Re:Happens every now and then by hkb · · Score: 1

      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.

      Perhaps because VB != Visual Basic/VB.NET.

      Additionally, VB.NET is now fully OO. You're still stuck in the VB 4/5/6 days. Same language structure (with additions), different platform entirely.

      Personally, I abhor VB/VB.NET's syntax and code entirely in C#, but it has its place... mainly for entry-level programmers to stumble about their code.

      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.

      Yes, because every programmer should have to learn a billion programming languages. Each tailored to a specific task he needs to accomplish. Get real, not every programmer lives, breaths, eats, reads-before-bed programming.

      --
      /* Moderating all non-anonymous trolls up since 2004 */
    4. Re:Happens every now and then by Abcd1234 · · Score: 1

      Yes, because every programmer should have to learn a billion programming languages.

      If you as a programmer can't learn a new language in a matter of days (and that's being exceedingly generous), you don't deserve the title... a programming language is nothing more than a tool, and knowing only one is analagous to a carpenter who only knows how to use a hammer.

    5. Re:Happens every now and then by Tyler+Durden · · Score: 1
      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.

      Pascal? PASCAL???! Your argrument is that languages should be used to do the jobs they were designed to do and yet you cite Pascal, a programming language created to teach people to learn how to write well-structured code, as a good language for application development? It is because of what Pascal was developed for that it's structure is far too inflexible for a lot of serious software development.

      C was created to write portable operating systems. If you can name one language that can fit this niche better then I'd love to hear it.

      --
      Happy people make bad consumers.
    6. Re:Happens every now and then by leandrod · · Score: 1
      > VB != Visual Basic/VB.NET

      So what? It's still BASIC at heart.

      > VB.NET is now fully OO

      So you take a mess and make it messier still... worse, VB is used mainly to create DB apps, and what we need is a relational DB to substitute SQL; until then, all this language shifting will have only marginal improvements.

      > it has its place... mainly for entry-level programmers to stumble about their code./i>

      So no need for OO... and BTW, these guys could use Pascal or COBOL and have a better language at reach, better portability... should guys who need BASIC to do something be allowed anywhere near commercial apps?

      > every programmer should have to learn a billion programming languages

      Who said that? Just take an approach... if it's custom development by dumb programmers, take COBOL; if you have slightly better programmers, Pascal; if you really have good programmers, go OO with Smalltalk or functional with any Lisp derivative, Haskell or ML. Reserve BASIC for teaching COBOL wannabes and C derivatives for systems programming.

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

      And BASIC, it was only a stepping stone in learning COBOL.

      I think it mirrored FORTRAN far more than COBOL.

      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.

      Smalltalk and the Lisp family keep getting stepped on by domain-specific tools in the marketplace for some reason. Perhaps this is because the domain-specific tools provide common platform and conventions for doing domain-specific stuff, while Lisp and ST allow everyone to roll their own, making each shop different, making it harder to find developers who can hit the floor running.

      When those meta-friendly languages you mention do start trying to create domain-specific libraries, they run into all the "design-by-committee" problems you describe. It is the same problem, just shifted to a slightly different area (library design instead of language).

    8. Re:Happens every now and then by Blakey+Rat · · Score: 1

      Try RealBasic.

      There *are* BASIC implementations there that are much, much better than Visual Basic.

    9. Re:Happens every now and then by leandrod · · Score: 1
      > It is because of what Pascal was developed for that it's structure is far too inflexible for a lot of serious software development.

      What is serious? Obviously you won't create an OS or Office suite in Pascal. But if you have average programmers to create or extend custom commercial applications, it's far more interesting than, say, Microsoft Visual BASIC. No wonder Borland Delphi came so much later and still got a sizeable chunk of the market. If your programmers are dumber, go COBOL; if smarter, go functional or OO.

      > C was created to write portable operating systems

      So use it for that. And for things like Office suites, basic utilities... not for custom commercial apps.

      --
      Leandro Guimarães Faria Corcete DUTRA
      DA, DBA, SysAdmin, Data Modeller
      GNU Project, Debian GNU/Lin
    10. Re:Happens every now and then by leandrod · · Score: 1
      > the same problem, just shifted to a slightly different area (library design instead of language).

      At least you get decent languages that can be extended in different directions instead of changing the languages of choice every few years...

      Standardising libraries is not a big deal.

      The jump really is getting managers to value technical excellence instead of just wanting cheap programmers. There are quite a few people using IBM's Visual Age Smalltalk, or some commercial Lisp, but the hype is always dumber.

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

      I don't know any programming languages. I just read code and "do likewise" :)

    12. Re:Happens every now and then by Tablizer · · Score: 1

      The jump really is getting managers to value technical excellence instead of just wanting cheap programmers.

      Well, that ain't gonna happen anytime soon, so we must learn to live with it. It is difficult to find good programmers, not necessarily because they are rare, but because they are hard to detect.

    13. Re:Happens every now and then by maysonl · · Score: 1

      Take a look at Pascal-6 AKA Oberon-2 plus AKA ...Component Pascal available currently in two versions, one in an IDE for Windows, the other a compliler for Java and .NET.

    14. Re:Happens every now and then by leandrod · · Score: 1
      > that ain't gonna happen anytime soon, so we must learn to live with it

      So why waste mediocre programmers in write-only languages such as the C-derived ones? Better give them COBOL or Pascal and let them toil with known quantities...

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

      This is true and false.

      I can learn enough to get by in a new language in a matter of days. However it months or years to learn to program well in that language. Perl is the one exception to this, in that nobody can program well in perl.

      --
      meh
    16. Re:Happens every now and then by Teancum · · Score: 1
      What is serious? Obviously you won't create an OS or Office suite in Pascal. But if you have average programmers to create or extend custom commercial applications, it's far more interesting than, say, Microsoft Visual BASIC. No wonder Borland Delphi came so much later and still got a sizeable chunk of the market. If your programmers are dumber, go COBOL; if smarter, go functional or OO.


      As a hardcore Pascal programmer, I would be to differ even on the point that an OS could not be written in Pascal. It is mainly a desire to do so, and the base of developers willing to create the product in the first place. Same with an Office suite.

      Mainly this is a prejudice revolving primarily over what language you've learned. I've seen language fanatics go heap praises of many other languages as well, but C and C++ get rave reviews mainly because of the widespread support from universities and the already huge established base of programmers.

      I have yet to find a major algorithm or data structure that was written in C or C++ that couldn't be written in Pascal (given a good compiler that relaxes some of Wirth's silly requirements). This includes device drivers and low-level memory manipulation.

      Basically, choose a good language that meets your needs and suits your programming style. The rest doesn't matter.
    17. Re:Happens every now and then by Tyler+Durden · · Score: 1

      Just because an OS can be written in Pascal doesn't mean it should. C is very low-level by its very nature. It makes the bare minimum number of assumptions on the functioning of your generic processor and no more. This offers a lot of control for programmers and a pretty efficent compiled program while preserving a great deal of source code portability. If you were to relax the syntax of Pascal enough to do as well a job then what you'd end up with would be a piss-poor form of Pascal which was twisted to fit a niche already filled perfectly well by other languages.

      Funny that you mentioned university support for programming languages. When I was an undergrad majoring in CS, Pascal was the primary programming language we used. It was because of Pascal's failure in so many real-world development situations that it is no longer taught as frequently. In my opinion, it would have been nice if Delphi replaced Visual Basic as the primarily language used for RAD, though.

      I think a language should be chosen more based on needs than personal programming style. The more languages you're used to, the easier time you'll have finding the proper language to use for whatever tool you need to build. If I'm using C to do a task that can be easily done by a scripting language and speed isn't the issue, then I'm wasting my time.

      --
      Happy people make bad consumers.
    18. Re:Happens every now and then by stor · · Score: 1

      Now if only people would rethink and take the pain of learning a real, elegant language... a functional (Lisp, Scheme, Haskell, ML)

      (((why(((the))(fuck))))(do))((so))))
      (many)))(p rogrammers))))(((find)(scheme)))
      ((((elegant))))) )?

      It was the first programming language we were taught at Uni and it seriously turned me off programming. I hated that shite. When they started teaching us C it was like a breath of fresh air.

      Cheers
      Stor

      p.s. I know I'm WRONG with this. The most respected programmers I know usually think Lisp is a very good language. There's a reason for that I'm sure but goddamn I hated it. Counting parenthesis on a vax (iirc) was a freaking pain.

      --
      "Yeah well there's a lot of stuff that should be, but isn't"
    19. Re:Happens every now and then by Teancum · · Score: 1

      I don't want to belabor this point too much more, but the reason universities choose to dump Pascal had a lot more to do with the availability of compilers, together with a major marketing push by OS vendors (Microsoft among them) to make C the primary development environment.

      Unix was built on C, and has become the dominant operating system (in all of its various flavors). If you work in Unix, programming in C is a very natural fit, and most other programming languages fall way short in a Unix environment. The Win32 API is also largely built on C, although consideration for other programming environments was at least attempted. Add in VMS (major portions also done in C), most of the Mac OS flavors, and you got 99% of all operating systems, including even embedded OS environments. In a chicken and egg situation, the environments all use C and were written in it, so it is encouraged to continue down that path. In other words, C is used because it is an OS language, not necessarily the other way around. If a major operating system were written in BASIC, things would be quite a bit different.

      In addition, and I won't argue this point, developing a C compiler is much easier than developing a Pascal compiler. If you are going to be teaching a compiler theory class, it would be useful to teach how to develop a real compiler by using the C programming language as opposed to something like Lisp, COBOL, or even Pascal. As a result, there have been many good C compilers that have been written. And to further add to this, as C is a simpler compiler it can be bootstrapped easier in the initial development cycle of the operating system environment with fewer headaches at the beginning

      Still, is it a good programming language simply because it is easy to write the compiler itself in the first place?

      What killed Delphi (or is killing Delphi) was that Borland didn't want to be seen as a major agressor in the compiler market against Microsoft, and instead decided to push up the price of their compilers to corporate developers rather than to more ordinary computer users, as was the case with the earlier Turbo Pascal series. Borland shows the marketing savvy of Wang and DEC in that regard. As for technical quality, I put Borland development environments as being way ahead of anything Microsoft ever developed. Switching the name of the company from Borland to Inprise and back to Borland didn't help either.

      I will also agree that if you have experience in multiple programming languages that you will find that some languages tend to fit an application better than others. I do find, however, that there are a bunch of C-language biggots who write everything in that language simply because they have been brainwashed into thinking the language is the best thing that has ever been invented, and the final, ultimate programming language that can ever be used.

      As far as relaxing Pascal syntax, some simple no-brainers include having functions not being required to return a result to a variable (more like how C does it anyway), built-in string manipulation with the languages including the + operator for strings, and OOP extensions that had to be hacked on just like C was turned into C++. There are several other concepts that have been added to Pascal over the years and moved beyond the original Wirth definitions due to having been used in a production environment rather than just in theory. It doesn't really destory the language either, and there is still a big difference between C and Pascal.

      Most good programmers end up getting into a language they feel pretty comfortable with, and moving beyond that rut is sometimes quite difficult.

    20. Re:Happens every now and then by Threni · · Score: 1

      Isn't Perl usually written in C/C++? Cut out the middle man, that's what I say! Faster! Easier to write! MUCH easier to maintain!

    21. Re:Happens every now and then by leandrod · · Score: 1
      > Counting parenthesis on a vax (iirc) was a freaking pain.

      As Borland proved with the Turbo Pascal IDE and Microsoft with its Visual line, the IDE can make all the difference... try Emacs parenthesis highlighting.

      --
      Leandro Guimarães Faria Corcete DUTRA
      DA, DBA, SysAdmin, Data Modeller
      GNU Project, Debian GNU/Lin
    22. Re:Happens every now and then by Tyler+Durden · · Score: 1

      An excellent post, and I don't have much to add.

      The reason I feel C is a good programming language (besides my own subjective preferences) is that it turned out to work so well within the niche it was created to be used for. Maybe I should look around some more, but I can't think of any programming language that can achieve the task it was created for as well. (Although, perhaps Python may become known as a tour de force scripting language).

      I realize that a basic C compiler is one of the easiest to write. In my experience, much of the programming language theory is taught using Common Lisp. Although when it comes time to write an actual compiler, C is most likely to be written.

      I understand that C is sometimes extended past the point of its usefulness. Sometimes I feel that the C++ language is an example of this. (Though I'd like to try learning some Objective C some time).

      --
      Happy people make bad consumers.
  52. As ridiculous as saying that IBM's SAA... by dpbsmith · · Score: 1

    ...wasn't a well-planned, thoroughly implemented engineering architecture.

    Or that the Titanic didn't have enough lifeboats.

    How can we ever make progress with all these Monday-morning-quarterbacking naysayers?

  53. Yes, it is legal C. by Anonymous Coward · · Score: 1

    That is most certainly valid C. Declarations in for loops are allowed starting in C99. As you can guess by the "99" part, its been that way for a few years now.

  54. you whiffed by Anonymous Coward · · Score: 0

    He set you up for a "litte thing" joke and you missed it.

  55. Good programmers don't do that. by Anonymous Coward · · Score: 0

    Look at Linus' coding style guidelines, and all the BSD's style guidelines. They all say not do make stupidVariableNamesLikeThis. In your example, little_thing() would be appropriate, but you are supposed to try to make it shorter if you can while still having it clear. thing() is likely not very clear though.

  56. That's proprietary software for you.... by Anonymous Coward · · Score: 1, Funny
    At least with Open Source Software, when the kid developing it graduates and moves out of his mom's basement and abandons his open source project; other kids will take the lead (or, of course, you could just hire the first kid).

    When Microsoft or other proprietary vendors abandon their projects - well, your business is SOL.

  57. MOD THIS BULLSHIT DOWN. by Anonymous Coward · · Score: 1

    Here's a clue, if you don't know C, don't moderate a post about what is and isn't valid C. Just leave it for someone qualified. He is absolutely wrong, that is perfectly valid C, read the C99 spec.

  58. Not really ironic. by Anonymous Coward · · Score: 0
    Open Source software has a much better track record of not leaving customers stranded with end-of-life software than proprietary vendors.

    On a Alpha, what software do you expect find best supported in 2 years? Windows NT's Alpha release? Or Linux?

    The version of Debian I have running on my old computer happily has all the latest security patches - all covered in my original purchase-price of the software. And I feel like I can trust the vendor (debian.org) that they will continue to allow me access to security patches for the forseeable future.

    As far as I know, the Windows95 I have there isn't supported nearly as well; and if I wanted security patches for it, I couldn't afford them.

    I bet a lot that in 10 years Linux *Will* be the best supported platform for .NET after microsoft moves on to COM-3 or Active-Y or whatever their next generation will be.

  59. Hungarian Notation Perhaps? by Anonymous Coward · · Score: 0
    So could some kind soul explain the benefits of case-sensitivity, and why we should write thisLittleThing() instead of ThisLittleThing?

    Do you work in strongly or loosely typed languages? I think the (arguable) benefit of this convention is mostly seen when you indicate the variables data-type as part of the variable name. Ie:
    intYourAge or strYourName

    This way you can easily seperate the variable type prefix from the variable name. If they were written as:
    IntYourAge and StrYourName

    It would take a little more thinking to seperate out which part was the actual variable name vs the datatype indicator.

    Though some would argue that indicating your variable datatype in the name is unnecessary... personally I find it makes reading and supporting other peoples code a little easier.

    1. Re:Hungarian Notation Perhaps? by daviddennis · · Score: 1

      I've always hated that, probably because I think the most important thing about something is not its data type but what it is.

      For example, strName is emphasizing that it's a string, and not that it's a name. And of course I know a name is going to be a string and have no need to tell me that it is.

      Maybe if this is really important to someone it should be NameStr (meaning the most important thing is that it's a name, and its variable type is string).

      D

  60. You insensitive clod! by Anonymous Coward · · Score: 0

    no txt

  61. LOL WHAT by Anonymous Coward · · Score: 0

    I didn't know Sony made PS/2s. Now, PS2s they do make, but perhaps U didn't know that IBM made a computer series called PS/2 (complete with MCA busses and all), some of them running a rather neat operating system called... yes, OS/2 (not to be confused with OS2, which is a Danish TV channel). In short, cease your FUD-utterances.

  62. Re:SHOCKER- Microsoft's new framework forces upgra by lowe0 · · Score: 1

    Every company's just in it for the money. Their shareholders would sue them if they did otherwise.

  63. LOL WHAT by Anonymous Coward · · Score: 0

    Deep-freeze the turd. Then polish it. Walla, its no longer a turd!! :)))))

  64. 1000K does not equal 1MB by moojin · · Score: 1

    I don't have much to say on the pros or cons on the .Net platform, but it really gets to me when Developers (Computer Programmers) state that 1000K equals 1MB.

    Dan Fernandez:

    "My Response: Maybe I'm being too picky, but the size is 23,698K or 23.7MB."

    It would have slightly aided his argument if he had used the correct ratio of 1024K to 1MB. The total size of the .Net package would have been 23.1MB or 23.14MB.

    Andrew

    --
    Why did I lurk so long before registering for a Slashdot account? I could have had a Slashdot ID of less than 100000.
    1. Re:1000K does not equal 1MB by imsabbel · · Score: 1

      I have a 160GB as in 160*10^9 byte HD, so i dont care a bit how much space in 2^something is used, but in megabyte.
      If you mean MiB or GiB, say it.

      --
      HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
    2. Re:1000K does not equal 1MB by Anonymous Coward · · Score: 0

      Sorry, I couldn't let it go. He'll be referring to the size of the file on disk, rather than in memory. On HDDs (for some obscure but probably marketing related reason)1000K does equal 1MB.

  65. 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 SunFan · · Score: 1

      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.

      What about other non-proprietary platforms?

      So, for starters, there's Linux, of course, but also OpenBSD, FreeBSD, NetBSD, OpenSolaris, soon, and many others that are useful but less publicised (meaning I don't recall their names).

      Perhaps we can include Darwin, too, but that sits a little more on the fence, in terms of the closed portions of Mac OS.

      BTW, Java works on pretty much all of the above with little or no porting effort.

      --
      -- Microsoft is the most expensive commodity operating system and office suite vendor in the marketplace.
    2. Re:platform independence by idlake · · Score: 1

      What about other non-proprietary platforms? So, for starters, there's Linux, of course, but also OpenBSD, FreeBSD, NetBSD, OpenSolaris, soon, and many others that are useful but less publicised (meaning I don't recall their names).

      I wouldn't call a toolkit that runs on all of those systems "cross-platform": all of them have pretty much the same UNIX core APIs, the same namespaces, and the same window/graphics system. The differences between them are about like the differences between Windows NT and XP.

      BTW, Java works on pretty much all of the above with little or no porting effort.

      So do all major native X11 toolkits and applications using them; you don't need Java for that.

    3. Re:platform independence by SunFan · · Score: 1

      So do all major native X11 toolkits and applications using them; you don't need Java for that.

      This is true, but Java doesn't need to be recompiled, and it'll work on Windows and Mac OS without recompilation as a bonus. While I really like APIs like Qt, for example, Java does have it's uses.

      For example, there is a personal finance manager called Moneydance that is written in Java. I just unpacked it and it ran. The only configuration was installing the license key to unlock the "demo mode".

      --
      -- Microsoft is the most expensive commodity operating system and office suite vendor in the marketplace.
    4. Re:platform independence by Anonymous Coward · · Score: 0

      You seem to be one of those people whose orizont ends with their desktop system. Does J2EE and distribuite computing (normally in a eterogeneous environment) means anything o you?
      Can you do distribuite computing with c# when maybe you have to build an application based on thre systems, one let's say it is Unix based, the second is a Mainframe and the third is a windows server system?
      Having this in mind (and if you do not please take a book and read, Orielly has some good one to be used as a starting point)...how little seems to you the X11 issue?

    5. Re:platform independence by idlake · · Score: 1

      and it'll work on Windows and Mac OS without recompilation as a bonus

      And you pay for that in lousy desktop integration.

      For example, there is a personal finance manager called Moneydance that is written in Java. I just unpacked it and it ran. The only configuration was installing the license key to unlock the "demo mode".

      And that's supposed to be good? The documentation isn't in the system documentation files, the package isn't part of the package system, you can't install it using the regular uninstaller, the look-and-feel likely differs from that of native applications, the menus don't conform to platform conventions, etc. It may get the job done, but it's not the way to get a high-quality application. OSX and Windows users would reject that sort of junk, and so should Linux users.

    6. Re:platform independence by slumberer · · Score: 1

      Given that the market share of linux is slowly increasing platform independence is becoming more and more important. If you have a number of customers that all use different systems you don't want to have to create a unique application for each one. It is much more productive to able to write that application in one language and have it just work for all your clients. This saves both money and time, something that most developers that I know never have enough of!

    7. Re:platform independence by SunFan · · Score: 1

      OSX and Windows users would reject that sort of junk, and so should Linux users.

      It's actually a decent application, and tight integration into Windows or GNOME is really irrelevant, when for a fixed amount of effort they are able to capture the broadest audience. It isn't like they have a magic extra twelve developers to handle integration on every platform. So, what are they supposed to do, dump all the potential Windows or Mac users just so they can dot every 'i' and cross every 't' in GNOME? There's just no business case in that outside of either the biggest companies who can afford it or the most-narrowly focused projects who don't care about anything outside of their favorite platform du jour.

      Just to address package management by your standards, for example, they would have to release Solaris packages, RPMs, BSD packages, zip files, gzipped tarballs, Debs, and dozens more. Just this task would grind their development to a halt.

      --
      -- Microsoft is the most expensive commodity operating system and office suite vendor in the marketplace.
    8. 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.
    9. Re:platform independence by idlake · · Score: 1

      and tight integration into Windows or GNOME is really irrelevant, when for a fixed amount of effort they are able to capture the broadest audience

      Has this company made any dent against commercial Windows packages? Doesn't look like it.

      So, what are they supposed to do, dump all the potential Windows or Mac users just so they can dot every 'i' and cross every 't' in GNOME?

      If they want to ship on Gnome, they should do a high-quality job. Otherwise, by shipping poorly integrated software and violating UI conventions, they are harming the Gnome desktop by reducing its usability.

      Just to address package management by your standards, for example, they would have to release Solaris packages, RPMs, BSD packages, zip files, gzipped tarballs, Debs, and dozens more. Just this task would grind their development to a halt.

      Well, if they can't stand the heat, they should get out of the kitchen. Overall, it sounds like the people developing Moneydance simply aren't up to doing what it takes to create professional software, so they are tinkering around with poorly packaged cross-platform stuff.

  66. Thousands...built understanding...around MS by Anonymous Coward · · Score: 0
    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.

    We're doomed.

    We might just as well pray for a dinosaur-killer asteroid right now.

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

    1. Re:70 million .Net Users by truthsearch · · Score: 1

      Good point. Add to that the people who've had to download it numerous times because of re-installs. They're counting me at least 5 times over. Plus I'm sure they're adding v1.0 and 1.1 downloads (everyone who upgraded is counted twice), and possibly beta downloaders.

      The PC shipment number can of course be tracked. But how in the world can they know that over 2.5 million developers are targeting managed code? Has anyone seen a very thorough (scientific) survey? If it's based on responses to things on their web sites I'm sure it's totally off. If they only got that number from asking their biggest customers they're also way off. Upper management doesn't know what managed code is and in many places they don't count exactly how many people are using each tool.

    2. Re:70 million .Net Users by grocer · · Score: 1

      .net serves one purpose for me...to run GB-PVR

      So until Windows intergrates something like fink or includes make/install like OS X (& Linux), there will always be a small slice of users that need .net (or its predecessor) to use free as in beer released software.

  68. Please use "ii" instead of just "i" by Anonymous Coward · · Score: 0

    You can searh for "ii" (and "jj" and "kk"...) and get meaningful results. This makes finding all the uses of a variable a helluva lot easier.

    Try searching for just plain "i" and see what you get...

    1. Re:Please use "ii" instead of just "i" by cortana · · Score: 1

      Or you can use a decent editor. :p

      In vim: /

      Or, click on a symbol and press *

    2. Re:Please use "ii" instead of just "i" by cortana · · Score: 1

      Bollocks. That should have been:

      /<i>

  69. Blue is the color of the screen of death by Anonymous Coward · · Score: 0
    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."

    No, blue is the color of the screen of death.

    Gawd, don't you know anything?

  70. Reusing existing graphics routines not by Eravnrekaree · · Score: 1

    Reusing the existing graphics routines, such as Win32 calls, is not necessarily a bad thing. If you already have graphics routines that are written and do what you want, why rewrite them, why reinvent the wheel? Some people think that just because some code is old and was used in a previous API that it cannot be good to use it as the foundation for a new API. This is quite absurd, if the old code works fine and is implemented well, it would be a waste of time to reimplemented the functionality just for a new API. It is a fallacy to think that just because software is old that it must not be good, often older software is often the best. The whole idea of modularity and libraries is to facilitate reuse of existing code rather than rewriting what is essentially the same functionality over and over agian.

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

  72. I'll just stick with PHP by TheDoctorWho · · Score: 1

    Seems I can master most I what I need to do without relying on .NET, which even at one time Gates said he was pushing too fast.

  73. What now Mr. Grimes? by Anonymous Coward · · Score: 0

    Dear Mr. Grimes,

    Thank you for sharing your opinions on the overall state of .nET in your view. I am now left wondering what you plan on writing about in your future columns pertaining to Windows programming? COM/COM+ is not an option as well as any other antiquated technologies which were absorbed by .nET. Are you resigning as a writer for DDJ? Will all your future articles become focused on Java? You do realize that any attempt to write about future Microsoft technologies will only result in either directly or indirectly referencing .nET technology and implementation. I am truly interested in your thoughts on this...

    Thank you for your thoughts on all of this!

    Sincerely,
    A Concerned Developer who values your opinion...

    p.s. Will you be offering a refund for anyone who purchased your book "Developing Applications with Visual Studio .NET"? Do you sincerely believe you "earned" your money for the work you put in this publication? Based on what you feel about the overall Microsoft framework it seems you also were merely feeding on the hype of the development masses at the time this was released. This is my opinion, in the least, which is collectively shared by hundreds of thousands of readers who purchased something you put your name upon! Furthermore, I will think twice before buying anything which has been authored or co-authored by Richard Grimes, unless you can give me a reasonable doubt to explain your wishy-washy attitude on your development teachings. Please explain yourself Mr. Grimes...

  74. that would be great by idlake · · Score: 1

    That might be ironic, but it would also be quite good. C# is a good language and it is just what a modern desktop platform needs. It would remove any remaining confusion about the relationship between Mono and .NET, and it would make Mono/Gnome the clear winner and future strategy for Linux and the clear winner for application development on any platform: a native GUI with an easy-to-use programming language and runtime behind it.

    Unfortunately, we should be so lucky. Microsoft is going to push this because otherwise their platform is in complete shambles: their existing C++-based solutions just don't cut it anymore.

    If it's not .NET, they would have to find a complete, high-quality C++ solution to replace what they have right now. Either they would have to have a secret internal project, or they would have to buy an external company (Troll Tech?). That's not something they can do overnight.

  75. Hello, Your ass is calling! by Foofoobar · · Score: 1

    Netscape 4.0 codebase was thrown out with the bathwater. The Mozilla codebase (which Firefox is based on) is a complete rewrite.

    Yet another example of a Windows zealot practicing vetriliquism through his anus.

    --
    This is my sig. There are many like it but this one is mine.
  76. 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
    1. Re:on shareware and windows... by acroyear · · Score: 1

      and pardon me while i *duh* myself.

      of course, the guy's only going to talk to Shareware developers. Shareware as a concept reflects Microsoft's #1 core value: people only write software to make money.

      of course, the hundreds of opensource applications managed yearly simply don't exist to them because nobody make any money off of them.

      --
      "But remember, most lynch mobs aren't this nice." (H.Simpson)
      -- Joe
    2. Re:on shareware and windows... by Spuggy · · Score: 1

      Actually, GotDotNet.com has a pretty sizeable and growing collection of .NET based open-source applications. Sf.net also has a decent number of OSS C# programs as well.

      Obviously the bulk of the applications are for Windows only, but to say that there are no (or very little) .NET based OSS solutions at all isn't entirely fair.

      As far as the IDEs go, there are SharpDevelop and Web Matrix, which are both OSS development environments, serving different purposes.

    3. Re:on shareware and windows... by acroyear · · Score: 1

      as they are and what the future may hold are two different things. "quite a few and growing" is nice. but for the present, C#/.NET OSS is not nearly out there on the same scale as the other languages. all things (and all "absolute" statements) are relative.

      of course, more OSS .NET would actually encourage more .NET development. its easier to get into a programming language/environment when you have (*a working*) something to use as either an example or as a baseline to fork from. text-book examples aren't nearly powerful enough to show the potential of a platform. (like how webservice examples suck because the main thing they demonstrate is a new way to get your stock-ticker).

      --
      "But remember, most lynch mobs aren't this nice." (H.Simpson)
      -- Joe
  77. 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.

  78. Mr. Grimes is right on track but... by pennystinker · · Score: 1

    ... didn't go far enough.

    Even-handed comment: Mr. Grimes' criticism of .NET, is consistent with my experience with the framework. Although there are many positives about .NET, mainly its attempt to both re-do Java and begin the proper burial of COM, it does have a number of short-comings that are consistent with the idea that much of the framework was contrived without sufficient INTELLIGENT thought put into it.

    Accurate comment: .NET has a number of short-comings that make it only tolerable to work with if and only if I'm being paid to do so:

    ASP.NET: At first seems sexy, but after MANY years of use has proven itself to be broken and worthless. Viewstate: broken, Server-side event model: cool idea, but wrongly implemented in ASP.NET.

    Windows.NET and ASP.NET: Yet another attempt to graft the "minds of VB" onto the programmer. When is M$ going to get it that building serious applications from a UI-centric point-of-view is wrong-headed in the extreme.

    CLR: Again another attempt to enslave the programming world to the VB zombie army.

  79. Just what IS it about .NET by Whatsmynickname · · Score: 1

    that makes programmers want to abandon the time / resources / existing efforts / training to go from Win32 APIs to .NET? I've heard other programmers say "I've got to learn .NET" or "we're doing this project in .NET" when the same project could easily have been done in native Win32? Especially when now I have to worry about if the target machine has the right CLR or not (one or more configurations hassles). For a virtualized machine, I'd rather do Java, as it can at least go across machines...

    What does .NET offer that doing the same thing in native Win32 does not?

    Recently, I've attended a workshop for a rather large GIS software package, and they've discussed migration from COM to .NET. All I had to say were two words "Garbage Collection", and the next half hour was spent on the problems they're having with .NET... When you have something that already works in native, why would I want to migrate it to .NET?

    Is part of this transition some sort of "groupthink" as opposed to actual design considerations?

    1. Re:Just what IS it about .NET by Sloppy · · Score: 1
      What does .NET offer that doing the same thing in native Win32 does not?
      A new excuse.
      --
      As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
    2. Re:Just what IS it about .NET by Teancum · · Score: 1

      The only think I can imagine that dotNet offers to developers is the potential to be cross-platform compatable, but maintain a similar look & feel to applications developed on a Win32 platform. Java applets have a very different feel and a very different API layout.

      Of course, with Wine and ReactOS, all of that cross-platform BS really goes out the window as well.

      As a software manager, the consideration for moving to dotNet was hoping that you wouldn't be left in the dust when the Win32 API platform was totally abondoned by Microsoft. It is going to happen anyway, and the software tools developed by Microsoft are going to go the way of Visual C for MS-DOS. You can still technically buy them, but it won't do you a whole lot of good. And there will be many much better tools that are open source software.

      I don't see Win32 as a general platform dying out for at least another 30-50 years, but it will turn substantially away from Microsoft, just as FreeDOS has done with the DOS development environment. The real trick will be to see if equipment manufacturers will continue to build IA-32 compatable CPUs 30 years from now. I think that is likely as well in some form.

    3. Re:Just what IS it about .NET by SmurfButcher+Bob · · Score: 1

      Actually, it's a money issue.

      From the management side, it further enables the 10,000 monkey technique of writing code. Quite literally, it lowers the requires skillset for production... ergo reduces the "Fast, Cheap, Correct... pick Two" paradox.

      From the coder's side, there's a small group-think issue... but actual reasons will depend on the individual. VB weenies will like it because they can pretend to be competent. More talented coders will tolerate it because the crap developed by the VB crowd can be better managed / mitigated. Those in the middle will like it because it has better screen-sav^H^H^H colors.

      From the Microsoft side, .NET is a further push for lock-in via the Application Barrier. By enabling the 10k Monkey technique, it causes software vendors to be dependant on the MS platform because the better "fast/cheap/correct" ratio allows for better pricing or margins. Likewise, this will steer the enterprise toward these vendors. And Since the enterprise is dependant on the vendor... well, the enterprise now requires MS for a cost-effective development model, and the lock-in (application barrier) is complete.

      So goes the theory, at least.

      --

      help me i've cloned myself and can't remember which one I am

  80. VSS?? by Anonymous Coward · · Score: 0

    Use Inno!

  81. 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.
    1. Re:Glad I'm a JAVA guy! by Anonymous Coward · · Score: 0

      What's a "hourse"?

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

    1. Re:Not Embraced and Extended Here by Anonymous Coward · · Score: 0

      Hear! Hear!

      The first post here that I have seen that recognizes .not for exactly what it is: Microsoft's lame attempt at picking up their marbles and running home because they lost a lawsuit to Sun!

      Fuck 'em; just fuck 'em!

  83. .NET is confusing by TwicK80 · · Score: 1

    None of the class names start with a 'C'. How am I supposed to know ArrayList is a class if its not CArrayList?? How am I supposed to know what types of parameters to pass into a method if the parameter names don't loop like this: lpguliieParam

  84. .NET is great -- so why isn't it on every desktop by Anonymous Coward · · Score: 0

    Let me first put out the following thought: the original author seems to have felt extremely burned by MS's decision to push VB.NET. Given the tone of this article it comes as no surprise that his early comparison of Java and Cool was misconstrued as an attack by one of the VS.NET developers. In this article, he doesn't even mention the positives of .NET.

    Like this guy, I have been using .NET from the beginning. Since I have always despised VB, I don't think I really had the baggage he did coming to the framework. C# and .NET is easily the most productive development environment I've used for building UI applications. No question.

    I also don't understand the complaint about the framework not being "100% Pure .NET". Has it ever occurred to anyone that maybe that's why .NET doesn't suck like Swing?

    But then there's this itty bitty little thing called distribution. .NET isn't installed anywhere in the world except by some enterprises that have adopted it. Since I'm not interested in ASP.NET, desktop availability is the key.

    It took all of a two years for Microsoft to install a JVM into Windows. .NET has been available for almost 4 years and STILL is not shipping with Windows or pushed out via Windows update. This is the key to .NET taking off. But I'm not sure why this guy is leaving now. I don't think Microsoft will give up on it since many enterprises have adopted it. Eventually they will figure out the distribution issue.

    PS - I agree that 23 megs is huge, but the Java redistributable is 15 megs, not some tiny fraction that he claims.

  85. 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
  86. M$ should ditch .NET and copycat Apple's Cocoa by Anonymous Coward · · Score: 0

    Microsoft should ditch .NET already and do what they do best: copycat somebody else's work.

    In this case, the best thing to copycat is Cocoa. As Cocoa is based on OpenStep, which - as far as the API is concerned is an open standard - Microsoft won't even have to worry about having to pay anybody any license fees or getting sued. They also don't have to buy another company to get access to the technology. All they have to do is implement their own OpenStep framework.

    NeXT and SUN have already done the design work for them - implementation is all that remains to be done. Far less risky than trying to come up with your own stuff, especially if you aren't any good at inventing anything.

    Microsoft have copied OS and API stuff from Apple and SUN before, so why not this time?

    1. Re:M$ should ditch .NET and copycat Apple's Cocoa by Anonymous Coward · · Score: 0

      They will probably do something like that after it has become clear that Longhorn is a flop.

    2. Re:M$ should ditch .NET and copycat Apple's Cocoa by RahoulB · · Score: 1

      cos Next/OpenStep/Cocoa are based upon Objective C, which is a small step from Smalltalk. And that is too weird for the majority of developers who are used to curly braces, for loops and if statements.

  87. 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."
    1. Re:Case Insensitivity by Anonymous Coward · · Score: 0

      You're talking to the Slashdot crowd here. No one rich enough here to buy your bridge, man.

  88. 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
    1. Re:Umm, ever RTFA? by hkb · · Score: 1

      The poster you responded to was rightfully pointing out that Microsoft has a poor record at implementing secure browser-based full app solutions

      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.

      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.

      --
      /* Moderating all non-anonymous trolls up since 2004 */
    2. Re:Umm, ever RTFA? by argent · · Score: 1

      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.

      Perhaps you should address the original article's comments and explain why the original article is incorrect then. :)

    3. Re:Umm, ever RTFA? by truthsearch · · Score: 1

      it will completely render to industry standards on the front end, just like ASP.NET

      Haven't used ASP.NET much? It's output is only "standard" to Internet Explorer or Netscape 3, your choice. Both, however, don't conform to actual W3C standards.

      And if they wanted to conform to standards with XAML, why didn't they embrace XUL instead of recreate it? XUL could have been submitted as a standard and they could have used it. But instead they make their own implementation. Sounds just like Microsoft Java in the 90's.

      And what do you mean by XAML rendering to industry standards? It's XML transmitted to a client. What GUI standard is it using?

  89. are you serious? by Anonymous Coward · · Score: 0

    Do you really believe that using Microsoft development products and languages causes a person to be closed minded? You may find it hard to believe, but there are a lot of people that have actually considered the repercussions of using equivalent solutions before going with Microsoft. Money is always money, no matter which way you slice it.

    1. Re:are you serious? by Javaman59 · · Score: 1
      Agreed. For a start, I've tried Linux on my home computer several times since 1998, and each time I have just deleted it after several weeks (and many hours of fiddling), and gone back to using Windows because it works better.

      In the workplace, my company's customers routinely specify that solutions must run on Windows. They don't tell us why they are sticking with Windows, but I would guess that they do it because it works well for them, at a reasonable cost. As long as they keep doing this (and there is no indication of them stopping), I'll have a job as a Windows programmer

      --
      I'm a software visionary. I don't code.
  90. Because it demonstrates the preferred model by SuperKendall · · Score: 1

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

    Actually it can be quite illuminating because many times such software is written using the platform "preferred" way - in the case of this forum I assume using the WIndows.Forms stuff and so on. Thus, if the forum sucks there is a good chance of the framework design kind of sucking underneath.

    You saw the same result with early EJB apps too before people figures out to use stuff like Struts and Spring. And all of the good .Net apps I have seen stray heavily outside the frameworks and into tons of custom code.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Because it demonstrates the preferred model by dcam · · Score: 1

      The interesting thing about .Net is just what the preferred means of development on that platform are.

      I recently moved from developing code in ASP, to ASP.Net. I know classic ASP inside out, and have developed effective best practices for writing in that language. It is always interesting moving to a new language because you need to work all that stuff out again.

      Anyway, after working with ASP.Net for about 6 months I find that I am only able to use a small subest of the language. Not because I am unable to use the full language, but because some of it is just not appropriate.

      Take for example forms validation. Using this you can validate forms either client or server side. However the client side validation is not cross browser compatible, and the server side stuff doesn't work the way I would like it to. Result: I run my own custom code. I am going against recommended practices for .Net, but according to my best practices, this is the way forward.

      --
      meh
  91. A C Snob by Nom+du+Keyboard · · Score: 1
    [VB.NET] I know the language well. However, it's not a language I am comfortable with: I find that whenever I use the language, I tend to swear a lot. It just doesn't work the way I expect it to...

    You sound here like like all the C-language snobs I've ever met -- and I've met a lot of them since 1977 when both BASIC and C co-existed under different O/S on DEC-11 processors.

    I could -- and often have -- said exactly the same things about C and its descendents over the decades. My comments don't make C++ a bad language, and yours don't make VB6/.NET bad languages.

    The one difference between us is that I don't blame the langauge when I don't know how to use it properly. Instead I use languages I prefer, or learn how to use it properly, and shut up about it.

    --
    "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
  92. 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.

  93. .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 jwsd · · Score: 1

      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.


      I think it is extreme to call .Net as a marketing exercise. Although C# was modeled after Java, hence not innovative in the programming world, it is a great leap forward for VB developers and MFC developers. You cannot argue C#'s object oriented programming style is quite different from VB's programming style and C#'s garbage collection is quite different from C++'s new and delete. In that sense, .Net is a natural evolution for Microsoft developers. Would you call Java Windows environment a thin wrapper around Win32? Hardly. .Net has obvious technical merits, why would Microsoft give up on that?

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

    3. Re:.Net DOA by ralphdaugherty · · Score: 1

      Although C# was modeled after Java, hence not innovative in the programming world, it is a great leap forward for VB developers and MFC developers.

      Although Java versus C# is stated throughout the thread, as far as I recall C# was done by Delphi's former developers when Microsoft ripped off the bulk of the Delphi development staff, an act that ranks right up there with what they did to Netscape, Foxpro and others, that is, destroyed superior competition such as Delphi with whatever it took.

      That C# was done by the Delphi guy with the .NET runtime ala Java is as far as I could see a replacement for the Delphi threat, while J# was a replacement for the Java threat. I never looked at them, but that's what seemed to be going on to me.

      Also not generally recognized when .NET is said to be their equivalennt of the Java model is that IBM has a multi language (RPG, Cobol, C++, Java) interoperable environment on the AS/400 called Integrated Language Environment which .NET also emulates. .NET is really a hybrid of ILE and Java, taking on both IBM and Sun, not just Sun. And with C# they took on Borland. This is not a simple .NET versus Java thing as is widely portrayed here, but a hybrid of technologies from all their major competitors.

      rd

    4. Re:.Net DOA by ralphdaugherty · · Score: 1

      This is late for this thread, but for the record, I read this excerpt today in InformationWeek. What is interesting here is that both Oracle and Microsoft are doing rewrites of multiple acquired ERP's:

      Oracle combining Oracle apps, Peoplesoft, and JD Edwards in Project Fusion,

      and Microsoft combining Great Plains, Solomon, Navision, and Axapta in Project Green along with their own CRM and a (they hope to be) Quickbooks killer called Magellan.

      Microsoft is doing it in .NET, but Longhorn's slip has screwed everything up and their own business app rewrite in .NET has seriously slipped as swell, and we're talking over 300 developers on it.

      On the other hand, it's Microsoft, and on top of that, a rewrite of four ERP's in .NET, and anyone who believed their dates to start with were brainwashed anyway.

      The interesting thing is that Oracle is rewriting four huge ERP's, not the small time stuff Microsoft is doing, but rewriting four huge ERP's in Java.

      We will see if rewrites in Java will go any better than .NET. The only thing that Oracle has going for it is that Microsoft started earlier and has already missed their Project Green timeframe of late 2004.

      Oracle promised similar length, 2006, on a much bigger job, and has 800 developers on it.

      This is real Java versus .NET where it hits the road.

      rd

      Another important phase of Project Green is integrating Axapta and Navision into SharePoint Portal Server so that VARs can use common Webparts across the whole ERP spectrum, Utzschneider said.

      This is a much more evolutionary model than most Microsoft watchers construed the old Project Green to be. It was unclear to some solution providers how this effort, which starts at the user and works back into the innards of the system, will lead to the promised unified code base.

      "It's ironic that Microsoft appears to be backpedaling at a time when Oracle appears to be getting it all together with its Project Fusion [a melding of the best of Oracle and PeopleSoft apps]," said one longtime partner.

      Another partner disagreed. "There is an ability to create portal and .Net apps across functions so that core modules can be replaced over time and you get to pretty much what they promised," said John Hendrickson, CEO of Interdyn MicroVar, a solution provider in St. Paul, Minn.

  94. Managed C++ book by barrkel · · Score: 1

    Richard Grimes wrote a book on writing .NET apps with Managed C++.

    Microsoft are changing the Managed C++ syntax to a "C++/CLI binding", in a way which is completely incompatible with Managed C++.

    I think Richard Grimes is just really pissed off that Microsoft screwed him.

  95. LOL, wow, Grimes really got reamed... by Assmasher · · Score: 1

    Read the blog countering his 'points', LOL.

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

    1. Re:Ok, I'll bite by Anonymous Coward · · Score: 1, Funny
      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.
      The question is, does Ms C# export? And even more important, is she thread-safe? The last thing you'd want is for her to spawn a bunch of new processes when you had already sent her to garbage collection.

      (Insert your own innuendo-meanings here)
    2. Re:Ok, I'll bite by mabinogi · · Score: 1

      It's the C++isms of C# that bug me.

      I get the feeling that C programmers probably prefer the look of Java, because they don't have any C++ preconcieved ideas, and non keyword operators that they're not familiar with make them nervous (at least that's how it is with me).

      Whereas C# makes C++ developers feel at home....

      --
      Advanced users are users too!
    3. Re:Ok, I'll bite by sapgau · · Score: 1

      And lets not forget that Javascript kid (not so kid now) with his goatee and still riding on his skateboard. He's making ends meet by delivering errands between the rest of the neighborhood.

    4. Re:Ok, I'll bite by einhverfr · · Score: 1

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

      If you want a nice-looking language, use Python.

      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.

      yeah, but so are Perl and Lisp..... And Fortran may look ok but it is extremely restrictive and is quite annoying to actually work with...

      --

      LedgerSMB: Open source Accounting/ERP
  97. New Windows API by jerdenn · · Score: 1

    This is being addressed in the next Operating System, Longhorn. The API set is currently codename "WinFX", and will be 100% managed code. It will co-exist side by side with Win32, but is not intended to be a layer over Win32. The intent is to no longer add Operating System functionality through Win32. All new APIs will be WinFX APIs.

    More information from O'Reilly's OnDotNet.

  98. 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
  99. Avalon? by Sloppy · · Score: 1
    Grimey, as he liked to be called, wrote:
    ..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..
    Note for the future history books: it sounds like the word "Avalon" is going to be the new synonym for "horrific security nightmare" which leads to the usual advice, "that browser is only intended for the intranet; don't ever use it on the internet."

    I just can't believe anyone still thinks this is a good idea. Well, I can believe it; it just disappoints me that people are so fucking stupid that they never learn anything, even after having it pounded into their skulls like so many nails, resulting in them looking like a character out of the "Hellraiser" movies.

    This is a classic example of the main type of disaster for Microsoft users, which pays off handsomely for the "consultants" who are paid for their weekly visits to clean the virus-du-jour off their machines. And some dumbfuck will say, "but Microsoft has the best programmers, so surely it will be secure," not realizing that it doesn't matter how good your programmers are, if they have been ordered to create security holes. (I'm sure the Maginot line looked most impressive, as long as you didn't look at it on a map.) Fuckin' A, people, when are you gonna wake up?!?

    --
    As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
  100. now that's a change by Anonymous Coward · · Score: 0

    From the article: Microsoft has allowed marketing to take precedence over technology

    This is sad commentary about a once-proud company that brought us such bulwarks of technology as Bob and Windows 3.0.

  101. Summary of blog responses: by Pinback · · Score: 1

    Summary so far:
    Some Microsoft sucks answer ".Net is not crap" to the DDJ crank's ".Net is crap".

    Next up:
    Some Sun sucks are going to jump in with "java is not crap".

  102. Richard Grime's Page Ad - Ironic by Acer500 · · Score: 1

    I happened to visit http://www.richardgrimes.com/ , and on the left hand side there were some public service ads that said "Let's fight MS" and a link to ...

    http://www.msaa.com/

    The ads change, so it probably wont't be there by the time you visit it.

    --
    There are three kinds of lies: lies, damned lies, and statistics.
  103. the term used isn't what I think it is? by MexicanMenace · · Score: 1

    INCONCEIVABLE!

  104. .NET Hell by rastin · · Score: 2, Insightful

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

  105. MS pays my bills but I'm not afraid of Linux by tjstork · · Score: 1

    or Mac. Heck, my dream would be that my shareware app takes off and then I could write it for Linux and Macintosh both. I'd love to learn to program X/Windows with a real toolkit and have a clean C/C++ Api to work with like Unix does.

    --
    This is my sig.
  106. But they won't rewrite Windows by bonch · · Score: 1

    Longhorn will still retain Win32 compatibility. No way Microsoft is going to rewrite everything and toss it out the window, especially with the slips Longhorn has made and the technologies that will not be available on release (and will even be backported later).

    I, along with Grimes, will be very interested to see how much of Longhorn will actually be written in .NET. I bet you anything the Win32 layer will still be there, and that the .NET technologies will simply be running on top of it. That way, .NET apps and Win32 apps continue to run.

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

  107. How Disgusted Is He Over .NET? by dohboy · · Score: 1
    From http://www.richardgrimes.com/
    Richard has used .NET for five years, he was on the technical preview for COM+2 which was the technology that eventually became .NET. Richard has decided to break his link with .NET, this site will continue to contain the free .NET resources that Richard has produced over the last 5 years, but Richard will no longer be available to do any more work on .NET. He will not write any more .NET articles, no more .NET books and will no longer speak at .NET conferences.
    That is one very long gravy train he has jumped off.
  108. Good point by brlewis · · Score: 1

    I have to admit I've never seen a portability problem with a C#/.NET applet designed to run in web browsers on win32/Linux/BSD/MacOS/Solaris/Irix/HP-UX/AIX/etc.

  109. c++ will rise again by pyrrho · · Score: 1

    mark my words!

    people don't know what they are missing.

    flamebait! flamebait?!?! oh, sure, this is flamebait... but what a sad sad day that such a sentiment should be flamebait.

    first person to compare C++ to coding directly in Machine Language gets a special prize.

    --

    -pyrrho

  110. Its lacking by not supporting them. by Anonymous Coward · · Score: 1, Insightful

    Ruby doesn't support threads. Instead, the interpreter re-impliments pseudo threads inside the interpreter itself. This way you don't get all the pesky stability, speed, and scalability of OS threads, and instead get mostly working thread like substances, that can block the entire interpreter in some odd circumstances, and can't benefit from SMP.

  111. Exactly by SuperKendall · · Score: 1

    What really frustrates me about .Net is that managers are generally sold buy the flashy GUI development features.

    Yet for serious apps, you'll probably be heavily customizing things and going your own way (as you note).

    That's fine, as long as people are ready for that - but too many managers are buying into .Net as the magic web development solution.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Exactly by dcam · · Score: 1

      I'd agree, although it is helpful to have a base to start working from, even if you then customise that heavily.

      On a slighltly unrelated not, I believe we are seeing a slowdown in the adoption and release of new languages. Why? Because codebases are growing, in particular codebases with customisation. Codebases are larger and more complex than they have ever been, and they are only growing. The end result of this is that the pain of porting is just too large.

      It doesn't matter how good $new_tool_or_language is, we have achieved lockin.

      Take the app I am working on. It is around 70,000 lines of ASP for the web app part. Supported by maybe half that in a mix of VB, VBS and perl. As the sole programmer on this, I am not going to recode the lot just to port to .Net. So new stuff is written in .Net, and we are trying to migrate the onlder stuff across bit by bit. Conceivably there might be classic ASP code still in the app 5 years from now. This is life.

      --
      meh
  112. Not to mention by SuperKendall · · Score: 1

    Open Source also finally gives companies a bit of code that is not developed in-house. Even today, far too many people in companies develop stuff like custom logging frameworks, customer GUI frameworks, etc.

    Is it better for the economy for a million companies to be building logging frameworks and extenstions for them, or for a few open logging frameworks to be used with a few custom extension here and there?

    Thus you are getting the benefits of proprietary software (centailized development) at no additional cost - because with proprietary stuff you still have to have in-house developers spend time to understand whatever framework they choose to work with, proprietary or not.

    Open Source stuff is finally helping to realize the productivy gains the use of computers promised long ago - people are just now starting to realize this.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Not to mention by shaka · · Score: 1

      Mod parent up!

      This is my main gripe with software development today. I got the feeling as soon as I started working in the field in the late nineties, and it has grown on me since then.

      If I ever have to work on a content management-system, intranet or something like that again, I will puke. Companies spend thousands and thousands on developing the same things over and over and over again. This is what the guys in charge need to learn from Stallman - that they, and everyone else benefits from using and developing free software.

      And before someone mentions the obvious, of course I realise that there are certain areas where a company benefits from having their own in-house solution, but that's a tiny fraction of all the software that is spent money on developing.

      Before a manager grants funds for any in-house development, he or she should ask the question: Is this something that other software companies have done for 5 years or more? If the answer is yes, they should use and build upon a free software solution instead.

      --
      :wq!
  113. 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.

  114. Java Community Process is a SHAM by Anonymous Coward · · Score: 0

    Sun ultimately has the final say on every matter concerning Java. Some "community" process! You Sun fanboys continue to amuse me.

  115. Re: Who moved my cheese? by Anonymous Coward · · Score: 0

    Sounds like the cheese is on the move.

  116. Sort of. by leonbrooks · · Score: 1

    Something like Qt or Gtk or wx would be closer to what MFC is supposed to do. Any any of those and a dozen others ace it.

    For some reason, I think "MCP" (from Tron) when someone says MFC. Perhaps it's because MFC was one of Microsoft's many lock-in attempts.

    --
    Got time? Spend some of it coding or testing
  117. Er, nup. by leonbrooks · · Score: 1

    You can target that too.

    --
    Got time? Spend some of it coding or testing
  118. Green threads have some advantages by leonbrooks · · Score: 1

    See here for example. And there are a few good arguments against threads entirely (one of them being Linux's ultra-lite fork() implementation, which is of course not portable).

    That said, AFAICT the only reason I can see that (AFAIK) no portable native-thread Ruby module has yet been standardised on is that Matz doesn't like the idea.

    --
    Got time? Spend some of it coding or testing
  119. Conservatism! by sorbits · · Score: 1

    This is the stupidest arguments ever -- why is this moderated as informative? If this is how you judge technology you'll never jump on a new thing, because the existing one has broader support, more developers, more employers etc. Stupid stupid stupid!

    1. Re:Conservatism! by dubl-u · · Score: 1

      If this is how you judge technology you'll never jump on a new thing, because the existing one has broader support, more developers, more employers etc. Stupid stupid stupid!

      Hi! It looks like you've run out of your meds. Perhaps you should see if your pharmacy has auto-refill service available.

      You'll note that I didn't say that those are the only factors one should ever consider. I just said that those are why I currently use Java over C#.

      For my hobby projects, I'm perfectly glad to use weird or cutting-edge stuff. But for work for my clients, I think it's vital to take business factors into account. It's very rare that an ultra-new technology provides so much business benefit that it completely outweighs things like vendor support, tools support, and being able to find people who know the tech.

    2. Re:Conservatism! by Randolpho · · Score: 1

      Corporations and new languages don't mix very well. I just started a new job, and I get to wade through tons of fortan77 code.

      Fortran77. Where you still *have* to use the GOTO statement to loop.

      Sticking with Java because there's a better support base (i.e. because it's older) is perfectly valid.

      I personally would rather code with C# any day of the week, and I was a Java-enthusiast for years.

      --
      "Times have not become more violent. They have just become more televised."
      -Marilyn Manson