--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.
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.
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.
Support for on-the-fly compilation of Plasma data engines with the C# language bindings.
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.
--Bob Muglia, Microsoft Senior Vice President
Comments
AlexH
2009-01-04 11:44:59
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.
Roy Schestowitz
2009-01-04 11:49:09
AlexH
2009-01-04 12:25:24
What Mono offers is a lot more than "OOP".
Roy Schestowitz
2009-01-04 12:30:22
AlexH
2009-01-04 12:31:40
Roy Schestowitz
2009-01-04 12:34:52
AlexH
2009-01-04 12:40:51
You simply don't understand why people find Mono interesting.
Roy Schestowitz
2009-01-04 12:44:04
AlexH
2009-01-04 12:46:34
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.
Roy Schestowitz
2009-01-04 12:51:22
* Mono makes Microsoft stronger * Microsoft has patents on .NET
I'll quote a comment from last night
Roy Schestowitz
2009-01-04 12:53:18
AlexH
2009-01-04 12:54:54
Pardon me for addressing the article rather than your opinion....
Hunain
2009-01-04 13:25:19
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'.
Hunain
2009-01-04 13:25:51
Roy Schestowitz
2009-01-04 14:01:10
aeshna23
2009-01-04 14:13:44
And given the risks of Mono, shouldn't some developers improve some free software development tools to also have those merits?
Dan O'Brian
2009-01-04 14:23:14
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.
Dan O'Brian
2009-01-04 14:28:22
http://news.zdnet.com/2100-9595_22-129182.html
xISO_ZWT
2009-01-04 14:43:10
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.
Roy Schestowitz
2009-01-04 15:26:32
Hunain
2009-01-04 15:51:39
Roy Schestowitz
2009-01-04 16:01:07
xISO_ZWT
2009-01-04 16:07:34
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.
aeshna23
2009-01-04 16:20:52
And I promise that this is the last outrageously technical question that I ask on this tread!
Dan O'Brian
2009-01-04 17:12:30
http://stackoverflow.com/questions/355060/c-vs-java-generics
of special note is the following criticism of Java's generics implementation:
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).
AlexH
2009-01-04 17:13:03
aeshna23
2009-01-04 17:41:31
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.
Dan O'Brian
2009-01-04 17:56:57
.NET is a pretty commonly used development platform. You'd realize this if you didn't attempt to ignore reality.
AlexH
2009-01-04 18:03:12
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.
Hunain
2009-01-04 18:03:55
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.
AlexH
2009-01-04 18:25:44
The Mad Hatter
2009-01-04 18:29:39
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.
AlexH
2009-01-04 18:34:41
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.
The Mad Hatter
2009-01-04 18:41:45
QED.
AlexH
2009-01-04 18:44:06
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.
aeshna23
2009-01-04 19:31:37
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.
Roy Schestowitz
2009-01-04 20:07:55
The Mad Hatter
2009-01-04 20:22:25
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.
AlexH
2009-01-04 20:31:55
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".
Roy Schestowitz
2009-01-04 20:50:50
AlexH
2009-01-04 20:52:05
aeshna23
2009-01-04 21:04:48
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.
Dan O'Brian
2009-01-04 21:34:21
The Mad Hatter
2009-01-04 22:10:58
@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.
G. Michaels
2009-01-04 22:13:26
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.
Roy Schestowitz
2009-01-04 22:13:36
Dan O'Brian
2009-01-04 22:28:29
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.
Dan O'Brian
2009-01-04 22:30:33
Roy Schestowitz
2009-01-04 22:31:44
Dan O'Brian
2009-01-04 22:34:40
Roy Schestowitz
2009-01-04 22:40:43
http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918
Dan O'Brian
2009-01-04 22:49:22
Whenever you use a "context" struct in C, you are effectively using OOP.
Roy Schestowitz
2009-01-04 22:55:42
FWIW, I've never agreed with that view of Linus. It also drips vanity.
Jose_X
2009-01-05 01:06:34
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.
Jose_X
2009-01-05 01:09:47
Dan O'Brian
2009-01-05 01:15:31
Roy Schestowitz
2009-01-05 01:19:10
Jose_X
2009-01-05 01:22:00
Jose_X
2009-01-05 01:23:18
Roy Schestowitz
2009-01-05 01:33:41
Dan O'Brian
2009-01-05 03:06:40