EditorsAbout the SiteComes vs. MicrosoftUsing This Web SiteSite ArchivesCredibility IndexOOXMLOpenDocumentPatentsNovellNews DigestSite NewsRSS

01.04.09

Novell’s Mono: Imitating a Failing Technology

Posted in Debian, Free/Libre Software, GNU/Linux, Microsoft, Mono, Novell, Ubuntu, Windows at 6:21 am by Dr. Roy Schestowitz

“Pearly Gates and Em-Ballmer
One promises you heaven and the other prepares you for the grave.”

Ray Noorda, Novell

NOVELL’S INFATUATION WITH .NET is a truly bizarre thing. Why would a company that was repeatedly betrayed (back-stabbed or illegally abused even) by Microsoft suddenly just follow its footsteps? As blunter authors would possibly ask, “what is Novell smokin’?” It’s almost paradoxical.

To call Microsoft “a success” is to confuse ubiquity with technical merits. Among the many reasons that Microsoft ‘succeeds’, one must account for the illegal deeds and political manipulation.

4 days ago, a person who is cautious not to be seen as Microsoft hostile (which he is not) said with high confidence that “Microsoft is just not ready for the enterprise.

In my last post I had made some comments about the Microsoft Windows not being capable of enterprise high performance computing. In the comments (upon request) I had posted some details on the SCSI subsystem of the Operating System, talking of the scatter gather lists when sequential SCSI commands are being coalesced just prior to being sent to the SCSI-based media. I wanted to continue on that topic and focus specifically on the NTFS file system and why it too is not intended for enterprise class usage.

[...]

With these limitations well known, then why do we still try to deploy Microsoft Windows in environments it was not suited for? The answer is familiarity. Microsoft for the most part owns the client/end-user market and with that the end-user has gotten too familiar and too comfortable with its platform. In turn what was built for home (and to an extent small business) use has leaked into an environment where it is not ready for. Please understand that I am not trying to preach against Microsoft and attack them. As many others in the high performing server/storage industry I have come to understand where certain problems originate from and that includes the limitations of the Windows platform. If you, the reader, feel something different with Microsoft and their role in enterprise class computing please feel free to comment. I know that I may not always be correct in my viewpoints and if you can shed any additional light I would very grateful.

Also, based on this bit of news from CMSWire, Microsoft’s current agenda is all too clear. It wants to become a necessary part — or the stack rather — of an already-successful but lesser advertised technology.

Despite the efforts Microsoft has made, there is still a high degree of animosity amongst those involved in open source projects towards the software company. For example, Microsoft has a no-charge version of SQL Server available, but it’s rarely used in the open source world. This edition of SQL Server isn’t fully open source — perhaps, this is part of the issue.

Microsoft hopes to sway LAMP-based developers to use parts of the Windows web application platform for certain uses. LAMP developers are known to utilize particular technologies for different needs. For instance, sometimes a developer will use Perl for one application and PHP for another. Will a typical open source developer look Microsoft’s way? Not until Microsoft establishes some credibility and trust within open source circles. Until this happens, most open source advocates are nervous, now knowing what Microsoft’s true motives are.

Bearing all of this in mind, Novell’s continues to just imitate Microsoft with Mono and other Microsoft-inspired technologies, turning a leading platform into ‘cheap Windows’. Why is Novell doing this (if not just to empower its new ally, Microsoft, just like its strategy requires)?

We continues to be concerned whenever Mono tries to creep into KDE. In this 143rd issue of KDE commit digest from Danny Allen (it’s the latest one), C# makes yet another appearance:

Support for on-the-fly compilation of Plasma data engines with the C# language bindings.

The person who pushes Mono 2.0 into Ubuntu is also doing this to Debian GNU/Linux. DevX has this new article which even promotes it.

The Mono 2.0 Offerings for Debian GNU/Linux

Find out how much of the Mono 2.0 (and beyond) platform is available for Debian users who want up-to-date .NET compatibility.

Mono is not about better development; it’s about turning GNU/Linux into “Windows for poor developers” (and users). There are many other issues.

“There is a substantive effort in open source to bring such an implementation of .Net to market, known as Mono and being driven by Novell, and one of the attributes of the agreement we made with Novell is that the intellectual property associated with that is available to Novell customers.”

Bob Muglia, Microsoft Senior Vice President

Jim Allchin on Novell

Share this post: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Reddit
  • co.mments
  • DZone
  • email
  • Google Bookmarks
  • LinkedIn
  • NewsVine
  • Print
  • Technorati
  • TwitThis
  • Facebook

If you liked this post, consider subscribing to the RSS feed or join us now at the IRC channels.

Pages that cross-reference this one

61 Comments

  1. AlexH said,

    January 4, 2009 at 6:44 am

    Gravatar

    Mono is exactly about better development; that’s why you completely fail to understand why it grows and why people write articles which promote it.

    If you don’t like the licensing situation around it for whatever reason, that’s up to you. To deny the technical reality of why people are interested in it is a bit bizarre, though.

  2. Roy Schestowitz said,

    January 4, 2009 at 6:49 am

    Gravatar

    If people require OOP, there is already Java, which is more advanced, GPL licensed, and not controlled by the company that calls Linux “Cancer”.

  3. AlexH said,

    January 4, 2009 at 7:25 am

    Gravatar

    By that measure they could also use C, C++, Python or any other language.

    What Mono offers is a lot more than “OOP”.

  4. Roy Schestowitz said,

    January 4, 2009 at 7:30 am

    Gravatar

    Yes, I know, but I was referring to the framework as well. Java is a lot more mature than Mono and there is room for development in C, C++, and Python under different environments.

  5. AlexH said,

    January 4, 2009 at 7:31 am

    Gravatar

    Sure, but that’s kind of besides the point. There are technical advantages to Mono that you’re not recognising which is entirely separate to whether or not you think it’s safe to use.

  6. Roy Schestowitz said,

    January 4, 2009 at 7:34 am

    Gravatar

    These empower a an unfriendly rival of Free software.

  7. AlexH said,

    January 4, 2009 at 7:40 am

    Gravatar

    Which, as I keep saying, isn’t a technical feature.

    You simply don’t understand why people find Mono interesting.

  8. Roy Schestowitz said,

    January 4, 2009 at 7:44 am

    Gravatar

    That’s besides many points they are rarely made aware of.

  9. AlexH said,

    January 4, 2009 at 7:46 am

    Gravatar

    No, it isn’t. The “Mono isn’t really free” meme is something a lot of people don’t agree with, including most distributions, and is a matter of opinion / faith.

    The “Mono isn’t technically interesting” meme is just factually inaccurate. I’m not saying it’s better than anything else; I’m just saying there are obvious reasons why people will want to use it.

  10. Roy Schestowitz said,

    January 4, 2009 at 7:51 am

    Gravatar

    That’s steering back to old debates. Two key points:

    * Mono makes Microsoft stronger
    * Microsoft has patents on .NET

    I’ll quote a comment from last night

    Your contention about Darryl being a Microsoft plant is probably correct, only they are called “Technical Evangelists” by Microsoft. Microsoft’s head of TE’s recently did a “mea culpa” and spilled the beans on their activities:
    http://platformevangelism.spaces.live.com/blog/cns !37F174267DC274C!126.entry
    AND
    http://platformevangelism.spaces.live.com/blog/cns !37F174267DC274C!152.entry

    “Darryl” could be the Darryn Dieken mentioned in that article. These and other admissions are also listed in the “The Plamondon Files” at http://cid-037f174267dc274c.skydrive.live.com/brow se.aspx/The%20Plamondon%20Files

    In the anti-trust lawsuit, Comes vs. Microsoft, the same PDF files were combined into one file at:
    http://antitrust.slated.org/www.iowaconsumercase.o rg/011607/3000/PX03096.pdf BUT, it LACKS the eye opening PR *** that Microsoft used. For example, in “Evangelism is War!” PDF one page has a single sentence that says “Microsoft is for developers”. The next page has the same sentence but with a circle and slash through it, and the next page says “Microsoft helps Microsoft!”.

    So, use Plamondon’s PDFs.

    One standout sentence in “Effective Evangelism!” is:
    “The field of battle is the software industry. Success is measured in shipping applications. Every line of code that is written to our standards is a small victory; every line of code that is written to any other standard, is a small defeat.”.

    Read that and think about MONO…. or about OOXML.

  11. Roy Schestowitz said,

    January 4, 2009 at 7:53 am

    Gravatar

    The URLs got mangled when I pasted them. Read the original comment for the URLs in tact.

  12. AlexH said,

    January 4, 2009 at 7:54 am

    Gravatar

    “Steering back to old debates”?!

    Pardon me for addressing the article rather than your opinion….

  13. Hunain said,

    January 4, 2009 at 8:25 am

    Gravatar

    This article is an insult to your readers’ intelligence.

    Mono clearly has many merits for development that set it apart from Mono. Alex points this out several times, and all you have to answer is your ideological chant of ‘it EVIL’.

    That is beside the point.

    You write in hour headline ‘a failing technology’.
    It isn’t.

    That’s the fact, and you can’t wipe it away by ideological chanting about its ‘ethics’.

  14. Hunain said,

    January 4, 2009 at 8:25 am

    Gravatar

    correction: “that set it apart from Java”

  15. Roy Schestowitz said,

    January 4, 2009 at 9:01 am

    Gravatar

    The word “failing” refers to Microsoft technologies.

  16. aeshna23 said,

    January 4, 2009 at 9:13 am

    Gravatar

    This conversation is far too abstract. If “Mono clearly has many merits for development that set it apart from Java”, then I’m sure someone can provide me a top five list of those merits.

    And given the risks of Mono, shouldn’t some developers improve some free software development tools to also have those merits?

  17. Dan O'Brian said,

    January 4, 2009 at 9:23 am

    Gravatar

    Sure, I can list 5:

    1) P/Invoke
    2) Mono supports SIMD, Java does not (nor does MS’s .NET)
    3) .NET (and thus Mono) support structs (Java does not)
    4) .NET has better generics than Java
    5) Wider variety of language support for the .NET runtime than the JVM.

    There are no doubt numerous others.

  18. Dan O'Brian said,

    January 4, 2009 at 9:28 am

    Gravatar

    Here are some more technical improvements that .NET has over Java:

    http://news.zdnet.com/2100-9595_22-129182.html

  19. xISO_ZWT said,

    January 4, 2009 at 9:43 am

    Gravatar

    A while back, we were implementing a “Fabric”, utilizing 4 Hitachi 9985, 10 IBM DS4400 which we replaced half way through with 4800, 12 Bladecenters, all using ‘root boot’ which MS said could not be done, 3 SUN 6140, using a combination of SAS-SATA, 1 SUN 5200 Net-attachment, controlled through Cisco 9920 and Brocade 48000.

    Our problem was consistent with any NTFS DAS on the local serving appliance connected to the fabric. The issues were frequent when extras spindles were added as storage demand grew on said server. The most common being corrupt data due to MFT corruption.

  20. Roy Schestowitz said,

    January 4, 2009 at 10:26 am

    Gravatar

    We sure attract a fair bit of .NET-savvy readers. That leaves me wondering.

  21. Hunain said,

    January 4, 2009 at 10:51 am

    Gravatar

    Outrageous lying always does that for a website. Nothing to be proud of on your part.

  22. Roy Schestowitz said,

    January 4, 2009 at 11:01 am

    Gravatar

    Show me where in this post I “lied”.

  23. xISO_ZWT said,

    January 4, 2009 at 11:07 am

    Gravatar

    One of our biggest problems is that of downsizing. Certified FC-architects & admins are picking up attrition due to removal of Win-admins. In our lab we’re running win2k8, for clients; (7000.0.081212-1400_client_en-us_Ultimate, win-7_ultimate_en_b6956(win6.1beta)). This is just for proof-of-concept (MS reps have been here). Doesn’t mean they’ll go in production.

    The level of ‘disk-churning’ and constant write-back alone drive you up the wall. This is unacceptable for use on SSD storage units we’re implementing.

  24. aeshna23 said,

    January 4, 2009 at 11:20 am

    Gravatar

    Thanks Dan for answering. I’ll look into these to the best of my non-developer ability. In my limited understanding I do wonder about the better generics of .NET. I have intellectual knowledge, though no practical experience, of generics. What exactly is more attractive about generics in .NET?

    And I promise that this is the last outrageously technical question that I ask on this tread!

  25. Dan O'Brian said,

    January 4, 2009 at 12:12 pm

    Gravatar

    You should probably read the answers here:

    http://stackoverflow.com/questions/355060/c-vs-java-generics

    of special note is the following criticism of Java’s generics implementation:

    Java Implementation

    Java Generics were originally designed so that the .class file format wouldn’t need to be changed. This would have meant that Generics-using code could run unchanged on JDK 1.4.0 and earlier JDK versions.

    However, the .class file format had to change anyway (for example, generics permits you to overload methods based solely on return type), but they didn’t revisit the design of Java Generics, so Java Generics remains a compile-time feature based on Type Erasure.

    You can find that at http://www.jprl.com/Blog/archive/development/2007/Aug-31.html (which is linked off of the stackoverflow link above).

  26. AlexH said,

    January 4, 2009 at 12:13 pm

    Gravatar

    @aeshna23: In general, Wikipedia’s articles are pretty good. For example, on generics, .net implements them in the run-time for any language, whereas for Java they are a Java-the-language only feature, not a JVM feature.

  27. aeshna23 said,

    January 4, 2009 at 12:41 pm

    Gravatar

    From what I read, the reason for the difference between .Net and Java in terms of generics is that Java chose to be backward compatible. Thus, the difference could be eliminated without too much hassle to the language itself, but there is all that old code.

    And the existence of that all that old code does mean that .Net and Mono will be superior in some areas to Java. I do get the point of those that defend Mono here. But the larger point is how should developers of FOSS spend their efforts? I do believe that Microsoft will get around to asserting patent rights on Mono which could mean that all their efforts will be wasted. Also, there is the question of creativity. Perhaps, I’m overly romantic about the computer, but what I hope to see in FOSS is new ideas, exciting new ideas. I don’t want to see FOSS developers creating a second rate version of Windows. I experience my hypocrisy about this in many ways. I’m not really helping FOSS at all. I’m a vegetarian, but I’ll eat those fake meat burgers–despite feeling that I should refuse to the eat fake meat also.

  28. Dan O'Brian said,

    January 4, 2009 at 12:56 pm

    Gravatar

    We sure attract a fair bit of .NET-savvy readers. That leaves me wondering.

    .NET is a pretty commonly used development platform. You’d realize this if you didn’t attempt to ignore reality.

  29. AlexH said,

    January 4, 2009 at 1:03 pm

    Gravatar

    @aeshna23: if you look at the Mono project, I think you’ll find there are a number of exciting free software innovations – Dan already mentioned one, Mono.SIMD, which is unparalleled (as far as I know) in any other system.

    The “legal” questions are completely different from the technical ones, which is what I was saying earlier really. Having Mono be compatible with .net doesn’t reduce the amount of innovation that can take place.

  30. Hunain said,

    January 4, 2009 at 1:03 pm

    Gravatar

    Very few of Mono could be hurt by MS patents, and those are clearly separated from the rest of the code (winforms). Working around the specific claims MS would theoretically make, would put MS back to square one. And even IF Mono had to forgo winforms, it would still be a great framework (arguably better than Java).

    We just NEED a framework like Mono if we want to go on competing against what MS will do with .NET in the future. You cannot simply whip up a new framework to do that – Vala is an attempt at that, but it’s just lagging years behind.

  31. AlexH said,

    January 4, 2009 at 1:25 pm

    Gravatar

    There is a strong argument that Mono and Java should be merged, though, to some greater or lesser extent.

  32. The Mad Hatter said,

    January 4, 2009 at 1:29 pm

    Gravatar

    Both Mono and Java are sad jokes.

    True. Anything that uses a run time is a said joke, that costs processor cycles, and is not efficient. It is easier to program in Java or C#. But the costs are CPU cycles and power usage. Why is this important? Anyone hear of Global Warming? Right. CPU cycles and power usage mean wasted energy, wasted energy means more emissions from power plants.

    Anyone using Mono, .NET, or Java is partially responsible for ice flows melting in the Arctic, and should be shot.

  33. AlexH said,

    January 4, 2009 at 1:34 pm

    Gravatar

    @Mad Hatter: that might be run for naive run times which interpret byte-code. Neither Java nor Mono do that; they compile to native code. In fact, for generic code where types are only known at run-time, they run faster than statically pre-compiled code.

    The cost overhead of using a VM is very small these days, and the much more comprehensive libraries (of well-written and efficient algorithms) more than offsets those losses.

  34. The Mad Hatter said,

    January 4, 2009 at 1:41 pm

    Gravatar

    Horse manure. If it’s not as efficient as machine language or straight Compiled C Code, it’s not efficient, and shouldn’t be used.

    QED.

  35. AlexH said,

    January 4, 2009 at 1:44 pm

    Gravatar

    @Mad Hatter: demonstrably incorrect; a hand-coded machine code bubble sort won’t outpace quicksort for non-trivial data even if it was written in BASIC.

    Assuming that programmers will write the most optimal code at all times isn’t a good assumption. That’s why we have standard libraries and high-level languages.

  36. aeshna23 said,

    January 4, 2009 at 2:31 pm

    Gravatar

    Mad Hatter, it’s fine to articulate a long run goal of getting stuff programmed in C or something similar, but you should realize that the cost in getting there immediately is not worth paying. We still are searching for excellent ways to do an OS with the programs people ordinairely use. It’s going to take a long time searching around in higher level languages before we start building something excellent from the ground up in lower level languages. Hopefully, code will exist to do most of the lower level programming for us when the time comes.

    I also think you are going too far to make a global warming argument about computer use. Let’s worry about the assholes who drive SUVs first. Anyway, I would go so far as to say that talk about global warming is a determint to the environment in that the real ecological problem we face is human overpopuation. Global warming is just a relative innocous issue that serves to keep quiet us about overpopulation. We certainly do not want to save the planet if it means making the Catholics and other religious lunatics slightly uncomforable about the nonsense their religion peddles.

  37. Roy Schestowitz said,

    January 4, 2009 at 3:07 pm

    Gravatar

    Performance depends on the code and the optimisations — if any — from the compiler/interpreter. You can also write machine code that’s utterly bad and inefficient.

  38. The Mad Hatter said,

    January 4, 2009 at 3:22 pm

    Gravatar

    @AlexH

    You are comparing apples to oranges. If you set out to write a Quick Sort, assuming that all implementations are compiled, and implementing it in:

    Java
    C#
    C
    Assembler
    Basic

    And also assuming that all are optimized by programmers with the same experience level, the Assembler routines should be the fastest, and use the least CPU cycles. Going further, assuming that you are running this under Microsoft Windows XP SP3, the second fastest implementation will be in Basic, the third fastest will be in C. Java and C# are the most inefficient.

    Now I’m going to assume that you will freak when you read this, because you won’t understand why Basic would be faster. It all depends on the compiler. The most effective and fastest Windows compiler that I know of is the Power Basic Console Compiler by Bob Zale. Bob is a genius at optimization, and even though Microsoft tried to screw his company, he still manages to produce programming products for Windows that make Microsoft programming products look like crap.

    http://www.powerbasic.com/products/pbcc/

    For C there’s a couple of good choices, including Borlands C compiler, Microsoft’s C compiler, and GNU C. While I’m no fan of Microsoft, their old C compiler is actually pretty good, probably their best product, a hell of a lot better than Windows or Office. It used to be fast and lean, though as of VC 2 you could see bloat starting to accumulate. Borlands C Console Compiler is damned nice. GNU C is also damned nice.

    There isn’t an equivalent to those available for Java or C# that I’ve seen, and in my opinion this will cripple Java and C#, as the world moves towards higher efficiency applications to reduce power usage.

    @aeshna23

    As to the argument about SUV’s, don’t be an idiot. That’s like saying that it’s OK to allow jaywalking on residential streets, just not on highways. You either work towards efficiency, or you don’t. There’s no middle ground.

    Think about how AA works.

  39. AlexH said,

    January 4, 2009 at 3:31 pm

    Gravatar

    @Mad Hatter: No, I’m not comparing apples to oranges. For trivial applications, yes, assembly or something might be possible. For something even slightly non-trivial like a GUI app it becomes silly.

    Saying Java is less efficient than C, for example, is again a vacuous comparison. You completely side-stepped my point about dynamic versus static compilation, where a Java program can effectively re-write itself while running to get the best native code. Not only would the C programmer have to pay excellent attention through the whole of any app they’re writing to keep up with a VM like HotSpot, they would also have to best the hand-coded assembler in critical sections.

    It’s just not sensical to say “Java is inefficient”.

  40. Roy Schestowitz said,

    January 4, 2009 at 3:50 pm

    Gravatar

    Speed of development counts too.

  41. AlexH said,

    January 4, 2009 at 3:52 pm

    Gravatar

    @Roy: precisely! It’s no good if your C app is faster than your Java app if it takes tens of times longer to write.

  42. aeshna23 said,

    January 4, 2009 at 4:04 pm

    Gravatar

    @Mad Hatter

    It’s simply mad to compare FOSS development to alcoholism–even for those few who are addicted to programming.

    For me, it’s just not OK to allow jaywalking on residential streets and forbid it on highways. I feel intense loathing for people who want to forbid jaywalking on residential streets. I hate them for all the utterly pointless, anal things that we are forced to do because of them. Rules should be applied reasonably and not with insane fanaticism.

  43. Dan O'Brian said,

    January 4, 2009 at 4:34 pm

    Gravatar

    The world isn’t moving back to C and asm, the world is moving away from them. Java and C# are becoming more and more popular, not less.

  44. The Mad Hatter said,

    January 4, 2009 at 5:10 pm

    Gravatar

    @Dan O’Brian
    Just like the world moved to trading in derivatives based on sub prime mortgages? Yeah, right move.

    @aeshna23
    I didn’t mention alcoholism – where did you get that from? As to jaywalking, the point is that you have to be consistent. Think about it. The small shit counts.

    @AlexH
    Really? You don’t think that the lack of a superb Java/C# compiler is an issue? Think back to the early days of Micros – the lack of a good C compiler held off general adoption of C as a programming language for years/

    @Roy Schestowitz
    If it’s a run once application, I agree. If it’s going to be run by millions of people daily, I disagree completely.

  45. G. Michaels said,

    January 4, 2009 at 5:13 pm

    Gravatar

    Horse manure. If it’s not as efficient as machine language or straight Compiled C Code, it’s not efficient, and shouldn’t be used.

    Ah, another canonical example of the type of “fan” this blog attracts.

    “Programming is hard for me, it should be hard for everyone! And anyone who disagrees is an idiot!!”

    I’ll keep this in mind the next time I get a proposal for a J2EE inventory control app at my company. I’ll send it back with a recommendation to code it entirely in x86 assembler.

    Note: writer of this comment adds absolutely nothing but stalking and personal attacks against readers, as documented here.

  46. Roy Schestowitz said,

    January 4, 2009 at 5:12 pm

    Gravatar

    Google, which burns energy by the buckets, uses lots of Python and I doubt they mess about with OOP.

  47. Dan O'Brian said,

    January 4, 2009 at 5:28 pm

    Gravatar

    There’s a lack of a good C# compiler? Says who?

    Also note that w/ Mono, Mono will at runtime detect if the bytecode can be optimized using SIMD on the current architecture and use that instead of the less efficient instructions that GCC would have compiled the same logic to.

  48. Dan O'Brian said,

    January 4, 2009 at 5:30 pm

    Gravatar

    Roy: actually, Google very much do in fact use OOP. You can use OOP in Python.

  49. Roy Schestowitz said,

    January 4, 2009 at 5:31 pm

    Gravatar

    Ah, okay. I was thinking about Java, although they use it extensively (if not exclusively) in Android.

  50. Dan O'Brian said,

    January 4, 2009 at 5:34 pm

    Gravatar

    FWIW, everyone uses OOP these days.

  51. Roy Schestowitz said,

    January 4, 2009 at 5:40 pm

    Gravatar

    Linus Torvalds

    http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918

    *YOU* are full of bullshit.
    
    C++ is a horrible language. It's made more horrible by the fact that a lot 
    of substandard programmers use it, to the point where it's much much 
    easier to generate total and utter crap with it. Quite frankly, even if 
    the choice of C were to do *nothing* but keep the C++ programmers out, 
    that in itself would be a huge reason to use C.
    
    In other words: the choice of C is the only sane choice. I know Miles 
    Bader jokingly said "to piss you off", but it's actually true. I've come 
    to the conclusion that any programmer that would prefer the project to be 
    in C++ over C is likely a programmer that I really *would* prefer to piss 
    off, so that he doesn't come and screw up any project I'm involved with.
    
    C++ leads to really really bad design choices. You invariably start using 
    the "nice" library features of the language like STL and Boost and other 
    total and utter crap, that may "help" you program, but causes:
    
     - infinite amounts of pain when they don't work (and anybody who tells me 
       that STL and especially Boost are stable and portable is just so full 
       of BS that it's not even funny)
    
     - inefficient abstracted programming models where two years down the road 
       you notice that some abstraction wasn't very efficient, but now all 
       your code depends on all the nice object models around it, and you 
       cannot fix it without rewriting your app.
    
    In other words, the only way to do good, efficient, and system-level and 
    portable C++ ends up to limit yourself to all the things that are 
    basically available in C. And limiting your project to C means that people 
    don't screw that up, and also means that you get a lot of programmers that 
    do actually understand low-level issues and don't screw things up with any 
    idiotic "object model" crap.
    
    So I'm sorry, but for something like git, where efficiency was a primary 
    objective, the "advantages" of C++ is just a huge mistake. The fact that 
    we also piss off people who cannot see that is just a big additional 
    advantage.
    
    If you want a VCS that is written in C++, go play with Monotone. Really. 
    They use a "real database". They use "nice object-oriented libraries". 
    They use "nice C++ abstractions". And quite frankly, as a result of all 
    these design decisions that sound so appealing to some CS people, the end 
    result is a horrible and unmaintainable mess.
    
    But I'm sure you'd like it more than git.
    
    			Linus
    
    
  52. Dan O'Brian said,

    January 4, 2009 at 5:49 pm

    Gravatar

    Even the Linux kernel uses some object oriented techniques in C. You don’t need an OO language like C++ to do so.

    Whenever you use a “context” struct in C, you are effectively using OOP.

  53. Roy Schestowitz said,

    January 4, 2009 at 5:55 pm

    Gravatar

    True, there are no fine lines in abstraction.

    FWIW, I’ve never agreed with that view of Linus. It also drips vanity.

  54. Jose_X said,

    January 4, 2009 at 8:06 pm

    Gravatar

    >> It also drips vanity.

    It drips as what he views as maximally efficient for his particular project. He isn’t the only one thinking along those same lines, either.

    Yes, the delivery of the message sounds vane.

    ***

    Most languages have evolved techniques so that they can be used efficiently today (at least for various purposes). Usually when you improve the language a dash you give something up that would be of value in some areas.

    FOSS is not like a typical business in-house project. It has the potential of having a lot of key code will be built with distributed costs while accessing overall a greater amount of resources (like eyeballs), eventually be refined by devs with a higher average level of skill, and be used/leveraged by a much larger group.

    Not every app benefits from X and Y runtime support overhead.

    Perhaps we should all program in some universal and extensible xml-based language system that has virtually unlimited room to add attributes, hints, nonprogramming metadata, inline speedups useful under some cases, etc. With suitable translators/viewers, that same file can be seen in and compiled from many different languages/frameworks (losing some capabilities depending on the mapping target chosen). Future improved frameworks can very easily use the same old source code (though work best after new tuning/tagging is created). We can all program using very high level concepts with lower level hints/implementations as we find time/need. Testing can be worked into the system as can almost anything one can think of (after designing the suitable xml tags/rules). Such an xml framework would not be designed without thought and be workable well into the future, but someone could probably do a good enough job. The xml “file format” can be grown at a different rate as the tools that support it/map from it. Eg, some hints may not be used my any framework for years.

    Why not allow yourself maximal room for design and creativity?

    Of course, even this will not be ideal for all cases.

  55. Jose_X said,

    January 4, 2009 at 8:09 pm

    Gravatar

    I’m aware that dotnet and java and others attempt to do to some degree what this hypothetical xml framework would do.

  56. Dan O'Brian said,

    January 4, 2009 at 8:15 pm

    Gravatar

    I’m not even sure what you were just going on about. It made absolutely no sense at all.

  57. Roy Schestowitz said,

    January 4, 2009 at 8:19 pm

    Gravatar

    I lost track as well, but I read it too quickly.

  58. Jose_X said,

    January 4, 2009 at 8:22 pm

    Gravatar

    I also want to add that you can simply pick a language/framework and then add everything you want to add to your app as some form of metadata within comments, in a separate file, or even as data within the app. You’d have to develop compile time and runtime support for all of this. People do this already to various nonstandard degrees to suit their tastes and the problem at hand. The key is in the details, in standardization where realistic, etc. Leveraging tools, formats, techniques, whenever this is possible is a Good Thing.

  59. Jose_X said,

    January 4, 2009 at 8:23 pm

    Gravatar

    Dan, that’s ok. If you want to point to something specific go ahead. Otherwise ignore it.

  60. Roy Schestowitz said,

    January 4, 2009 at 8:33 pm

    Gravatar

    At second read I got the point.

  61. Dan O'Brian said,

    January 4, 2009 at 10:06 pm

    Gravatar

    it sounds like he’s trying to create a straw man to me, but maybe I’m just not understanding correctly.

What Else is New


  1. IRC Proceedings: Tuesday, April 07, 2020

    IRC logs for Tuesday, April 07, 2020



  2. GitHug - A Guest Article by Thomas Grzybowski

    "Now, if Azure revenue has increased 72%, but the gross revenue in this category has only increased 25%, that means that the other components, primary GitHub, are actually a substantial negative."



  3. Links 7/4/2020: Firefox 75, Python 2.7.1 RC1

    Links for the day



  4. The Fall of the UPC - Part XIV: Media Owned and Controlled by Law Firms Did Not Properly Cover the Decision of the German Constitutional Court (FCC)

    We take another look at the shallow if not deliberately misleading coverage in sites that are literally owned and run by law firms, for the benefit of law firms rather than informing the public



  5. The Media Paints Bill Gates as the Man Who Will Save the World While Seattle's Police Department Obstructs Access to Documents About Pedophilia Arrest at His Home

    We're still unable to receive even one single page of the police report about arrest for pedophilia at the home of Bill and Melinda Gates; the media says nothing about this and instead it paints Gates as a national or international hero



  6. IRC Proceedings: Monday, April 06, 2020

    IRC logs for Monday, April 06, 2020



  7. Software Patents Remain Junk Patents in the United States (Not Enforceable), Whereas the EPO Keeps Granting Them and Promoting Them

    We take note of the positive outcomes in the US, where courts continue to reject software patents, but in Europe the largest patent office, which sought to replace all the courts, still acts as if patent law does not exist and patents can be endlessly printed irrespective of their merit (or validity as judged by actual courts)



  8. The Fall of the UPC - Part XIII: A Death Worth Celebrating and Many Lies Worth Debunking

    We take stock of positive responses to the decision made by the German constitutional court (FCC) 2.5 weeks ago; we also explain why it has taken so long to piece together firm-by-firm scoresheet for UPC lies



  9. GitHub is Moving the Free Software Movement Into “Check”

    GitHub's growing levels of control over Free software projects (GitHub itself is proprietary and Microsoft-controlled) ought to alarm the community; it's a lot worse than most people care to acknowledge, based on weeks of detailed analysis of GNU/Linux distros



  10. Links 6/4/2020: New Red Hat CEO, elementary OS Hera Updates

    Links for the day



  11. When the Decision is OK and the Judge's Motivations Are Also OK

    Justice Huber made the right call; but the bullies and charlatans who conspired to undermine laws and constitutions will never be satisfied



  12. The Fall of the UPC - Part XII: Doing the Unthinkable by Blaming the Judge's (Justice's) Wife?

    Team UPC and its media partners never cease to amaze us; anybody who stands in their way is either portrayed as a Russian stooge or too ignorant to be worth talking to



  13. The Fall of the UPC - Part XI: Lies Told by Bundesverband der Deutschen Industrie (BDI) in Süddeutsche Zeitung

    Today we look at misleading claims (or lies) published by Süddeutsche Zeitung after the Germans' constitutional court (FCC) had pointed out the obvious, namely that UPC ratification would be in violation of the German constitution



  14. IRC Proceedings: Sunday, April 05, 2020

    IRC logs for Sunday, April 05, 2020



  15. Links 5/4/2020: MindSpore, Covid-19 Projects and More

    Links for the day



  16. EPO is Just Like Some Cruel Political Party and Not a Patent Office

    The "cabal" which runs today's EPO (even the word "Mafia" seems suitable here) isn't acting -- not even remotely -- like a patent office; it's a patent-printing operation ("protection money" as income) that uses shallow political stunts to manufacture consent with the EU's 'generous' assistance



  17. Digitalisation and Digital Technologies as a Ploy to Justify Illegal Software Patents

    Say "hello" to the next weasel word/s; from the "hey hi" hype wave we've now moved to something "digital" (which can mean just about anything, including algorithms of all sorts)



  18. The Fall of the UPC - Part X: How We Shall Catalogue UPC Lies

    The cult that Team UPC became (one member lying to another member, maintaining a false version of reality) will be judged based on underlying facts, not lying about facts; we start with a token of contempt for IP Kat and Bristows LLP (there are overlaps)



  19. IRC Proceedings: Saturday, April 04, 2020

    IRC logs for Saturday, April 04, 2020



  20. Major Revelation: Microsoft Blackmail Against LAMP (GNU/Linux and Free Stacks for Servers) Goes At Least 16 Years Back, Predating the Novell Patent Deal

    (Techno-)Anthropological analyses of Microsoft's patent war on Free/libre software must take into account what Microsoft did to MySQL, a Swedish company at the time



  21. Links 4/4/2020: Sparky 5.11, Firefox 74.0.1, POCL 1.5

    Links for the day



  22. IRC Proceedings: Friday, April 03, 2020

    IRC logs for Friday, April 03, 2020



  23. Links 3/4/2020: Ubuntu Beta, GNOME 3.36.1, ExTiX LXQt Mini, NetBSD 8.2 Released

    Links for the day



  24. Digital Communication, Digitalisation and Videogaming Among the EPO's Latest Smokescreens for Illegal and Abstract Patents on Algorithms

    The EPO keeps liaising with the EU to promote patents which EU officials have themselves said were illegal; to make matters worse, the EPO's violations of its own laws inspire the United States to do the same



  25. Emotional Blackmail for Illegal Software Patents

    Semantic tactics the European Patent Office (EPO) uses to promote software patents in Europe and may theoretically use in the future (satire)



  26. Clear Linux is to GNU/Linux What Clearly Defined is to Open Source

    The idea that we need Intel to take GNU/Linux ‘mainstream’ is ludicrous; as OSDL co-founder (now succeeded in the flesh of the Corporate Linux Foundation), Intel is more about Linux (with DRM, “secure boot” and everything that lets it be remotely controlled) than about GNU and it’s not too keen on GPL (copyleft), either



  27. IRC Proceedings: Thursday, April 02, 2020

    IRC logs for Thursday, April 02, 2020



  28. Links 2/4/2020: Linux 5.6.2, Qt Creator 4.11.2, LineageOS ROM Based on Android 10

    Links for the day



  29. OIN in 2020 Resembles Linux Foundation in 2020 (Corporate Front Group Piggybacking the Linux Brand)

    We regret to say that the Open Invention Network seems not to care at all about Software Freedom; to make matters worse, it is a proponent of software patents and a voice for companies like IBM and Microsoft, not the "Community" it fancies misrepresenting



  30. Inside the Free Software Foundation (FSF) - Part IX: Semi-Happy Ending

    Richard Stallman is here to stay and the FSF will let him stay (as chief of GNU); we want to close the series on a positive note


RSS 64x64RSS Feed: subscribe to the RSS feed for regular updates

Home iconSite Wiki: You can improve this site by helping the extension of the site's content

Home iconSite Home: Background about the site and some key features in the front page

Chat iconIRC Channel: Come and chat with us in real time

Recent Posts