Posted by
michael
on from the pipe-dream-or-visionary dept.
miguel writes: "Here is my reply to the various questions on Mono, the future of GNOME and the Register statements." Linux Today has a copy of the email as well.
594 comments
The crux of his argument
by
Anonymous Coward
·
· Score: 5, Insightful
GNOME had always tried to have a good support for multiple programming languages, because we realize that no matter how much we loved C as a programming language, there was a large crowd of people out there that would like to use the GNOME libraries fromtheir favorite programming language, which might not necessarily be C.
This is the reason having Mono at the heart of Gnome would be a good idea. Base it on the CLI and suddenly any language that is ".Net-enabled" is usable under Gnome.
It's about choice. Isn't that what Open Source is all about?
Re:The crux of his argument
by
Anonymous Coward
·
· Score: 0
"It's about choice. Isn't that what Open Source is all about?"
Not for socialists, for us it's about freeing the software from the owners (see www.gnu.org).
The free software and open source movements are two totally different things.
Re:The crux of his argument
by
Anonymous Coward
·
· Score: 0
Yes, the CLI=command Line Interface is a wonderful thing.
Re:The crux of his argument
by
entrox
·
· Score: 5, Insightful
Don't get too excited about this "any.NET enabled language" being able to drive GNOME. If you think about it, the number of possible languages is pretty dim (mostly C#). Why that? Because.NET must handle common interfaces across those languages. If I use a more exotic language with features not found in others (like multiple dispatch, funky lambda-lists or closures in Common Lisp) I don't think I'll be able to export Interfaces using these features. As those happen to be 'natural' to these languages, I'd have to limit myself in how I can write my applications/libraries.
.NET is far from being the perfect solution.
-- --
The plural of 'anecdote' is not 'data'.
Re:The crux of his argument
by
miguel
·
· Score: 5, Informative
You do raise an interesting point. Some features are not available to all languages (for example, a LISP closure definition).
But there is a large subset that is. This subset is encapsulated in the Common Language Specification (CLS) which differentiates between:
Re:The crux of his argument
by
Anonymous Coward
·
· Score: 0
The thing about.Net is that Microsoft has been doing this type of thing in their compiler division for years. MS Java, Fortran, BASIC (not VB), and C/C++ are all compiled down to the IL before being translated into machine code. GCC also does this, btw. Any language that can be compiled into IL can be considered ".Net enabled". Even Lisp.
I don't know about all those features, but I do know that the CLR supports both tail-recursion and closures, which are important to functional languages. Sure, it doesn't support absolutely everything you might ever want to do (one notable example is C++-style generics) and I have no idea what "lambda lists" or "multiple dispatch" are, and I don't know enough about continuations to have the first clue as to whether they're supportable or not, but there are certainly features in the CLR that C# doesn't take advantage of (C# doesn't do tail-calls, at the least, although it can make closures I think).
That was a wonderful run-on sentence, but I think I made my point:) The CLR is limited wrt advanced language features, but it's not limited to "strictly C#".
Stuart.
Re:The crux of his argument
by
Anonymous Coward
·
· Score: 0
Generics are already on the way. Cambridge in the UK has semi-implemented this as a research project.
Re:The crux of his argument
by
bockman
·
· Score: 2
But what is the 'performance penalty' of the CLI? If it is of the same order of the JVM, no thanks, a CLI-based desktop will not run on my PCs for at least 5 years ( although it might be wise to start now to be ready then... ).
-- Ciao
----
FB
Re:The crux of his argument
by
Anonymous Coward
·
· Score: 0
both compile to bytecodes and are compiled at runtime. Their performance will be very similar.
Re:The crux of his argument
by
Anonymous Coward
·
· Score: 0
Optimally, none.
Since the CLI is simply an intermediate compilation stage, it is no more penalized than any other natively compiled language. Of course, using system calls will incur the overhead of loading system libraries, but that is a factor in every language, so no penalty there either.
The main penalty is in the JIT stage. Luckily, a thought out implementation of.Net will only JIT once, incurring penalties the first time you run the program.
Re:The crux of his argument
by
Anonymous Coward
·
· Score: 0
Thanks for a good article. I thought at first you were trying to put us all into Microsoft's hands, but I see now that your game is different: it is to play Microsoft's 'embrace and extend' strategy against Microsoft itself. Pure genius. It will not injure Microsoft, but that is not the goal. What it will so is to make.NET more open and useful to everyone.
Re:The crux of his argument
by
plague3106
·
· Score: 5, Insightful
Which was exactly why MS 'broke' VB6. Some parts of the language needed overhaul to be CLS compliant. I imagine other languages will need the same kind of overhaul. And that might not be such a bad thing. VB is a much cleaner and nicer language thanks to the overhaul (although there are still things i don't like, and i would still stick with C).
Re:The crux of his argument
by
Anonymous Coward
·
· Score: 0
the link you provided says "directory listing denied"
VB might be a cleaner/nicer language after.NET. I am absolutely certain that same will not be said of whatever bastardizations of Smalltalk, Eiffel, or Haskel would be needed to make them go with CLR...
Re:The crux of his argument
by
smack.addict
·
· Score: 3, Insightful
Nevertheless, we already have this--the Java VM and Java language specification. Many languages now compile to Java byte code and can be written to use Java libraries.
It turns out doing this is really hard. The CLS does nothing new. It is just the way Microsoft is marketing it. In the end, it is not really a good thing for anyone but operating systems developers... most companies do not like a proliferation of languages running around anyways and the migration to a new language is fairly painful.
Re:The crux of his argument
by
RevAaron
·
· Score: 2
Real closures aren't available in.NET?! I must admit, I was quite excited to hear that you and/or Ximian were serious about.NET, and I applaud your efforts. If that's the case, how does Mondrian deal with it?
--
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
Re:The crux of his argument
by
Keith+Russell
·
· Score: 2
The quick summary: Anything public must be CLS-compliant, and must derive from a CLS-compliant base. This page describes it best.
This rule allows Managed C++ to exist. A managed class can still use, for example, STL internally. The compiler will verify that the class doesn't derive from an STL base or expose any members or methods with STL types. You can still expose STL methods/members, but they must be marked with the attribute [CLSCompliantAttribute(false)], and a compliant, non-STL alternative must be provided.
-- This sig intentionally left blank.
Re:The crux of his argument
by
plague3106
·
· Score: 1
You're absolutely certain of that? Maybe it wouldn't take much to change those languages to work with the CLS. At any rate, i guess we wouldn't know until someone tried it. I'm not going to claim to have read the CLS, but unless you have and took a serious look at what it would take to make these languages CLS compliant, i wouldn't go around saying you're absolutely certain.
Besides, I don't know many people that use any of those 3 languages (and having used Eiffel in college, i don't know why anyone would want to).
Re:The crux of his argument
by
Anonymous Coward
·
· Score: 0
Who needs.NET for that. You can use SWIG, CORBA, Bonobo, or even JVM byte-code for language interoperability. A CLI is not a new or better idea. It is just a rehashed idea with Microsoft's marketing department behind it.
None of these language interoperability technologies address the fundamental semantic differences between languages. All of these technologies force you to code to least common denominator interface that cripples the language of its unique and powerful features.
Examples:
How can a C++ class syntactically access the inner class of a Smalltalk object?
How can LISP make use of exceptions raised in a PERL module?
.NET is neither revolutionary nor a solution to the many problems facing language interoperability. Both COM and CORBA gave us a human readable IDL that we generate..NET only moves the IDL generation to the compiler but does nothing to address the syntactic complexities of integration.
We would be better off if developers would quit expecting a silver bullet in technologies like Java byte-code or CLR. Instead we should focus on enhancing the existing solutions like CORBA, COM, and SWIG to be more comprehensive in their function.
And how many years did the developer's community wait for STL? Hell, most colleges still don't teach it to their intro to C++ students..101(nor their 102 class students). This is really out there to me.
Re:The crux of his argument
by
jmccay
·
· Score: 3, Informative
The CIL idea is not new. If I remember correctly is used in Borkands C++ Builder & Delphi to some extent. C++ Builder compilers down to the same thing as Delphi and if I remember correctly they use the same linker. It has been a long time since I was delving into the depths of C++ Builder, but I do vaguely remember the common compilation. You can use Delphi Components in C++ Builder, and this is why. The only difference is that Borland never made this a big marketing issue.
If they haven't sold it, Microsoft used to, and probably still does, own a chunk of Borland (as reported here on 6/8/99). From the press release linked to in the slashdot article, "... announced the completion of a set of strategic technology and licensing agreements that will be the foundation for a long-term alliance between the two companies", and "... $25 million purchase by Microsoft of shares of Inprise [what Borland was called for a while] preferred stock". I beleive this is where they got this ideas behind CIL and combined it with the Java virtual Machine model.
-- At the next eco-hypocrisy-meeting, count the private jets used to get to the meeting. Should be interesting to see that
Re:The crux of his argument
by
Maddog_Delphi97
·
· Score: 2, Informative
It may be worth noting that one of the chief architects of Delphi (Anders Hejlsberg, IRC) has been working for Microsoft for some time (And if I'm not mistaken, is one of the chief developers of the C# language)..
I'm absolutely certain they won't get BETTER. I didn't say they would be worse. Some languages are well thought out to begin with, not just thrown together like VB so that imposing any kind of object orientation on them at all is an improvement. There's a lot of different ways to object orientation (C++/Eiffel multiple inheritance vs. Java/C# single vs. Smalltalk/Objective-C dynamically typed) so assuming the Java/C# model is going to mess everyone else up, as the ironically pro-CLS Eiffel article de icaza links to highlights ("hey this CLS thing is great! It's object oriented bytecode! now if only they did object orientation Eiffel-style I would love it!"). And nuts to you if you actually use a language that (gasp!) isn't object oriented! Functional programming? Logic programming? Get with the times man!
Re:The crux of his argument
by
jmccay
·
· Score: 3, Interesting
I would like to further add that CIL (Common Intermediate Language) is one of the few aspects of the.NET ( and Borland C++ Build and Delphi) that I actually like. This simple idea could increase productivity exponentially on all projects, especially open source projects, if all compilers produced CIL code with meta data and packaged other programs to extract the needed informaiton to use the code segment/component in any particular langauge. For example, if Borland C++ build came with a program to generate the headers needed to use any CIL code produced by anybody.
The time wasted on learning new languages just to work with a given project would be removed. That time could then be refocused on newer sections of the code. Granted you would have to learn the a new language if you want to look at the actual code, but it wouldn't be necessary.
The strengths of various languages could easily be combined. You could write various code segments in the language tjat was best suited for the task, and then use that code in all the other languages you program in with very little effort and fuss.
This technology could be improved by adding a layer to compile the CIL code down to native machine code (even if the whole process ends up being CIL Compiler - Native Byte Code Compile - Linker - final native executable). Imagine being able to use portions of the KDE or GNome libraries interchangeably! You could utilize the work of both group and make interoperable components easier without worry about what language it was compiled in. The efforts of both groups could be combine easier and avoid the divided efforts that current exist.
In short this is one of the next step in Soft Engineering/Programming (along with Apest Orient Programming). This code help change the focus of programming/software engineer away from language specific programming to generic concept programming and thinking.
-- At the next eco-hypocrisy-meeting, count the private jets used to get to the meeting. Should be interesting to see that
Re:The crux of his argument
by
JanneM
·
· Score: 2, Informative
Yes, people have tried to realize the benefits using the Java VM. It's a compelling thought; it's tried and true and it's already available for many platforms.
The problem with the Java VM is really that it's written to run Java, and Java only. All features and optimizations are geared towards this. For a few languages that turn out to have much the same features, it is doable, but for other languages it results in some incredibly ugly - and slow - hacks. CIL:s advantage is solely - but importantly - that it's designed to accomodate multiple languages (sort of the difference between a FORTH processor or signal processor and a general-purpose CPU).
That said, implementing a Java compiler for CIL is a good idea; you'd get even more places to run Java programs.
/Janne
-- Trust the Computer. The Computer is your friend.
Would you care to read the article at http://www.javalobby.org/clr.html and say what you think about it?
As it written in the article:
- It isn't only "exotic features" that would have to be removed from the language to make it work, but also things like multiple implementation inheritance, etc..
Eiffel was severely castrated to make it work on the so-called "Common Language Specification"...
- Then there is the efficency issue, I suspect very much, that any other language than C# or Java will run much more slowly..
Re:The crux of his argument
by
smittyoneeach
·
· Score: 1
"Do you ever dance with the Devil by the pale moonlight? I ask that of all my victims..."--Jack Nicholson, the Joker, Batman.
Not to be too cynical;.Net might not be a collosal bait-and-switch. Time will tell.
-- Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
Re:The crux of his argument
by
Oink.NET
·
· Score: 2, Informative
If I use a more exotic language with features not found in others... I don't think I'll be able to export Interfaces using these features.
Keep in mind this is version one of the CLR. In a very informative interview with Anders Hejlsberg, the chief architect of C#, as well as Turbo Pascal and Delphi, he says that some of the higher-end language features such as generics were implemented in a research version of the CLR but were cut for the current release. After reading that interview, it looks to me like they will implement the more exotic language features in future releases of the CLR, but they just didn't have the time or resources to implement their entire language feature wish list.
Re:The crux of his argument
by
haggar
·
· Score: 1
It's about choice. Isn't that what Open Source is all about?
Well, not exactly. Choice is a nus-product, albeit a very good one.
Open source is all about open-ness. Which means being able to see and modify what and when it suits you. It's about not being locked-in, it's about freedom to implement protocols and interfaces, file formats, APIs, it's about transparency.
Since Microsoft has consistently been anything-but, I fail to see how "choice" can justify mixing with.NET.
-- Sigged!
Re:The crux of his argument
by
Elbows
·
· Score: 1
One of the links in the article describes a.NET version of Eifel that is able to both import.NET classes, and export classes to other.NET applications.
I don't know much about Eifel, except that it is a very high-level language. Apparently the features not supported by the CLR they were able to implement on top of.NET in such a way that everything works.
In other words, just about any language should be able to work with.NET, although some features (multiple inheritance) require some hacking.
Re:The crux of his argument
by
Anonymous Coward
·
· Score: 0
Mono will be completely open. What's your beef?
Re:The crux of his argument
by
smack.addict
·
· Score: 2
I was replying to a post talking about how MS acknowledges that the CLI cannot support all languages. The fact of the matter is that it suffers from the same faults as the JVM.
Re:The crux of his argument
by
kcbrown
·
· Score: 1
This is the reason having Mono at the heart of Gnome would be a good idea. Base it on the CLI and suddenly any language that is ".Net-enabled" is usable under Gnome.
Yeah, right.
Look, there's only one feature that Microsoft needs to add to the VM in order to completely break this supposed interoperability golden egg: the ability to make arbitrary, native Win32 calls.
Once they do that (and you know there's going to be demand for it), the game's over -- they win.
-- Use 'slashdot stuff' in the subject line in any email you send me if you want to get past the spam filter.
Nevertheless, we already have this--the Java VM and Java language specification. Many languages now compile to Java byte code and can be written to use Java libraries.
Simply out of curiosity because I do not know the answer, what are some langauges that will compile to Java byte code? Can you provide some links?
Thanks!
Re:The crux of his argument
by
tanveer1979
·
· Score: 1
huh,
good idea. really?
I have an interesting example. KDE. yup they converted something from closed to open. But microsoft is not trolltech, microsoft is M$. Just imagine. God forbid the mono becomes a standard and M$ makes it licenced and closed totally, everybody is in a soup. years of development is through away.
OSS community accuses M$ of making the software industry behind by 10 years. I gues miguel wants to do that to the Linux GUI. As for me i deleted gnome today "make uninstall".
I wonder what is the guy trying to do. There is a popular saying : riding two boats leads to falling in the middle. Thats what miguel is heading. Gnome is a lovely tree nurtured by so many programmers. This is an axe which will destroy it.
Its not about C# being good and what not, its about contigency plans. Ok I am being paraniod, but when M$ is there its better to listen to Andy Grove. As some guy posted in another list : Ask the Samba guys...
-- My Aurora : http://www.youtube.com/watch?v=o91ZsGwJYyg
FB : https://www.facebook.com/TanveersPhotography
Re:The crux of his argument
by
borgboy
·
· Score: 1
Well, I've been working with various 'betas' of Visual Studio.Net for several months, and installed the RTM 2 days after it was released to MSDN subscribers.
All of the code that I've built - standard GUIs, console apps, web applications, SOAP Web services, and services (Windows daemons) have performed on a par with similiarly structured code compiled in VC++ or Delphi. Course, it's pretty shocking to see a full fledged.exe weighing in at 15kb ( + the 18MB.Net runtime redistributable, of course;)
-- meh.
Re:The crux of his argument
by
__past__
·
· Score: 1
Some languages that will compile to Java byte code:
Python
Tcl
Ruby
Perl
Lisp
Scheme
Eiffel
Smalltalk
C++
Ada
Basic
Logo
Prolog
Standard ML
Objective Caml
Sather
Cobol
XSLT
Pascal
Oberon
Modula-2
For some languages, several implementations are available. Some compile to Java code, some directly to bytecode. There are a lot more, mostly special-purpose languages.
Re:The crux of his argument
by
bockman
·
· Score: 1
Uhm,it should have been the same also for Java JITs, but it is not (at least the ones I have tried). There are other factors which, while make the life easier for programmers, slow down execution ( garbage collection and dynamic typing, for instance).
BTW, I never understood the rationale of JIT for anything other than applets. For installed applications, why compile them every time you run them?
-- Ciao
----
FB
Re:The crux of his argument
by
Uller-RM
·
· Score: 2
Lambda lists are part of functional languages, which often feature what's called higher order functions. This means that functions are a data type in and of themselves, and you can write functions that take functions as arguments, modify them, and output new functions as results.
Here's a quick example from Haskell:
addxy:: Int -> Int -> Int
addxy a b = a + b
map addxy [1 2 3...]
map will take the function addxy, apply it to each of the elements in the array (which is infinite) and return an array of results. However, the array only supplies one argument, so what you get back is an array of addxy functions with one argument hardcoded. add 1, add 2, add 3, etc. This is actually a type of lambda lists called curried functions, but you get the idea.
Haskell's a killer language - you should check it out. Any language that allows implementing a polymorphic quicksort in three lines turns me on:)
Re:The crux of his argument
by
fredrik70
·
· Score: 1
How would they be able to 'close' Mono???
Mono is IIRC built on top of the ECMA standards that MS put in to the ECMA standards body. They can't take it back. Also, Mono is GPL and isn't using any of MS code - just the specs.
-- if (!signature) {
throw std::runtime_error("No sig!");
}
Re:The crux of his argument
by
AndersDahlberg
·
· Score: 1
"The problem with the Java VM is really that it's written to run Java, and Java only. All features and optimizations are geared towards this. For a few languages that turn out to have much the same features, it is doable, but for other languages it results in some incredibly ugly - and slow - hacks. CIL:s advantage is solely - but importantly - that it's designed to accomodate multiple languages (sort of the difference between a FORTH processor or signal processor and a general-purpose CPU). "
But the CLI is also a hack!
Check out why (or just replace java with c# in the above rant...) http://www.javalobby.org/clr.html
Not truly objective but the facts still aply - CLI is heavily optimized for C# and no other language.
Re:The crux of his argument
by
Anonymous Coward
·
· Score: 0
bla bla bla...
Eiffel doesn't work with.NET. A bastardized version called Eiffel# does. And this is the faith of all languages wanting to work on the.NET runtime -- if you don't look alot like C# then the language has to change. The CLR is designed for the C# language, no matter what the Microsoft marketing tells you. Go get the facts, and stop spreading the mindless marketing hype.
Because, in theory, you can optimize the code better at run-time than you can at compile time. This is how the HotSpot compilers work for instance. They look for 'hot spots' -- places in code that are executed the most times (the code inside loops etc) and try to optimize the hell out of that piece using the runtime information available to them (such as how many times the code is being run, interning methods and so forth).
This allows the same binary also to run optimally regardless of hardware. For instance, there was one benchmark (posted on Slashdot as well) that showed a program with growing datastructures that suddenly dropped performance after the growth had exceeded a given point. It turned out that was when the internal cache of the CPU ran out and the data had to be accessed from external caches. Statically compiled languages (C++ in this case) were not able to deal with this issue where as a HotSpot based Java code gradually optimized itself to the new conditions and ended up performing better than its C++ counterpart.
This is why a optimizing runtime compiler is a big deal especially on the server side. For desktop apps the startup time and small memory footprint is more crucial.
For a discussion of this, you can check a
detailed discussion which has just appeared on javalobby.
Be aware that the author is a staunch Java advocate, but I think it's interesting anyway...
Re:The crux of his argument
by
plague3106
·
· Score: 1
Not get any better? You don't think the sudden availibility of a huge (standard) library would improve the language? Instead of trying to figure out which library tied to your language supports some feature, you know there is one library to look in no matter what language you use. Don't you think something like that could make Eiffel more popular? A lot of people were I work are looking forward to.net, so that we can go back to C (well, C#). We'll have a choice of our favorite language now, instead of being forced into VB. I think that in itself is worth it.
As far as functional programming goes. Since at my college they didn't bother with it until the last years, i get the impression that it's pretty much dead. To me, objects seem a cleaner way to think about things, and except for a few cases, you're better off doing OOP. Multiple inheritance? How often do you actually use that properly (and not just b/c you can)? In fact, there are quite a few people that believe if you need multiple inheritance, you're doing something wrong.
Re:The crux of his argument
by
Anonymous Coward
·
· Score: 0
Nope -- that's a lambda expression you are explaining. Insofar I recall the Common Lisp terminology correctly, a lambda list means essentially the declaration of an argument list. What's funky about them in Common Lisp is that you can have positional arguments, named arguments, &rest arguments (like varargs in C), default values computed in terms of earlier arguments, and even undeclared named arguments. Of course all this can be used in the interface of a single function... Generic functions add argument types, and macro functions add argument destructuring and &whole arguments. Doesn't seem like it would fit very well with a C-style language, does it?
Re:The crux of his argument
by
minginqunt
·
· Score: 0
Microsoft are working on adding these exotic features to IL.
Originally, you said that adding CLS to VB made it cleaner and nicer. It's simply not logical to talk about the availability of libraries as making things cleaner.
If your college gave you the impression that functional programming was pretty much dead, that would be a failing of your education, not of any paradigm. Personally, I blame the OO paradigm for how broken and nonsensical all software engineering is--lacking a language with formalism sufficient to assure quality software, they instead try to enforce mathematical formalism on documentation and social relations between programmers. I don't like mult. inheritance either, but I don't need Microsoft to make the decision for the entire development community whether to use it or not.
That all being said, having looked more at the CLS, apparently it won't be a problem using different language paradigms inside it--but I'm still anxious to see how linking all of these languages together is going to work--if I write code in my favorite language "X" that does things C# doesn't do (like accept functions as first-class values or multiple inheritance or whatever), how the heck is a C# program supposed to use my "X" program as a library?
Re:The crux of his argument
by
plague3106
·
· Score: 1
I didn't mean to imply that the availiblity of libraries made the languages cleaner. I meant that as a counter to your point that the languages might not be worse off, but they might not be any better either.
It could be a failing of my colleges program. On the other hand, i've found my colleges CS profs (http://www.rit.edu/) to be very knowledgable and well thought out. Most were doing CS when i was in elementry school (or earlier). I didn't mean to imply that functional programming had no use, just that its use is very limited. One thing i did like about the profs was they tried to instill in us to use the best tool for the job when choosing languages and such. For the most part, OO seems to be the right tool. As far as MS deciding that you can't use Multi-inheritance...well you could say the same thing about Java not letting you use pointers. Choices had to be made, and they made the ones they felt were best. In C# code you lose pointers, but gain security and a common source of GPFs. (Yes, there's an article about unmanaged code in.net and security;.net security can't hanlde unmanaged code, b/c its unmanaged. I imagine this means using COM thru interop decreases security as well).
I imagine if your fav language is made.net compliant then it won't allow multiple inheritance then. If you don't mean.net compliant, the only way to use your object would be via the COM interop.
This are better news and a much needed clarification.
Miguel surely understands (if he didn't he wouldn't clarify it like this) that although he (or ximian) don't own GNOME, they have a major steering strength on its development.
Sometimes that counts for a lot, and is what surely led to everyone's confusion (specially the news agents) on this subject.
Thank you Miguel, I feel _very_ less stressed out about this.
Really, programmer's lives are boring, I wish my life would be as exciting as other people's life appear to be.
Wrong. Programmer's lives are exciting, as long as you like Computer Science and enjoy tweaking with the little bits, discovering new things. Now, if Miguel started writing Unix software thinking he would be rich, surrounded by girls and driving Romero's Ferrari, he's far beyond dumbness.
Re:Programmer's Life
by
miguel
·
· Score: 5, Insightful
I guess you miss-understood.
Writing about a programmer's life is pretty boring. The programmer might be enjoying himself, but to an external viewer he is only tapping at a keyboard.
Hmm... have you ever read the book Hackers? It's pretty good... Mostly about people hitting keys and starring at a blurry eyed screen. I guess it depends on how interested you are in the material in question.
Re:Programmer's Life
by
Anonymous Coward
·
· Score: 0
Wrong. Programmer's lives are exciting, as long as you like Computer Science and enjoy tweaking with the little bits, discovering new things. Now, if Miguel started writing Unix software thinking he would be rich, surrounded by girls and driving Romero's Ferrari, he's far beyond dumbness.
I'm not rich, and I don't have a Ferrari, but I code annoying networking stuff in Java, and spreadsheet processing crap in C all day, and I know the babes think *I'm* sexy. Maybe it's just me... That, or my sexy soul songs about love and diffuse interreflection...
> The programmer might be enjoying himself, but to an external viewer he is only tapping at a keyboard.
Don't forget all the time we spend pulling on our joysticks!
-- Sheesh, evil *and* a jerk. -- Jade
Re:Programmer's Life
by
Anonymous Coward
·
· Score: 0
It's called humility, and frankly it's refreshing to see it in someone in so visible a position as Miguel. He obviously loves, and is excited by, what he does, if you couldn't pick that up from reading this letter then you're the one that's "far beyond dumbness".
That said, he's absolutely right. If the next Slashdot poll question were "How exciting is your life?" most people would pick the CowboyNeal option rather than admit how lame they are.
It's good that you're *excited* by what you do, but that doesn't make your life *exciting* to complete strangers, and that's what Miguel was talking about in the line you quoted (specifically the need of reporters at the Register to make his relatively mundane comments sound controversial).
Re:Programmer's Life
by
Anonymous Coward
·
· Score: 0
It's called humility, and frankly it's refreshing to see it in someone in so visible a position as Miguel.
Actually, it seems that people like Miguel (ie the ones who do things) are the only ones with humility around here. It's a shame.
the problem is not finding girls... any idiot can be surrounded by girls if you have the right attitude... the problem (atleast for me) is finding girls who don't get on my nerves in a short period of time
--
I believe sex is highly over rated... unless it involves me
Re:Programmer's Life
by
Anonymous Coward
·
· Score: 0
Oh the fucking modesty of it!
Please, please post a pic of yourself so we can all worship your gorgeousness!
I think Icaza is making a mistake; It doesn't matter if.NET or whatever is a great technology, open source developers need to be able to be _proud_ of their work.
How could we be proud of something that is merely (aiming to be) a copy of something MS has developed? Granted, our desktop environments are largely copying MS functionality, but at least we can pick the bits we like and create new things when we want to.
-- Can you hear me, Major Tom?
I'm not the man they think I am at home...
Re:Pride
by
Anonymous Coward
·
· Score: 0
So isn't this copying MS functionality (which is really just an evolution of Sun functionality), picking the bits that they like and enabling you to create new things when you want to?
Linux is a copy of a proprietary OS, Unix, which was invented by a monopolistic company, AT&T. Miguel pointed this out in the email, if you actually read it. Most free software has been free re-implementations of closed software or technologies.
Fuck Pride. If the technology is a good idea use it. Who says that the open source implementation of.net won't take off so well and have so many extra features that Microsoft has to play catch up. Certainly we could use the.net idea and tell MS to stick it if we didn't like their implementation or they tried to patent their way of doing.net.
Linux desktops do not copy the MS desktop, in as much as all desktops follow the same basic pattern. Which is why Apple sued and lost when they complained that MS stole their 'look and feel'.
The biggest problem with.NET is that it is a MS initiative and controlled at its most basic level's by MS. Anyone who thinks they can safely develop a project under it without fear that MS will change the APIs the instant they actually start competing at some level is an idiot.
And therein lies the rub of any development using MS tools. Undocumented, incompatible changes to the underlying APIs at MS's whims for MS's gain.
Re:Pride
by
Anonymous Coward
·
· Score: 0
I am not a major conrtibutor to Gnome, but it seems to me that most of what linux does is to embrace good technologies, and then "extend" them (in a good way) in ways that create interesting and powerful tools not run by the initial company.
As Miguel said in his emial, Linux is based on UNIX, and C and C++ are commericial languages that have been "extended" to cool things like Perl. The OpenSource/Free community has a track record of doing this.
I see no reason why developers wouldn't feel proud of their work... do the WINE people not feel proud of their work? do KDE/Gnome developers feel bad that they are essentially copying Windows/Mac interfaces?
Re:Pride
by
Anonymous Coward
·
· Score: 0
WRT the majority of the libraries, this is potentially true, but the language, CLR et al are all an ECMA standard, so they cant change them at a whim and expect to get away with claiming they fulfill a standard.
Even if they change the api's, they still need to support the previous versions - they cannot expect old programs to be rebuilt because they are trying to make mono void. There is at least some protection. I do understand the fear.
I say let him have his.NET, is that's what he wants. After all, Red Hat's Bob Young gets some needed proof as to why Red Hat will never dominate the desktop.
Everybody there wins (sort of), and the rest of us use what what works!
-- "Only in their dreams can men truly be free
'twas always thus, and always thus will be."
--Tom Schulman
This was the point that stuck out the most for me. I had doubts about Mono ever since the announcement, but that is an excellent point.
Here's what he said:
* GNU was based on a proprietary technology.
GNU is a free re-implementations of Unix. Linux is a
re-implementation of the Unix kernel. Before the advent of Linux
and the Berkeley Unix, Unix was a proprietary technology, built by
ATT (which back in the day, was a monopoly).
Still, developers took what was good from Unix, and
reimplemented a free version of it. Down to the Unix programming
language: C (which was also invented at ATT). Even C++ was
invented at ATT.
Think of Mono as following the same process: we are bringing
the best technology out there to our beloved free software
platform. And at the same time it serves to be a magnificent
upgrade on the development platform.
I think Icaza is making a mistake; It doesn't matter if.NET or whatever is a great technology, open source developers need to be able to be _proud_ of their work.
It doesn't matter if this printing press or whatever is a great technology, the clergy needs to feel superior to the congregation.
Isn't developing a free implementation of this wonderful technology that could make things work a lil better with each other something to be proud of?
By the way, aren't you proud of those wonderful free *NIXes?
Do you remember Java? More specifically MS's 'enhanced' JVM? They claimed it was still fullfilling the standard.
It only took a few years, several dozen lawyers and umpteen $$$ to prove them wrong. Geez, I can't see where they'd expect to get away with that sort of behavior again......
So by that notion, wine developers shouldn't be proud of thier work?
-- If it ain't a Model M, it's a piece of crap.
Good response...
by
Nijika
·
· Score: 5, Insightful
Sorry, but RMS tends to fly off the handle any time he even gets a whiff of something non GNU. So do we all here it seems. I'm tired of hearing it from the community because it's starting to hold us back.
Miguel has made many positive arguments for his prior statments. And thanks to the Register for obfuscating the variables.
--
Luck favors the prepared, darling.
Re:Good response...
by
JabberWokky
·
· Score: 2, Interesting
Sorry, but RMS tends to fly off the handle any time he even gets a whiff of something non GNU.
No... he lobbies for Free Software (which he had meticulously defined). He speaks up in logical arguements when Free Software is threatened with loss of any of the fundimental points of Freedom.
If I lobbied against rape, would you expect me to say "Well, okay - you can rape her this one time" or "That occasion was okay - he only raped her a little bit"? Sure, it's not "as important" as rape, but at one time, in many cultures, rape of the lower clases by the upper classes was considered part of society. RMS simply sees a vision of a better, more humane future, and is working towards that.
Note that I don't necessarily *agree* with him - just that I can see that his inflexibility is a virtue.
--
Evan
-- "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
Dude, RMS did not fly off the handle. He was holding a speech when someone in the audience told him that Miguel said that Gnome will be based on.NET. How the hell was he supposed to react? Do cartwheels on stage?
And another thing, if you are so tired of RMS why don't you start your on project to replace the GNU stuff.
Re:Good response...
by
Karma+Sucks
·
· Score: 0, Flamebait
Haven't you learned anything? Miguel is a big old hype machine. Nothing is different, nothing changed from the anti-KDE days. Only this time it seems to have bitten him in the ass. That's okay though, we have his long reply plastered on/. now, and the hype-machine wins again.
Think of it as Karma Whoring, if you can comprehend that better.
No, all you RMS-haters out there characterize anything he says as having been screamed in a rage. He said, to quote directly from the article,
"I didn't know he was doing that, I find that very hard to believe," he said. "We would like him to come to the free software community and explain himself to us about it."
My whole problem with this incident has been RMS's apparent willingness to admonish in public. It's not like Miguel is particularly difficult to get ahold of. It's not like he's not a regular on at least a few public email lists.
If RMS wants to take the "Free Software Leader" approach, it would have been much better received if he'd gone to Miguel in private and asked "WTF?" instead of doing it in a public forum. Then there could have been mutual understanding and (possibly) a joint clarification on what's going on.
--rocketscientist.
Re:Good response...
by
Anonymous Coward
·
· Score: 0
And another thing, if you are so tired of RMS why don't you start your on project to replace the GNU stuff.
Not only that, but often when RMS says something like this he is saying the same thing a lot of people in the Free Software community are thinking. Miguel certainly took the statement seriously and wrote a great reply to this concern. Would he have done that if this was just a case of RMS ranting?
Personally I thought the bit about "programmer to use new compiler... news at 11" was damn funny because it so clearly showed how easy we let ourselves get bent out of shape over this stuff.
-- I do not have a signature
Re:Good response...
by
Anonymous Coward
·
· Score: 0, Flamebait
The guy demanded a response, as if De Icaza was somehow obligated to jump when RMS said frog. He might, just might, try asking for more information and then taking time to frame a rational response instead of treating somebody else as a lackey who needed to come explain himself to the master. Stallman's good ideas and tireless campaigning for what he believes to be right get ignored because he comes across too often as a freak and a prick.
Some of the donations and grants the FSF brings in need to go to a good *publicist*, instead of more coders and lawyers. Like it or not, RMS is a poster child for the Open Source and Free Software movements, but he needs some serious help with his image before all those shiny folks in suits who make IT purchasing decisions will even pay attention to him, or anyone associated with him. A good souless weasel PR guy will keep RMS from making kneejerk responses that piss off folks who might otherwise go along with him, and it will free Stallman's time up for more of the things he does do well. Everyone wins - the pointy haired bosses can interact with the brighty colored and non-threatening Stallman Interface, and the real geeks can get work done with the Command Line RMS.
-reemul
-- You're just jealous 'cuz the voices talk to *me*
"I didn't know he was doing that, I find that very hard to believe," he said. "We would like him to come to the free software community and explain himself to us about it."
He just wanted to get clarification on a question he was just asked.
Jeez RMS can go off sometimes, but at least try to keep it in context.
-- The Kruger Dunning explains most post on/. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
We would like him to come to the free software community and explain himself to us about it.
RMS tends to say everything in grave, ominous tones. It's not really flying off the handle, but it wasn't very polite, either. He sounds like a congressman issuing a subpoena for an Enron executive.
> "We would like him to come to the free software community and explain himself to us about it."
> How is this "flying off the handle"?
Its not. However RMS does seem to have started using the royal we:-) Thatcher started doing it and it became clear that she was going completely potty so we should be worried!
My whole problem with this incident has been RMS's apparent willingness to admonish in public. It's not like Miguel is particularly difficult to get ahold of. It's not like he's not a regular on at least a few public email lists.
And I suppose it's also not like Miguel made a highly controversial statement during a high profile interview. RMS was asked about it IN PUBLIC. He had no choice but to respond IN PUBLIC. You might argue that he could have said "I need to check with Miguel on that," but I think he was genuinely shocked by what he heard. Miguel chose some of his words very poorly during the interview and, after reading it, I myself was shocked and dismayed. Call it kneejerk if you like. I call it normal.
--
GreyPoopon
--
Why is it I can write insightful comments but can't come up with a clever signature?
In this case, it's not (for me, anyway) that it's non-GNU - heck, I don't even use GNOME (nor KDE, I use XFree and IceWM), it's the idea of sending so many Linux users down a road which is following MS - an un-Open corporation (and the rest, but the not-open is the important factor).
This would encourage developers to only develop for.NET, and thus reduce the number of applications for non-MS users (since many Open Source projects are Gnome-based, they'd 90% go.NET, add the number of MS-only-but-we-follow-the-MS-plan programmers, 99.99% of apps would be.NET applications)
That would leave me out in the cold, just because I want to run Linux, but not Gnome. That's not freedom.
without getting into the big difference between violent crime and software ideology, the problem that those of us who critisize rms for see (imho) is this:
miguel says something to a reporter
it get sensationlized
rms starts sounding like he's on a private witch hunt for miguel unless miguel repents his sins
--
I believe sex is highly over rated... unless it involves me
RMS sounds like he's on a "witch hunt" by asking Miguel to clarify his position?
*sigh* If RMS said that he wasn't going to buy a coffee from Starbucks because he doesn't like the taste of Starbucks coffee much, Slashdot Trolls would be all over him as "some kind of anti-Starbucks extremist!" and "All Starbucks have done is try to make an honest buck, and dirty/smelly/hairy/extremist/communist/programmer RMS wants to destroy them!" or even "He just wants them to call it "GNU/Starbucks!" (+5 Hilarious)
It's all nuts. He's strongly opinionated, and I understand a lot of people disagree with him. But I've never heard him resort to personal attacks, I've never heard a sentence from him that hasn't been inflated out of context on Slashdot, and I'm tired of it for one.
RMS gave us GCC (version 1) and EMACS. He also promoted the idea of a free operating system, an OS that was genuinely in the hands of the users, something we see today in GNU/Linux. (And yeah, I don't think it's unreasonable to suggest that something comprising of GNU + Linux be called GNU/Linux. Nor do I think he's an outright fascist for demanding so - he's not forcing anyone to do anything, he's saying what he, personally, thinks is the right thing to do, as he does with free software.)
Pick another target. RMS was told that De Icaza had effectively chosen to put Microsoft in charge of GNOME. That's not even that far from the truth. And rather than blowing his top, calling Da Icaza names, excommunicating him from GNU (as if he could), demanding people like De Icaza be thrown in prison, or anything like that, asked De Icaza to explain what exactly he meant.
That's a reasonable request, and it's a request I suspect both the free software and open software communities agreed needed to be made.
-- You are not alone. This is not normal. None of this is normal.
First off: To all the people who are upset that I'm comparing rape to free software, I'd like to point out that I chose it because it is an act that used to be considered morally correct, and is now viewed as morally repugnant. Choose your own historical example, but most are still in practice today and/or being rationalized as moral behaviour (slavery, racism, sexism, censorship). I'm not comparing relative "worth", merely showing that thoughts change - at one time, songs were shared, passed from performer to performer freely (each reinterpreting and changing it), and the concept of "selling" a song was not in existance, let alone copyright and fair use laws. Things change: RMS has a vision. Let's look at it:
However, if you started calling consensual sex rape, then we'd have to call you a zealot and out of touch with reality.
That's why he came up with the following rights that he feels users should have:
The freedom to run the program, for any purpose (freedom 0).
The freedom to study how the program works, and adapt it to your needs (freedom 1). Access to the source code is a precondition for this.
The freedom to redistribute copies so you can help your neighbor (freedom 2).
The freedom to improve the program, and release your improvements to the public, so that the whole community benefits. (freedom 3). Access to the source code is a precondition for this.
So, unless it violates one of those rights, he dosen't care - the difficult problem with rape is when it falls into a category of partial or unclear consent (on the part of the raped). Luckily with the concept of Free Software, the above set of rules define exactly what *is* and is *not* free software.
RMS has crossed that line many times.
I have never seen him ever cross the line - if it breaks the above freedoms and claims to be Free Software, he raises a fuss. If someone comes to him about Open Source that may or may not violates the above rights, he patiently points out that since it doesn't claim to be Free Software, he can't comment on it. He's working towards the goal of a complete operating system and application set that respects the above freedoms - towards that goal, he promotes those ethics.
Again, I'm not saying I agree with the guy, but he's not the raving lunatic that people make him out to be - merely a guy with a precisely defined goal.
--
Evan
-- "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
Re:Good response...
by
JabberWokky
·
· Score: 3, Informative
rms starts sounding like he's on a private witch hunt for miguel unless miguel repents his sins
Here are RMS's actual quotes:
"I can't believe it's Gnome you're talking about but if it is, I wouldn't like that,"
"I didn't know he was doing that, I find that very hard to believe,"
"We would like him to come to the free software community and explain himself to us about it."
Where exactly is the witch hunt? Where is the talk of 'sins'? Or the need to 'repent'? If anything, he says: "Um... I didn't know that. Are you sure? Well, I'd like to hear it from him before I comment on the matter".
BRUTAL words from him - an utterly horrible position, eh?
--
Evan
-- "$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
ok i recant, what i said earlier... i guess i was the victim on headline sensationalism. i also let some personal misgivings i have about rms' repuation let myself get carried away with irritation.
my actual view on the situation is as long as miguel plays by the rules of the license then he should be free to do what ever he wants. even if he's wrong and everyone else in the world thinks he's wrong he can only realy hurt himself, since other people can still keep going with a "pure" gnome implementation.
maybe i should just stick to what i'm good at.. bad jokes.)
--
I believe sex is highly over rated... unless it involves me
Something along the lines of "I need more information before I can comment" is fine, and a typical response to a question one doesn't know enough about to answer. "We would like him to come to the free software community and explain himself to us about it" is pretty damned pompous. You need more data, you go and ask. You don't use the royal "We" and demand that someone come to you, particularly in front of a public forum. See the difference? Doesn't mean RMS was wrong, just clumsy. Thus the need for some professional assistance. He's a bright guy, he'll figure it out quickly enough, he just needs to accept the fact that he needs a bit of help on public appearances.
-- You're just jealous 'cuz the voices talk to *me*
A well-written clarification
by
Archie+Steel
·
· Score: 0, Redundant
Thanks to Miguel, and a big lemon for the Register for their misleading headline. I guess the search for the "next big scoop" has gotten the better of them this time.
This is all really interesting news...though we should still keep stressing the difference between the ".NET framework" and Microsoft's proposed ".NET services"!
--
Reminder: find a new sig
Miguel's dishonesty
by
Anonymous Coward
·
· Score: 1, Interesting
> Miguel wrote:
> The CIL has one feature not found in Java though: it is
> byte code representation that is powerful enough to be used as a
> target for many languages: from C++, C, Fortran and Eiffel to Lisp
> and Haskell including things like Java, C#, JavaScript and Visual
> Basic in the mix.
Bullshit. See here for JVM languages.
Furthermore care to explain the existance of "managed" C, Perl,..., iff the (.NET) CIL is sooooo powerful.
Re:Miguel's dishonesty
by
Anonymous Coward
·
· Score: 0
Does anyone use anything other than the Java language for production use on the JVM? I also notice that page is not hosted at java.sun.com.
.NET comes out of the box with support for a number of languages, including Java itself.
Re:Miguel's dishonesty
by
Anonymous Coward
·
· Score: 0
Jython for example.
Rest assured, after a year of.NET in production, no one will use nothing but C# on it. C# is the language the VM was designed for, and eventually trying to use the bastardized Eiffel (nicely named Eiffel#) will just be too impractical.
.NET is a platform for one language and that is C#. Wait a year and you will see.
Managed means that the code operates within the CLR and plays strictly by the rules. Unmanaged code can bypass the CLR. This is required as their are millions of lines of C/C++ source using pointers.
Re:Miguel's dishonesty
by
Anonymous Coward
·
· Score: 0
.NET is a platform for one language and that is C#. Wait a year and you will see.
Smoke some more crack. C# is all show for the C++ and Java crowd. Most MS platform development will be done on Visual Basic, just as it always has.
Re:Miguel's dishonesty
by
Anonymous Coward
·
· Score: 0
puff puff
VB doesn't work on.NET. You need to learn the brand new VB.NET. At which point many VB'ers will move to C# (because the languages are almost identical feature-wise, that is the only way the.NET is able to implement this ridiculous "cross-language" support.)
So go find a fucking clue.
Re:Miguel's dishonesty
by
Anonymous Coward
·
· Score: 0
Here's a clue: VB programmers are by-in-large brain-dead. If they could have learned a new language, they'd all be doing Java right now. The switch has already started happening, and they're using VB.NET, not C#.
Nice troll
by
Anonymous Coward
·
· Score: 0
See here [tu-berlin.de] for JVM languages
Nice list of languages *re-implemented* in Java. No indication on that page of any of those languages being compiled into Java bytecode and being run as if they were Java.
Re:Nice troll
by
Anonymous Coward
·
· Score: 0
yeah, like.NET which can run: Eiffel# (reimplemented), Managed C++ (C++ reimplemented), VB.NET (VB reimplemented), Perl# (reimplemented).
NET is not the universal VM Microsoft wants you to believe. It is somewhat better than JVM, but then Sun never claimed that JVM could handle more languages than one.
Check Osvaldo Diederlein's paper on CLR and his description of what he calls "skinnable languages". That is what you get with NET. Sure, you can decide whether you use curly brackets or type BEGIN and END but that's about it. Every language run on the.NET VM looks, feels and smells like C#. And you know what they say about roses...
The reality will hit you eventually. Maybe its just too late in your case.
Follow the thread between Alan Cox and Miguel for some interesting back and forth on this.
For my money, Miguel is just plain wrong on this.
Miguel was guilty of misjudgement
by
Anonymous Coward
·
· Score: 0
At the very least Miguel is guilty of misjudgement. He is trying to do whatever possible to sell Mono, even to bet the future of GNOME on it. Since Mono will take a number of years to be usable for GNOME (if that ever happens), why tie GNOME to Mono now? Mono is of no use to GNOME for the next release (and the next release), why distract the community with such "vaporware" comments? No good comes out of selling Mono now to the GNOME community who is working on the next release based in C.
Re:Miguel was guilty of misjudgement
by
praedor
·
· Score: 1, Flamebait
Miguel is doing the community a favor by helping kill gnome with nonsense. He is helping us because without gnome, the defacto standard desktop will be KDE. Now this is independent of whether or not you LIKE KDE or GNOME, it is an objective fact that by being simple-minded with his childish M$-IS-playing-fair-with-C#-and-.NET Miguel hurts Gnome. Hurting Gnome helps KDE, which means that all new users are going to get the same GUI unless they specifically change it or deselect it. This will help linux overall. No more business or user "confusion".
If the KDE folks got looney like Miguel and decided to waste time chasing M$, then Gnome would benefit and KDE would crap out. Same ultimate objective end - the standard would be Gnome and anything else would require specific actions by the user.
Bless you Miguel, your lunacy is helping linux in a way you didn't intend (understandable given your apparent mental instability).
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
Great reply, but...
by
mjh
·
· Score: 5, Insightful
Reading Miguel's response makes me better understand why it is that he's so enthusiastic about the.NET framework (as he calls it).
One thing though. Miguel says:
So when you copy your binary from Windows that was compiled with the Visual Studio.NET and run it on your Unix platform, it will just integrate nicely with your GNOME desktop.
This just strikes me as overly hopeful optimism to think that Microsoft is going to give up their hard fought and long defeneded applications barrier to entry.
-- Key to financial independence: Spend less than you earn. Save and invest the difference. Do it for a long time.
Re:Great reply, but...
by
Anonymous Coward
·
· Score: 0
This just strikes me as overly hopeful optimism
That's not only overly hopeful optimism, its pure stupidity. How anyone would think this is possible, when MS has repeatedly said they won't openly license their libraries (such as ADO+) and all their tools (including VS.NET) will generate code automatically for the developer that make use of these libraries.... how anyone can be as stupid to think than Microsoft.NET applications will ever run on an Unix platform... I mean, what crack is this guy smoking?
Re:Great reply, but...
by
Anonymous Coward
·
· Score: 0
Not offtopic, fuckwad moderator.
See you in metabod, fucker.
Re:Great reply, but...
by
Glock27
·
· Score: 5, Interesting
This just strikes me as overly hopeful optimism to think that Microsoft is going to give up their hard fought and long defeneded applications barrier to entry.
Yes, this is a key area where I think de Icaza has a problem. He's clearly planning on implementing Winforms (I checked on the Mono site) and those are not part of the ECMA C#/CLI/CLR spec. Microsoft will not permit those classes to be cloned - its already dropped strong hints about it.
An interesting thing to do would be to write a Java compiler (backend) for the CLR, and try to implement Swing or Eclipse in a Gnome environment...hmmmm. Of course, on the other hand I can just use one of the excellent Java runtimes for Linux, and get better performance. I can still use other languages through JNI (and DirectIO in JDK 1.4).
All that said though, competition is good. Perhaps.Net and Mono will do more to spur Sun to refine Java significantly further.
299,792,458 m/s...not just a good idea, its the law!
-- Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
Copying APIs for compatibility reasons has already been held up in court as legal in several cases (e.g. the Sony PS emulator case). As long as you aren't copying the copyrighted code.
You don't see MS going after Samba of Wine..
Re:Great reply, but...
by
Glock27
·
· Score: 3, Interesting
You say that mIcrosoft has dropped hints that it will not permit cloning of the Winforms classes. Can you be specific?
What is it that Microsoft has said/done to create this impression?
As I recall there was an article on news.com that quoted the President of ECMA as saying there were not and could not be licensing fees for ECMA standards, while Microsoft seemed to be saying there were elsewhere in the article. I couldn't find that exact article, but this one seems to cover most of the issues. Note that WinForms is absolutely not part of the ECMA standard. Also note that in this article Microsoft says clearly that there may be license issues between their software (even the ECMA standard) and Free Software licenses.
One especially pertinent snippet from the article:
"Part of the ECMA (standardization process) provides a forum for us to license the intellectual property you will need to have to implement the standard," Goodhew [a Microsoft product manager] said. "It's up to the implementers to make sure whatever license they choose to use is compatible with the ECMA licensing terms."
I hope de Icaza has looked over the "ECMA licensing terms" very, very carefully. They don't cover the GUI functionality regardless.
299,792,458 m/s...not just a good idea, its the law!
-- Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
An interesting thing to do would be to write a Java compiler (backend) for the CLR
A Java implementation of the CLR has already been built by Halcyon Software. Check it out here. It not only allows you to run your.NET apps on any machine with a Java VM, it turns your.NET web services into native J2EE objects which can be hosted by BEA WebLogic, IBM WebSphere, Sun iPlanet, and Oracle 9i Application Server.
I personally think this implementation is far more interesting, subversive, and controversial than Mono, but it seems that they just haven't been able to make headlines yet. My favorite quote of the Halcyon CEO from this article: "Microsoft has said it wants.Net to work in other operating systems, but I think it's hard for Microsoft to digest the fact that we're using Java to accomplish this."
Yes, this is a key area where I think de Icaza has a problem. He's clearly planning on implementing Winforms (I checked on the Mono site) and those are not part of the ECMA C#/CLI/CLR spec. Microsoft will not permit those classes to be cloned - its already dropped strong hints about it.
Hmm... If I was Miguel I would take a different route to avoid this problem - I would create a UIML based tool that would generate code for both Winforms (on Windows based platforms) and MozillaXUL for everywhere else (and your little Windows too, deary!) Plus UIML is a handy intermediate form for other forms-based UI platforms, such as Java Swing and HTML. Just standardize on Javascript for the local scripting needs...
Personally I think UIML is a damn good stab at creating a standardized common syntax for cross-platform UI design. Given a couple of revisions to add scripting capability and a decent event model it would rule (if enough tools supported it). And I like this kind of general approach a lot more than I like the idea of emulating MS Winforms.
Apart from this, there is the often overlooked problem that apps from one platform that are somehow ran on the other totally don't adhere to the "host platform" UI guidelines and conventions. This may also be part of the reason there aren't many popular GUI Java apps (Sun has published Java L&F design guidelines though). Applications that look and behave "strange" are less likely to be accepted by users.
only if they can find a loophole somewhere
they are indirectly targeting wine, through the lindows suit. it wont stop wine, but it's attempting to bog down a potentially large supporter and marketer for wine
--
I believe sex is highly over rated... unless it involves me
Re:Great reply, but...
by
Martigan80
·
· Score: 2, Interesting
O.k. here is a karma burn.
If this will be so simple in the future, then MS companies will really try to lure people of off linux, plus think of the Virus factor! Now you can infect two OS's for the price of one!
--
This SIG pulled due to lack of funding. (This damn war is costing too much!)
Yes, this is a key area where I think de Icaza has a problem. He's clearly planning on implementing Winforms (I checked on the Mono site) and those are not part of the ECMA C#/CLI/CLR spec. Microsoft will not permit those classes to be cloned - its already dropped strong hints about it.
Interesting point. Then our response should be:
Do clone these classes
Don't make Gnome dependent on them (so MS has no chance of shutting down Gnome itself)
Should MS dare to try to raise licensing/patent issues re this interface as a barrier to entry, fight them head on. Not in court, but through the court of public opinion and, need I even mention it, through their parole offi^H^H^H oversight committee.
-- Life's a bitch but somebody's gotta do it.
20 seconds???
by
Anonymous Coward
·
· Score: 0
Previewing AND submitting takes just a few secs and it always works!
Alan Cox Says It Best
by
Gryphon
·
· Score: 5, Interesting
Miguel:
> or ourselves. I want to be as compatible as
> possible with the APIs that were published by
> Microsoft.
Alan:
Be assured that the day they decide you are a nuisance the VM will acquire a patented neat feature that kills you off. Just ask the Samba people.
Even if a maintainer in another country takes a go at duplicating a patented feature, they're left with reverse engineering said nifty feature, just like WINE... we've all seen how easy that is.
(Microsoft won't be publishing API's or other blueprints for patented features...)
Re:Alan Cox Says It Best
by
Penrod+Pooch
·
· Score: 1
In which case someone in a country where software patents aren't recognised might be interested in taking up maintainership.
Yes, but that would mean that US-based companys like RedHat would have to stop distributing/contributing to Gnome.
Re:Alan Cox Says It Best
by
sab39
·
· Score: 5, Informative
Miguel himself responded to this point:
"There is the issue that we might not be able to keep up (right
now, we dont, as.NET Framework 1.0 is already out there, and we
are, well still underway). Also, theoretically there is the risk
of a given API being unimplementable on Unix.
Even if that is the case, we still win, because we would get
this nice programming environment, that althought might not end up
being 100%.NET Framework compatible, it would still be an
improvement and would still help us move forward. So we can reuse
all the research and development done by Microsoft on these ideas,
and use as much as we can."
This applies just as much to being intentionally broken by Microsoft as it does to them simply outpacing Mono's development.
Re:Alan Cox Says It Best
by
dillon_rinker
·
· Score: 2
Microsoft will HAVE to publish APIs etc. for patented features. How else can they get a patent? The whole point behind a patent is that you are granted a 100% legal monopoly for your product IN EXCHANGE for your full disclosure of your product.
OK, so demonstrate how this applies to SAMBA? What are the free research ideas from SAMBA that are being incorporated into a better and stronger Linux? Face it, SAMBA is a compatability layer that people use to shoehorn Linux into m$ networks and they are doing a great, but hard job playing catch-up.
You are referring to the original use of the term "to patent".
Today, a patent application need not be a blueprint to reproduce said invention. The application only needs to describe enough of the invention to convince the patent office to grant the patent.
Re:Alan Cox Says It Best
by
blakestah
·
· Score: 4, Redundant
Microsoft will HAVE to publish APIs etc. for patented features. How else can they get a patent? The whole point behind a patent is that you are granted a 100% legal monopoly for your product IN EXCHANGE for your full disclosure of your product.
Unfortunately, this is the future of proprietary software. Look around at any developing area.
Microsoft has patented the second generation Windows Media Format codecs. Real had patented its codecs. Apple holds exclusive licensing for Sorenson codecs used in Quicktime. So if you want to make or decode a decent video codec, you have to license a patent.
SAMBA is now also encumbered with patents with respect to user authentication. The next generation of Windows will contain this authentication, and the SAMBA team will be unable to make a functional work-alike. Too bad, that is the law.
Unless the Microsoft settlement has something to say about open licensing of patented formats, codecs, and authentication, making software to duplicate new Windows functionality, or providing file or print servers for Windows machines, will become impossible without licensing from Microsoft. You can expect that authentication of users under.NET will use patented protocols, and that they will similarly use other patented protocols into other inter-machine communication APIs. After all, there are a lot of ways to skin a cat; this is one way to keep free software out of Microsoft-monopolized areas.
...and as I understand it the SAMBA folk have done an amazing job because they've been working without documentation --- having to reverse engineer a proprietary (and changing) spec.
It's important work because Microsoft's network file system thing became so wide-spread... so we needed support for it.
What worries me about going along with the ".NET framework" is that
(a) you're helping making that framework widespread, and then
(b) I expect MS to change the API in some way to make life hard, leading to
(c) having to do what the SAMBA folk do, and try to reimplement something that was "open".
I dunno. I just get a baaaaaad feeling about this.
What you say is a problem, but it will not be a dealkiller until Microsoft drops support for it's previous methods of authentication.
XP can see samba on my little ClarkConnect box and connect no problem (OK, so I haven't waded through the morass of actually making it authenticate yet, but I know it can be done). If NT6 comes out with basic SMB authentication dropped like MS dropped Java (one more reason why the settlement is meaningless), that's when the lights go out. Quite a bit can happen between here and there, and most of it rests on how the corporate IT world reacts to Microsoft.
> This applies just as much to being intentionally broken by Microsoft as it does to them simply outpacing Mono's development.
And of course commercial software products will stay compatible with Mono's VM. Dream on. We will have a VM, but will only be able to run deprecated commercial software on it.
Re:Alan Cox Says It Best
by
Anonymous Coward
·
· Score: 0
SMB was never open. In fact Microsoft and IBM used to licence the codebase to third parties (like AT&T USL) for large sums of money.
The "CIFS" bullshit came about many years after Samba did.
Re:Alan Cox Says It Best
by
blakestah
·
· Score: 2
What you say is a problem, but it will not be a dealkiller until Microsoft drops support for it's previous methods of authentication.
Yeah, but Microsoft will coerce through discontinuing support for old protocols in new software, and reliance on the upgrade cycle. Didja notice Office 2000 is already GONE and no longer supported, and only Office XP is ?
This will happen at the OS level too, until you can no longer buy new software to run a server or client using anything but the new authentication scheme. They will introduce it slowly, but eventually, every single person using some kinda SAMBA will be forced into the Microsoft way. It may even take two cycles - 5-6 years - to fully implement. I mean, it doesn't take a rocket scientist to figure out their marketing and sales plans.
Consider that, while a patent grants you a time-limited monopoly, you may not get to enjoy these rights if you are already a monopoly and use the patent in an anticompetitive fashion.
Imagine holding a de facto monopoly on, say, automobiles. You use a special type of bolt that's patented so nobody else can sell replacement parts without licensing your bolt. You refuse to license the patent to anyone else, and happily set your own price on replacement parts.
Then the Justice Department launches an investigation into your activities. You're a de facto (if not de jure) monopoly, so the normal rules don't apply, and you're forced to stop being anticompetitive.
Open Source projects don't really have the money even for compulsory licensing now, but I doubt that'll be such a huge deal in the future. Projects large enough to pose a threat to the established monopoly will have significant funding from would-be competitors, allowing such licensing fees to be paid. But just like Joe Programmer can't build and distribute an invention someone else patented, he won't be able to use patented algorithms either and will have to figure out an alternative way to do it.
If Samba can access Windows anymore, then surely NFS will come to Windows. Yeah, maybe a bit of authentication work should be done on NFS, but if one road is cut, then take the other, longer one!
Sure, invest huge effort in cloning Microsoft CLR (when there are several other VM efforts already underway - Parrot, Python, Scheme, Java in various forms), put a huge political risk at the heart of Linux app development, for absolutely no guaranteed or unique benefit whatsoever!
Congratulations, the 'strategic technical visionary' award is in the mail.
Re:Alan Cox Says It Best
by
mydigitalself
·
· Score: 1
that's funny, i use samba every day. didn't realise it was killed off.
But Unless You Were an Incredibly Neurotic, Dumbass, Only Windows Should fear Ximian's Progress...
(gotta love acronyms;)
-- "Don't blame me, I voted for Kodos!"
Re:Subliminal messages!
by
atif_ghaffar
·
· Score: 0
You can play this backward with
for (reverse <>){
chomp;
print scalar reverse $_ ;
print "\n";
}
To see the result
http://www.ispman.org/leugim.txt
Those who fail to learn from history...
by
zhobson
·
· Score: 3, Flamebait
..are doomed to repeat it.
Over and over again, Miguel De Icaza has displayed the same sort of breathless excitement over Microsoft technologies that I'd expect to see from a newbie, not a developer of his caliber. It's extraordinarily short-sighted for him to believe that he'll be able to keep up with Microsoft. This isn't a matter of talent. Microsoft has shown, time and time again, that it has no problem locking out other vendors using API changes and whatever other means available.
Miguel seems to be ignoring the fact that Microsoft will very likely do everything it can to keep Mono uselessly lagging. They've embraced and extended every technology they've adopted, and even their own APIs shift constantly. I realize that the.NET Framework looks like a different approach, and Microsoft is acting like it's going to start playing nice. If it happens, it'd be a first for Microsoft. I personally have my doubts, and history backs me up. What a shame that a talented developer like Miguel doesn't know better than to trust them.
-zack
Re:Those who fail to learn from history...
by
SteveX
·
· Score: 2
They can't keep it "uselessly lagging" if it's already useful enough to be able to write it's own compiler!
If your goal is to be able to run any Microsoft.NET app on Linux then it may lag; but as a new development tool available to folks writing code on Linux, it's perfectly useful the way it is right now.
- Steve
Re:Those who fail to learn from history...
by
Hooya
·
· Score: 1
he says something along the lines of "this will get people switching over from windows to linux". I disagree. I think it's going to play out with MS 'playing nice' with Mono to first see if their idea can be implemented cross-platform. second to let it make inroads into 'Anything But MS' programmers. that would make the OS/FSF programmers bite into this environment since it is not MS after all. then, as the SAMBA team would attest, MS will implement some patented idea into the CLI or whatever the acronym is.. and people are left with two choices. abandon whatever they've worked on for a couple of years (including the knowledge and the effort put into learning the new environment) or walk into the arms of MS. and I think MS is counting on the fact that the platform will be sufficiently ubiquitous so that people will find it hard to just abandon it. and since everyone was gung-ho all this time getting MS-CLI implemented, nobody bothered to create a competing product. you're left with the only option and that is to switch to windows. I understand that it's a cool idea. I support Miguel in his thoughts. But if he expects MS to play nice he's very neive. I know there some other project that does the same thing by targeting the JVM. it's very needed. i'm not an expert so i may be wrong in saying that the JVM may be less cool than the MS-CLI but that might be the only alternative when MS decides to stop playing nice stranding the mono users.
Re:Those who fail to learn from history...
by
Malc
·
· Score: 4, Informative
I think he does realise it. He pointed out that even if it isn't compatible, he'll still end up with a better development environment, at the expense of MSFT's R&D department.
To quote:
* What if we never can keep up?
There is the issue that we might not be able to keep up (right
now, we dont, as.NET Framework 1.0 is already out there, and we
are, well still underway). Also, theoretically there is the risk
of a given API being unimplementable on Unix.
Even if that is the case, we still win, because we would get
this nice programming environment, that althought might not end up
being 100%.NET Framework compatible, it would still be an
improvement and would still help us move forward. So we can reuse
all the research and development done by Microsoft on these ideas,
and use as much as we can.
Re:Those who fail to learn from history...
by
Anonymous Coward
·
· Score: 0
+5 interesting.
Re:Those who fail to learn from history...
by
HammeredHead
·
· Score: 1
On the upside, with Microsoft being in their "security code freeze", Miguel might be able to catch up (if he hurries).
It may take a while to fix that mess of theirs..
Re:Those who fail to learn from history...
by
Anonymous Coward
·
· Score: 0
Every API shifts constantly? Big words from someone who's obviously never once programmed in Win32. Every single API is still there in perfect working order, from Windows 1.0, 1985, to Windows XP, 2002. If you stick to the documentation and don't attempt to take advantage of the compiler optimizations leaving behind extra tidbits in registers, you're fine. Otherwise, you're just stupid.
Re:Those who fail to learn from history...
by
Anonymous Coward
·
· Score: 0
Wake up and smell the roses.
More and more seasoned developers are embracing the future technologies rather than just flaming anything that is non-GNU.
You are just a choir boy for Richard Stallman.
Free software will never have more market share than proprietary software in total.
anyone who doesn't believe in your leftist GNU principles is labelled a sell out.... maybe you should read Animal Farm again. and see the resemblance of the pig to RMS.
I hate to be a dick, but.
by
sinserve
·
· Score: 5, Interesting
There is a point in your life when you realize that you have
written enough destructors, and have spent enough time tracking
down a memory leak, and you have spend enough time tracking down
memory corruption, and you have spent enough time using low-level
insecure functions, and you have implemented way too many linked
lists [1]
Last time I felt that way, I dicovered Lisp. Java also fits the bill (and so does C++ with STL, BOOST and ACE.
Re:I hate to be a dick, but.
by
Anonymous Coward
·
· Score: 0
Of course, with Mono you get all that neat stuff while still being able to code in _whatever_ language(s) you want and have it work transparently and consistently.
THAT is the whole point of implementing it, and that it its value to open source.
Dick.:)
Re:I hate to be a dick, but.
by
tommck
·
· Score: 3, Insightful
Yeah... that one really irked me. I'm older than Miguel is, and (shrugs his asbestos suit on...) I think this remark just demonstrates a serious lack of proper experience with C++.
T
-- ----
It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
Re:I hate to be a dick, but.
by
tommck
·
· Score: 3, Insightful
I understand (and anticipated) that people would think this is Flamebait, but being older than he is, and having clearly more experience in C++ than he does, I do not have problems with low-level calls or memory leaks or any of the things that he insuates are problems of an archaic language.
Running into those problems frequently is only a sign of poor design and poor coding, not a language flaw.
T
-- ----
It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
Re:I hate to be a dick, but.
by
jonabbey
·
· Score: 5, Informative
Of course, with Mono you get all that neat stuff while still being able to code in _whatever_ language(s) you want and have it work transparently and consistently.
Whatever language you like so long as its semantics and runtime behavior have been massaged to work with the CLR.
Really, the CLI/CLR is just like the Jave byte codes and JVM, except that CLR's is a bit less strict about security and in that the CLR's support for 'unmanaged' code allows for cleaner support of native machine code than does Java's JNI interface. It's a convenience thing, much as Visual C++'s helpful COM automation wizards are a convenience thing.
The biggest difference between Java and the.NET framework is that Java's bytecodes and VM are a bit more paranoid about things like security, and that Java is designed with portability as a first order concern..NET code will probably never be as portable as Java, precisely because it is designed to make it super easy to interface with operating system level code. Java is designed to make it a pain to use any code that isn't itself portable.
Re:I hate to be a dick, but.
by
Anonymous Coward
·
· Score: 0
Specifically, in what way are the Java bytecodes and VM "a bit more paranoid about things like security"? I've looked at both the specs and I don't see how this argument can be supported, but I'd seriously like to learn.
And your argument about platform portability is specious. Because it's easier to make non-portable calls, you presume that developers will inexorably be drawn to write non-portable code? And if it's hard they won't do it? Please. I'll write the code I need to write to get the job done. If it can be portably written, I'll do that. But if I need a feature that I know will make my application non-portable, and I'm willing to make the non-portable tradeoff in order to get the feature, then I'll do it. Without regard to how hard or easy it is. I make tradeoffs all the time. It's a big part of what I do while writing code.
Re:I hate to be a dick, but.
by
jonabbey
·
· Score: 2
And your argument about platform portability is specious. Because it's easier to make non-portable calls, you presume that developers will inexorably be drawn to write non-portable code? And if it's hard they won't do it? Please. I'll write the code I need to write to get the job done. If it can be portably written, I'll do that. But if I need a feature that I know will make my application non-portable, and I'm willing to make the non-portable tradeoff in order to get the feature, then I'll do it. Without regard to how hard or easy it is. I make tradeoffs all the time. It's a big part of what I do while writing code.
Surely, and properly so. But the whole point of C# and the.NET framework from Microsoft's point of view is that programmers working in it will be less likely to wander away from ties to Microsoft's underlying platform.
You can bet that Microsoft won't be attempting to duplicate all of the Java API's that Sun and its partners are promulgating in their yearly spec grants to ECMA. And, no, there's nothing wrong with that, just as there's nothing wrong with simply writing Win32 code and being happy with that.
By coding in Java, however, I get to (and have) run my code without recompilation or rework on a bunch of UNIXes, 32 bit Windows, Mac OS 9 and X, and OS/2. That's not what.NET is about.
Re:I hate to be a dick, but.
by
Anonymous Coward
·
· Score: 0
no. languagues should NOT allow you to leak memory..no matter how hard you try.
Re:I hate to be a dick, but.
by
dvdeug
·
· Score: 2
Running into those problems frequently is only a sign of poor design and poor coding, not a language flaw.
Except for the fact that Lisp programers never have memory leaks, have memory corruption only in the rarest of situations and never have to reimplement the linked list.
Why is that programmers believe that all of C and C++'s problems are due to bad programmers?
Re:I hate to be a dick, but.
by
geekoid
·
· Score: 2
When I read it i just thought "Maybe its time for him to stop doing the actual coding"
You never have a memory leak with Java or C++?
-- The Kruger Dunning explains most post on/. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
Re:I hate to be a dick, but.
by
funkhauser
·
· Score: 1
Despite the fact that I'm younger than you and do not have nearly as much C++ experience as you, I'm still keenly aware that programmer productivity suffers when good projects get bogged down by having to track down piddly memory leaks. We use APIs to draw our GUI's, so why not let the computer handle the complexity of memory management, too. Or do you reimplement your windowing routines for every project too?:)
Re:I hate to be a dick, but.
by
rlowe69
·
· Score: 2
I think this remark just demonstrates a serious lack of proper experience with C++.
C++ may be a great language in certain areas, but the memory management sucks ass compared to Java/C# - this is the point Miguel is driving home here.
Automatic garbage collection is here to stay.
BTW, your "I'm older than HE is" remark irked me. Who cares how old you are?
-- -----
rL
Re:I hate to be a dick, but.
by
tommck
·
· Score: 2
Why is that programmers believe that all of C and C++'s problems are due to bad programmers?
Because we've worked with them.
T
-- ----
It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
Re:I hate to be a dick, but.
by
tommck
·
· Score: 2
We use APIs to draw our GUI's, so why not let the computer handle the complexity of memory management, too. Or do you reimplement your windowing routines for every project too?:)
Well, if that is your approach, why not do all your Windows development using VB?
I use C++ because I believe it is the most powerful, flexible language out there. Yes, it does require learning more for particular OSes (GUI, mutexing, threads, sockets, etc.), but if I were stranded on a desert island with only one language, there would be no other choice.
This is not to say that I only use C++. I regularly use Perl and Java where I think they are applicable. I don't like garbage collection because of the potential problems with performace that can happen because the GC algorithm is not standardized or configurable in most applications. In Java, for example, I've seen large systems perform like a champ for 1-2 hours and then grind to a halt for 2-3 minutes while garbage collecting! This is because the VM had a bad GC algorithm. It was still within Java's spec. It was good design and good Java code. I've never had that problem with C++. I don't want to have to configure my client machines or my servers and tweak things or run different JVMs just to make sure that my app will perform properly. This is why I still write most number-crunching, mission-critical stuff in C++.
It's great that people can put less effort into knowing what an Operating System does before they know how to program. It's nice that an Accounting major can take a Learning Tree class and start developing Java or VB code. I just don't want those people anywhere near my software. I want to work with people who understand how the machine works too! Having a developer that has no practical knowledge of memory management is like having a mechanic that doesn't know how an engine works! No thank you.
T
-- ----
It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
Re:I hate to be a dick, but.
by
tommck
·
· Score: 2
C++ may be a great language in certain areas, but the memory management sucks ass compared to Java/C# - this is the point Miguel is driving home here.
Automatic garbage collection is here to stay.
Well, no, actually... C++ memory management is much better because it is done by ME. I only say this because java's memory management is not specified. The garbage collection algorithm is left up to the JVM developer. Thus, Java's memory management doesn't really exist. It only dictates that things will be garbage collected, not how efficiently.
Automatic garbage collection is here to stay.
You feel free to use it wherever you like. I, for one, do not trust an arbitrary algorithm to properly handle garbage collecting my mission-critical apps (picturing Emacs in the old days... "Garbage Collecting..." Me saying "why can't I type?"...).
BTW, your "I'm older than HE is" remark irked me. Who cares how old you are?
Well, I'm sorry if I offended your youthful sensibilities, but Miguel states:
"There is a point in your life when you realize that you have written enough destructors, and have spent enough time tracking down a memory leak, and you have spend enough time tracking down memory corruption, and you have spent enough time using low-level insecure functions, and you have implemented way too many linked lists..."
Well, I have been doing this longer than he has... I still haven't come to that "point in my life" yet. That is why I bring up how old I am.
T
-- ----
It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
Re:I hate to be a dick, but.
by
dvdeug
·
· Score: 2
Why is that programmers believe that all of C and C++'s problems are due to bad programmers?
Because we've worked with them.
So you worked with who wrote the original finger, that the Internet worm exploited? Or the people who wrote the GNU C library, which had a buffer overflow recently? Or Eric S. Raymond, who wrote Fetchmail, which had a buffer overflow in version 5.33? Or the authors of X? Or the authors of MySQL? And they're all bad programmers?
Maybe you're such a god that you've never done that, but if ESR and the glibc authors have such problems, maybe it's more than just bad programmers.
Re:I hate to be a dick, but.
by
funkhauser
·
· Score: 1
Being totally blind to platform-specific issues is bad. That's obvious. And clearly automated memory management needs work. The problem is that you're disregarding a potentially useful tool because it doesn't work very well *now*. Obviously your mission critical stuff needs to be well-tuned, and down-and-dirty C++ is the way to go. In an instance like that, programmer productivity is less important than excellent stability and performance.
In many cases, being concerned with a lot of low-level stuff is just a waste of time. And the number of cases in which this is true is only going to increase as automated memory management and other such technologies get better. A truly knowledgeable developer will still be aware of what's going on behind the scenes, but programmer productivity won't suffer for it.
I think this remark just demonstrates a serious lack of proper experience with C++.
Are you implying that C++ has memory management? It doesn't. Everything is still manually done, or have you not had the joy of chasing memory leaks in C++ programs yet? It may be a step-up from C, but it isn't a picnic either.
-- The wheel is turning, but the hamster is dead.
Re:I hate to be a dick, but.
by
rlowe69
·
· Score: 2
C++ memory management is much better because it is done by ME.
.... and while I'm sure you claim to have ZERO memory leaks in any of your software, some people would rather not worry about de-allocating a linked list, thank you very much. The point Miguel is making (and that you keep missing) is that implementing all of this memory management is BORING and takes valuable developer TIME. At some point you have to sacrifice performance for productivity and get the dang software out the door.
... picturing Emacs in the old days...
Yes, and I'm sure that absolutely no progress has been made on the performance of garbage collection of the language it was implemented in OR the speed of computers in general. </sarcasm>
Well, I have been doing this longer than he has... I still haven't come to that "point in my life" yet. That is why I bring up how old I am.
You are either far more patient or more set in your ways than he is then. It still doesn't matter how old you are.
There are two kinds of people - those that just sit and take it up the ass repeatedly and those that try to find a better way of doing things. Miguel is one of those latter people.
-- -----
rL
Re:I hate to be a dick, but.
by
tommck
·
· Score: 2
So you worked with who wrote the original finger, that the Internet worm exploited? Or the people who wrote the GNU C library, which had a buffer overflow recently? Or Eric S. Raymond, who wrote Fetchmail, which had a buffer overflow in version 5.33? Or the authors of X? Or the authors of MySQL? And they're all bad programmers?
Maybe you're such a god that you've never done that, but if ESR and the glibc authors have such problems, maybe it's more than just bad programmers.
I'll respond to those pinnacles of perfect software one at a time.
finger: I'm sure that this product was written with amazing attention to detail and security considering it was a hacked up networked version of "hello world"
the GNU C library: I'm not sure if you've seen that code, but it is NOT pretty. It is also not very well designed. I will also postulate that any mission-critical code that has a buffer overflow problem was not properly designed, coded or tested.
Fetchmail: see GNU C library
X: This product has to be one of the most design-flawed pieces of software out there. It is painful to program in and it was written by students who never worked on real software before. Please find a better example
MySQL: I am not particularly aware of problems with MySQL in the past (I do not use it). So, I will defer to someone else to respond to this one.
I must say that _most_ of the problems that I have seen with problems with the minutiae like memory leaks and other such problems have their roots in poor design. Good design is one of the biggest factors that can mitigate risk in development of any software. I believe that most people, especially widely segregated development (as occurs in many Open Sourced projects) focus too little on design and always talk about "coding this" and "hacking that" instead of talking about higher-level design issues that will make the development easier. And, developers always need to be coding for security if they're writing a mission-critical app. Don't hard-code buffer sizes. Jesus christ... they teach you how to deal with buffer overflow problems in school!
Though my initals are not immediately recognizable to the Slashdot Hive Mind, I believe that I am as good or better at designing software than all the people you mentioned.
T
-- ----
It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
Re:I hate to be a dick, but.
by
tommck
·
· Score: 2
Are you implying that C++ has memory management? It doesn't. Everything is still manually done, or have you not had the joy of chasing memory leaks in C++ programs yet? It may be a step-up from C, but it isn't a picnic either.
:-) Yes, I have been developing in C++ for about 9 years now. I also work in Java, Perl, VB and other more obscure stuff (smartcards) sometimes. C++ has no built in memory management, but a good designer and implementer does not need to have good memory management. ONE Smart Pointer class in C++ will cure any problems you have with memory leaks if you choose to standardize on it.
T
-- ----
It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
Re:I hate to be a dick, but.
by
21mhz
·
· Score: 1
I use C++ because I believe it is the most powerful, flexible language out there. Yes, it does require learning more for particular OSes (GUI, mutexing, threads, sockets, etc.), but if I were stranded on a desert island with only one language, there would be no other choice.
And then someday you wouldn't be able to interact with ships passing by, just because compiler ABI has sligtly changed, or because someone has added a private virtual member to a base class.
No thanks. Everybody knows what language is about primal survival.
-- My exception safety is -fno-exceptions.
Re:I hate to be a dick, but.
by
tommck
·
· Score: 2
some people would rather not worry about de-allocating a linked list
#include <list>
There are two kinds of people - those that just sit and take it up the ass repeatedly and those that try to find a better way of doing things. Miguel is one of those latter people.
Some people do things well enough that they don't have to worry about the things other people consider serious flaws. I can't, honestly, remember the last time I chased down a memory leak in my code. My designs always make the implementation concise and simple. It is very easy to code classes with a defined purpose.
Experienced developers who follow good coding practices will not have a problem with memory leaks. Inexperienced developers, or experienced ones that write spaghetti code, frequently have problems of this sort.
T
-- ----
It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
Re:I hate to be a dick, but.
by
21mhz
·
· Score: 1
OK, go on and implement X in Lisp/Java/MSIL/whatever. Or maybe you prefer the GNU C library (which, if you didn't know, powers Lisp/Java/whatever)?
-- My exception safety is -fno-exceptions.
Re:I hate to be a dick, but.
by
rlowe69
·
· Score: 2
Some people do things well enough that they don't have to worry about the things other people consider serious flaws.
Some people stick their noses up at new things because they like the tried and true proven way, even if it takes many more keystrokes. While it's probably safe to say you'll be put to pasture soon (given your old age) and don't need to worry about all of these newfangled developments in languages, other people will. So I don't think your original opinion is very (Score:3, Insightful) - which is why I even bothered to respond to it in the first place.
However, Miguel expresses a real concern about developer TIME that you still refuse to address. It's probably true that after coding classes for 10 years you have become very efficient at it, but who says it should take that long to be that good (from a quality standpoint) at something like memory management when it can be taken care of automatically? Now it's true that you take a performance hit with the overhead it takes to manage memory, but performance is becoming relatively irrelevant in most cases when people just want to get something completed. THAT is Miguel's focus - to construct a tool to make software QUICKLY for GNOME.
People aren't going to waste their time farting around with memory management in C++ when C# solves the problem. Well, people who are open to change that is...
-- -----
rL
Re:I hate to be a dick, but.
by
dvdeug
·
· Score: 2
I'll respond to those pinnacles of perfect software one at a time.... I believe that I am as good or better at designing software than all the people you mentioned.
I take it you're having yourself cloned so you can service every programming job in the world? Until then, these people and people like them are going to be coding the software that the world uses, so a programming language should be designed for them.
Re:I hate to be a dick, but.
by
dvdeug
·
· Score: 2
OK, go on and implement X in Lisp/Java/MSIL/whatever.
Why should I waste my time? The current X works well enough, and nobody's going to jump to my version. There's no reason why it couldn't be done in Lisp or Java, and I believe there's been at least one implementation in each. See http://www.jcraft.com/weirdx/ for the Java implementation.
Or maybe you prefer the GNU C library (which, if you didn't know, powers Lisp/Java/whatever)?
Really? Because I thought, you know, that Lisp dated back to the 1950s and that the GNU C library only runs on Linux and Hurd systems and only dated back to the late 1980s.
The only reason Lisp and Java implementations on Unix tend to depend on the C libraries, is the simple fact that low level wrapping of the kernel and system is painful and unportable work. Hence since a C library is always present on Unix systems, most implementors use the C library as a hardware-wrapping laywer for simplcity. Both Lisp machines and VMS are examples of systems that don't depend on C.
Re:I hate to be a dick, but.
by
thammoud
·
· Score: 1
Only if you communicate with your clients about memory responsibility. An auto pointer makes things easier but is no competition to a good GC.
Re:I hate to be a dick, but.
by
21mhz
·
· Score: 1
There's no reason why it couldn't be done in Lisp or Java, and I believe there's been at least one implementation in each. See http://www.jcraft.com/weirdx/ for the Java implementation.
For the discourse at hand, it'd be nice to consider performance/scalability figures.
Both Lisp machines and VMS are examples of systems that don't depend on C.
Sorry, I don't see many of those around me.
-- My exception safety is -fno-exceptions.
Re:I hate to be a dick, but.
by
jheinen
·
· Score: 2
"Well, no, actually... C++ memory management is much better because it is done by ME."
I'm struggling to figure out why you use C++ and not assembly. I mean, you could probably write tighter, faster code in assembler yourself instead of leaving it up to the arbitrary algorithms of the compiler.
The point is that programming languages evolve, with the ultimate goal of making them as close to natural language as possible. Garbage collection is just one step on the path leading the holy grail of a language that allows you to focus *exclusively* on solving the problem at hand without having to pay attention to implementation details. Computer languages are tools that we use to solve problems. I want to get to a point where I spend more time on the problem, and less time making sure the tool works properly.
-- -Vercingetorix
"Necessitas non habet legem." -St. Augustine
Re:I hate to be a dick, but.
by
dvdeug
·
· Score: 2
For the discourse at hand, it'd be nice to consider performance/scalability figures.
Because performance and scalability is always the first and last issue in any argument. The fact that the Java X server is portable to any system that has Java is irrelevant. Whether it can display 2,400 windows or whether it can create a window for Mozilla in 2.4 microseconds (which Mozilla will take 12.7 seconds to draw in) is.
No, assuming equally competent implementations, the Lisp and Java implementations won't be as fast as the C implementation. A Fortran implemenation will be faster, though, as will an assembly implemenation. All hail Fortran and assmebly.
Re:I hate to be a dick, but.
by
Anonymous Coward
·
· Score: 0
Your logic is flawed.
If something is incorrect, something should be invented to accommodate it.
How about common shared principles of well designed software? That's a _start_
Nerf cars for drunk driving anyone?
Re:I hate to be a dick, but.
by
(void*)
·
· Score: 2
You are generally right, but his point about bad GC is still right. *Right* *now*, GCs are still badly designed, leading to hangs at odd times. So his decision to stick with C++ until they've ironed out these bad implementations is a perfectly good reason.
As an exercise, you might want to consider coding for the AI of the future. It's definitely easier, but we are not there yet. The argument is about how good it is now, and not how good an ideal GC is.
Re:I hate to be a dick, but.
by
dvdeug
·
· Score: 2
How about common shared principles of well designed software? That's a _start_
One of the main principles of well-designed _anything_ is that humans are fallible. No matter how bright, they will screw up every so often, and some of them screw up frequently. Hence, if and when possible, you must try to reduce the negative effects of erroneous human behavior. Devices should not have exposed dangerous surfaces. Microwaves do not function while open. Incorrect behavior that is common must not caused serious injury, if at all possible.
In light of that, a programming language that permits and encourages fixed length buffers (no strings of unbounded length, for example) and turns a common mistake given fixed length buffers (buffere overflow) into a potential remote exploit of the computer is not well-designed.
Re:I hate to be a dick, but.
by
lostguy
·
· Score: 1
But did it take you 750k lines to come to that conclusion?;>
Re:I hate to be a dick, but.
by
funkhauser
·
· Score: 1
I agree totally. He just seemed to be disregarding the whole concept just because it isn't very well developed at the present time. Perhaps I misinterpreted him. Oh well.
Re:I hate to be a dick, but.
by
Art+Tatum
·
· Score: 1
Not to mention Objective C.
Re:I hate to be a dick, but.
by
thallgren
·
· Score: 1
Contrary to other replies of your post, I think that de Icaza shows a very mature attitude here. Its not interesting to juggle around pointer, doing "smart" semi-automatic reference counting, manual memory management or even implementing basic datastructures again and again. C++ with STL at least has nice those datastructures.
Its time to focus on whats important. Technical details like the ones mentioned above does certainly not help increase productivity or improving the design of the program/component/system.
Regards, Tommy - functional programming rocks
Re:I hate to be a dick, but.
by
Cederic
·
· Score: 2
>> Running into those problems frequently is only a sign of poor design and poor coding, not a language flaw.
Unfortunately most code gets modified or created by people who design poorly or code badly.
Maybe you are lucky enough to only work on code that you wrote yourself; most of us are not. I suspect Miguel gets the joy of working with code written by teenagers in their spare time while they're learning to program. I'd be very surprised if they all manage their memory agressively and accurately.
So the language maybe isn't flawed, but a language with garbage collection will nonetheless considerably reduce these issues and cause fewer headaches for the expert programmers that are tidying up after their less experienced colleagues.
~Cederic
Re:I hate to be a dick, but.
by
21mhz
·
· Score: 1
Because performance and scalability is always the first and last issue in any argument.
That's because we, the practicing programmers, live and die by it.
The fact that the Java X server is portable to any system that has Java is irrelevant.
Sorry to burst your bubble, but this server has to interact with different low-level interfaces to graphical hardware in order to be portable. Unless Java has become able to do ioctl's and map physical memory, it can't be done without JNI magic. Of course, you can run X server inside an AWT window, but this makes your entire point laughable.
whether it can create a window for Mozilla in 2.4 microseconds (which Mozilla will take 12.7 seconds to draw in) is.
What's relevant is whether it doesn't take forever to open an xterm.
A Fortran implemenation will be faster, though, as will an assembly implemenation. All hail Fortran and assmebly.
This is all flames. Use the tool that fits the job, not some high-horse languages because they rock your world (and they rock mine, too; I just wouldn't bet my life on them).
-- My exception safety is -fno-exceptions.
Re:I hate to be a dick, but.
by
Anonymous Coward
·
· Score: 0
hey, I don't know what ioctl is (I/O control?) but as of JDK 1.4 Java can use mem mapped files at least.
Re:I hate to be a dick, but.
by
dvdeug
·
· Score: 2
Because performance and scalability is always the first and last issue in any argument.
That's because we, the practicing programmers, live and die by it.
Thanks, "Mel". We must always provide the fastest system for script kiddies to DDOS other people's computers from it; that's only common courtesy.
Frankly, most customers are going to be more interested in security than the last ounce of speed. But it's not about the customers, is it?
this makes your entire point laughable.
You name the system and the languages, and my point is laughable because you don't like my perfectly valid example?
What's relevant is whether it doesn't take forever to open an xterm.
Because it will kill you to wait a couple seconds to open up an xterm. How about a little patience, man?
Use the tool that fits the job, not some high-horse languages because they rock your world
Use the tool that fits the job, not some low-level language because it rocks your world.
Re:I hate to be a dick, but.
by
tommck
·
· Score: 2
If the client is written in Java, you have to worry about GC there too. If the client machine has a bad JVM on it, you have to replace it. It's a nice configuration issue to have to upgrade or switch a JVM out when you install your software... Oops... what about that _other_ app on that machine that worked better with that _other_ JVM?? Oh well, we'll just have to fight it out... Maybe the user will buy two PCs... yeah... that's it...
T
-- ----
It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
Re:I hate to be a dick, but.
by
tommck
·
· Score: 2
The point is that programming languages evolve, with the ultimate goal of making them as close to natural language as possible
Maybe in your world, but I completely disagree with that. We're not living in Star Trek here. "Computer... calculate the area of this circle". While I understand we're trying to make development easier, we must also concentrate on sacrificing as little functionality as we can. Otherwise we wind up with programs that don't _quite_ do what is needed, but we settle on it because that's the language everyone knows now.
My $0.02 on that
T
-- ----
It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
Re:I hate to be a dick, but.
by
tommck
·
· Score: 2
That is my point, exactly. I understand the world isn't perfect, but people can cut their teeth on other, simpler languages, but when they want to do some real work, they will tend to use a language suited to it
T
-- ----
It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
CLR and so-called language independance
by
ChrisRijk
·
· Score: 5, Insightful
The reality looks much darker instead. The CLR is not truly language-neutral, and it will ostensibly favor languages that look a lot like C#. Those not in this group will be severely bastardized, producing dialects which are really "C# with another syntax"; look at ISE's Eiffel# (or even Microsoft's own VB.NET and J#) for great examples. Programmers' choice will be limited to superficial features: whether to delimit their blocks with curly braces, Begin/End or parentheses. It's also worth notice that the CTS/CTS do not allow use of the full set of CLR features; for example, unsigned integers are supported by the CLR but not considered language-neutral, simply because many languages share Java's abomination for the signed/unsigned duality (this includes Microsoft's own VB) and there's no good solution for this issue.
-cut-
Playing with the.NET SDK, the cross-language support looks impressive, but the illusion holds true only until realizing that all languages in the mix are virtually identical. Microsoft has actually invented the concept of skinnable language: changing a language's most superficial aspects, and claiming the result to be a new language. There is only One True Language that is C#, and "skins" offered by Microsoft and third parties. Just like in GUIs, these skins will alter the system's look and feel, add a few features, but never compete with a fully new toolkit.
Re:CLR and so-called language independance
by
frank_adrian314159
·
· Score: 4, Insightful
It's a sad thing that the JVM also sucks for non-Java-like languages. One of the points that they make is that languages like Lisp and Smalltalk suck on the CLR. However the same issues are present in the JVM (Kawa's bowdlerized Scheme implementation notwithstanding). And it's not like Sun hasn't been aware of this shortcoming either (With people like Guy Steele and Dick Gabriel on their research payroll, how could they not be aware?). If they had listened to people outside the Java community that wanted a better (read MORE UNIVERSAL) VM, they might had had a moral leg on which to stand.
As it is, this stupid editorial is just a case of the pot calling the kettle black. The only problems that Sun should have with CLR is that (1) it's by Microsoft and (2) Microsoft did a better job at beating Sun at their own game. Not that I like the CLR any beter than the JVM - they both blow chunks for dynamically-typed languages and for languages having anything different from simple class-based objects, but this editorial is just brain-dead.
-- That is all.
Re:CLR and so-called language independance
by
patazathoth
·
· Score: 1
This is sad but true. I've played with.NET a lot and yeah you can write Cobol.NET but it is so modified that the syntax look like cobol but the code is not really cobol like.
Good analogy with the skin concept!
Re:CLR and so-called language independance
by
mikemulvaney
·
· Score: 4, Interesting
As it is, this stupid editorial is just a case of the pot calling the kettle black.
Yes, that's exactly what it is. I think you are misinterpreting the article. The author is trying to say that runtimes can only be optimized for one language, and that the.NET stuff will not be any better at running other languages than the JVM is.
I don't know if that is true or not, but don't try to pretend this article is saying that the JVM is better in some way. The only problems that the author has with the CLR is that (1) it is by Microsoft, and (2) Microsoft is (according to the author) lying about the CLR's capabilities to be cross-langauge.
-Mike
Re:CLR and so-called language independance
by
blamario
·
· Score: 2
Yes, from the technical viewpoint both JVM and CLR suck from implementation of multiple languages. However, Sun has never cliamed otherwise. Microsoft is marketizing the supposed CLR language interoperability like it's an inalianable human right.
Re:CLR and so-called language independance
by
Anonymous Coward
·
· Score: 0
The CLR only provides the baseline. The languages themselves can use attributes and their own libraries to provide their own functionality above the CLR. A beautiful example of this is COBOL.NET from Fujitsu. Apart from being completely CLR compliant, it is also completely COBOL-85 compliant. VB.NET, while riding very close to the CLR, also provides it's own library for functions and features not found immediately in the CLR, like COM late binding. Yes, the compiler for a language will have to be rewritten, but the beef of the language does not have to be forsaken.
Re:CLR and so-called language independance
by
ansible
·
· Score: 2
It's a sad thing that the JVM also sucks for non-Java-like languages.
Well, not quite. If you're familiar with Python, check out Jython at jython.org. Same great taste, different VM. If you're writing pure Python code, there's only a few minor differences (outlined at the site), and half of those are bugs that C-Python should fix.
Jython also makes use of Java classes a snap. Some people use Jython to dynamically test components they're writing in Java. It can be good for just figuring out how stuff works, you can just pull up the Jython command prompt, start manually instantiating objects, and examining the results. That's a lot more convenient than writing noddy test programs.
But the fundamental problem for other languages (with different conceptions of OO) make a poor fit to the JVM, and likely the CLR too.
Re:CLR and so-called language independance
by
Oink.NET
·
· Score: 1
Microsoft has actually invented the concept of skinnable language: changing a language's most superficial aspects, and claiming the result to be a new language.
The limitations of the current CLR does favor languages that look a lot like C#. But the next version will change that. A very informative interview with Anders Hejlsberg, the creator of C#, Turbo Pascal, and Delphi can be found here. They implemented generics in a research version of the CLR, but had to cut it from the current version because "unlike what everyone believes about Microsoft -- we do not have unlimited resources. We had to make some hard decisions in terms of what is actually in this first release."
After reading the interview mentioned above, it seems clear to me that Microsoft will eventually incorporate as many language features as possible into their CLR that would support all the special-purpose language features of things like multiple inheritance, generics, multiple dispatch, or Lisp's closures.
Re:CLR and so-called language independance
by
scriber
·
· Score: 1
Pretend the VM is just a really CISC-y microprocessor. Many of the microprocessors out there are particularly good at running C code simply because C maps very neatly into most processor's assembly languages. When you start talking about more academic languages, they would map less obviously into machine code on a typical processor. However, a processor could be designed with an instruction set optimized for that sort of language, if the hardware engineers really thought it was necessary.
This is not the only processor designed specifically for a language that is slow on other CPUs. Several specialized LISP processors, such as the Scheme-79 lisp processor, were created, but this chip is unique in its object oriented features at a time when the concept wasn't well-known (actually, I hadn't the foggiest idea of what object-oriented programming was when I first learned about it - obvious from reading unrevised versions of this description). It also manages to support objects without the slowness of the Intel 432.
Creating an optimal processor for running any language would involve too many trade-offs to be useful.
Re:CLR and so-called language independance
by
Anonymous Coward
·
· Score: 0
Anders "do-it-or-I-will-throw-a-tantrum" Hejlsberg DID NOT create Turbo Pascal. Get your facts straight.
And the next version will change that... yeah, we've never heard that one before from MS. Blah.
Re:CLR and so-called language independance
by
Oink.NET
·
· Score: 1
Anders "do-it-or-I-will-throw-a-tantrum" Hejlsberg DID NOT create Turbo Pascal. Get your facts straight.
Anders Hejlsberg wrote the Pascal compiler core. Quote: "Borland licensed the Pascal compiler core, written by Anders Hejlsberg (Poly Data was the name of his company in Denmark), and added the user interface and editor."
...convert Linux to a standard compatible desktop OS for evryone?, mmm... geeks will need a new hideout to hang and talk about bytes in hex language. Seriously, the singularity of Linux plus the community was great.
* GNOME is not built by an individual, its built by a team of roughly 500 contributors in many areas.
* Decisions in the GNOME world are done by active contributors and module maintainers. I have given
my maintainership status on every module I maintained to other members of the GNOME team as
I got more involved with Ximian and later on with Mono.
What would it be like?
by
bobetov
·
· Score: 1, Funny
> Some people wonder if we have got a Microsoft investment or
> contract (because I like this Microsoft technology). The answer
> is no. But I would take one if they wanted to fund my free
> software project;-) Man, I wonder what that would be like!
- Like being eaten alive by rabid hyenas
- Like being locked in a room where no one can hear you scream
- Like eating arsenic on your breakfast cereal
Can run any language, as long as...
by
mmacdona86
·
· Score: 1
The point is, just like the JVM, the CLR can run any language as long as the language is re-designed to run with the CLR. The Common-Language part of CLR is basically marketing BS.
Re:Can run any language, as long as...
by
SteveX
·
· Score: 2
Think of the IL (the language the CLR runs) as an instruction set akin to a processor's native instruction set.. Obviously every language can be compiled to to run in assembler..
It may be more efficient to redesign the language to work with the underlying stuff, but I don't think it's a requirement..
- Steve
Re:Can run any language, as long as...
by
mmacdona86
·
· Score: 2, Insightful
You betray a very limited understanding of the problem. The CLR (like the JVM) makes a number of assumptions about the nature of programs running upon it that a CPU can never make--things like the way stack frames are created, exceptions are propagated, methods are dispatched. If the language is not designed with the same assumptions, it can not run on the CLR (of course, if you are going to give up all efficiency, you could write another VM in C# and target the lanugage at that). All the languages that the CLR supports--even MS languages like VB--have been re-designed to work with the CLR.
Re:Can run any language, as long as...
by
Zurk
·
· Score: 1
NO. the CLR is NOT a Virtual Machine. its NOT a JVM. there is no complete virtualised 32 bit or 64 bit processor defining the CLR.
you *do* need to redesign languagues to work with the cLR making them bastardised versions of C#. and thats the worrying part of it.
im not too bothered about C# or Java since they are both rapidly prototyped modern languages which allow me to write code like a breeze but im worried about the soon to be lack of choice when the world stops using regular languages and everyone switches to C# (ETA: 18 months, its unstoppable and coming, you heard it here first).
Re:Can run any language, as long as...
by
Anonymous Coward
·
· Score: 0
You are a pompous little bitch who likes to read your own writing. The previous poster was correct, all Turing complete languages are functionally equivalent.
The moral of the story is...
by
Anonymous Coward
·
· Score: 0
...that The Register is nothing more than the IT version of a British tabloid.
Re:The moral of the story is...
by
tadas
·
· Score: 5, Funny
...that The Register is nothing more than the IT version of a British tabloid.
Kinda like Slashdot...
-- This page accidentally left blank
Re:The moral of the story is...
by
Anonymous Coward
·
· Score: 0
I thought that was the whole point of The Register? It was designed to be an IT red-top.
Re:The moral of the story is...
by
DrSkwid
·
· Score: 1
The Register is nothing more than the IT version of a British tabloid
hardly
I've been reading it since it was on a 64k isdn
it's often thougtful, mostly irreverent, and taps in to the issues of today. It used to ignore the Unix world and concentrated on ISP stuff & Windows. These days it's portfolio is much broader.
As for the corrupt side, they've always maintained that yuo can have any story you like on the front page so long as you pay. You know, even that makes me like them more! Corrupt but not dishonest. Let's face it, all news is biased, it can't be anything else. Don't believe the first thing you read.
I shall continue to wear my Culture Vulture t-shirt with pride because Biting The Hand that feeds I.T. is a noble goal!
-- There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
Re:The moral of the story is...
by
Phil+Wilkins
·
· Score: 1
The Register is Private Eye
Slashdot is the National Enquirer
Re:The moral of the story is...
by
SilentChris
·
· Score: 2
Aye, but this be not Britain. A crucial difference, lad.
Re:The moral of the story is...
by
Anonymous Coward
·
· Score: 0
Yes, Slashdot is the IT world's National Enquirer;-)
Advantages of C# over Java
by
crush
·
· Score: 4, Interesting
This is a nice clarification, but it makes at least one assertion that is a little questionable: what are the advantages of C# over Java? I asked this question yesterday and no-one responded. Here Miguel claims (in the What is Mono? section):
Seasoned industry programmers will notice that the above is
very much like Java and the Java VM. They are right, the above
is just like Java.
The CIL has one feature not found in Java though: it is
byte code representation that is powerful enough to be used as a
target for many languages: from C++, C, Fortran and Eiffel to Lisp
and Haskell including things like Java, C#, JavaScript and Visual
Basic in the mix.
But this is surely misleading? It's true that this doesn't exist at present, but there's nothing in theory to stop it being implemented (isn't Java sufficiently "powerful" for this to be done?)
If Java is capable of doing it, then why not work on making compilers for those languages to Java's bytecode instead of working with a new language?
Re:Advantages of C# over Java
by
Anonymous Coward
·
· Score: 0
C# was submitted to ANSI for standardization.
Sun has yet to do that with Java.
That, to me, seems to be the reason to use C#. Even if Microsofts implementation diverges from the standard, there's still a standard.
Re:Advantages of C# over Java
by
Filter
·
· Score: 1
Jython is an example of just this. Here is a quote from the Freshmeat page.
Jython is a Java implementation of the Python programming language. It allows users to compile Python source code to Java byte codes, and run the resulting bytecodes on any Java Virtual Machine.
--
"better ways of doing things eventually just replace the inferior things" - Linus Torvalds 09-08-07
Re:Advantages of C# over Java
by
SteveX
·
· Score: 3, Flamebait
Sun proved, when they sued Microsoft, that they don't want Java-the-language being used to generate code to run anywhere but inside Java-the-VM or have direct access to anything but the Java classes.
Microsoft's extensions to Java were allowing Java code to directly instantiate and use COM objects; a really big part of.NET. The CLR is designed to give easy access to the underlying operating system (in a managed manner). Very different goals.
If Sun would have been willing to allow Java to be used this way, then Microsoft would probably have stuck with Visual J++ and the Windows Java framework they were already working on, and we wouldn't have C# or.NET.
- Steve
Re:Advantages of C# over Java
by
crush
·
· Score: 1
Ah. That would certainly push things along. I wonder what on earth Sun is thinking? Also, what would happen if people that are not Sun were to try and establish a standardized version of the language? Are there copyright issues that prevent that?
Re:Advantages of C# over Java
by
seebs
·
· Score: 3, Insightful
You're right. If Sun had wanted Microsoft to have complete control over a large and proprietary market segment of incompatible Java code, allowing them to blame Sun for incompatibilities introduced by Microsoft, they could have allowed this.
I see no advantage in allowing standards to be suborned like this.
-- My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
Re:Advantages of C# over Java
by
schatt
·
· Score: 1
Actually, Sun's lawsuit had nothing to do with that. Sun's lawsuit was over namespace, and licensing agreements which Microsoft, which stipulated that the Java spec would be the only thing that lived in java.blah and that anything microsoft added would live in microsoft.blah.
Microsoft took it upon themselves to extend the Java spec with new features that only worked with Microsoft's JVM, and only worked on Windows. Sun took exception to that (cause it would break the write once, use anywhere goal for java and anything which depended solely on Java) and sued and won.
Where do you come up with these ridiculous assertions that Sun only wants things to run in a JVM? Can you point a source that has anything similar to this statement made by anyone involved with Java?
Re:Advantages of C# over Java
by
bnenning
·
· Score: 5, Informative
Sun proved, when they sued Microsoft, that they don't want Java-the-language being used to generate code to run anywhere but inside Java-the-VM or have direct access to anything but the Java classes.
Not true at all. Look at Apple's Cocoa framework, which allows you to write native Mac OS X applications in Java. Sun has no problem with that, because Mac OS X also includes the 100% compatible pure Java envrionment. Sun sued Microsoft not because MS added features, but because they deliberately introduced incompatibilities in the core Java classes.
-- How to solve most of our problems: 1.Lots of nuclear plants. 2.Cure aging.
Re:Advantages of C# over Java
by
Anonymous Coward
·
· Score: 0
I see no advantage in allowing standards to be suborned like this.
I see lots of reasons why having native access to the OS is a good idea in a *programming language*.
I don't see any advantage in purity.
Re:Advantages of C# over Java
by
Genady
·
· Score: 2
Following this reasoning is Sun going to pound Apple next for allowing Java access to Cocoa Frameworks? Or do compiled binaries out of ProjectBuilder run in a JVM?
--
What if it is just turtles all the way down?
Re:Advantages of C# over Java
by
BCGlorfindel
·
· Score: 1
"If Sun would have been willing to allow Java to be used this way, then Microsoft would probably have stuck with Visual J++ and the Windows Java framework they were already working on, and we wouldn't have C# or.NET."
Exactly the problem we wouldn't have Java anymore, we'd have J++. J++ code was not complying to the JAVA VM standards and yet they marketed it as Java, hence the lawsuit.
Re:Advantages of C# over Java
by
Anonymous Coward
·
· Score: 0
MS's Java extensions were done in a way that broke compatibility with other JVM's on the same platform, such as those from Sun or IBM, and which violated the JVM specification (the part that said that annotations added to classes could not change the semantics of the object). MS's COM integration used magic comments that only their java compiler would turn into class annotations. Their JVM would recognize these annotations and do the work to convert a call on a Java method into a call to a COM component. There were other approaches available to MS that they chose not to take. For instance, the JIntegra product (here) can read a COM type library specification and generate a pure Java class to communicate with that component. Originally, they only did ou-of-proc communication via DCOM, but now they advertise inproc operation as well.
Couldn't MS have taken an approach like this that didn't try to change Java? Given e-mails from the DOJ trial in which there were discussions of killing cross-platform java by distributing a polluted Java, I think we can guess why this approach wasn't taken.
Re:Advantages of C# over Java
by
Anonymous Coward
·
· Score: 0
If Sun had wanted Microsoft to have complete control over a large and proprietary market segment of incompatible Java code
And Sun is a happy loving charity company, which is why it's better that only Sun will ever wield the dictatorial stranglehold over the language that they do.
Re:Advantages of C# over Java
by
seebs
·
· Score: 2
Well, of course; that's the whole point. Native access to *THE* OS. Windows, that is. Never anything else, not for any length of time.
You play the game nicely.
-- My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
Re:Advantages of C# over Java
by
Prior+Restraint
·
· Score: 1
Sun took exception to that [] and sued and won.
Sun didn't actually win; they settled with Microsoft.
Re:Advantages of C# over Java
by
Anonymous Coward
·
· Score: 0
No. Managed code is handled by the CLR. Unmanaged code gets built directly to machine code for use on whatever underlying OS exists.
If you use a WinForm, you are using managed code and it will be portable to Mono.
Re:Advantages of C# over Java
by
Anonymous Coward
·
· Score: 0
From what I understand of Cocoa, they didn't extend tke JVM, they just use native methods. Eclipse uses this approach with SWT.
Note that if you extend the JVM, your JVM will run everyone else's programs, but your extended JVM program won't run on other JVMs. This is precisely what Sun didn't like about Microsoft's extensions since it limits "compile once run anywhere". If Microsoft's language extensions compiled to regular JVM code, Sun really wouldn't care that much. since Microsoft J++ code could run on all JVMs, including Sun's.
Re:Advantages of C# over Java
by
praedor
·
· Score: 2
And it is the extension inherent in C# that will make it not work out as the dreamy-eyed Miguel rhapsodizes about (running a.net binary seamlessly from the gnome desktop INDEED). Wine can't make more than a fraction of windoze apps run even though all the requisite win32 APIs are published and have been for years. Suddenly a broken/crippled version of C# is going to sidestep all that and with Mono we'll be able to run thos.not apps. Yeah, and my bunghole smells like jasmine.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
Re:Advantages of C# over Java
by
Tom+Davies
·
· Score: 1
For other languages which compile to JVM bytecodes, see: http://flp.cs.tu-berlin.de/~tolk/vmlanguages.html
For a discussion of implementing other languages on the JVM see:
http://www.byte.com/documents/s=505/BYT20001214S 00 06/index.htm
Tom
-- I have discovered a wonderful.sig, but 120 characters is too small to contain it.
Re:Advantages of C# over Java
by
Rentar
·
· Score: 1
Wine can't make more than a fraction of windoze apps run even though all the requisite win32 APIs are published and have been for years.
Far from it! There are lots of functions that are not documented and tons of parameters that are marked "reserved" but used nevertheless. The documentation sometimes is just plain wrong and wine has to be bug-for-bug compatible with the existing win32 implementations (if you'd make a win32-implementation that works exactly like the specs suggest, I'd doubt that many programs would run on it). And guess what: The bugs aren't that well documented.
Samba doesn't work anymore?
by
Anonymous Coward
·
· Score: 0
Strange, I'd thought that some friends of mine were still using it.
What is Alan going on about here? I must be reading the wrong news sites.
Kevin
Re:Samba doesn't work anymore?
by
Gryphon
·
· Score: 1
Yes, but Samba's had to deal with ever-shifting protocols.
In short, like Samba, Mono still faces a lot of extra work and being left behind the curve when MS decides to add undocumented functionality or "features".
Re:will somebody please slap the jittery mexiacn?
by
Anonymous Coward
·
· Score: 0
me? i've helped put linux on the desktop of tens of thousands of customers sites.
not using a bloated piece of shit hard to write code for msft whoring piece of shit.
thank you.
now, are you perhaps projecting about watching springer and sitting on a couch you wanker.
The CLR does support some feature that the JVM does not (notably, pointers). However, it is not true to suggest that it supports multiple languages in a way that the JVM does not. Languages have to be re-designed to run within the CLR-- you can't run "real" C or Perl or Java on the CLR.
Re:It is quite misleading
by
Anonymous Coward
·
· Score: 0
you can't run "real" C or Perl or Java on the CLR
Right, which is why you run those areas that aren't covered by the CLR as 'unmanaged'.
picking mites with tweezers..
by
Dragonshed
·
· Score: 1
De Icaza's point about their api's is very accurate. MS has gone through extraordinary efforts to keep their api's backward-compatable. They may indeed "shift" focus, but that exercise is only additive. The api's that Mono is implementing from the ".NET" spec are guaranteed to exist on microsoft's platform.
The situation with lagging behind is most likely unavoidable. But atleast one has the option of developing software using the published apis, and having the thing run on unix and windows.
My $0.02
Re:picking mites with tweezers..
by
praedor
·
· Score: 2
Oh...and they're SO well published aren't they? Yeah, M$ is going to give the whole hog to ECMA. There wont be any hidden strings anywhere that ONLY works (and is only useful) on windoze.
A nice generic development environment, maybe. A means to run M$ binaries on linux? Never ever ever. NEVER.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
Actually, this is the way it is
by
CrystalFalcon
·
· Score: 1
As long as you have a CLR on your target machine, this is the way it works.
This is the way Java works already. Any compiled class written in Java can run in any environment with a JVM. So what's so surprising about taking a CIL-compiled class from C# (or VB.Net, or managed C++, or..., or...) and running it in a virtual machine somewhere else?
(The first thing that struck me when I heard of this was that "Oh, man, this must be slow." The first thing that struck me when I first ran it was that "Oh, wow, it's not.")
Re:Actually, this is the way it is
by
Anonymous Coward
·
· Score: 0
Because, Einstein, when I write Swing or JDBC code in Java, I know those libraries also are cross platform code.
When I write code in VS.NET, there are all sorts of hooks to libraries like WebForms or ADO. How the hell is that going to work?
Back to the drawing board...
Re:Actually, this is the way it is
by
infiniti99
·
· Score: 2
Isn't.Net different though, in that there are system libraries to worry about? I don't claim to be an expert here, I'm just going from what I have read and heard, but let's look at some crossplatform examples:
Java - you have a VM and a standard API that are with you wherever you go. Your API is limited, but you run anywhere. Life in a box!
Qt - you have an API that operates on all supported platforms. Each platform requires a separate build. The upside is you can link with native system libraries just like any normal program, and do specifics with win32, X, Carbon, etc.
.Net - a hybrid of the above. Your foundation is a VM, but you rely on libraries that exist outside of the box. Because the necessary libs may not be present on all platforms, your program may not be available everywhere (just like Qt).
.Net sounds like a nice solution to binary-compatibility though.
Re:Actually, this is the way it is
by
praedor
·
· Score: 2
Nah Not back to the drawing board, just back to Java where what Miguel wants is actuallly possible (the fantasy part, that is, of little binaries playing equally well on all computer playgrounds). The.NET binary crap running on linux is sheer, unadulterated, feces. I'm suprized he (Miguel) can stand the smell of all that feces gushing out his bunghole/cakehole. Frickin' delusional twit.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
Re:Actually, this is the way it is
by
lynx_user_abroad
·
· Score: 1
This is the way Java works already. Any compiled class written in Java can run in any environment with a JVM.
So can someone explain to me why I keep running into Java apps that crash horribly on my Macintosh?
And while you're at it, explain how CIL will avoid this same fate?
--
The thing about things we don't know is we often don't know we don't know them.
Re:Actually, this is the way it is
by
schtum
·
· Score: 2, Funny
lynx_user_abroad wrote:
can someone explain to me why I keep running into Java apps that crash horribly on my Macintosh?
It's because you're using lynx.
Re:Actually, this is the way it is
by
Sloppy
·
· Score: 5, Insightful
Any compiled class written in Java can run in any environment with a JVM.
Unless that class inherits or calls proprietary library stuff that you
don't have.
This is why I can't run most Java stuff on my Amiga. I have the Kaffe
JVM, but no AWT. So I can run a program that says "hello world" and even
Sun's Java compiler (written in Java) that comes with the JDK. But AWT
or Swing apps are right out, because no one has implemented that stuff
for my OS.
You're going to have the same problem running Microsoft Office on Linux.
Your VM will work perfectly, but the app will want to use stuff that you
don't have.
-- As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
Re:Actually, this is the way it is
by
Anonymous Coward
·
· Score: 0
it works, harry potter will make sure it work. in.NET you access the classes which encapsulates the platform specific API, you NEVER call API directly
Re:Actually, this is the way it is
by
Anonymous Coward
·
· Score: 0
So where are the standard wrapper classes for GUI or database connectivity?
Re:Actually, this is the way it is
by
Anonymous Coward
·
· Score: 0
"So can someone explain to me why I keep running into Java apps that crash horribly on my Macintosh?"
It's because Java was only designed for modern platforms like Windows and cellphones, not ancient featureless platforms like MacOS.
Seriously, OS X helps tons in the Java department.
Re:Actually, this is the way it is
by
FyreFiend
·
· Score: 1
So can someone explain to me why I keep running into Java apps that crash horribly on my Macintosh?
I could be a number off things. First the JavaVM that ships with pre-OSX is rather old so it doesn't support everything. Also, are you talking about java on a web site or in finder? I know if I hit a java site with Netscape I've got a 50/50 chance of crashing but that's a problem with Netscape 4.7x, not Java
-- -
Apple Computer......proudly going out of business for over twenty years.
Patents still a showstopper
by
Straker+Skunk
·
· Score: 3, Informative
That doesn't help much. If it has patented yet unlicensed technology, then it can't be legally used in countries where the patent is recognized.
This is why free crypto software for a long time had an internal-RSA vs. external-RSAREF configuration switch for a long time, with the stipulation that RSAREF had to be used within the U.S.---as using internal RSA would leave you open to an infringement suit. (RSAREF was the only freely licensed implementation of RSA available, before the patent expired last year)
I think it's clear that using common bytecode offers some advantages to developers, as outlined by Miguel. It also seems like CLR can offer performance advantages over Java since it basically just maps native API calls to functions in the.NET framework, much like wxWindows or anyGui do for GUIs. If the classes are properly documented, it should be possible to match their functionality on other operating systems.
So what is Microsoft aiming for? Probably two things:
- Kill Java. They need to kill it before it becomes too wide-spread. They have a really good shot at doing so given Java's performance problems [insert thousands of flames from Java developers here] and C#'s advanced features like better encapsulation (you don't need to call set() and get() methods, you can map them to the = operator, for example).
- "Write once, run on Microsoft". In order to run.NET apps on another platform you would have to virtually re-implement (or substitute) the entire Win32 API, which will probably be modified at an ever-increasing pace. No company can keep up -- only open source may be able to do that, but Microsoft's opinion might be that open source is no real threat for the platforms where they want to deploy.NET. (After all, even the average Slashdotter seems to think that Linux will never be ready for the desktop -- quite idiotic, IMHO, but the more people believe that, the better.)
Insofar Ximian's Mono project may be a good thing as it offers a migration path where previously none existed (from Windows to Linux), even if.NET apps don't run properly on Mono (think about all the GUI stuff that can go wrong, for example). Besides, Java has never really been a mature technology IMHO and it's about time to replace it with something better, even if superficially less cross-platform.
Now the advantages of having a modular architecture become clear. Mono cannot break Linux, it cannot break X, it can probably not even break GNOME. There are more alternatives than you can throw a kernel image at if something goes wrong. Let's just wait and see what the Mono guys come up with. The only people who should worry about this are Sun and their followers. And maybe RMS.
C#'s advanced features like better encapsulation (you don't need to call set() and get() methods, you can map them to the = operator, for example).
You, my friend, have it the nail on the head. Java's lack of operator overloading is really annoying,
but it is not a good reason to declare C# the winner
of the two.
In an ideal world, you have a competent designer,
who makes new data types as conceret as possible,
but in the real world, there is no messiah to save
you from abused language facilities, and assingment
operators that have ill side effects.
Java is no less immune to bad programmers than any other programming language.
C#'s advanced features like better encapsulation (you don't need to call set() and get() methods, you can map them to the = operator, for example).
This isn't an advanced feature nor is it better encapsulation. It is sugar that probably becomes bitter-tasting in time.
Java has never really been a mature technology IMHO and it's about time to replace it with something better
Java is very mature. Don't confuse Java and its VM with the plethora of half-assed "me too" APIs that come and go. At its core, Java is solid.
The only people who should worry about this are Sun and their followers. And maybe RMS.
Add the many users of GNOME who avoid Microsoft software out of principle. There are many people who view anything Microsoft-flavored as a genuine risk (sort of like a flea-infested rat--does it carry the plague?). A.NET presence in GNOME will force these users to find a new desktop environment, and they will do so without hesitation.
Actually, C# has one feature which I consider to be a godsend for dealing with resource deallocation.
In java you write
resource blah = new resource();
try
{
// use some resources
blah.Use();
}
finally
{
blah.Dispose();
}
while in c# you can write
using (resource blah = new resource())
{
blah.SomethingElse();
}
I like this for the same reason I like for loops- everything's right there at the top, blah is scoped to only inside the curlies, etc... Granted it's just some syntactic sugar, but it's really good syntactic sugar.
Re:Why CLR?
by
Anonymous Coward
·
· Score: 0
I prefer C++'s syntactic sugar in local object destruction over C#'s "using (resource) {}" syntax. The {} braces after the usings braces are simply not required - destruction would be implied by the end of the closing enclosing block in which the statement is already in. But anything is better than Java's lack of deterministic destruction. Having a finalizer go called (or not called at all) in any thread, at any time - and in any order - is worse than useless.
C# objects that need to be cleaned up after you are done with them (ie objects that reference resources that are not garbage collected like file handles or db connections) implement an interface called IDispose. IDispose has a single method named Dispose, which should be invoked when you are done with the object. There are also destructors, but I'm not terribly familiar with them. They have some of the same problems as the java ones
The using keyword is a little syntax-sugar to explicitly control the lifetime of a resource. Anything declared at the top of a using block is immediately disposed of when the end of the block is reached. Otherwise, it would get GC'd like anything else.
using (CFoo foo = new CFoo()) {
foo.Song(Sizes.Little);
foo.Dance(Sizes.Little);
foo.Seltzer(Sizes.Little, this.Pants);
}// foo is disposed of right now.
They have a really good shot at doing so given Java's performance problems [insert thousands of flames from Java developers here]
OK, here's mine: Had anyone heard anything about real CLR performance? Major JVM implementations have shitloads of work poured into them in the recent 7 years, and still they can't come anywhere close to the native code performance-wise. Do you believe Microsoft somehow made it at the before-release chest-drumming stage?
A.NET presence in GNOME will force these users to find a new desktop environment, and they will do so without hesitation.
I recommend GNUstep. No, it isn't polished yet, but we already have a nice mail client, an IDE, and a GUI design application. And we hope to have a calendar/planner application coming soon. Oh, and you can easily compile Cocoa (Mac OS X) apps under GNUstep too (and vice versa).
Everybody who can help us should give it a shot. We just need more people involved in the project.
You're Not Surrounded by Girls?
by
Greyfox
·
· Score: 4, Funny
Dude, what's wrong with you? The rest of us are swimming in chicks, piles of cash and fast cars! You must be doing something wrong! As long as you follow the instruction book they send you when you start an open source project, all this can be yours. It outlines in clear steps exactly what you need to do to make your fortune using Open Source software, and it always works! Didn't you get yours yet?
--
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
Re:You're Not Surrounded by Girls?
by
geekoid
·
· Score: 3, Funny
Thanks Mr. Carmack...
-- The Kruger Dunning explains most post on/. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
Re:You're Not Surrounded by Girls?
by
crt
·
· Score: 1
I think I got that instruction book.. it went something like:
Step 1: Start open source project
Step 2:
Step 3: Swimming in chicks!
Re:You're Not Surrounded by Girls?
by
pinkpineapple
·
· Score: 2
Although I like girls too, I'd rather be surrounded by cute guys (with ear ring if possible.)
PPA, the girl next door.
-- -- I feel better now. Thanks for asking.
Re:You're Not Surrounded by Girls?
by
mcspock
·
· Score: 1
omg, it's a female geek on slashdot!!! *glom*
-- --
Patience is a virtue, but impatience is an art.
Re:You're Not Surrounded by Girls?
by
Anonymous Coward
·
· Score: 0
I for one think the back and forth between Miguel and Alan is one of the most interesting things I've read through slashdot for some time.
keep chasing the taillights wag the dog
by
Anonymous Coward
·
· Score: 0
all the benefits i see are easily attainable by technologies alreday in the field and not controlled by Microsoft......
Come back now, ya hear.
and history with M$ and this kind of stuff is long and basically the same....YOU ARE FSCKED !!!
but yes they have changed, things are diffrent. they now write secure, robust, stable, documented, attainable API's and programming languages...OKAY !!!
I felt M$'s paradigm shift, i thought it was an earthquake.
Re:keep chasing the taillights wag the dog
by
Anonymous Coward
·
· Score: 0
Don't worry... GNOME is as good ad DEAD. Do you think Sun will like to work with someone who just wants to help M$ dominate the enterprise development area?
Fuggetttaboutthat...
Re:keep chasing the taillights wag the dog
by
Anonymous Coward
·
· Score: 0
Why even bother ranting about what some other person wants to do with their time/resources? This fellow has obviously studied what he wants to do and actually has the ability pursue it. His passion for creating things and letting them free so he can watch them grow is admirable. Why don't you take your talent and resources and direct them in a direction you want to see expanded? I suspect it is because your only talent is the ability to shriek about what some one else believes in and you are anti whatever that is. As for resources?
Re:keep chasing the taillights wag the dog
by
Anonymous Coward
·
· Score: 2, Interesting
and history with M$ and this kind of stuff is long and basically the same....YOU ARE FSCKED !!!
Read the explanation. That's covered. They're implementing the ECMA spec and adding seemless access to GNOME. If there's compatibility with Microsoft's implementation, that's nice since portability is free. If Microsoft deviates from the standard, it's a shame Mono is still has merit, especially language independence which was always important to GNOME. Essentially, Mono is cherry-picking features from.NET.
Okay, you're asking, why not use Java's JVM since it supports multiple languages. As someone pointed out in the gnome lists, Java, like TCL, is Turing complete so it can support any language your CPU can. Suppose you tried to implement Java in TCL? Would you be pleased with the performance? Probably not. Java's JVM lacks several features that make running languages like C++/C, Lisp, and Haskell fast, including:
support for tail calls
less heap allocation, due to
value types
function pointer types (rather than heap-allocated closures)
byref arguments (rather than returning multiple values in heap-allocated objects or arrays)
support for unverifiable code (which can avoid the need for some runtime checks)
The.NET's CLR gives you these features. If Java's JVM were open source, the Mono team could easily extend the JVM to support these features. It would certainly make life a lot easier. Unfortunately, if they did, Mono would get little commercial support, and they'd receive a call from Sun's legal department. I personally hope.NET and Mono force Sun to do the right thing and extend the JVM to efficiently support other languages.
Java is nice, but the take it or leave attitude of Java is the reason.NET was not laughed out of existence.
Re:keep chasing the taillights wag the dog
by
Anonymous Coward
·
· Score: 0
Your reading comprehension is rather poor. The CLR is being based on submitted standards. I truly grow weary of the lame paranoia that pervaded these feeble minded posts. Re read the well though out response above. You junior people who hope to be relevant in the future would do well to study the published experiences of successful software development projects. He has identified a way to keep his project going stong and even increase their productivity. You guys should be afraid of your own shortsighted fears instead of MONO.
Also, if you still have worries, don't use it. As more and more code is written for it you will undoubtably have to in the future. Make an informed decision using your own brain and ALL of the available facts.
Re:keep chasing the taillights wag the dog
by
Anonymous Coward
·
· Score: 0
Why even bother ranting about what some other person wants to do with their time/resources? This fellow has obviously studied what he wants to do and actually has the ability pursue it. His passion for creating things and letting them free so he can watch them grow is admirable. Why don't you take your talent and resources and direct them in a direction you want to see expanded? I suspect it is because your only talent is the ability to shriek about what some one else believes in and you are anti whatever that is. As for resources?
Keep reading and studying.....
It's all right thought because at least this is a CHOICE.....on the platform I choose and not a choice on M$ platform..hahahaa
I don't care what he believes either.......It's impossible to predict the future but with M$ you at least have a 50% chance of being correct about any future involving M$.
Gee 2 Versions of C# Unix and M$ can't wait to laugh at that one.
Hallowween..... boo !!!
Just how many layers do we need??
Re:keep chasing the taillights wag the dog
by
praedor
·
· Score: 2
ECMA spec be damned. It is incomplete and will remain so. The key things that WONT be in it, that is a CERTAINTY, will be M$-only. You want to get their benefit and run your code PROPERLY on computers? Ah, well you'll need the M$-C# compiler and the M$-VM. Anything else will fall short and just not cut it. Again, see kerberos, samba, etc, etc, for what to REALLY expect. M$ has not magically changed one iota. Not. One. Bit.
They will NEVER fully release to the ECMA the full spec. They will hold key parts back for their own use ONLY and with others, well, you can pay to license it if you want. Cost you a pretty penny but there you have it.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
hypocritical bastards.
by
Anonymous Coward
·
· Score: 0
Gnome developers blast KDe for using a toolkit that despite the best efforts of trolltech is still not free enough for them, now they want to help MS establish.net's dominance.
Thankfully, Gnome is dead, Gnome 2 is 2 years late and may yet not see the light of day. I guess things aere not so bad afterall.
Re:hypocritical bastards.
by
Anonymous Coward
·
· Score: 0
Mod this UP from 0 to 2 or so. He DOES make a valid point, afterall. Change your f*cking tune about the cleanliness or purity of code, etc, after making a ridiculous stink about QT which is now free and clear by Gnomish reckoning - and better developed.
Hypocrits all.
multi language support
by
sfraggle
·
· Score: 2, Funny
I want to encourage other developers to look at targeting
existing compilers and interpreters to the CLI: JavaScript, Basic,
Perl, Python, C++, and maybe even get gcc core to generate CIL
bytecodes.
-- Withdrawal before climax is very ineffective and those who try this are usually called "parents."
Ok... so here's your kudos.
by
Da+VinMan
·
· Score: 2
Nice call broody.
Happy?:+)
--
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
Re:Ok... so here's your kudos.
by
broody
·
· Score: 1
LOL. Happier than I should be actually... <:
-- ~~
What's stopping you?
Suggest me a reading list.
by
sinserve
·
· Score: 1
So, If I decided to stand beside Miguel and code for
GNOME in C#, where should I start?
The C# literature out there is too "in 21 days" for
an experienced programmer. What solid books are there
for the platform?
Re:Suggest me a reading list.
by
praedor
·
· Score: 1, Troll
First thing you do is go interview for a job at M$. That is the ONLY way you will be able to write.NET-compatible, working C# code. The mono stuff is doomed to be a linux-only "broken" implementation of M$-C# and.NET.
IF you want to code the same way but for linux and other OSes, then you should read up on Java. THAT'S the better path to interoperability between platforms and oses. Fact. Sorry, but a FACT.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
Re:Suggest me a reading list.
by
Anonymous Coward
·
· Score: 0
Free solution -- Go to the book store and find Wrox Professional C#. Then read the appendix on C# for Java Programmers. That's assuming you know Java. Then read the MS class library docs.
(I bought that particular book because it focuses on notepad and the commandline compiler. Ignore the visualstudio books.)
Re:Suggest me a reading list.
by
miguel
·
· Score: 2
What I have read myself so far:
* Inside C#. Microsoft Press, good.
* C# Essentials: O'Reilly, if you want to learn it quickly, and do not care about details.
* The ECMA C# standard is useful if you want to write your own compiler 8-)
Miguel.
Re:Suggest me a reading list.
by
Anonymous Coward
·
· Score: 0
I'd suggest to just download the beta version and go through their tutorial.
Also look at www.csharptoday.com and www.gotdotnet.com
Miguel is naive
by
pubjames
·
· Score: 5, Interesting
Miguel's arguments sound all well and good, but I think he is fundamentally naive about Microsoft.
Microsoft have fought tooth and nail over many years to build their monopoly. They will do whatever it takes to protect that, within the boundries of what they can get away with these days.
Some parts of the.NET framework are still vague. Now, why might that be? The naive might think it's because Microsoft still haven't worked some of the details out. As has been stated many times before, Microsoft is betting the farm on.NET. Microsoft are a very competitive company, with one of the most lucrative monopolies in the world. Think about that. Imagine how Microsoft will respond if they start to loose market share, or control over developers, because of Mono.
As long as Mono stays a little project (which it is as far as Microsoft is concerned) then they will play nice. They will be able to point to it and say "Hey, look, even the Open Source people are supporting.NET! That's because it's great technology and these days we're such nice people." But as soon as they feel it's a threat, well...
Don't be naive Miguel. You are implementing a copy of a system still under development the world's largest and most aggressive software monopoly. Think about that.
Re:Miguel is naive
by
Anonymous Coward
·
· Score: 0
How is it like for you going through life always being afraid of everything? Ever hear of capitalism or competition? Naive, hardly. Mono will work out just fine.
Erm. Yes. I think that was my point. Maybe you misread my post.
Miguel is naive. Read what he says. He even suggests Microsoft might like to fund Mono. Now, is that naive or what? Microsoft identify Linux as being their current number one threat, and Miguel want them to fund Mono! Well, if they did, it would be to control or kill it.
Oh, I know all about capitalism and competition. I'm afraid that Miguel doesn't understand how competition in the software industy works.
M$ doesn't really understand it all either. If they did, they wouldn't CONSTANTLY be in legal trouble for violating the rules.
THAT fact should give one pause for wanting to have ANYTHING to do with them. Convicted illegal monopolists and unethical criminals and Miguel wants to play with them. Looney.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
But it's not just naivety - Miguel's technical arguments don't add up to a row of beans. There's no reason whatsoever for providing a C# development environment for Linux when Java is already established in a variety of forms, nor any reason to slavishly copy the CLI when a bunch of other VM developments are going on which could use help.
The point is not just that a huge political risk is being introduced to the heart of Linux development, but that no guaranteed and unique benefit from doing so has ever been identified.
Actually, what he suggested was simply that he would like to be PAID by Microsoft.
One wonders if he would like to be paid by Microsoft to do the controlling or killing of Mono.
Free platform from non-free roots
by
Malc
·
· Score: 2, Insightful
I particularly liked his comment about Linux coming from AT&T's non-free environment. He seems to imply that the.NET framework is to the future what AT&T UNIX is to the present.
Re:Free platform from non-free roots
by
geekoid
·
· Score: 2
Yes, like MS won't go after people who clone there stuff for other platforms.
-- The Kruger Dunning explains most post on/. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
Embrace, Extend, and Endorse
by
SirSlud
·
· Score: 2
> They have incorporated many ideas from Java, and they have extended it to address new needs that developers had. They took where Java left off.
ROFL. Well, there you have it! An endorsement for 'embrace and extend'. We all know about MS's attempts to do it with Java, so I guess thats what C# is. Java, embraced, extended. Kinda like when the CIA was caught doing something bad, they lopped off the bad department, christened it unaffiliated with the CIA, and thus, we have the NED. But I digress. Anyhow, I just found it interesting just how upfront and accepted this approach is now.
-- "Old man yells at systemd"
Re:Embrace, Extend, and Endorse
by
TheAwfulTruth
·
· Score: 2, Insightful
The entire universe of computers (And all other engineering worlds) works on "Embrace and extend" You can't blanket everything as bad because of it. Sometimes it's bad but usually it's good. Labeling something "Embrace and extend" is not by default a bad thing. Quite the opposite. Aren't KDE and Gnome embracing and extending the xerox/apple/ms desktop metaphore?
Java may have been a nice idea but it's implementation and it's owner were terrible. So move aside sun, let someone else try...
-- Contrary to popular belief, coding is not all free blow-jobs and beer. Those things cost MONEY!
Re:Embrace, Extend, and Endorse
by
Anthony+Boyd
·
· Score: 2
Java may have been a nice idea but it's implementation and it's owner were terrible. So move aside sun, let someone else try...
Yes. Sun isn't perfect, so let's replace them with, um... Microsoft. Yeah. They're much more trustworthy.
Glad to see some clarification
by
I_redwolf
·
· Score: 4, Insightful
I have two things I would like to point out to you. Actually after preview it's alot of things.
So when you copy your binary from Windows that was compiled with the Visual Studio.NET and run it on your Unix platform, it will just integrate nicely with your GNOME desktop.
How exactly do you plan on doing that, as I'm aware of, at least right now. Microsoft hasn't submitted a full spec to the ECMA. Again; I will mention that Microsoft has never done something like this in the past; they've always blocked people out.
Your ideas on writing pieces of code in different languages is agreeable except in this case. Writing chunks of programs or pieces of code vital to the overall program in a different language which may or may not work to spec is just asking for trouble. (IE: using asm for sound routines etc etc many examples)
The.NET Framework stands on it's own feet, and developers in the Windows world love it....... We are witnessing the creating and deployment of a new standard...
A standard that we will have to fight to operate with in the long run. Instead of unix camp supporting those ideals we should be supporting things like java or creating or own stuff. Just because windows developers love it doesn't mean it's not java with a couple of addons. If it was wildly different in any manner I would agree that we should be looking to use it; however this is not the case. A standard already exists and that standard is java
The only restriction is that all of our work has to be free software. But other than that, I am ready to take money from anyone or listen to any kind of proposals for making this happen
We all know nothing involving money comes without a price. Don't blind yourself to that. If someone gives you money, they want something. For Microsoft it'd be whatever it took to end the free software movement; period. Try not to be a pawn in their game, try not to play the game period.
Your comment that follows above italicized voids most of what you said earlier regarding inteoperability.
I sincerely think that you need to assess what your true goal is. This isn't nirvana, this isn't a place where you can walk into the middle of the street and not get hit by a car. This is a cruel world, I fear your intentions are good and your heart and mindset is in the right place but don't be fooled, Microsoft and others make this a very cruel industry. There are certain things that you can and can't do and currently they set the rules, this is what we are trying to break so that we don't have to worry about if a standard is submitted and we base our code on said standard that it will work across the board. Building upon their standards which do nothing to help that only helps them.
Thanks for your clarification it did clear up a couple of points though.
Re:Glad to see some clarification
by
Ace+Rimmer
·
· Score: 1
Instead of unix camp supporting those ideals we should be supporting things like java or creating or own stuff. Just because windows developers love it doesn't mean it's not java with a couple of addons. If it was wildly different in any manner I would agree that we should be looking to use it; however this is not the case. A standard already exists and that standard is java.
You say java is a long term standard? No way - it has essencially changed in terms of language specs (between java 1.0 and java 1.1) and API (java 1.1 versus java 1.2). New java 1.3 and 1.4 is also another cup of coffee. It's far more usable today, that's clear, but it has changed dramatically.
Even though I think Miguel is way too naive about MS tactics I think there's nothing bad about adopting any idea which his team really likes. If the adopted API can evolve itself (not only to try to keep with MS) I don't see anything special about this.
--
:wq
Re:Glad to see some clarification
by
I_redwolf
·
· Score: 1
Don't put words into my mouth.. I never said java is a longterm standard. It's a standard and it has changed and it is GOING to change again very soon.
As for Miguel adopting any idea which his team really likes. That's fine with me as well, so long as it doesn't impose on my rights not to use it. Which means if.NET/MONO becomes a part of Gnome, I will use a fork or fork it myself. 95% of other gnome developers feel the same way. So pretty much I don't care.
I believe Microsoft actually obtained a software patent on at least one of the password hashing algorithms used in NT. If Microsoft ever pursued enforcement of that patent, anything that generated hashed passwords for use in the Samba password file could be at risk.
i will laugh my ass off
by
Anonymous Coward
·
· Score: 3, Interesting
when this comes to its only possible conclusion: microsoft silently encourages this effort until lots of gnome folks understand how to write c# and write to the.net fwk apis - then they will crush mono/open source.net; they'll kill you with licensing and incompatibility; they'll take you to court and screw you silly.
and then you'll have a huge group of people that like coding c# using the.net fwk class libraries - what do you think those folks will do? learn something else, or put those skills to work - often for money - on windows.
and i will laugh my ass off at you idiots.
Re:i will laugh my ass off
by
Anonymous Coward
·
· Score: 0
If Microsoft sues Miguel/Mono and wins - Mono merely has to slightly alter its binary format to NOT be compatible with CLR. All the Mono libraries and software would work after a minor recompilation and then it would be a BIGGER threat to Microsoft. Give your head a shake - Mono can't lose.
Re:i will laugh my ass off
by
Anonymous Coward
·
· Score: 0
uh, hello? you're predicting microsoft's courtroom focus and strategy here, yeah? you think they'll play it like that? they play to win.
baby, mono can't win. miguel has made a bargain with the devil - and i will laugh my ass off when he wonders aloud why he's being dragged off to hell.
Re:i will laugh my ass off
by
praedor
·
· Score: 2
Know what else is funny? I'm laughing right now. It's the FACT that both Ballmer and Gates ARE laughing about this whole thing RIGHT NOW. They are in an office laughing and getting so exciting that they are actually rubbing themselves.
This whole thing is going EXACTLY the way Gates/M$ wants it to. There is no "danger" here from Mono/Miguel. They are a joke, accidently and delusionally serving the best interests of M$. You HAVE to love this. HALLOWEEN.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
If Miguel were Icarus, he would be flying away from the Sun while approaching M$;-)
Miguel's Comments
by
John+Kelvie
·
· Score: 5, Insightful
1) I thought Miguel's arguments for why he's getting behind the.NET Framework(the CLI and CLR to be specific) were excellent. I have read much about the Mono project since the announcement of its inception, but this is by far the best explication I have seen. If he hasn't made me a believer, he has at least made me very curious.
2) As an active Java developer, I think that this may very well be the BEST thing someone could do to help Java. The directions Microsoft are going in with.NET to me seem like the obvious directions(licensing as a standard to ECMA, support for multiple languages, etc.) that Java should be going towards, but, for whatever reason, is not. I think.NET(and Mono) if they pick up steam will give sun the kick in the ass they need to get moving on some of this stuff that they are not.
I personally think the main reason Sun has not further opened Java up is because they have not perceived the need to. They are doing some calculus in their head to make it as open as they need to gain developers from Redmond, but still try to hold onto as much as possible of it for themselves.
3) My largest concern with this, and I didn't notice Miguel addressing it there or in the followups, is the patent issue. My worst fear is everything would go incredibly well with mono: diverse compilers, robust libraries, etc. and we would all start to build code around it, and then about 5 years down the line Microsoft whips out a patent and demands royalties for all the labor that we have done under the illusion that it would be free.
I would love to see Miguel address this concern. I cannot speak for others, but I would be a long way to considering getting involved with Mono(whether it mean using their tools to develop, or even contributing to the developmen of libraries, languages, etc.) if I felt better about these things.
3) My largest concern with this, and I didn't notice Miguel addressing it there or in the followups, is the patent issue. My worst fear is everything would go incredibly well with mono: diverse compilers, robust libraries, etc. and we would all start to build code around it, and then about 5 years down the line Microsoft whips out a patent and demands royalties for all the labor that we have done under the illusion that it would be free.
Yes, obviously, that would be the Microsoft's plan. They will increase their user base using Mono, and then dump them with a patent after 5 years or so. Everybody will go for the Microsoft's patented version. As a result, Miguel is dreaming if he thinks otherwise.
3) My largest concern with this, and I didn't notice Miguel addressing it there or in the followups, is the patent issue. My worst fear is everything would go incredibly well with mono: diverse compilers, robust libraries, etc. and we would all start to build code around it, and then about 5 years down the line Microsoft whips out a patent and demands royalties for all the labor that we have done under the illusion that it would be free.
The only problem with this fear, as much as suspicion is always healthy, is that patents don't work that way. If you let people violate them, then a precident is set. When you wait 5 years to defend a patent, the judges tend to ask the question "Why did you wait so long?" It's not like they wouldn't know for 5 years. If you don't defend your patent as soon as you hear about violations, they're REALLY hard to enforce.
Actually, Miguel has already discussed patent concerns in this recent Slashdot Interview done by Microsoft's Carnage4Life:
We are trying to stay on the safe side regarding patents. That means that we implement things in a way that has been used in the past and we are not doing tremendously elaborate or efficient things in Mono yet. We are still very far from that. But just using existing technologies and techniques.
My worst fear is everything would go incredibly well with mono: diverse compilers, robust libraries, etc. and we would all start to build code around it, and then about 5 years down the line Microsoft whips out a patent and demands royalties for all the labor that we have done under the illusion that it would be free.
This is definitely a valid concern. However, what makes you so sure that the same thing couldn't happen with Java. In fact, since Java still hasn't been submitted to a standards body, I am thinking that C# may, in fact, be a safer route than Java. [Wow, that felt weird to say.]
I think this could happen with Java, but probably not
in the near future as Sun needs the goodwill of the developer community for their battle with msoft. If Sun had the same market share as Microsoft I haven't seen anything to believe they would behave any better than Redmond does....
Microsoft whips out a patent and demands royalties for all the labor that we have done under the illusion that it would be free.
IANAL, but common sense dictates that a stardard cannot be patented. Otherwise, who would implement ANY standard not knowing if/when the 'owner' would want to collect royalties. I find it very unlikely.
-- -----
rL
Re:Miguel's Comments
by
alext
·
· Score: 2, Interesting
What made you curious? As a Java developer, you'll be aware that there's nothing radically new in the Dotnet CLI or C# and you'll be highly sceptical about claims of portability between Dotnet and Mono, given the difficulties we have today with AWT, SWT, Swing, WebLogic vs. WebSphere etc.
It seems that you're most excited by the prospect of applying some pressure to Sun to open up its IPR. Well, I think there are many ways of doing that, most of which will not involve putting MS in the driving seat of Linux application development.
Re:Miguel's Comments
by
Anonymous Coward
·
· Score: 0
Outside of the software world, standards contain patented components all of the time. Usually there's a royalty sheet attached however, and people aren't playing bullshit legal games like they tend to do in software.
The two most attractive things about it in my mind are:
1) The ability to compile the code to native binary. I don't know why Sun resists making this available for Java. I am not sure what problems you allude to with Swing, but I personally have found it very nice to work with. What kills me about it is it's slowness and resource consumption.
2) The focus on adding new languages. There are other languages available for Java, but not many, and it doesn't seem to be something that Sun is focused on at all. I think this would be a great thing for Java developers.
As for problems with portability with Java, I am among those who believe that it goes a long way towards achieving the WO/RA dream. There are times when I have been kicked in the butt by it(such as moving from WebLogic to Bluestone), but I have found other transitions very easy(I have moved apps between Orion, WebLogic, and Tomcat in just about every permutation without much problem).
John
Alan Cox 1 Miguel 0
by
praedor
·
· Score: 5, Insightful
Sorry, even though Miguel does a good job of going into an indepth "answer", Alan Cox takes all the air out of the sail.
Java is NOT broken or lacking because it is inferior. If it is lacking anything, it is because no one has gone the one step further and fixed it. Do THAT instead of rebuilding from M$-poopie.
Finally, the simple statement by Alan that as soon as M$ decides they're a pain in the ass, poof, there goes the VM into patented special-feature land (see kerberos for a similar f*ckjob) and no.NET viralware will run via mono. Add this to the FACT that the predominant C# compiler in use will be the M$ version. De facto factamundo. The M$ version will be "special" while the free variants will be broken. Just like the PROPER implementation of java (non-M$) was "broken" with respect to the illegal perversions that M$ inflicted on it (and thus we have C#).
M$ is not changing its tune on whit. This is NOT a gift to the developer community. It is NOTHING but a means of continuing lockin (and conversely, lockout) and moola into Gates pocket. Nothing more, nothing less. It may be a nice way to build stuff at some future time for linux but it is NOT a means of being able to run some.NET windoze binary on linux (never happen except accidentally because the code was simple enough not to include "broken" M$-only freakishness). You will find that most of the important stuff will not run. Developers will STILL not make linux-friendly stuff because the bulk of the market is in M$-doze-land and they can run the broken/perverted.NET M$_VM-only stuff.
Stone cold fact. Sing the praises of mono for having the POTENTIAL of providing a nice development environment for linux coders (though unnecessary if they'd instead focus on the correct path of Java) but don't delude yourselves that this will mean windoze binaries working on linux.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
M$ is not changing its tune on whit. This is NOT a gift to the developer community. It is NOTHING but a means of continuing lockin (and conversely, lockout) and moola into Gates pocket. Nothing more, nothing less. It may be a nice way to build stuff at some future time for linux but it is NOT a means of being able to run some.NET windoze binary on linux (never happen except accidentally because the code was simple enough not to include "broken" M$-only freakishness). You will find that most of the important stuff will not run. Developers will STILL not make linux-friendly stuff because the bulk of the market is in M$-doze-land and they can run the broken/perverted.NET M$_VM-only stuff.
I think you're making some fundamental mistakes here.
First, when you say that Linux would not be able to run Windows binaries - guess what, there will be no Windows in 5 years. There won't be such thing as a Windows binary. There will only be.Net framework running on your PC or whatever appliance and.Net binaries..Net is a very longterm project, it has been in works for about three years now. It did get started because Microsoft realized that PC is not forever and the original goal was to carry Microsoft's influence to the post-PC era. It is up to you if you want to play the game or not but.Net is going to be big, bigger than Windows or anything else you've seen from MS so far. Hence the question of Windows binaries is largely irrelevant.
Second, the #1 goal of.Net Framework has always been portability. Again, this is because of the realization that PC is not forever..Net is going to be everywhere, server, desktop, tablet PC, PDA, cellphone, you name it. Given this assumption, this multitude of platforms and apps, I find it hard to believe that MS would be able to somehow break this compatibility without seriously hurting itself.
Re:Alan Cox 1 Miguel 0
by
Arakonfap
·
· Score: 2, Interesting
WHAT are you talking about??
Better yet, WHAT are you comparing MONO to? Java? Well, there's lots of complains about Java out there..NET's intermediat langauge is intended to be compiled into native code, for one thing. C# has lots of nice development features that Java is sorely lacking. HOW can anyone fix Java when Sun is in official control of it, and is always late in implementing features? (And then does such things 1/2 way?) Yes, Java performs better then C/C++ in some situations, but most of those situations are lacking real-world features, like a fast/native-looking GUI.
Mono does Not need to be compatable with Windows in order to be a success. This was mentioned in the reply. The concepts, and the basic language of C# can't be bastardized by MS since it's already been submitted for standardization. They can add things to future versions, but how is that different then the HUNDREDS of C/C++ compiler problems out there?
Mono and the CLI will offer an easier development envirionment, allowing developers to use the best tool for the job w/out worrying about cross-language bindings. It will allow developers to easilly change from Window's C# to Mono's C# (Even if they can't use some specific language feature!). It will be a success when completed in it's own right, no matter what happens w/the MS implementation because it is good technology.
No doubt that IF it works, it will provide a nice development environ for coders. What will also happen is there will be hidden patents that will affect the whole thing (Mono) and M$ will bring them out swinging at a future point.
Even if THAT doesn't happen, there will be NO real compatibilitiy with.NET. The important, really "good" stuff will require windoze-based platforms. WindozeCE, WindozeXP, Windoze(Whatever). Windoze will remain, in imbedded form and on whatever computer object people use..NET operabilty will REQUIRE that one own and use a system containing an OS from M$. Anything else will have to licen$e from M$ to get to work properly.
.NET is not a forgone conclusion. It is attracting negative attention from consumer groups and soon the states. It is a problem, not a solution (in its M$-centric form where all information and storage and tabulation leads to MS). If the law and intelligence does what it is supposed to do, there will be no all-pervasive.NET. Ever.
I hardly think my personal computer will not be around in 5 years. I also doubt linux will be gone. I DEFINITELY doubt that it "wont matter" what OS is run on your system. M$ has made it repeatedly clear that it DOES matter - to them. Whether it is embedded in a cell-phone, a tv-cable tuner, a microwave, it should run M$ windoze. Those systems will require windoze-friendly binaries.
Over my dead body.
Giving up, tossing up the hands, and simply saying "Let M$ own the internet and the universe" as Miguel is objectively doing (regardless of his INTENT) is the wrong way to go. If he wants to cheer this mess on, he should drop ALL reference to M$ and.NET and stick ONLY to what it MIGHT offer linux developers in 4 years. It wont offer DIDDLE with regards to.NET and anything having to do with windoze.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
Re:Alan Cox 1 Miguel 0
by
ink
·
· Score: 5, Insightful
Java is NOT broken or lacking because it is inferior. If it is lacking anything, it is because no one has gone the one step further and fixed it. Do THAT instead of rebuilding from M$-poopie.
Actually, Java is broken when it comes to multiple language bindings. Java (the language) was written with Java (the virutal machine) and they are designed to work hand-in-hand. It's easy for you to sit there and complain that someone should be re-coding Java so that it has Perl, Eiffel, Haskel, Visual Basic, and any other language's bindings; it's quite another for that to be done.
All this is very different from the Java approach, "use my language or die". Only three years ago, Scott McNealy wrote "Think Java. Write new applications in Java. Rewrite legacy apps with Java. Don't upgrade or downgrade. Sidegrade instead to a Java desktop device... I don't understand why anybody would be programming in anything other than Java" (in Open Finance, a Sun publication, Spring 1997). I'm not sure anyone would still dare speak like that today..NET recognizes that the world is multi-lingual, especially the world of component-based development, and that the duty of a component model is to help interoperability, not force a language corset onto everyone.
Most of the criticisms of Mono stem from those who misunderstand dotNet and Mono (you included). Mono is not trying to integrate services with Microsoft's dotNet services, they are trying to write a good component model. If Microsoft decides to change the internals of their dotNet implementations such that it "breaks" compatibility with Mono, then we've still lost nothing. Do you understand now? This isn't the "Samba problem" re-hashed.
-- The wheel is turning, but the hamster is dead.
Re:Alan Cox 1 Miguel 0
by
Anonymous Coward
·
· Score: 0
Eiffel folks are bunch cry babies and poor losers. Please don't quote them if you wish to have any credibility.
Few years ago they slammed Java for not being a real OOP language because it lacks implementation MI. After realizing no one gives a fuck they practically rape eiffel to make it fit the.NET platform. At the same time the Eiffel2Java bytecode tools disappear. What a bunch of goons if you ask me. I once had great respect for Mr. Bertrand Meyer but that is all gone. He is fucking loser, and deserves to be forgotten with his piss poor language.
All well and good but then it was brought on by bullcrap like "running a windoze.net binary seamlessly from the Gnome desktop" (to paraphrase). My ass. Only trivial windoze.net apps might actually work. REAL non-trivial apps will flat-out NOT work.
If you want to bring a neato development tool/environment to linux/*nix so that it is easier to write linux/*nix code fine, but never ever make any mention of running.net crap from the linux desktop. That is fantasy - trivial testruns be damned. The win32 APIs are published and available too aren't they? So why is it that after YEARS that wine only allows a mere fraction of a percent of windoze apps to run on linux? The APIs are published for all to see.
Nice development environment? No problem. Make ANY mention of running windoze binaries from linux and you're talking out your ass and dreaming the dreams of the Freedows people and probably the wine developers when they first started out.
Finally, by accepting M$ C#, you ARE feeding the monopoly, helping the monopoly, supporting the monopoly against good ethics and against good judgement.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
Hehe. Yeah, and the intention/plan by M$ with.NOT is that most those PCs, tablets, handhelds, PDAs, etc, will be running a variant of windoze. Thus,.NOT stuff will work well with them, naturally. If you are a competitor, the price of making them work MOSTLY OK (let's say 90%) will be a nice licensing fee, passed on to you, the purchaser of the competitor's PC, tablet, handheld, PDA, etc.
You get it coming and going if you buy into.NOT. M$ is a MARKETING company that just happens to deal with software and shit. Any useful trinkets that fall around are unintentional and incidental to the goal of the M$ Marketing machine. Forget ANYTHING having to do with making linux work properly with.NOT. You shouldn't want that anyway - otherwise why not just cave and buy their OSes, use Hotmail, get a passport and give them your private data, your financial data, and your soul? THAT is what.NOT is REALLY about.
Any gee-wiz nifty crap about the.NET FRAMEWORK is incidental and accidental. No bones about it. Don't be getting all starry-eyed.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
Re:Alan Cox 1 Miguel 0
by
Anonymous Coward
·
· Score: 0
love this phrase - if you just invented it (and a quick google search couldn't find any mentions) then my hats off to you
Re:Alan Cox 1 Miguel 0
by
Anonymous Coward
·
· Score: 0
Go read his mad ravings he has published in the last 4-5 years if you don't believe me.
He is destined to obscurity.
A Rational Approach
by
ChaoticCoyote
·
· Score: 4, Insightful
Miguel de Icaza has committed two sins against the "spirit" of "free" software:
He doesn't hate Microsoft.
He wants to make money.
As I understand it, Miguel is looking at the CLR part of.NET as a productivity tool; he believes that Ximian developers will create applications faster and more reliably using a clone of Microsoft's technology. And he is very valid in pointing out that cloning.NET will follow a long tradition of "freeing" proprietary technologies. If GNU can clone C, C++, Java, Word, and what-not, why complain about cloning the.NET CLR and C#?
Miguel is not forcing anything on anyone; Gnome and GNU will not be dependent on Mono, and Mono only imposes on those who wish to use it. So long as Miguel protects existing free code from proprietary contamination, I see nothing wrong with what he's doing.
As to whether he can succeed -- well, I think he's bitten off more than Ximian can chew, in that implementing certain pieces of the.NET CLR and VM is unlikely to attract hordes of Windows-based developers, nor is it going to offer the functionality that will allow cross-platform development. Perhaps the only "evil" involved here is that Miguel's efforts may legitimize Microsoft's monopoly as a false example of the "openness" the monster of Redmond. We'll need to keep an eye on that.
In the end, Mono will sink or swim based on its merits; if developers don't like Mono, they won't develop for it, and it will go the way of the dodo. On the other hand, if Mono works, it could be a Very Good Thing by making application development easier for Linux. Time will tell.
Re:A Rational Approach
by
bryanbrunton
·
· Score: 2
Your definiton of "free" appears to only be "free as in beer", while the real people behind open source software value it because it is "free" in a different way.
You are right that Ximian has bitten off more than it can chew. As it is highly unlikely that Ximian is profitable at this point, its quite likely that Ximian won't survive long enough to actually use Mono in any form that produces revenue. Small startups like Ximian in this day and age are not in the business of doing fundamental R&D on development platforms. I'd like to know how this waste of money is rationalized to Ximian's investors. What mono based products will Ximian release in two/three years (when the platform is ready) that can justify the expenditure of this capital? None. I do hope that they can survive on the products that they have released and will be releasing that don't use Mono, but from a business perspective hiring 5 guys (300,000 per year expenditure) to work on this project is utter insanity.
Application development for Linux already is easy. With the arrival of Kylix, C++ Builder, the many Java development environments, the maturation of QT, Python GUI alternatives, KDevelop, development under Linux isn't in the least bit challenging as compared to three years ago.
Perhaps Miguel's problem is that he has been programming in C and GTK+. How many fewer lines of code would Evolution have required and how quicker could have Ximian released products if he wasn't using those less than rapid development tools?
I just wan to add my 2cents (even if this thread is never gets read!):
1.- Making money is a good thing.
2.- Abusing people and ripping people off is a bad thing.
Many people confue the order of those two principles and:
1.- They hate MS because they rip people off (think of this any way you want it: Bad/Expensive Software)
2.- Many think that if any royalty is given to the programmes they are just as bad as MS.
And finally, please don't fall into being fanatics, one thing is to don't liking the MS buisness model(and attitude) and software and other is to be so CLOSED to the degree of being obtuse (don't you see that if you an obtuse fanatic you are only the guy on the other side of Bill Gate's mirror)
Manuel
--
--Manuel "I hate quotations, tell me what you think"
Perhaps the only "evil" involved here is that Miguel's efforts may legitimize Microsoft's monopoly as a false example of the "openness" the monster of Redmond.
Let me get this straight:
An open source developer implementing a STANDARD is legitimizing a monopoly? Please.
What Mono is all about is USING Microsoft's generosity to create a better GNOME development environment.
If that opens the doors to many more GNOME developers, how does that help the Microsoft monopoly? If programs can be easily ported between.NET and Linux how does that help the Microsoft monopoly?
The bottom line is that Miguel is legitimizing an open standard, not a monopoly. If Microsoft plans to deviate from the standard (ie. without publishing how), then why would Microsoft make it a standard in the first place? It just doesn't add up.
-- -----
rL
Re:A Rational Approach
by
ChaoticCoyote
·
· Score: 2
Note that I stressed how important it is that RMS and the community ensure the continued freedom (as in speech) of any "free" code that is involved in commercial projects (which includes work by the for-profit Ximian and its allies).
I don't wish Miguel ill, but I don't see how he's going to succeed. On that, at least, you and I agree.
Re:A Rational Approach
by
ChaoticCoyote
·
· Score: 2
Bah! Microsoft just submitted part of the CLR to ECMA; quite a bit of the CLR library is outside the "standard", and Microsoft has made it clear that "some" features of the CLR will only be available through licenses.
What Mono may do is provide Microsoft with an example of how "open" they are; it's a good defense when anti-trust talk begins to circulate.
I wish Miguel success, and hope he is lucky; perhaps he can influence Microsoft, too, for the good of us all. History suggests, however, that getting into bed with the beast is a prelude to being eaten...
Re:A Rational Approach
by
Chris+Johnson
·
· Score: 2
I can't think of the last time I've seen those words together, even in jest...
Microsoft's generosity
*snrk*
And you sound _serious_, too. It's hard to know whether to be amused or appalled...
How about parrot?
by
Dog+and+Pony
·
· Score: 3, Informative
From the statement:
The CIL has one feature not found in Java though: it is byte code representation that is powerful enough to be used as a target for many languages: from C++, C, Fortran and Eiffel to Lisp and Haskell including things like Java, C#, JavaScript and Visual Basic in the mix.
Let's forget for a minute what the source of this new byte code language, or standard, is. If it truly delivers the above, that would be quite an accomplishment, and probably a good thing. Remember I said, forget about the source for a moment...:)
What I wonder is, how does for example parrot measure up against that? Parrot seems to be moving quite slowly, but I might be mistaken since I am not involved. Since it apparently is the new engine for perl 6, I'd say it must have something going behind it.:)
Anyhow, one of the things with parrot is at least said to be the possibility to compile a lot of other languages besides perl, such as python or java into parrot byte code - something that indeed would be a good thing for portability and the ease of running a little of whatever on any platform. I am not sure how deep these plans actually go, and how feasible it really is.
But parrot is where I would like to set my hopes, so can anyone tell me - do I wait in vain? Is CIL really the way to go? Or are we, in reality, simply stuck with different compilers and/or interpreters for different languages?
It measures up pretty well from what I've read. Parrot was specifically targeted as supporting Python too, as you say, but I believe the Python people haven't leapt to embrace it just yet.
My own preference would be to start with a syntax-tree form of an intermediate language rather than bytecode, since this would support more sophisticated dynamic capabilities.
Regardless of what I think though, the point is that there's plenty of room for innovation in existing open source projects, and no guranteed benefit whatsoever in slavishly cloning the Dotnet Framework.
Re:will somebody please slap the jittery mexiacn?
by
Anonymous Coward
·
· Score: 0
hey slappy...
perhaps... its not "business desktops", eh?
maybe theres 10's of thousands of clients running linux out there that no one seems to be counting. or even can tell what the fuck their running. nor do they need to.
jackass.
Translation
by
Anonymous Coward
·
· Score: 0
Whahh, whahh, whahh. My side is losing the war. America is evil because I live in my mommy's basement & I will never get laid.
don't feed the...
by
Anonymous Coward
·
· Score: 0
see subject. now if it was a good troll, but it's lame.
Why Miguel Is Right - And a Prediction
by
captbunzo
·
· Score: 3, Interesting
Let me start out here with making a little bit of a prediction:
In 5-10 years, we will see the computer industry go through some variety of a revolution, when it comes to desktop computing platforms. The end result of this revolution will be a computing industry in which the specific desktop computing platform in use is
no longer important.
Let's face it. As much as we may not like it, the majority of the computing world uses some flavor of Microsoft Windows as a desktop computing environment. Now, we can argue about this from many different perspectives.
(My personal opinion is that Microsoft is not necessarily evil on account of this. To be honest, Windows is actually relatively useful -and useful is what companies require to survive. Rather, Microsoft is evil simply for what they are charging for their software. Sure, they can charge companies whatever they like (I don't care). However, the common man for his home computer should not be charged hundreds of dollars for an operating system and office software. That is truely the real evil of Microsoft and the Microsoft monopoly.)
Anyways, back to my point. Miguel is right because, like it or not, Windows is a reality that we have to coexist with. We can view this as contending or perhaps cooperating. Whatever the case, it is here and that is that.
Well, as Miguel said, Windows is here and that means that.NET is a reality as well.
Now, if Microsoft had done a terrible job with.NET, then that would be one thing. However, they didn't. End of story. No argument - it is a good implementation.
Therefore, it makes absolutely no sense for us to do our own thing. Especially considering the benefits that we will recieve due to actually getting along a little bit better.
Back to my prediction. I think that the computer world is heading toward a point where specific desktop platform is a non-issue. People thinking about the short term will fret about XP this, or Gnome that. However, something like.NET has long term consequences and effects that must be considered.
The journey to a non-platform-centric desktop world will have many parts. One of these will be the arrival of other competitors on the scene. That is hear, with wonderful options such as Linux/Gnome (foo on KDE) and Mac OS X. Ok, KDE can play too if they manage to provide things like.NET support in the future.
Other pieces of the puzzle are things that allow applications to be used from these multiple platforms. Well, suprise but some of these are already here. They best example to this is the internet. Other examples include emerging technologies such as the.NET framework, MONO, etc.
Anyways, once again, just my two cents. For what it's worth, I hope someone gets something from it.
(Go Miguel, go. Go Miguel, go!)
Re:Why Miguel Is Right - And a Prediction
by
praedor
·
· Score: 2
A prediction that will actually come true: Mono will fail at making.NET binaries EVER run on linux/unix. NEVER happen. EVER. M$ will NOT publish all the libs/apis, they haven't released the full mess to the ECMA and they wont. They need to hold back so they can do 2 things: 1) Collect licensing fees for access to SOME of the unpublished stuff, and 2) Hold some back for their own private use to ensure that M$ "solutions" work best and everyone else's is, well, broken somehow.
THAT is a prediction with meat on it and it will come true.
Point: M$ isn't evil because they have windoze, M$ is evil because of the BEHAVIOR of M$, the unethical, illegal behavior. It doesn't matter if you find windoze useful or good enough for certain things. In an of itself that is fine, but what is NOT OK and NEVER will be is the illegal, unethical behavior of M$ and Gates. It is the behavior and intent (take over the world, for all intents and purposes - control the means and manner of information distribution) that is evil.
Separate the OS from the overall beast. The beast is STILL evil and to be punished.
Miguel, incidently, is petting and feeding the beast with this whole fantasy of Mono thing. He is helping M$ create a bigger monopoly by taking over the internet and all transactions thereon, and he is helping M$ try to eliminate the PERFECTLY good and still developing Java.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
Re:Why Miguel Is Right - And a Prediction
by
miguel
·
· Score: 2
Funny you should say that, because every day I copy my binary from Windows (mcs.exe) and run it on my JIT engine.
I routinely demo this at conferences;-)
This is not a far fetched prediction, I have been using this for months. Our interpreter ran its first code in September. Our JIT has been getting better every day (working since November;-)
Miguel.
Re:Why Miguel Is Right - And a Prediction
by
praedor
·
· Score: 2
The exception proves the rule, and so forth. I can run Half-life, notepad, and minesweeper under wine. I cannot run IE 5.0, Word (recent versions), and most of the widely-viewed as important apps.
Since I can run a mere fraction of a FRACTION of windoze apps under wine, does that mean I can run all apps under wine? Does that mean I'll be able to run any future app under wine?
It doesn't matter that wine and Mono are different. What matters is the way M$ does things. They do things to BREAK compatibility with alien systems, not aid compatibility. You can run app x in your JIT. Can you run all apps under it? Any reason to believe that M$ wont break things in the future (samba! kerberos! authentication protocols in vapor.NET)?
It might be a nice development environ in the future for LINUX. It is a starry-eyed fantasy to believe that it will have anything to offer for real.NET compatibility - and.NET isn't even born yet, it's still a fetus under scrutiny by consumer groups.
Certain aspects of.NET might be nice to borrow. But it is a bad model overall because its INTENT is not to give a gift to developers, it is to lock people into authenticating to M$ servers, store personal information on M$ servers, to collect internet transaction M$-taxes, etc.
Anything else is an accident and incidental. Borrow from it but totally separate it from anything to do with M$ and.NET. It wont work, M$ has no interest in having Mono work, most people will by default use M$ solutions that will be incompatible with Mono, etc, etc. Keep ALL talk of Mono strictly within the bounds of linux/unix where it belongs. It will be stillborn in the M$.NET abomination of services and M$ taxes and spying.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
Re:Why Miguel Is Right - And a Prediction
by
Anonymous Coward
·
· Score: 0
So what does it do, print out hello world?
I don't think anyone is questioning whether or not the virtual machine works but can applications that rely on Microsoft's dev framework really ever truly run on Unix.
Seriously, i dont know.NET deeply but i have the impression that writing applications on Linux that use Mono based on.NET it's a bit risky license-wise. GNOME was born because KDE was based on QT , that had a commercial license, and now it's good to use.NET ? Can someone clarify what kind of lincense does.NET have ? I think it's a key point.
Paul Graham said it best about Java...
by
Anonymous Coward
·
· Score: 0
Re:Paul Graham said it best about Java...
by
praedor
·
· Score: 2
And...every word he writes about Java doesn't somehow apply to C#? The IDENTICAL language with a few "embrace and extend" features from M$ for the SOLE purpose of undermining a competitor?
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
naming conventions....
by
millenium68
·
· Score: 0
Great, they named the product after A DISEASE.
In true Star Treck fashion
by
Anonymous Coward
·
· Score: 0
Before starting though, I would like to ask my readers to forget everything they have heard about.NET
The first thing that comes to mind here is the term "willfull suspension of disbelief", a common concept in science fiction. He could be talking far enough in the future to be speaking fiction. However it seems to me that the first thing everyone points out when Miguel begins gushing about M$ is that he's not keeping a historical context. Of course he does set historical context here in a great feel, felt found presentation. "We feel MS is bad, I felt their APIs were bad... I found they are new and improved." It looks to me like the willfull suspension of disbelief is on the part of Miguel in trying to look at MS as a technology company. The first thing anybody takes away from an analysis of MS is that they are not a technology company, they are marketing company that packages technology. Miguel is buying it.
As for me, I prefer to use my willfull suspension of disbelief for warp drive, gravity plating and matter transmission. In spite of the fact that our understanding of physics today indicates these things to be impossible I feel it is more pallettable and quite possibly more likley than a trustworthy or technologicly sound M$.
Marching down a dangerous path here.
by
Col_Panic
·
· Score: 4, Insightful
There are many things that greatly disturb me about Miguel's casual assertion that "Mono is just a free implementation that happens to implement a technology that was built by a proprietary company." His assertion to me was that "I will be writing some more free software using.NET, because I can produce more code in less time." This statement itself is completely baffling to me. If the point of the GNOME project was to "write more software in less time" and to hell with where the stuff came from and under what license, it would have never started in the first place. The reasons stated by Mr. de Icaza that GNOME was started had to do with the problems with the QT licensing with KDE, which was and still remains a much more complete and usable system.
People like me stuck with GNOME (I can remember a disasterous attempt to use way not ready for prime time 1.0 release on a college campus) because we believed in the GNU approach that GNOME was taking. Now that Mr. de Icaza is working at a high paid job, apparently none of this matters anymore, he has come to embrace the "whatever gets it done" mindset.
But would some one explain to me how a complete reverse engineering of a MicroSoft compiler and all the other bits and pieces of.Net is possibly "getting more done in less time." Not to meantion what is going to happen when MicroSoft says "no you can't do that" and sets out to put and end to it, and I think from the thier track record you can count on it. The only reason they haven't done so yet is that none of this has become a "standard" yet and Miguel seems perfectly content with helping them make it a "standard".
The notion that we should roll over and accept the fact of a.Net world flies in the face of everything the GNOME project asserted from the very beginning. They told us that we didn't have to accept proprietary standards, we could make our own. Now we are being told that it is OK to accept a "standard" that just happens to come from a proprietary company, in this case the worst of them, MicroSoft, because "I like it better" and "it will help me make stuff faster".
Well this is all just absurd. No matter how calmly he tries to assure us that everything will be OK, I think that anyone that hasn't been living in a cave knows what getting into bed in any way with MicroSoft will end up doing to you. You pick up a snake, you are going to be bitten. The only possible reason I could see for wanting to do this is for Ximian to slip in some non-free parts of Mono they want you buy (but it's OK cause it is just to connect to all the.Net stuff you already have from MicroSoft) the same way they did with evolution.
Re:Marching down a dangerous path here.
by
Sloppy
·
· Score: 2
Now we are being told that it is OK to accept a "standard"
that just happens to come from a proprietary company, in this case the
worst of them, MicroSoft, because "I like it better" and "it will help me
make stuff faster".
Hypothetically, let's say it's 1991 and you want a Free operating
system. Suppose AT&T has one that you like, but it's not free.
One fellow decides to clone AT&T's proprietary system. (Well, actually
he wants to clone a clone of AT&T system.) Got a problem with that?
As long Miguel only views it as a project to easily make
apps, there isn't a problem. He just needs to keep it clear in his
head that he's cloning an interface, not a whole system. The
interface is documented, and assuming there aren't any patent issues,
that is enough to make it so that it isn't proprietary.
But as soon as anyone gets illusions that having the same interface
between components means that they have a compatable system overall, they
are screwed. There is no chance that (nontrivial) Mono code will be
interoperable with (nontrivial) Microsoft code. Miguel won't be able to
run MS apps (or probably even apps generated with high-level MS tools) on
GNOME, because those apps will make calls to Windows native
components with deliberately obscure interfaces. If he falls for that
trick, he becomes Microsoft's slave.
-- As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
Re:Marching down a dangerous path here.
by
praedor
·
· Score: 2
I am shamed. You said it ALL in a clean, precise manner that I have been essentially trying to say again and again. I take STRONG exception to any mention of.NET compatibility or an ability to run M$.NET binaries on linux. Not a chance (beyond, as you say, trivial code)..NET is based on and dependent on continued butts in seats using M$ operating systems be they embedded or on a PC. That means specific cryptic tie-ins to the underlying OS which is incompatible with linux. Wine does marginally OK on the windoze apps-running front. No way will Mono do better. Probably wont do as well - its years behind and it has barely started.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
Um, RMS basicaly said "That don't sound like something miguel would say. I would be suprized if it was true."
How is that "Flying off the handle"? (not that he dosn't).
-- autopr0n is like, down and stuff.
One piddly point...that becomes a rant
by
dasmegabyte
·
· Score: 5, Insightful
Miguel, in an otherwise well thought out and well constructed rebuttal to TSH (Typical Stallman Hype), makes one comment I take great exception to...something to the effect of "CIL is Microsoft picking up where Java left off."
Excuse me, when the hell did Sun Microsystems "leave off"? Version 1.4 is coming out the door at any time, with such nice features as buffers and extensive regular expression support, and all of a sudden they've "left off"? Java will run on nearly every system ever created and in all sorts of unusual situations and suddenly Sun dropped the ball?
Look, Java is effing huge. People do write applications in it, and I'm not talking about ticker applets. Today's machines can run Sun's graphics engine as well as they can run GTK, and it's available underneath any OS. Any "work" that Microsoft is doing on the CIL has already been done by Sun, with the exception that MS' byte code executes faster and has better UI support.
But is there any wonder? An implementation of the CIL requires a lot of work on the part of the window management driver authors, meaning there's plenty of room for tuning. An implementation of Swing requires very little -- implement a fiew basic AWT classes and Swing, which is "100% Pure Java," will work atop the older class. Meaning that there has to be a lot more abstract code in Java. Meaning you can be damn sure your application looks the same everywhere and there won't be any glitches due to "factionalied" implementations.
Of course, most of the development world is still coping with the idea that different platforms require different code (hence the laundry lists inside Makefiles). The Java paradigm won't let you do that. It says, "write that shit once and deal with the slow down, it shouldn't be a dealbreaker for cross platform code." It shouldn't be. But it is. Many development houses can't get over this. Hell, I mentioned to our IT guy that I was doing our mailserver in java and he thought I meant an applet, scoffing "Write once, run nowhere."
CIL is an attempt to get under the skin of this, but it's a flawed attempt. Jesus, all the development time and heartache going into the optimization of x-platform windowing "frameworks" and "toolkits" where there already is one seems headstrong. Actually, it seems idiotic, and it's why I seethe whenever I hear somebody drop.NET like it's a great new IDEA.
"But C sharp has improved garabage collection, language integration and runs anywhere." Yeah, that's Java for you. "But.NET allows you to compile ASP code." JSP. "Tighter integration with IIS allows you to better utilize ISAPI." Servlets. "Serialization and persistance." EJB.
Jesus, why isn't Sun mopping the floor with these idiots???
Re:One piddly point...that becomes a rant
by
AYEq
·
· Score: 1
independent of wheather or not CIL is the right way to do it, it is a new concept (probably not a new "concept" but rather the first implementation of the concept) Where java = { 1 language => n platforms], CIL = [ n languages => n platforms ] Now I really don't know if this is the reality but you do have to admit that it does pick "up where Java left off."
Re:One piddly point...that becomes a rant
by
mmacdona86
·
· Score: 1
The JVM is just as multi-language as the CLR. Both will run any language re-designed to run on top of them. CLR has a few more features than the JVM, but as other posts have pointed out, all languages running on the CLR end up looking like C#.
Re:One piddly point...that becomes a rant
by
Anonymous Coward
·
· Score: 0
most of the people complain that Java is slow, but it is the problem of the programmer, not JVM.
amazingly i saw an example where a decryption app was only 7% slower on Java than C.
oh, let's not get into threads.
mutexes, semaphors, none of that shit is in Java
programming threads in Java is a cinch, I would take a "slow" Java, than fast C/C++.
GUI? you need to know like 10 classes do build decent GUI. Want native look-and-feel? get SWT.
Serialization is a godsend when you can use it right.
stop complaining about Java and learn something...
Re:One piddly point...that becomes a rant
by
cgleba
·
· Score: 5, Insightful
For the same reason that DEC's Alpha is not mopping the procesor floor today.
Hell, DEC had 300Mhz *64-bit* Alphas out when P90s were "the bomb" and by the time Intel broke the 100Mhz barrier DEC was spitting out 500Mhz *64 bit* Alphas. Alphas were so friggn fast that they could emulate an x86 and still beat the true x86s.
Roughly 10 years later Intel decided to jump into the 64-bit world with the Itanium and the now defunct no-longer-developed Alpha line still beats the hell out of them. Yet DEC is gone and the Alpha has been officially scrapped.
Roughly 10 years after Sun, MS decides to get into the VM-language game. Currently they have nothing other then vaporware, some specs, alpha code and lots of hype yet Sun's been in the game for a long time. But yet people are buying books and training to be.NET developers like it's the best thing since sliced bread. Java versus.NET is like DEC versus Intel. DEC was in the game a lot earlier, was more mature at it and had perhaps even perfected the 64-bit game. ..in the end, though, Intel's Itanium wins because DEC was kicked out of the game by market share, propoganda, marketing, hype and poor business decisions.
Anyone who has been in the computer industry for any length of time KNOWS that the technologically superior or more mature product rarely wins. The person who screams the loudest about their product wins.
Let's hope the same doesn't happen with Java.
Re:One piddly point...that becomes a rant
by
Anonymous Coward
·
· Score: 0
Excuse me, when the hell did Sun Microsystems "leave off"? Version 1.4 is coming out...
They "left off" when they finalized the architecture the language and the platform. Adding new class libraries doesn't change that. It doesn't mean they were terribly shortsighted, we've simply learned a few things since then.
An implementation of the CIL requires a lot of work on the part of the window management driver authors, meaning there's plenty of room for tuning. An implementation of Swing requires very little
So? I, as a developer, don't give a fig how hard it is to implement the framework ONCE per platform. That is an O(1) cost, and sacrificing the performance of every piece of software ever to be made in the future is a bad tradeoff.
"But C sharp has improved garabage collection, language integration and runs anywhere." Yeah, that's Java for you. "But.NET allows you to compile ASP code." JSP. "Tighter integration with IIS allows you to better utilize ISAPI." Servlets. "Serialization and persistance." EJB.
Yes, yes. yes. Now show me how the Java platform solves all of those problems for C, C++, Python, Perl, VB, etc., etc.
Re:One piddly point...that becomes a rant
by
AYEq
·
· Score: 1
That's true. I wonder why nobody has tried to impliment more languages on top of the JVM. (Jython is the only that I can think of). The multi-language same runtime is the most exiting part of equation. (Python, Perl, Java are all multi platform)
Re:One piddly point...that becomes a rant
by
Sloppy
·
· Score: 1
The person who screams the loudest about their product wins.
I think his question was: Why isn't Sun screaming the loudest?;-)
-- As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
Re:One piddly point...that becomes a rant
by
ttfkam
·
· Score: 2
Jython is out for Python, the Rhino library is available for JavaScript, Apache Cocoon is recently implementing a Java-based Scheme interpreter.
I've heard of a Perl port from a while ago, but can't think of who did it. I think it was a research assignment and didn't go very far.
I know there is a REXX implementation out there too.
Moving on, if you want to count the "native" compilers, gcj from the GNU Compiler Collection has close integration with C++ to the point that they seem to mesh well. It's called CNI.
--
- I don't need to go outside, my CRT tan'll do me just fine.
Re:One piddly point...that becomes a rant
by
Anonymous Coward
·
· Score: 0
I cannot believe this gets modded to 5. Even though I'm posting as an AC and hence this comment will sink into the depths of obscurity, I have to respond to what was said.
" Currently they have nothing other then vaporware, some specs, alpha code and lots of hype "
Excuse me ?!!!.NET was announced 2 years ago, the.NET framework has been avaialable to developers all this time, people have been writing production code, Visual Studio.NET was been in a *very* stable, usable beta for most of last year, the final version of the framework and VS.NET have already been released and VS.NET is about to be formally launched in a weeks time.
And all you can say is 'vaporware' and 'alpha code' ! Wtf ?
I won't even comment on your statements about 'screaming the loudest' or Java's technical superiority (facts please?), but saying something this blatantly false and inflamatory renders the rest of your post almost meaningless.
You want the long and short reason Miguel is so hot on.NET? Market share for Ximian apps, period. The technology will let Ximian write apps that they can sell to both the Linux and Windows markets. Pretty transparnt, really.
-- .technomancer
Will history repeat itself? Remember Kaffe JVM?
by
Anonymous Coward
·
· Score: 0
Anyone ever wonder about what happened to Tim Wilkinson's/Transvirtual's Kaffe Java Virtual Machine? It held great promise in its day - open source and all that, but then it just fell off a cliff - basically it is stuck in a JDK 1.1 state and full of bugs. Why did developers lose interest in it? What is Miguel doing differently to motivate Mono developers?
Re:Will history repeat itself? Remember Kaffe JVM?
by
Anonymous Coward
·
· Score: 0
i heard microsoft paid them to stop development
Re:Will history repeat itself? Remember Kaffe JVM?
by
Anonymous Coward
·
· Score: 0
Interesting. That would explain a lot. They don't appear to be in that great shape, however - they're in the very competitive and low margin PDA market now. They must not have been pain very much by Microsoft.
Microsoft has and will enforce .Net patents
by
Anonymous Coward
·
· Score: 4, Informative
Craig: "But look: we're a business, okay? We're in the business of
licensing intellectual property. So if it turns out that in the
future that business says, "Okay, we should license the patents to
people who use that in order to be compensated for the development
of intellectual property," maybe we'll do that. You're always
welcome to come and ask us to license anything from sources to
patents. But I mean, we are a business. We're not --
...
Craig:
Well, at the end of the day, if you have a patent, you enforce the patent if it's valuable to you. And so I think that Microsoft and other people who have patents will ultimately decide to enforce those patents.
Brian:
Are there any patents that apply or that will apply to implementers of.Net or Hailstorm?
Craig:
I expect there certainly will be. I mean, the patent process takes a long time.
Even if Miguel & Co manage to squiggle past most hurdles that are thrown at their path there WILL be gates that render their rendition of.NET if not completely useless then at least peripheral. In the most idealistic case.MONO may provide a subset of the original control-freak's architecture, and even that 2-3 years afterwards when MS is already planning its obsoletion.
A recipe for a successful open environment for Linux? And if.MONO ever becomes even quasi-popular MS is guaranteed to sue it off this planet over patent violations and what.NOT.
As far as I can see the only chance for.MONO or its MS-imitating breathen is for the real industry heavyweights to get involved in FORCING GNU/GPL-compatible standards-compliance at every level.
But just sit down and think about what Miguel's saying. If his wide-eyed naivety is correct, then Microsoft is just FORCING a migration down their developers throats that will HELP them support non-MS platforms with unprecedented ease. They'd be voluntarily GIVING UP not only their OS monopoly but also their de-facto development tool stranglehold.
I'm not going to remove Gnome from my systems quite yet, but I can imagine a few independent Gnome developers preferring to look for new challenges before contributing towards Microsoft's next plan in Total Domination through.NET.
Thank god there are multiple options available for Linux so that even if a group of otherwise talented Gnome developers end up completely wasting a few years the Linux ecosystem itself won't be endengered. Such is evolution under free conditions!
--
Should invading one's peaceful neighbours be opposed, or rewarded with trade deals?
Specifically, in what way are the Java bytecodes and VM "a bit more paranoid about things like security"? I've looked at both the specs and I don't see how this argument can be supported, but I'd seriously like to learn.
I spoke in ignorance, based on a belief that.NET supporters were serious when they were talking about the ability to run C, etc., in CLR. From looking at Microsoft's security overview, it does appear that they have things locked down pretty tight for the CLR's managed code execution.
Unfortunately, there aren't enough details there, and I was not able to find a good link to more details that would cover things like arbitrary memory access within a specific assembly, etc. Given the frequency of pointer passing in C based API's, though, I can't believe that any C code running in CLR would have much intra-assembly security.
So, it looks as though the CLR, when running managed code, at least looks as though it is on a similar footing to Java's security specs. The proof will be to see how much code winds up running within the managed CLR and how much winds up going unmanaged.
Great article!
by
ttfkam
·
· Score: 4, Interesting
I liked the comparison of technologies, but it misses a main point. Or rather, I believe its primary audience misses a main point.
.NET is not perfect. The JVM is not perfect. But I strongly believe that they are a step in the right direction. For example, the current choice(?) on UNIX systems is to have C-compatible exports for libraries.
While.NET and the JVM may be limited, let's not loose track of the fact that extern "C" {} and its ilk are far more limited. Instead of limiting languages to objects without templates and continuations, the current scheme of exporting function symbols and structs is downright embarrasing.
What would be really nice is using.NET as a library/component interface and leave each language relatively intact. For example, implement your library/component in the language of choice, but export the functionality (what is currently "handled" by library symbols) in a language-neutral but far more feature-rich manner.
Doesn't "Managed C++" allow for advanced C++ features that simply are not exported for use outside the codeblock? C# has "unsafe" blocks for its own bit-twiddling.
We're on the right track here. Let's not throw the baby out with the bathwater!
--
- I don't need to go outside, my CRT tan'll do me just fine.
Sure, and Sun's your best friend? Hardly.
by
Anonymous Coward
·
· Score: 0
Re-read your comment about the evils of Microsoft and apply the same argument to Sun and Java. What is stopping Sun from charging huge fees for J2EE libraries? Nothing. Just because they are not presently doing it does not mean they will not in the future as their hardware revenue dwindles in light of the x86 chip's performance/price ratio. Remember - it was Sun that renegged on ISO and EMCA standardization - not Microsoft. Sun's "Java Community Process" is a complete sham and everybody knows it. Sun's vote is the only one that matters.
Re:Sure, and Sun's your best friend? Hardly.
by
Glock27
·
· Score: 5, Informative
Re-read your comment about the evils of Microsoft and apply the same argument to Sun and Java. What is stopping Sun from charging huge fees for J2EE libraries? Nothing. Just because they are not presently doing it does not mean they will not in the future as their hardware revenue dwindles in light of the x86 chip's performance/price ratio.
Sun does charge fees for J2EE. What made you think otherwise? What makes you think Microsoft couldn't charge huge fees for Windows XP server? (Oh yeah they do...)
Remember - it was Sun that renegged on ISO and EMCA standardization - not Microsoft.
Right, except it wasn't "not Microsoft" it was "because of Microsoft".
Sun has always stated it won't opposed clones (including open source clones) of Java, as long as they aren't called "Java". Microsoft's Java escapades were completely different - it licensed Java from Sun then proceeded to release "embrace and extend" enhancements.
Sun's "Java Community Process" is a complete sham and everybody knows it. Sun's vote is the only one that matters.
This ignorant statement simply shows that you have no clue about the JCP. Do a little research.
Why are you posting anonymously anyhow...?;-)
299,792,458 m/s...not just a good idea, its the law!
-- Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
Re:Sure, and Sun's your best friend? Hardly.
by
Anonymous Coward
·
· Score: 0
Hey! It's Glock27 - the Sun's brainless Java posterchild!
Got any words of "wisdom" for us today?
Where's Java's ECMA certification?
Is it stuck in your ass?
Re:Sure, and Sun's your best friend? Hardly.
by
Glock27
·
· Score: 2
Hey! It's Glock27 - the Sun's brainless Java posterchild!
Hey! It's another pathetic AC troll, making an ad-hominem attack! *yawn*
Try and add a little more substance to your argument...why is ECMA certification desirable for Java? Will I see some tangible improvement, somewhere? There is already a well-defined, published standard for the Java language.
I'm not holding my breath for a response...
299,792,458 m/s...not just a good idea, its the law!
-- Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
Re:Sure, and Sun's your best friend? Hardly.
by
Anonymous Coward
·
· Score: 0
Why are you posting anonymously anyhow...?
Because it's so hard to make a junk/. account...
Pot/Kettle is the Wrong Analogy
by
Anonymous Coward
·
· Score: 0
Sun never claimed that the JVM would be an optimal environment for bytecodes produced by other source languages. The projects that attempt to adapt other languages to produce JVM bytecode do so because it can be done--not because anyone sold the JVM for that purpose.
Microsoft is hyping the cross-source-language CLR when hawking.NET. In his email, de Icaza hypes this feature. The JavaLobby editorial simply debunks this false claim.
To summarize and to expose the strawman fallacy you try to sell us:
1. The lack of cross-source-language suitability is shortcoming for.NET and CLR because this feature is hyped as a selling point both by Microsoft and de Icaza.
2. The lack of cross-source-language suitability is not a shortcoming for the JVM because it is not a JVM selling point.
It is funny that you should bring-up "moral leg on which to stand," in light of your clumsy attempt at rhetorical deceit. If your mother was on a moral Thalidomide prescription while carrying you, that would explain your complete lack of moral legs. Perhaps you should check with a lawyer to see if you are eligible for payments from the class action lawsuits against Thalidomide manufacturers?
Re:Those who fail to read the article...
by
BCGlorfindel
·
· Score: 1
If you would read through Miguel's reply you would see that he doesn't trust that mono will be able to keep up with api changes. He says he believes the api's can all be recreated in mono, but that it is also possible that not all of them will be.
You are missing the bigger picture of what Miguel is using the CIL/C# concepts for. He very clearly states the intent is to use the MONO CIL to allow for his own development to be sped up. For anyone who's coded a medium to large scale project Miguel's remarks about 'implementing linked lists a few too many times' gets to the heart of what Mono is for. Regardless of what MS does with their API's, the Mono CIL libraries will allow for better, more reusable code to be developed.
Hmm...
by
Anonymous Coward
·
· Score: 0
I always did kind of think of Miguel as the Bill Gates of the open source world, its admirable that he is trying to play nice with the rest of the industry but this is obviously a way for MS to get a bunch of their patented technologies into the ximian codebase so they can kill the project at will. Has Miguel done any research into what patents MS has applied for that Mono is going to be using?
Re:Hmm...
by
Anonymous Coward
·
· Score: 0
What the fuck do you think? Do you think he simply goes in blindly, never learning for his mistakes?
Actually, also, Miguel would have been a Microsoft employee if it were not for a technicality in his immigration to the U.S.
hate fucking linux kiddies... spouting dogma... if its microsoft its bad... fucking gnu freedom is just as non-free as ms... linux doesnt make you eleet... actually check out the technology... read article... urge to kill... rising... must go now and drink before i shoot someone...
god i hate the fucking kiddies that have grabbed onto linux...
-- Dragging people kicking and screaming into reality since 1996.
Yeah, no doubt that C# is great for a WIndoze software developer. Hooks into the heart of WIndoze for improved speed, etc. Problem...those frickin libs and functions don't exist anywhere but on windoze using directx crap and win32.
Wine is having a fun time implementing all the published windoze apis in linux aren't they?
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
Productivity over politics
by
GCP
·
· Score: 5, Insightful
Miguel's experience with.Net seems to mirror my own. It's a very productive environment that's a blast to work in.
Have you ever gotten used to working in a Unix/Linux shell then had to jump over to Windows and do something on the command line in *DOS*? Know what that feels like, that helpless feeling of losing all your magical powers?
That's what it feels like to work in.Net on Windows, then having to do some work in any current GUI app dev system on Linux.
If RMS thinks he or his minions can design a better architecture than.Net, let him prove it, but don't suggest that we have to learn to live with less for political reasons.
-- "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
Re:Productivity over politics
by
miguel
·
· Score: 2
I love your example!
Beautiful, its going into my list of quotes;-)
Miguel
Re:Productivity over politics
by
21mhz
·
· Score: 1
Have you ever gotten used to working in a Unix/Linux shell then had to jump over to Windows and do something on the command line in *DOS*? Know what that feels like, that helpless feeling of losing all your magical powers?
Um... Isn't that because you do lose all your magical powers?
-- My exception safety is -fno-exceptions.
Not sure if i like it ... probably not
by
Anonymous Coward
·
· Score: 0
Agreed, C might not be the fastest way to develop and there might be better solutions. Eventually.NET would be fine. I just wonder how long it would take to exchange the GNOME base. This "from Version X on everything will run on.NET" sounds like - "we wan't to rewrite a lot of tested code" which might delay development for a very long time until GNOME is stable again.
There's also the physological factor which might be a problem..NET is from MS and a hell lot of people in the OSS just don't like this company for some reasons. So no matter how good the new framework might be, i believe this decission will be the reason for a lot of people to turn away from GNOME.
Oracle, IBM, HP, et al.....
by
bubbha
·
· Score: 1
...all these guys are backing Java because Microsoft has ALREADY SCREWED THEM. Your remark that Sun could do that too would be received with more acceptance (by me) if Sun were a CONVICTED LAW-BREAKING MONOPOLIST.
-- I want to be alone with the sandwich
Re:Oracle, IBM, HP, et al.....
by
Anonymous Coward
·
· Score: 0
Excuse me if I don't shed a tear for the likes of Oracle or IBM or HP. Oracle is a would-be monopolist in the database market. I'm laughing as they lose market share for their grossly overpriced database to Microsoft's SQL server and free alternatives - serves them right. The only difference is that Sun Micro _aspires_ to be as monopolistic as Microsoft. Microsoft is simply better at the game than are their competitors.
Re:Oracle, IBM, HP, et al.....
by
praedor
·
· Score: 2
Doesn't matter what they WANT. M$ *IS* a corrupt, illegal monopolist NOW. If the others WANT to be, so what, they aren't and likely wont be. It does matter that M$ IS and it is deadass wrong to help them continue or secure a new monopoly.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
Those who do not study history, will repeat it...
by
justin+sane
·
· Score: 2, Insightful
Miguel is navigating dangerous waters that have wrecked other ships befoe him but he thinks himself a better captain. I have news for him: they were better than he thinks. As I see it, all of Miguel's arguments are sound and lull one into actually wanting to believe lions will lie down with lambs. Who can fault peace, love, and understanding after all? However, the real problem is not his logic but an underlying naieve assumption: that Microsoft has changed and will allow.Net to be cross platform when deployment volume becomes significant. When.Net starts to gain significant market share, they will do what they always do, add patent-protected feature that kills the cross-platform nature of their framework. It is in fact it is a deviously clever strategy--worthy of a Borgia Prince coached by Machiavelli himself. Give hope and encouragement to a large component of the open source developers which are givng Microsoft heartburn and let them devote an ever larger slice of their creative bandwidth and energy both feuding internally and developing to adopt.Net. Encourage them to do it--even help them walk deep into it and tie all their code to it inextricably. Allow.Net to change their architecture, setting the hook deeper. Then after the distraction has divided the open source community long enough and defocused Gnome, Mono and ensnared other open source projects, drop in a patented-feature that kills its cross-platform nature. They did it with Kerberos, then Samba, and lately NetApp using CIFS. I have absolutely no doubt they have not had a change of heart of strategy and will do it to Mono/.Net. It is only a matter of time. Voila--Victory Microsoft style. Miguel and Mono will be roadkill.
Not-so-rapid application development
by
nadador
·
· Score: 5, Interesting
Miguel's argument can be boiled down to this: (1) writing big applications sucks because complexity grows geometrically with each line of code, and (2) integrating code written in different languages sucks because complexity grows geometrically with each line of code in either language. Basically, Miguel is fighting the same fight that every software engineer has faced since the beginning of time. Complexity grows much faster than anyone can handle, and as soon as you let heterogeneity into the equation, you're basically screwed.
The only problem that a CLR supposedly solves is the maintanence of the bindings. Instead of binding Gtk to perl and python and ada and C and C++, etc., you bind it in a library in the CLR. Except that to access that new CLR binding, you need to have perl and python and ada and C and C++ compilers that target the CLR, which is certainly a more glamorous job than maintaining bindings for every language under the sun, but is *WAY MORE* complex.
Basically, the CLR is middleware for the desktop. It does nothing to decrease the complexity of the system, it just shifts some of the complexity to another software engineer. Applications get easier to write, but new compilers need to be written and maintained.
When Microsoft's writing the compilers and you're shelling out the cash, you're only responsible for your piece of it - the application. Obviously this is good for you. But the free software community is responsible for all of it, from compilers to run times, to new bindings, to applications. *We* have to do it all. I wonder if Ximian will really benefit from dispatching software engineers to work on Mono when they could be working on the applications. Companies that buy stuff from Microsoft don't have to send software engineers to work on Mono, but free software projects will "lose" engineers because they'll have to work on Mono, not their respective projects.
The challege that software engineers face in the future is constructing systems that actually reduce the complexity of applications, rather than just shift the complexity elsewhere.
--
Outside of a dog, a book is a man's best friend. Inside a dog, its too dark to read.
Re:Not-so-rapid application development
by
steveha
·
· Score: 2
The only problem that a CLR supposedly solves is the maintanence of the bindings. Instead of binding Gtk to perl and python and ada and C and C++, etc., you bind it in a library in the CLR. Except that to access that new CLR binding, you need to have perl and python and ada and C and C++ compilers that target the CLR, which is certainly a more glamorous job than maintaining bindings for every language under the sun, but is *WAY MORE* complex.
Nice summary. The big win with a CLR is that you need to write Perl/CLR once, and Python/CLR once, and so on; then you write each class library and interface for Mono once and everything just works.
Compare with the current system: for each new interface you add, you need to write the Python bindings, the Perl bindings, etc. etc. So you need to write an M*N matrix of bindings, where M is the number of interfaces and N is the number of supported languages.
Assuming the CLR works as Miguel thinks it will, you go from M*N to M+N, a huge win, even if writing the CLR interfaces for each language is much harder than writing some bindings. And the larger M and N become, the bigger the win becomes.
steveha
-- lf(1): it's like ls(1) but sorts filenames by extension, tersely
Re:Not-so-rapid application development
by
ansible
·
· Score: 2
Warning: I haven't looked closely at the CLR or the Python "VM".
I don't see why it's going to much harder targeting the CLR than it is to target the existing VMs out there. For example, Python already compiles to byte-code, and runs on the equivalent of a VM. They've already re-targeted it to the Java VM, I don't see why targeting the CLR would be much more difficult.
Unless there are some seriously funky parts to the spec, it shouldn't be that bad for some languages like Python/Jython, Perl, Smalltalk, and such.
Re:Not-so-rapid application development
by
nadador
·
· Score: 2
I agree. In many cases, I imagine it will be relatively easy to do. And there will be cases that it will really suck. But even assuming its moronically easy on every platform, you still have to do it. And someone has to maintain it. And when Ximian tries to track the spec that Microsoft will change as soon as Ximian gets up to the current spec, someone will have to mod it. All the time that gets spent on keeping the CLR right could be spent on the applications that people are trying to build.
All I'm saying is that a CLR type deal adds a lot of complexity to the system. I really do hope its worth it in the end because it'll be good for everyone involved.
I'm just suggesting that maybe some of us in the free software community should put our heads together to come up with ways of getting these kinds of benefits *without* increasing the complexity of the system.
--
Outside of a dog, a book is a man's best friend. Inside a dog, its too dark to read.
Re:Not-so-rapid application development
by
Anonymous Coward
·
· Score: 0
The Java-implemented Python version (jython) was basically written from the ground up in Java. It's a reimplementation of Python and doesn't share any code. There's already a Python.NET, though. I'm not sure if that shares code with CPython or not (I would imagine so).
Re:Not-so-rapid application development
by
epukinsk
·
· Score: 2
It does nothing to decrease the complexity of the system, it just shifts some of the complexity to another software engineer.
This statement is true, but incomplete. Complexity doesn't just shift horizontally, it moves down. Instead of writing bindings for libraries X, Y, and Z in languages A, B, and C (3*3=9 projects) you just write one binding per language and all your libraries only have to be written once. (3*1+3*1=6 projects)
If you increase the complexity another notch and port your libraries to platforms L,M,N you all of the sudden have 3*3*3=27 projects (port each lib to each language, then port each of those to each platform). Whereas with the CLR you only have 3+3+3=9 (port VM to three platforms, bind three languages to CLR, write three apps for CLR)
To me, it seems it really is decreasing complexity.
-Erik
Re:Not-so-rapid application development
by
elflord
·
· Score: 2
And when Ximian tries to track the spec that Microsoft will change as soon as Ximian gets up to the current spec, someone will have to mod it.
I disagree with this. The goal of Mono isn't to act as some sort of "Microsoft emulator". This isn't WINE. They should for the most part work with the standard. However, some of Microsofts extensions stand a good chance of being included in the standard, and some are good enough to be worth using
anyway. Tracking Microsoft might be worthwhile to pre-empt changes in the standard, but I think the point of what Miguels doing is not to "follow Microsoft", but rather, to use a good technology to our advantage.
.NET has distinctions between managed and unmanaged code. Furthermore, managed code has distinctions between safe and unsafe code. Unmanaged and unsafe code (as I understand things) need much more liberal execution permissions than does safe, managed code. If you want much more in-depth information, you'll have to go to the documentation for the System.Security namespace and look at the api. There is a tutorial on it from MSDN magazine
here.
What was said about Russia's space program?
by
Anonymous Coward
·
· Score: 0
Something like,
We started copying America's ideas, and then
had problems getting them to work, and we
started playing catchup...
And then we started dropping those things we
were working on that in hindsight were original
and could have turned heads, while the higher
ups were so sure they could get those American
ideas to work, and we were even more behind...
And now Buran (the Russian shuttle copycat) is
turned into a restaurant...
Re:What was said about Russia's space program?
by
Burgundy+Advocate
·
· Score: 1
Idiot.
If you fail to remember, they were almost always ahead in the "space race". They had the first satellite. They put the first man in space. They have the most powerful, most reliable boosters ever developed. They had an amazingly successful run of space stations, cumulating in MIR, which outlived it's design life by years.
Take a step back and see what the US has done that has been impressive.
Yeah, the Apollo missions, Voyager, and the piece of shit compromise that eventually came out of the Shuttle program. Fucking wonderful.
They still have the best boosters, rocket engines, satellite tech, and knowledge of manned spaceflight.
Your comparison is flawed. If anything, the Lunix "Community" is the US, with the "Well, we've had a few successes so we're the best!" attitued... with no conception of the reality that they're actually far, far behind in almost every area.
The choice? Adapt or die as a viable development platform. Linux can't compete with 30-year-old APIs.
-- Dragging people kicking and screaming into reality since 1996.
You're probably not dressing the part...
by
merz
·
· Score: 3, Funny
You need a shirt like this to remind the ladies that they find hackers irrestable. Women constantly say to me, "You know I do dig Unix... wanna go out?"
What?
by
Anonymous Coward
·
· Score: 0
Is Miguel crazy, what about MS's current attempt at making OSS illegal (if you dont thing they are lobbying right now for that I have some land in southern florida for you to buy)
Programmer migration
by
kievit
·
· Score: 2, Insightful
From Miguel's e-mail:
Despite my love for Mono as a tool for writing GNOME applications and giving developers new tools to write code in less time, there is an extra advantage in having a free implementation of the.NET Framework for Unix:
Windows developers know how to write code for it.
Lets make it easy to bring developers from the Windows world into our platform.
...
It can also work the other way round. A programmer wants to work in the best or most convenient programming environment. You (Mono developer) must be damn sure that your implementation of the.NET Framework is at least as attractive as the Microsoft's; otherwise the linux community might loose programmers via this route. But Mono will have less features of.NET implemented, or at least much later than MS; that has bad consequences for the appreciation of the programming environment. I'm afraid this means, in terms of the recent BCG study, that you will keep the believers and the fun/adventure seekers, but you will loose the skill enhancers and the professionals.
The M$ and the OpenSource a fairy tale
by
yelsirgany
·
· Score: 2, Interesting
The Scorpion and the Fox
A Retelling of an Ancient Middle Eastern Tale of Two Enemy Countries
by Ms. Holly
Once long ago in the vast lands of the desert there was a great and vast river that had to be crossed for animals to seek food and water elsewhere in the desert. As it was on this day Fox had come to the point where it had to cross the river in its travels. As it stood contemplating the best way to cross the river safely Fox's life long enemy Scorpion came upon it and began to talk to Fox.
"Fox as I was walking along the river bank looking for food I noticed a particularily easy place to cross the river where the water is not so deep and not so swift. As it is I would like to cross over myself also but as I am so small it would be impossible. Would you be willing to take me across if I show you this place to cross the river?" asked Scorpion.
"Why should I take you across? How could I possibly trust you will not sting me on the way across as we have been life long enemies?" asked Fox.
"Why would I sting you? For if I stung you it would mean you would drown then both of us would die." replied Scorpion.
Fox thought this over for a bit while carefully watching Scorpion with a distrustful eye. Eventually Fox said, "Show me where the place is and I will take you across."
"First place me on your back and then I will show you. For otherwise you may jump in and leave me behind once I show you." replied Scorpion.
Fox thought this over for a bit while carefully watching Scorpion with a distrustful eye. Then walked over to Scorpion and allowed him to climb onto its back. Scorpion directed Fox to where the river was not so deep nor so swift such that it was a safer place to cross over. As Fox was swimming across the river and had reached the middle of the river Fox felt a sharp stinging sensation on its back and realized it had been stung by Scorpion. Fox cried out, "How could you sting me we shall both drown now?"
Scorpion replied, "It is better we should both perish than that my enemy should live."
-- Can't think of clever sig so had to settle for this! Damit it Jim I am a programm not a sig writer.
Re:The M$ and the OpenSource a fairy tale
by
Anonymous Coward
·
· Score: 0
IIRC, the ending was
Fox cried out, "How could you sting me we shall both drown now?"
Scorpion replied, "I can't help it, it's my nature."
Has Sun sued Apple over Cocoa written in Java? Has Sun sued any of the large number of companies that have implemented a native compiler for Java?
The lawsuit was specifically over JNI and RMI. Sun had no problems with strict supersets of the Java language (COM integration for example). However the native interface was replaced with RNI(?) and RMI was simply ommitted.
This means that if people coded to the spec for native integration with portable C, it wouldn't work from one target to the next. And in the case of RMI, MS simply didn't want a competitor to DCOM within DevStudio. RMI is a big deal. On a "pure" Java platform, RMI was how distributed computing was done. You take that away and suddenly you're right back with C and C++ and their myriad of options for distributed programming but lack of any consistent single API that you can use anywhere.
You'll note that MS whined that RMI was just too time consuming to be bothered with. Then after the judgement, an RMI implementation was produced in less than a month!
THIS is the reason Sun has not submitted Java to a standards body. If Java is messed with, Sun would have no legal recourse while suffering significant liabilities in keeping Java's APIs consistent. Add that to the fact that no standards body has sufficient clout to do more than look at Microsoft (or anyone else) sternly.
Do I trust Sun completely. Of course not. It is a large, public company with all of the benefits and drawbacks of a large, public company. But I trust them *enough* (with their current track record) to keep Java relatively clean and consistent -- especially in light of folks like IBM making compatible and very fast JVM implementations.
Sun isn't as closed off as people would suggest. The Java API for XML Parsing was heavily influenced from outside contributors -- especially the 1.1 version with TRAX.
Where are the cross-platform, standard C and C++ libraries for networking, threading, graphics, distributed programming, database access, XML parsing, object serialization, directory (LDAP, X.500, etc.) lookup, authorization, authentication, i18n and l10n? I'll tell you where: in the standards bodies who cannot enforce what people use nor can they do anything about people who ignore the spec.
Where would Java be if it were submitted to ISO five years ago? Right where C++ is today with Microsoft providing the only viable development platform. Woohoo.
--
- I don't need to go outside, my CRT tan'll do me just fine.
What i like....
by
SquierStrat
·
· Score: 2, Insightful
What i like about this, is that in the future it could well mean that i could use my windows application in linux, NOT via wine, simply because they are.NET based. This would save alot of hassle for me, because Windows crashes at a pathetically high rate, yet I have to use it!
Then,games...should games ever begin to use.NET (although, it wouldn't make much sense to most developer why they should) we'd get automatic cross-platform games...something most hard-core gamers would just love!
Bad thing: should Microsoft ever decide they don't like Mono...well the API will somehow become so that Mono can't reimplement it.
-- Derek Greene
Re:What i like....
by
Anonymous Coward
·
· Score: 0
Windows crashes at a pathetically high rate
You must have hands coming out of your ass, not to upgrade windows and claim this shit
Re:What i like....
by
Anonymous Coward
·
· Score: 0
Games use DirectX, or other proprietary interfaces (console libraries, etc). The likelihood of.NET ever competing in this arena is pretty much zero. Especially since Windows has the PC game market locked down, and programming for the Xbox is similar (modified DirectX).
Games don't HAVE to use directx. In fact, directx is a fairly klunky api. SDL is much more simple and is multi platform (win32/directx is one of its many targets.) Then their are the john carmack's who insist on doing it all themselves.:-)
Seriously, game developers could make serious progress in the multi-platform arena by switching to.NET and someone doing an SDL.NET extension.
One might say that this will slow the code down...but if yout hink about it...it's calling outside of the interpretted code for the really time consuming stuff. So, really there would be a very minor slow down. And if game developers ever adopted this, it'd prolly be at a time when CPUs have become fast enough, that we don't even need to begin to worry about the speed loss. (Truthfully we probably don't now, so long as the machine has a good 3d accelerator in it.)
-- Derek Greene
eifels subjectivity in the link
by
Anonymous Coward
·
· Score: 0
should the eifel essay be seen as commercial marketing written by ms or as a subjective thesis.. i always have my questions when someone defends a poduct that he has a commercial position with... (eifel in visual studio.. dotnet.eifel.com.... subjective?).. but i still have it admit, they kind off convinced me of the nice use of a cli.. but then again.. i think this can be archieved without the cli too.. maybe rewrite binaries to include the definition, description and list of functions/methods/objects, write a deamon that is able to runtimely 8) execute the libs on demand, so languages who want to use the specific non language lib only should create the object (whatever) throught the deamon (kindof like java relection, but language independantly 8) ).. oh whatever, ill try to write it, and evaluate my idee, when i'm sober again... damn dopehead
I feel better now...
by
Eric+Damron
·
· Score: 2, Insightful
Like a lot of people, when I first read that GNOME was going to embrace a Microsoft technology, I was outraged.
The more I read, however, the more it makes sense. If the bytecode is truly portable this could produce an explosion of industrial quality programs that will run on Linux. This could potentially remove one barrier that is slowing Linux's growth as a viable mainstream desktop operating system. One has got to wonder what Microsoft's strategy is to thwart this.
So, I think we should proceed and implement Mono while keeping one eye open for that giant tube of Microsoft Vaseline.
--
The race isn't always to the swift... but that's the way to bet!
The running of.NET on other platforms might actually be what M$ wants. They see the OS becomming a commodity. This way they direct the usage of an application wheather or not it runs on windows
Heard all this before....
by
GooberToo
·
· Score: 3, Interesting
First, let me say that I use Gnome for my desktop and have used GTK+ for sizable projects. I've even developed smaller GNOME applications and found the various API's horrible. I can't stress enough that I'm not trying to cook someone here for the sake of cooking. I think the only point he makes here is that GNOME is without a solid technology direction and has suffered dearly for it for a very long time. In fact, he as much as points this out. So, call me a troll if you like but I fail to see how Mono isn't anything other than a new tech headline. Please read below if you care to follow his assumptions while he explains pretty much nothing.
The CIL and the promise of language independence
This is what CORBA promised more or less. Please correct me if I'm wrong, but didn't Gnome start out using CORBA and decided that it needed different technologies later in the cycle?
Are there not already language bindings for C, C++, Python, Perl and I'm sure several others? So tell me again why we need an interpretted wanna-be CORBA in the mix?
This technology allows programming languages to be considered on the basis of how they will perform for a given task, and not based on the runtime libraries that you will depend. Any software engineer should read this article:
Generally speaking, good engineers already do this. The choice of yet another tool somehow doesn't make this happen, though, choice can be a good thing. Adding a slow runtime is not going to make the awesomely optimized FORTAN libs suddenly appear and become compatible with various CIL implementations. In fact, really all you can say is that when you use this technology [CIL implementations], the language of choice will no longer effect performance rather it will be forced back onto the developers to optimize for a given language; that is, language specific CIL tuning tricks. On the other hand, all of the languages which use this are going to have a negative performance impact so it sounds like programmers will have even more choice (seemingly pointless). Let's see, I can pick C or C++ for performance or I can pick C/C++/C# [CIL implementations] which performs an order of magnitude slower. Hmmm. Hard choice. Tell me again why I should care about CIL, Mono and C#??
GNOME had always tried to have a good support for multiple programming languages.
No it hasn't. Save only for the CORBA efforts, GNOME is very C biased. One of the common complaints coming from the C++ KDE camp. The more correct statement would be, "multiple programming languages have always tried to support GNOME." These efforts have inflicted various levels of pain on their bindings implementors.
They have incorporated many ideas from Java, and they have extended it to address new needs that developers had. They took where Java left off.
What does that mean? Sounds like they are re-implementing Java. Why? Why don't you just further improve Java. I'll make it known here, I've never beena Java fan but this just doesn't make sense to me. It only makes sense to Microsoft because they badly need to de-crown Java. Aside from Microsoft, I don't see how this helps anyone. By the way, what are these "new needs that developers had", that existing technologies can't address? Do we really have to move to a VM to address these needs?? Somehow this seems like we're taking several steps backward. Anyone?
Libraries have been built by disconnected groups (PNG, JPEG, Gtk+, Xml, Bonobo, CORBA spec apis, etc) and the end result is that a developer eventually has to learn more than he wanted to in the course of developing a large application.
Might this have more to do with the fact that GNOME has been wondering without direction for a very long time and no one in the GNOME camp has been willing to settle and agree on a single API nor the technology behind these APIs? Does it have to be the programmer's fault? Can't it be that the API's provided have just sucked? Can't it be that the API's have changed so fast and often that programmers wonder what they are doing trying to implement a large application via GNOME? Can't this mean that the implementations behind the API's have been less than wonderful and seemingly change daily? Does it have to be because programmers don't want to learn? Seems to me, if programmers didn't want to learn, they wouldn't be trying to develope large applications in a highly dynamic environment (from an API perspective). Wouldn't a static API help address this? Won't simply adding yet another API compound this issue even further?
There is a point in your life when you realize that you have written enough destructors, and have spent enough time tracking down a memory leak, and you have spend enough time tracking down memory corruption, and you have spent enough time using low-level insecure functions, and you have implemented way too many linked lists [1]
Doesn't this really reflect the choice of underpinning APIs and implementations behind the APIs as much as the language. It's funny, I've developed very large applications (C/C++) before and never had nearly as many issues as one does when trying to use the GNOME/GTK technologies. Might it be that you've been chasing the wrong end of the technology spectrum? Might it be that you should of been looking to replace GTK and the billion other obtuse libraries that are the foundation of GNOME with better, faster, stronger technologies? Might is be that the number of memory leaks and associated debugging issues have something to do with design skills and/or coding habits? In not in whole, in part? Some part? Maybe a little? If you have even a small problem which is compounded over and over in various suite of libs that is GNOME, might this actually result in a large problem manifesting it self as obtuse APIs which lend them self to these issues?
Evolution took us two years to develop and at its peak had 17 engineers working on the project. I want to be able to deliver four times as many free software applications with the same resources, and I believe that this is achievable with these new technologies.
Wow! This really is magic technology1 It's going to 4x the level of productivity over any other tool, toolkit, and language. Wow! Does it come with a bridge too? I can't wait.
Even C++ was invented at ATT.
Yes, you're right, however, it was written by people who wanted to look at solving real problems with a different approach while leveraging the large C programmer base. It was need driven. The same can not be said for C# and CIL. Both of these are being driven my Microsoft to side step Sun and Java. The motive is as important as anything else, especially when we are talking about Microsoft. If, according to you, it's pretty much Java with some icing, why not go the shortest and best path for everyone and help improve Java? Go ahead, make the icing for Java. Then, you'll have everything you're asking for with a whole lot less effort and TONS more people will be rewarded for your efforts.
Windows developers know how to write code for it.
Do they? Windows developers are going to be coding to GTK's and GNOME's interfaces? That's news to me. As far as I know, what this really means is that Windows C# programmers will be able to code C# on unix. Last I heard, Windows C and C++ programmers already know how to code C and C++ on unix. Please, tell me again where this magic bean grows from...
Lets make it easy to bring developers from the Windows world into our platform.
I must of fallen to sleep or something because I don't see how this has suddenly changed. Anyone?
Training materials, tutorials, documentation, tips and tricks are already available in large quantities, lets leverage this.
I seriously question this. Seems to me, that would be true as long as the programmer is really using C# and the underlying CIL implementation is the same. But, you're telling me that you're developing your own CIL and your own C# implementation so I doubt this will be true any more than it is today for any other given language and platform combination. More magic beans. Mmmm....I smell fresh brew magic coming my way...
Sorry folks, I've gone on long enough...I'm simply tired of typing. Obviously I don't see anything that he's stating other than there's a whole bunch of magic in this technology that no one has ever seen before. Furthermore, I think he helps make a wonderful argument that GNOME needs someone else at the helm. And if he's saying that he's not at the helm (I think he tried to say that too), then GNOME very badly needs someone which is not him.
Greg
What Java can not do
by
Anonymous Coward
·
· Score: 0
I use Java. I think its better for application
development (non-gui) than C or C++, but one
can not do tail-recursion in Java, the byte
codes are not there. Therefore, you can not
implement a functional language in Java with
the same performance as one can in C or C++.
I like Haskell, but can not generate good
Java byte code because of the above.
On the other hand, I surmise that such tail
recursion enabling byte code might make
security assertions harder to prove.
Last week I had an argument on the 'Linus does not scale' story with some dude whose entire contribution to suggestions on how to improve the management of the Linux kernel development process was to yell 'he can do whatever the fuck he wants, it's his kernel'.
Now that same argument, applied to de Icaza applies perfectly. Mono is not going to be "bound" in any way to GNOME, that much is fact. So the core product itself remains free. But more importantly, Miguel has to answer to a board of directors, whereas Linus can do (or not do) whatever he wants. They provide funding. They call the shots. They agreed to Ximian funding of Mono. How is anyone (especially RMS) entitled to an opinion here?
Regardless of RMS's embrace and extend FUD about everything being GNU (I bet very few people see it that way, but if it quacks like a duck...), he has absolutely no say about anything Miguel does, period. His argument of "Miguel better answer to the community" can be cleanly compiled to "explain this shit to me, boy".
Oh, and BTW, I'm surprised nobody has mentioned this small detail: RMS was turned down from the GNOME board of directors in November of last year. From the precedent of previous flame wars between RMS and various other people, who can say this is not simply his way of giving GNOME a bad time?
And finally, let's face it: Anything that has a relationship (remote as it may be) with Microsoft is immediately turned into an argument about "giving into the dark side" and "fight against the evil empire". That sure gives way to very constructive discussion. Most of the posts here have either tried to denounce Miguel as a traitor or simply nit-picked his reasons for doing what he's doing. Very nice.
And to Miguel: Dile a RMS que encamine sus pasos a la progenitora de sus dias y la salude de tu parte =)
Go ahead and mod me down now.
Re:Miguel's Comments--patents
by
ambrosius27
·
· Score: 2, Informative
The patent issue could be a problem, but there are a few things to lessen the worry:
1)Mono is being conservative and only trying to implement things that are already in existence. See this quotation: "We are trying to stay on the safe side regarding patents. That means that we implement things in a way that has been used in the past and we are not doing tremendously elaborate or efficient things in Mono yet. We are still very far from that. But just using existing technologies and techniques." from MSDN.
2) You say: "My worst fear is everything would go incredibly well with mono: diverse compilers, robust libraries, etc. and we would all start to build code around it, and then about 5 years down the line Microsoft whips out a patent and demands royalties for all the labor that we have done under the illusion that it would be free." It is unlikely that a surprise patent is going to bite you 5 years down the line. It is true that until a patent application is finally accepted or rejected, the patent claims are secret. See 35 U.S.C.A. sec. 122(a). However, this period of secrecy is fairly short. MS submitted the API specs to the ECMA at least a year ago. Those specs are what the Mono libraries are being built on. Those specs will likely be described as "described in a printed publication." If MS wants to patent any of the API's, it has only 1 year in which to do so. See 35 U.S.C.A. sec. 102(b). Otherwise, there is a statutory bar on patentability, and the specs are in the public domain. See id. If MS has applied for those patents by now, there is a maximum 3-year time span for those claims to be reviewed and accepted or rejected by the PTO. See 35 U.S.C.A. sec. 154(b)(1)(B). Generally, however, MS would have to prosecute its patent within 6 months of the filing date. See 35 U.S.C.A. sec. 133. Therefore, "secret" patents are likely to be in hiding for less than 3 years.
I hope this allays some of your fears. Cheers!
P.S. IANAL (but I hope to be one some day), and anyone construing what I have said here as legal advice to their specific situation is an idiot.
--
~~~~~~~~~
dissertus scribendo latine videri volo.
Re:fp
by
Anonymous Coward
·
· Score: 0
well done AND very informative - actually made me laugh quite a bit.
I'm quite sane, everyone around me are nuts
by
Anonymous Coward
·
· Score: 0
You're quite right. You, after all, have no experience of any kinds of misdeeds by Microsoft.
And since you are a fairly experienced IT professional, it follows that there are none.
Therefore, anyone critisizing Miguel de Icaza's idea must be a freakish Microsoft-hating teenage socialist.
Right.
The sin Miguel de Icaza is committing against the spirit of common sense is sometimes called overoptimism.
The approach he is taking, "if I don't hurt him, he won't have any reason to hurt me when I turn my back," can't reasonably be expected to work with a patient who has amply demonstrated his ability and willingness to do anything to continue dominating the people around him.
He's also forgetting a fairly important issue: he is, in fact, on one hand, hurting Microsoft.
Of course he's also helping our patient, Microsoft, either unintentionally or intentionally, by helping The Register sow discord.
The use of the phrase "we need to be able to use the right tool in the right situation" here is somewhat misguided.
There is an simple explanation: the phrase was originally coined at construction sites where the construction workers really needed to use the right tool for the right job. Right now.
However, the kind of IT work we perform at this day and hour is, by its nature, very different from construction work.
We don't just do the thing, right now. We have to care about the mechanics of the information business. The first copy costs, the rest don't.
From this, it's quite easy to see the flaw in the "right tool" argument.
The right tool for the job might today be Java.
However, the cost of learning to use Java is somewhat more than the cost of learning to use a hammer. But what the heck, we need to use _some_ tool and Java might be the best tool to learn since it's so widely applicable.
Tomorrow the right tool might be C# and.NET.
Let's say for the argument's sake that we'll switch from Java to C# and.NET, and pay all the associated retraining and rebuilding costs. After all, C# is marginally easier to use than Java and there's a free.NET implementation.
The day after tomorrow we open the paper and lo behold! Microsoft has announced a new version of C# and.NET which they hold a patent, or some kind of similar IPR on.
Damnit, we say. But we used the right tool for the right job, what could be wrong with that?
Our environment changes so fast that we can't possibly keep track of everything.
My solution is to pick the people I trust and let them worry about the details.
I've only met Linus once, but I trust him. In (much) lesser degree I trust Sun. And who wouldn't trust Apache?
Who do YOU trust?
:) MG
Re:I'm quite sane, everyone around me are nuts
by
ChaoticCoyote
·
· Score: 2
Microsoft has harmed me, on a very personal level, by severely damaging a piece of intellectual property I placed in thier care. I wrote a book for them that they butchered in the name of trying to control Java.
So I have no love for Microsoft, and don't trust them further than I can kick their legal department.
Who do I trust? you ask. It's hard to say, really; relatively speaking, I "trust" Linus more than Miguel, and I trust both of them more than I do Mr. Gates. My level of trust has something to do with intent: Linus never intended to change the world; even now, he's more interested in making Linux "work" than he is in "beating" Microsoft -- and that's an attitude I can trust. Miguel, on the other hand -- well, I can't put my finger on it, but his attitude just "feels" wrong. Maybe I'm splitting non-existent hairs... so I try to give Miguel the benefit of the doubt and take him at his word.
As for Mr. Gates... let's just say that I've shaken his hand, and twelve years later, it still feels a bit dirty.
You're missing the point
by
Anonymous Coward
·
· Score: 0
We should have left the current OS-oriented paradigm for end users years ago. We would have, too, except Microsoft brought the full power of their monopoly to bear to keep us chained to the OS-oriented paradigm.
Microsoft will not voluntarily release their grip until they devise a way into another money-for-nothing catbird seat. This is what they have been trying to do by buying-up consumers (MSN and XBox) and repositioning toward subscription-based computing via.NET.
Like I said, we should have had this years ago. But so long as evolution in this direction would dry-up Microsoft's cash cow, they would not let this happen.
Now they are making a grab for domination of this market.
Microsoft cannot countenance meaningful competition because their products are technically inferior.
If you look past their deep pockets and market share, all you see is a sub-par software company unfettered by ethics. They know this. That is why they take advantage of their lack of ethics to cover for their lack of technical competence.
...but if Miguel is really interested in fast development of Linux apps, looking to Apple would seem a better bet than Microsoft. Put resources in to OpenStep...any one who has used Apple's Cocoa framework (OSX) has seen just how powerful this is, and how fast apps can be created (that look fantastic and have incredible functionality for little code) in Java or Objective-C.
Yet another language isn't going to help Linux here.
waste of time
by
Anonymous Coward
·
· Score: 0
Couple of points:
1.] OO programming is a waste of time. You spend all your time learning OO then spend all your time learning C++, then you have to actually program in C++ (haha). Huge waste of my time. Especially fitting EVERY problem into an OBJECT paradigm.
2.] The world is not made up of objects, ask any respectable mathematician or physicist.
3.] Businesses and individuals will pay money for the dumbest things, partly due to corruptive influences and partly due to stupidity. If Darwins ideas are correct EVENTUALLY proprietary software will become extinct... to include Java, C#, app servers, etc.
4.] Programmers that build the best code rule should rule but often don't.
5.] If you need a GC to manage your memory for you, then you should pick a different profession.
6.] You want to build portable applications then use gcc which has been ported to virtually every hardware platform in the known universe.
7.] why is it that when java or C# programmers say they can build programs that are "as fast as" natively compiled C programs? Do they honestly expect us to believe that?
8.] Why do we want to solve problems faster? Perhaps more "thought" should be given to solving the problem instead of calculating the actual act of the solving in quantifiable time.
9.] If a java or C# class is broken and my application uses some feature of it how do I fix it?
10.] Why should an email program be hundreds of thousands of lines of code?
11.] Why do we develop multiple versions of the same kind of program? IIRC, BitchX, XChat,... If it has already been done why do it again?
12.] If I were the CEO of Intel I'd start pushing my assembler and c compiler, with the advent of programs that run ANYWHERE why do I need to buy an Intel CPU?
13.] If I were the CEO of Intel I'd Intelize Linux as much as possible, as soon as possible. For example the Intel Linux runs "rings" around the competition...Make it open source, etc. That will sell Intel/Linux boxes.
Miguel says: So when you copy your binary from Windows that was compiled with the Visual Studio.NET and run it on your Unix platform, it will just integrate nicely with your GNOME desktop.
Hmmmm, I wonder what the KDE people would have to say about that. Is there any talk on the KDE mailing lists about.NET CLI integration with KDE?
Never mind KDE, what would the Microsoft people have to say about that?
Re:Those who do not study history, will repeat it.
by
John+Kelvie
·
· Score: 1
I haven't heard anything from Miguel addressing this subject, but I am sure he must be aware of this.
There is no one out there(at least on this site) that does not seriously believe that Microsoft will try to embrace and extend projects such as Mono out of existence if they start to challenge their hegemony in this domain. Does this necessarily mean they will be successful? They have submitted it to the ECMA after all, and if they are holding bits back, well,then that's going to be a problem for both Mono and.NET.
I imagine what Miguel is thinking is that here is an opportunity to give to the open source community a cross-platform, cross-language tool. Obviously, this is a pretty bold goal, and it may not succeed. But in my mind it is a fantastic one, and I applaud him for striving for it. Is it the best way to go about? Would they be better off getting on the Java bandwagon(which has it's own licensing problems) or Perl(which has questionable momentum) or something else alltogether? I don't know the answer to this for certain, but from where I am sitting he hasn't made a bad one because:
1) Most of the hard design and specification work has already been done for him by Microsoft(and don't think Microsoft is thrilled about this...I'm sure it pisses the hell out of them but at the same time they saw it as necessary to compete with Java).
2) You know a lot of people are going to get behind.NET, if only because it is from Microsoft. Some would use it even if it was just a warm pile of doo-doo....
3)....which it is not, as C# was designed by Anders Hejlsberg, one of the better minds of current software development, as well as I'm sure of a bevy of other not-exactly-morons at microsoft. Sure there copying Java, but from what I've read, they've made up some of the annoying things about it already(such as being able to transparently access primitives and their object wrappers).
All good mitigating factors in my mind. Still, it's far from a sure thing. But neither are most really cool innovative things...
John
This... does not compute
by
alext
·
· Score: 2, Insightful
Lots of insightful comments, but no one's actually picked out the yawning chasm of a non sequitur in the Mono programme:
If you like some of the Dotnet features, you have to clone the Dotnet Framework
I might like my mother, but I'm not about to clone her so I'll someone to marry in a few years - I know that her virtues can be found in other forms.
For example, we could develop a new CIL that was based on Scheme, but which could support programs originally written in Java syntax. This might be a better language superset - certainly many early LISP developers intended it to be an intermediate language, so the parens were always optional in essence.
Consequently, the only possible justification for cloning the Dotnet Framework is that MS tools will facilitate development of Mono apps, and that (equivalently) Dotnet apps will port to Mono. And on this point, it seems the crowd has spoken with one voice - it just ain't gonna happen.
Re:This... does not compute
by
brsett
·
· Score: 1
If you like some of the Dotnet features, you have to clone the Dotnet Framework
I might like my mother, but I'm not about to clone her so I'll someone to marry in a few years - I know that her virtues can be found in other forms.
There is a quote somewhere (I can't remember) where the guys at Eiffel said they tried for ages to get Eiffel to compile to the JVM but it couldn't be done, while it was easy for dotnet.
You're wrong. Eiffel can be compiled to JVM and has been done (although they seem to have pulled the project in process of getting ass raped by BG and the.NET team).
Anyhow, you cannot use Eiffel in.NET. You can use a raped Eiffel# which is not the same language.
You're a stupid motherfucker.
Never Heard of Gates or Jobs?
by
hotsauce
·
· Score: 1
Gates even got arrested for driving his Porche too fast. And Jobs apparently had to beat the ladies off with a stick.
Despite what the parent poster says, yes, J2EE is currently free for any use (commercial or otherwise) until Sun changes its mind.
Hmmm, I thought Sun charged a J2EE license fee for those ISVs who incorporate it in their offerings (like IBM and BEA). There never has been a direct cost for end users that I know of. (It also may be possible to clean-room the APIs and not call it J2EE, I'm not sure.)
All right, I did some checking and here's the result. I doubt Sun has dropped these fees since, please cite a reference if you think so.
299,792,458 m/s...not just a good idea, its the law!
-- Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
Re:licensing fees
by
Anonymous Coward
·
· Score: 0
You can freely use J2EE products no matter what Sun says.
Re:licensing fees
by
Anonymous Coward
·
· Score: 0
Both BEA and IBM refuse to pay the J2EE licensing fees since they believe they helped develop those APIs.
Re:licensing fees
by
Anonymous Coward
·
· Score: 0
The licence fees only come into play if you go through Sun's certificaiton process and use the J2EE logo and trademark.
Sun doesn't/can't charge you for developing a "J2EE-compatible" app server. As pointed out, that's how the top two app servers are marketed (WebLogic and IBM).
What would be the point of that?
by
Nijika
·
· Score: 2
And another thing, if you are so tired of RMS why don't you start your on project to replace the GNU stuff.
I never said the work RMS was doing is bad, I said he's firey and has a tendancy to kneejerk. Demanding a response before investigating Miguel's comments is pompus.
Mods: Please moderate my comments to is not one with the hive mind (-1) from now on instead of veiling them in stuff like "redundant", thanks.
No, I don't think so. He's claiming that it will benefit the existing GNOME and Linux community whether or not it succeeds in providing direct compatibility with apps running under Windows[.NET]. IBM had no such community to derive any benefit for in the same way - they were trying to build on MSFT's Win 3.1 community, who MSFT exclusively kept when they changed strategy.
That sounds a lot like IBM's OS/2 strategy: Windows 3.1 apps work great on OS/2, so developers will want to try out new OS/2 specific features. NOT.
Read the article. Mono is not a "Windows compatibility" tool. Your analogy is neither analogous nor relevant.
what is it with this stack based shit?
by
QuantumG
·
· Score: 2
I'm sorry, but it needs to be said, what is the story with these stack based virtual machines? Isn't a stack based virtual machine a dipology of good sense? I mean really, who actually sat down and thought "yes, you know, it's a good idea to binary translate from a language that is significantly different (stack based) from the target language (register based), and, to do it at run time". What's the sense here? Exactly, what is it? As I sit through my 20 minute install of random piece of java software I have to wonder, couldn't it be compiling those bytecodes to something native right now? Like, even if it still did the groovy runtime optimisations, it could save itself a whole shitload of trouble it was to precompile it. As for the whole signed/unsigned duality, yes, I hit that in a major way as I tried to write my JVM backend for GCC. Try compiling any normal C program without unsigned types, go on. Then there's the lack of unstructured memory, object store, etc, etc. I'd like to see a C compiler for.NET that doesn't suck ass -- I hereby claim it cant be done. When you embrace.NET (or for that matter Java) you are killing native code compilation and, more importantly, you are killing C. Some people might like that but I happen to love the C language (well, not the C99 extensions, but hey).
-- How we know is more important than what we know.
Re:what is it with this stack based shit?
by
Anonymous Coward
·
· Score: 0
The IL is what VC compiles C code into before object code anyway. There is no runtime associated with C code.
.Net CLR is not a VM.
Re:what is it with this stack based shit?
by
SurfsUp
·
· Score: 2
I'm sorry, but it needs to be said, what is the story with these stack based virtual machines? Isn't a stack based virtual machine a dipology of good sense? I mean really, who actually sat down and thought "yes, you know, it's a good idea to binary translate from a language that is significantly different (stack based) from the target language (register based), and, to do it at run time". What's the sense here? Exactly, what is it?
What if your native machine doesn't have the same number of registers as your virtual register machine, or the registers don't have the same properties?? (hint: translate back to stack, map onto new native registers).
Mapping a stack efficiently into registers is a non-problem for direct pcode interpetation, and native code translation is not particularly difficult, slow or inefficient.
Please don't use sun's crappy jvm design or bloated implemenation as a reason why this approach has to suck.
-- Life's a bitch but somebody's gotta do it.
Re:what is it with this stack based shit?
by
joto
·
· Score: 2
Well, it does make a lot of sense to use an intermideate language, and compile this at run-time (or load-time). First of all, this allows you to put much more semantic information into the program, which can be used by the execution unit or the loader. Examples of such information can be simple interfaces (components), specifications (components), correctness proofs (read about proof-carrying code by doing a google search), safeness (java has a security model, you know), debugging information, etc...
Second, it allows you to have platform independent code. This is clearly useful in a lot of cases. And while you can do that with an interpreter, compiling to a binary format at least allows some optimisations to be carried out beforehand.
Third, it can even lead to reduced load-time, as an AST (such as in Oberon) is much smaller than compiled native code, and since disk-access is slow and modern processors fast, you can get the native code into memory faster than you can with just loading the native code itself. You can also avoid to check all references to external libraries (or classes, in the case of java) untill they are actually used, which can lead to huge performance benefits for large programs where most code will never run in typical use (although most java implementations doesn't do that, aiming for security instead of speed).
While you might not like Java, the idea of using an intermideate language is still a useful idea. And even if it is not useful for you, it's still useful for a hell of a lot of other developers.
De Icaza Responce is disingenuous
by
Anonymous Coward
·
· Score: 0
The CIL has one feature not found in Java though: it is
byte code representation that is powerful enough to be used as a
target for many languages: from C++, C, Fortran and Eiffel to Lisp
and Haskell including things like Java, C#, JavaScript and Visual
Basic in the mix.
>
Pardon me? Are we in a time warp? CIL is just another incarnation of P-code, and one under the control of a company with massive contempt for allowing competition. You can do the same thing with Java, and SUN doesn't currently have the clout to play the same sorts of games that Microsft can and has.
The GNAT developers have been able to compile Ada into Java byte code; I see no obstacl to doing the same thing with simpler languages.
Woo.
by
Anonymous Coward
·
· Score: 0
Nice clarification.
But you forgot to pacify RMS, so I'll do that.:)
"We're taking the best idea MS has had in awhile, and doing it *better*."
Miguel's best point...
by
wmshub
·
· Score: 3, Interesting
One point Miguel made really made me sit up and take notice. He pointed out that all of Gnu started out as Richard Stallman's attempt to make a free copy of a proprietary system, and Mono is just another attempt to do that same. I'd never thought of it that way, but he's right; it is very hard to remember in this day and age that 20 years ago, AT&T and company were really a lot like Microsoft as far as their treatment of end users, so why was it good for Stallman to propogate the then-evil-and-proprietary Unix interface and bad for De Icaza to propogate the.NET interface?
Re:Miguel's best point...
by
Chris+Johnson
·
· Score: 2
GNU was about replacing and existing independently of UNIX, where Miguel seems much more interested in being joined-at-the-hip with Microsoft and setting up a situation of very _intimate_ continual interaction. it's NOT at all the same thing as going 'let's do everything.NET does, only make an independent version just for us!'. If it was, I would be a LOT more sympathetic.
Miguel WANTS.NET to win and control computing.
If this was 20 years ago, Miguel would be trying to make AT&T UNIX win, and turning people away from the BSD fork... though oddly enough Linux is more SysVish, I'm told...
As I remember it met the standard, however it allowed the programmer to use Windows only features. So if the programmer used the Window's only features the program became non-compliant. MS-Java would still run other java compliant programs, and if you followed the java standard, what you wrote could be run on any other JVM.
-- I/O, I/O, its off to disk I go, with a read and a write, and a bit and a byte, I/O, I/O, I/O, I/O
As I remember it met the standard, however it allowed the programmer to use Windows only features
The real problem was that the Windows only features were implemented in the java "namespace". This could potentially lead less knowledgeable (or simply uncaring) developers to use these features on non-Windows systems and then complain that "Java on Solaris is broken".
Everything would have been kosher had MS implemented these same features in any other namespace.
Re:Yes I remember
by
Anonymous Coward
·
· Score: 0
As I remember it met the standard, however it allowed the programmer to use Windows only features. So if the programmer used the Window's only features the program became non-compliant.
I will do a simple substitution below:
As I remember it met the standard, however it allowed the programmer to use GCC only features. So if the programmer used the GCC only features the program became non-compliant.
The above is well documented. Unfortunately there isn't a pack of zealots screaming and kicking about GCC's subversion of the ANSI C standard.
Bash does the same thing to/bin/sh. People write 'run anywhere' shell scripts, even specifying/bin/sh. Makes no difference in many environments where/bin/bash silently has replaced/bin/sh
same as it ever was.
I forgot something at the end
by
miguel
·
· Score: 5, Funny
I forgot to add this to my posting:
DEVELOPERS DEVELOPERS DEVELOPERS!
(Slashdot forced me to put more text than the three words, lame)
Software Engineering Implications of the CLI
by
hackus
·
· Score: 2, Insightful
I am not exactly, totally enthusiastic about this idea of being able to use ANY language for a given programming project or combination thereof.
I have these reasons, personally, as a matter of observation in the software engineering of large complicated systems.
But I would like to make some observations:
1) The US Military in the early 80's and 90's had enourmous problems with private sector bids and implementation, of software in defense systems.
Namely, every vendor delivered a portion of the system in a different language. Some languages were specifically invented to deliver the final product.
These systems were large and complex, and non trivial engineering problems developed between vendors who needed to integrate thier combined efforts to deliver the product.
2) As systems were delivered the cost too maintain them was very high due to the fact there was no common reference for the software implementation.
What I mean by this is, if you have a flight control system, or launch control system, and it has a bug or engineering issue. It is very difficult to see exactly what the problem is if it incorporates or was delivered with 8 different computer grammars.
3) These systems had artificially short life spans due to the fact they could not be easily upgraded. That is too say, for example, the above flight control system coulnd't be upgraded because the target language(s) could not be reimplemented on new hardware.
My point about MONO and CLI?
Which is:
1) If we accept the historical data on building complicated pieces of software, we can reduce the costs of a implementation if it is reduced to one language or computer grammar to build its entire scope.
The military's solution to this was to produce key critical compenents of a defense system project using one reference specification. The computer grammar they picked was called ADA.
I question if the CLI is actually a good idea in a concept that allows or permits multiple language platforms to cooperate, if the goal is to produce software that is easy to use, is of low defects and is cost effective.
Historically the military with budgets far beyond anything commercially accesible couldn't do it and produce quality defense systems.
2) If the CLI provides a capability to produce a GNOME vision of support for multiple language platforms, given historic research in the software engineering areas, CLI suggests that anything built with a.Net architecture with a CLI as envisioned by Microsoft should produce software with unessacarily high engineering requirements than a single language platform.
3) Considering the fact that such a system would produce diverse computer grammars in any authors favorite language, for contributing authors, a future.Net MONO vision for a Linux app would quite possible require COBOL, C, Java, PERL, FORTRAN etc programmers to cooperate in building a new desktop app or feature.
If we accept that historic software engineering suggests multiple computer grammars result in systems that:
1) Require a very high engineering cost.
2) Quality of the software suffers because fewer individuals can access the entire code base to make corrections.
Personally, in IMHO organizational scalability and human productivity issues in building this sort of software are problems with N different grammars being used to build a single piece of software.
Therefore, I believe CLI is really not a positive addition to an Open Source Project.
-hack
-- Got Geometrodynamics? Awe, too hard to figure out? Too bad.
Why I like mono
by
Anonymous Coward
·
· Score: 0
My reason is pretty simple, even if the compatibility is only one way, i.e. compiled on mono works on Windows but not the reverse.
Then I (and perhaps you) are ahead of the game.
I can now work on stuff using a language that simplifies a lot of things (it's only convenience, but boy is convenience fun). And I can share it with my windows friends.
If they want to work on my project, they'll install mono on windows and compile stuff that will work on Linux. I win. I get more bug fixes and they don't have to dual-boot in Linux.
The quality code that Open Source provides gets more coverage has more people start using our developement tools...
-- "It takes many nails to build a crib, but one screw to fill it."
Re:will somebody please slap the jittery mexiacn?
by
Anonymous Coward
·
· Score: 0
look -
i do a little more than "install linux", k?
now.. as for Miguel's "influence" and "brain" prowess...
his influence has been terrible. almost every idea of his gets large amounts of criticism and not the good kind either. his influence is DIVISIVE and not UNITIVE. its like... what is he trying to acomplish besides stroking his own ego? (yes yes, all the big guys have nasty egos, i know)
he's a very smart man, i'll give him that, and evolution is quite a nifty piece of software. But, i dont think that his design for the Gnome system is all that good. as a matter of fact, its a bitch to code for, overly complex and bloated. yes, bloated.
now, he's dealing with msft, who has been known to screw anyone who gets into bed with them. yay. please, come corrupt linux... go miguel...
Just in case anyone missed why RMS was so pissed
by
QuantumG
·
· Score: 3, Interesting
-- How we know is more important than what we know.
Re:will somebody please slap the jittery mexiacn?
by
Anonymous Coward
·
· Score: 0
look-
give reasons, instead of rants, and people might consider your statements
Will MS screw this?
by
IamTheRealMike
·
· Score: 4, Insightful
Bet on it. It doesn't have to be through patents, or embrace-and-extend, or any of the techniques they've used in the past. It might be, but for all we know they could just come up with a new way of fiddling things.
Look - what is Microsoft? It is a big company, one which is in a serious crisis right now - it's main revenue streams are drying up in the form of slow Office/Windows XP sales (well, slow compared to what they need to be). Hence Hailstorm, which is a big part of.NET
So - consider that Linux is the first real competition MS has had on the desktop/server market for years (forget apple, they have survived by selling to a niche, mainly artists, not business/home). Now consider that they are desperate for cash, lots of it.
So, considering all that, how likely is it that MS will invest millions into a new platform for Windows, and then allow it's primary competitor to make it about a zillion times easier to port code from Win32 to Linux? Not very is the answer. Remember this - Microsoft HATE Linux: their corporate leaders see open source as "wrong" etc, and of course Linux is already good as a server and making headway on the desktop, so how do they respond to this threat?
Seems obvious - they need.NET, but what they don't need is to be giving their competitors a leg up by developing an expensive technology. They'll try and keep.NET Win32 only, and they won't have to try hard. Yes, yes, we all know about the ECMA submissions, but lets face it: There are standards, and there are standards. C#, CLI etc. will be de-facto standards soon, but that doesn't make them anymore acceptable, regardless of whether they've been rubber-stamped by ECMA or not.
Having said all that, you've got to give Miguel respect: he knows good technology when he sees it and isn't afraid of politics. I love some of Microsofts software, I just don't love the company. Problem is, in cases like.NET they are inextricably linked.
.NET is great - but I wouldn't touch it with a barge pole. That's like walking right into the lions den because the lion is guarding a great new toy that you want, and saying the lions reformed and won't eat you.
Having said that, can't the open source movement do any better? I mean.NET is an excellent implementation of technologies we're familiar with and have used for years, but surely we can do better. I think we can, I think it's called Mozilla, and I think it's underrated as a development platform. But that's just IMHO, please don't let that distract you from my main argument here.
yeah. anyway, rant over. it's much longer than i thought it would be anyway.
Yep, if it's at all realiable and viable to the M$ machine, they'll just take it over or buy it out - then gut it for what they need. If it becomes a threat they'll just take it over or buy it out - and shove it in a closets somewhere to be forgotten. Mr de Icaza is dancing with the devil and when you do that you dance to the "devil's" tune - always. Frankly, If this is at all successful we'll probably see a flurry of praise and then the 1st signals of the Ximian's demise. I also find is interesting that they switched licenses - from GPL to X11, that is after most of the coding was done. Hmmmmmmm, all that free open source labor - now its not so open. De Icaza wants to think he's a "player" now - M$ and WallStreet will simply chew him up and spit him out.
Just MHO, Crusher-1
Re:Will MS screw this?
by
Anonymous Coward
·
· Score: 0
Really, taking Office from 90% marketshare to 100% marketshare doesn't solve their revenue problem.
What solves their problem is a plaformed designed to solve the problems that Java was originally designed to sovle -- run interactive set-top media consumption terminals.
Yep, which might explain the AOL/TimeWarner/Netscape manuevers.
What cracks me up is when one looks at Java and then compares it to C# one has to wonder - M$ needs java, so they invent there own form of java so as to avoid Sun. But, if one can learn to write in C# in a minimal amount of time due to the similarities of Java, then one can learn to right Java apps written in C# - and around and around we go.
.Net has proven not to be so much vaporware, so far, but one doesn't see alot of people climbing onto the.Net bandwagon (that is on the corporate side). Those that tend to write apps in java for a living and prefer will learn C# easily. But if the market turns in favor of the competition then changing to Java from C# is just as easy. I just don't see why Mono is turning into.Net? ASP's may not be the big hit that many say it they will be. This is why M$ is still taking a gamble. They have bet the farm on Application Service Provisions and I'm not all that sure that Joe Average will leap to the subscription market. So, banking on.Net is a fairly big IF IMHO. Perhaps your right and M$ is trying to hedge their bet - but I wouldn't trust them for a momemt. I can still see them goobling up Ximian in a fairly easy to swallow gulp if they are so inclined. I guess we'll see!
OK, so the fantastical claim is that one could run.NET doze binaries via Mono (balderdash). Why is Mono in this regard going to be ANY different than wine? Windoze APIs are published so software developers can write windoze apps. C# is "published" - the APIs are there so anyone can use them. Big frickin' deal. Even with the published windoze APIs, with wine you can only run a fraction of a percent of windoze apps. The problem IS the intimate tie-in of API to windoze proper. C# APIs are no different (if they are, WHY?). They have their fingers tied right into the OS too.
All it seems that aspect of Mono is about is duplicating wine in a.NET framework instead of the classic win32 framework (which ties into.NET and C# since they ARE the windoze API that you are playing with when writing doze code, yes?
So the fantastical claim is that Mono will do better than wine at implementing doze api/functions in linux. That's what wine tries to do and they've been at it for years! It's nice, and all, but there's a buttload of windoze apps that just don't work in wine. By the time they do (IF they do) there will be new apps out there that people want to use that WONT work. Why wouldn't Mono experience the exact same problem?
.NET is designed with WINDOZE in mind. It is the target platform of.NET. To Gates, the internet and computers are and/or should be Windoze PCs or Windoze handhelds, etc. Everything else is invisable to Gates or is something to be extinguished.
Unless someone can explain why JUST because C# APIs may be published that means jackdiddle (vis a vis win32 apis being published and the success of wine) for running windoze.NET crap on linux? Even if you refer to VMs, the VM is designed by and for Windoze and M$, NOT competitors (or potential competitors).
I think that if Miguel and Ximian want a "better" developer environment, then fine, speak of ONLY that but forget about (entirely).NET and anything Windoze/M$. It is pollution that will not work out and it confuses the issue. You like the development environment of.NET? Fine, go with a similar development environment for LINUX and that is ALL.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
Third, Win32 APIs are NOT largely published. The good ones - the ones that MS has used to beat down competitors in the so-called "middleware" market have been secret/obscificute. The.NET Framework APIs are open, and submitted to the ECMA.
And what makes you think that Microsoft won't have added undocumented funtionality in it's implementation of.NET to give it's.NET applications a leg up on applications written to ECMA.NET???
Finally, in response to your last paragraph, you have displayed exactly why the Linux community is lacking credibility to the large computing establishment. Your "take your cross-platform and shove it" attitude is exactly why Linux suffers from a near-terminal dearth of commerical, successful, productive, high-quality applications. Implementing a similiar but different.NET-style framework would prevent interoperability - which is the core feature that Mono is attempting to capture.
It's discouraging that you feel that way. I would argue that there are much fewer high-quality apps written for all the windows apps combined than UNIX. And it is a relatively small leap from most UNIXes to Linux. But write Linux/UNIX off, you won't be the first or last, I'm certain. *sigh*
And what apparently you aren't talking about are web servers, payroll software, simulators, network mgmt, finance pkgs, databases and all the other tasks that actually require high quality software. Business software typically has a very high defect rate no matter what platform its on. Business software would do well to emulate the high quality techniques used in the above software rather than hire a bunch of.net folks that think a platform is the solution to their quality problems. But the programmers I work with aren't going to take cruddy jobs programming ms instead of contracts doing server work on UNIX and, more and more, Linux.
Re:Why is it different?
by
Chris+Johnson
·
· Score: 2
"Second, Miguel firmly believes that.NET programs will run on any.NET platform."
But it doesn't matter how firmly he believes this if he's flat wrong... this is exactly the problem, Dan. It's NOT that Miguel has bad motives (though some of his value system needs work!), the problem is that he's 'drinking the Kool-Aid', he is firmly believing things that aren't necessarily so.
That is dangerous, because on the one hand he's setting himself up to be very astonished when he is victimized, chewed up and spat out- and on the other hand, because of his genuine sincerity it's not safe to simply go by his confidence level. You have to question whether that confidence is misplaced.
> Third, Win32 APIs are NOT largely published. The good ones - the ones that MS has used to beat down competitors in the so-called "middleware" market have been secret/obscificute. The.NET Framework APIs are open, and submitted to the ECMA.
As someone pointed out in the Linux Today discussion, there's an ECMA
standard for/Windows/. (The original poster had a ref. number,
approx. ECMA360 or thereabouts.) That doesn't seem to have helped
WINE much.
I think the invisble-looming-patent-bitchslap argument has some
merit. Look at it this way: why are Microsoft doing this? Follow the
money. What do they set to gain from it? As many have pointed out, as
a profit-driven company, and by virtue of their record, we know that
there's always a Grand Plan for Microsoft. They must believe that
they'll get more benefit if they do the standards thing, than if they
keep it as a traditional, closed, Microsoft-only technology. They
obviously know of Mono, et al, and they are happy for those projects
to exist. Where, and how, do they gain in this scenario?
I also notice that everyone who says they've used it, loves it
(including people with plenty of experience developing in the Unix
world.) Has anyone who's used it got a bad thing to say about it?
/Does/ it provide a big productivity gain? Is that just due to the
Microsoft implementations and tools, or are those benefits really
available to Free software users?
--
"None are more hopelessly enslaved than those who falsely believe they are free." -- Goethe
My last paragraphi is THE most important paragraph in some ways. I do NOT write-off linux/unix in it. I DO seek to throw water on the dreamy, fantasy that M$ is in any way going to allow Mono to succeed in ANY way the is competitve to M$. M$ holds ALL the cards and it stacked the deck. It NEVER EVER does ANYTHING without thoroughly thinking through how x is going to bring THEM buttloads more money. They do NOT give a flying f*ck for ANYONE outside M$..NET is NOT NOT NOT a gift to developers for their benefit. It is an M$ tool to develop more income and provide for more M$ lockin, NOT less.
Alan Cox's final paragraph is THE ONLY answer you need as to why Mono will NOT run non-trivial.NET apps. Period. I take his simple words over your starry-eyed dreamland fantasy any day. He is absolutely correct. Mono will not succeed in.NET. It MIGHT succeed within the world of linux/unix but that is ALL.
-- In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
No swing lib for gcj too.
by
Anonymous Coward
·
· Score: 0
Sadness:(
We don't got no swing for gcj, either.
No swing = no gui = no rocking fast java apps.
Wonder how the Register will respond...
by
writertype
·
· Score: 1
Something tells me they'll end up writing a followup article that claims they were right all along, setting aside the fact that it was merely an interview with a single source.
Get Rid of Miguel.
by
small_dick
·
· Score: 1, Troll
...and let someone at FSF at least take a look at the BNF (or whatever) for Java and C# and come up with some kind of well designed language that is not controlled/created by Sun or MS.
Properly designed, such a language could practically auto translate from C# or Java.
The back end JIT could make Java, CIL or FSF(?) bytecodes.
Don't let MS destroy the free side. Get rid of Miguel and his greed/power worship now.
--
Treatment, not tyranny. End the drug war and free our American POWs.
See my user info for links.
That's a core part of the Mono project... Creating compatible libraries that work on Linux. Because of the OOP nature of the.NET frameworks, Mono can (and hopefully will) be ported to other OS's, like MacOS X. Linux gets Gnome-specific GUI tie-ins, and the Mac will eventually get Aqua-specific tie-ins.
Java is entirely based on pointer passing
by
yerricde
·
· Score: 1
Given the frequency of pointer passing in C based API's, though, I can't believe that any C code running in CLR would have much intra-assembly security.
The Java environment also uses a lot of pointer passing (in fact, it's impossible to pass a non-primitive type by value in the Java language without explicitly calling a copy constructor) but apparently, the difference between what people refer to as a "reference" vs. a "pointer" lies in whether pointer arithmetic is allowed.
Languages may allow what looks like C-style pointer arithmetic through iterators that overload the following operators:
I can already run them on Windows. In fact, I can run them on windows with IBM's or Sun's Virtual Machine. Should I want it to run on.NET, I would have to rewrite all the code to use.NET APIs instead of Java APIs. Since I have two years invested in our current project, that is a lot of rewritting that I cannot afford. Plus, I would lose the WORA app that we currently have.
FYI: JUMP is only for the Java language and not the API. Furthermore, it's only for Java syntax up to 1.1.4 (Microsoft's final release of Java from 1996?)
A microsoft yankee in open source's court
by
KenSentMe
·
· Score: 2, Interesting
Okay, I must admit I have lost all respect for GNOME/Ximian, now.
Miguel has this "if you can't beat 'em, join 'em" attitude, which usually goes along with being a follower, not a leader. Some friends I have, who are also MS people, always jokingly say, "Don't fight it... don't fight it! Let Uncle Bill take care of you!". I really hate that way of thinking.
Open source is about pure innovation, and problem solving, not porting others' work over to the free world (necessarily).
The other beef I have is with his comments regarding productivity. He says he has reached a point where he has "implemented too many linked lists", etc etc. My problem is, a good programmer knows how to reuse his/her code, and not reimplement ALL of it from scratch every damn time. You know why Microsoft's code is so bulky and unreliable? It's because they made their API's so attractive to lazy programmers who "don't want to deal with all that hard stuff" by doing it all for them. You write a "hello world" program in windows, and you'll be lucky if it isn't under 200Kb, because the routines and libraries that actually got compiled in are the same ones MS Office uses.
If we ignore the small and tedious details to programming, and base GNOME on the.NOT Framework, then it will be just as bulky and unreliable as windows programs.
Good software is not made by people who want to "get it done quickly and efficiently", it's made by people who want to spend the time to do it right, and "get it to run quickly and make it efficient". It's only one way or the other... we can drag 'n drop our way to building an application, but it sure as hell won't be as fast/reliable/efficient/good as a program written in a text editor, compiled by hand, checked and rechecked.
Miguel, The Mayor, And The Lumber Company
by
Bowie+J.+Poag
·
· Score: 1
About 15 years ago, the city I grew up with threw its Mayor out of office.
The Mayor, it turns out, had worked out a deal with the only commercial lumber & hardware supplier in town. He would modify the building codes for the city so that anyone who wanted to build a new home would have to go to this one specific lumber provider to get their raw materials.
Today, the community I grew up with is about to throw Miguel out of office.
Miguel, it turns out, had worked out a deal with the only language-independent framework provider in town, Microsoft. He's trying to modify the way in which programmers build so that anyone who wants to build new apps has to go to this one specific provider to get their raw materials.
The Mayor of my home town hasn't held office, or worked anywhere, since.
-- Bowie J. Poag
Someone moderate parent up +5 funny...
by
Error27
·
· Score: 2
It's funny because it's true.:)
Mono will not become another Samba
by
metalpet
·
· Score: 1
Samba has to inter-operate with an M$ OS. if the OS evolve in some ways
that cannot be copied (patents), then Samba is screwed.
Mono does not aim to inter-operate with any other OS.
If it manages to do it, it's a bonus.
If M$ stops it from happening, Gnome still has a very nice programming
framework that M$ *cannot* take away from us in any shape or form.
Mono will be a success even if it ends up being entirely incompatible
with what M$ is doing, simply for the fact it will bring a great set of
features to Gnome.
Re:Mono will not become another Samba
by
alext
·
· Score: 1
So if Mono is entirely incompatible with Dotnet we have just introduced a huge political risk but gained precisely zero benefit over what we could have come up on our own.
There are good reasons to think that a merger of Java, Parrot, Scheme etc. VMs would be better than the CLI.
To take one relevant example, the intermediate language could be semantically equivalent to the source, just as you can nearly always reconstruct Java source from its bytecode. Then, bingo! No need to ship source and/or binaries - the program is the source!
Great reply, but does not mention these benefits and disadvantages:
benefit 1) to author 1 component, you write 1 file, as opposed to authoring IDL files, C files, OAF files, and gods know what.
benefit 2) no more gtk+, gtk-- etc.
benefit 3) compared to java, a lot of my complaints have been solved - C# has destructors, attributes, foreach keyword etc.
benefit 4) I can use MS Visual Studio.
benefit 5) haven't tried yet the ActiveState kit, but now it looks trivial to link in a Perl subroutine.
problem 1) MS can screw you over by patenting part of.NET (see the 'just ask Alan comment above)
problem 2) MS can modify interfaces ('right to innovate', haha) to make sure your code stops working w/ theirs.
problem 3) C# lacks generic programming. (java also)
problem 4) for graphics programming (forms etc) you need to start using MS concepts such as Pen and Brush. So you have to create a pen before you can draw anything. You cannot just say 'graphics.drawLine(Color.Red,0,0,100,100);'
Other than that, I am excited just like Miguel.
I am downloading the Mono stuff. This might make me more insterested in Gnome than KDE.
George
.NET claims that any of the supported languages can be "first class citizens" of the platform. After reading
this article: it became pretty obvious that not all languages are created equal. This is definitly not my father's C++. Please, can someone explain how specific language features (pointers) are handled in the.NET environment without re-writing the code to be more.NET friendly.
If C or C++ components use pointers, can they crash the whole.NET environment ? Please explain how I can add C++ objects by reference or by pointers to.NET collections.
Its incredible that people have lost their understanding of what a godsend the UNIX API is. Right now, you can download random POSIX programs off the internet and reasonably except them to compile correctly on your machine, whether you're running Linux, BSD, or (gasp!) BeOS. Its the portability of.NET without its performance problems and with the addition of an emphasis on open source software. Isn't that the way it should be?
-- A deep unwavering belief is a sure sign you're missing something...
At least the.NET APIs should be better documented and more open than the current win32 API. So porting Office would be a matter of porting the runtime, and porting documented APIs. No reverse engineering.
-- -- Welcome to nowhere fast / nothing here ever lasts.
Re:Well doumented API's
by
Tom+Davies
·
· Score: 1
Will Office.NET (if such a beast exists) use only the.NET libraries?
There is nothing to stop it making Win32 system calls too.
Tom
-- I have discovered a wonderful.sig, but 120 characters is too small to contain it.
Upon crisis, use wisdom
by
Anonymous Coward
·
· Score: 0
Remember the Alamo!
I am itching for mod points; please mod this up.
by
SPiKe
·
· Score: 1
This is exactly what I was looking for.
Re:Miguel's Comments--patents
by
kcbrown
·
· Score: 1
It is unlikely that a surprise patent is going to bite you 5 years down the line.
You've gotta be kidding. With the way the patent office is granting patents on ideas that are not only obvious, but which also have plenty of prior art behind them?
In that kind of environment, it doesn't matter whether or not a technique you use is obvious, nor does it matter that it's been in use for some time. The patent office will happily issue a patent against it.
Your citations of the law make no difference. For one thing, the patent office has been ignoring the law when it comes to issuing patents. For another, the mere threat of patent litigation is going to be enough to cause a small company like Ximian to fold, because patent litigation (like any litigation beyond small claims court) is horrendously expensive.
You'd have to be an idiot to bank on someone like Microsoft not coming after you and others for patent violation, no matter how they obtained their patent(s) or how obvious/popular the techniques in question are. But that's exactly what Miguel is counting on.
I can't think of a better example than Mono to use to demonstrate that when deciding what kinds of architectures, protocols, and tools to use for an open source project, you're better off choosing the best, and not what you think the most popular will be.
I have a strong suspicion that.NET on the server side will be easy to do under Linux (with the exception of authentication, which will be strongly protected by patents), but.NET on the client side (which is what Miguel is working on) will prove impossible. That's because Microsoft will build Win32-specific things into their.NET client libraries. Or have we already forgotten what they did with Java??
-- Use 'slashdot stuff' in the subject line in any email you send me if you want to get past the spam filter.
I'm inclined to think Mono and associated technologies are more about a business agenda and less about developing a productive development environment. The side-affect of developing a.NET clone, appears to me... is that it will spur the growth of Linux based systems in the commerical markets. Another side-affect is that this effort could spur on the Java technologies to appear more quickly.
Regards,
Kramer
Miguel, you saucy latin BITCH!!! (TROLL ALERT)
by
Anonymous Coward
·
· Score: 0
Oh, Bill, twist my nipples while you dribble Visual Astrolube# all over my hot latin bunghole!!!! And then put your MicroCock XP into my ass while I shout about all the wonderful things Microsoft has given me, including anal bleeding.
Jeezus. Someone check Miguel's swiss bank account for a large deposit from MS. I bet he was paid off in dollars and MSCum++.
We all will be MS-Developers
by
Anonymous Coward
·
· Score: 0
Hi,
no one mentioned the point, that MS will gain of the Open-Source-Community.
As they wrote in the Halloween-Papers, they are deeply impressed, how the OS-Movement collects the intelligence of lots of Programmers.
And if Alan Cox and some other guys will be right, the software written by the.net / Open Source Developers will run on Windows. But it is unsure, if the software of the.net / Closed Source Developers will run on Linux et. al.
Do you really want to be exploited by MS?
Timeo Danaos et Dona Ferentes!
küsschen
Re:We all will be MS-Developers
by
IainHere
·
· Score: 1
I have no problem with free software running on MS platforms. If it gets the message that such software is usable, then it is a good thing. Eventually, they might consider using a free OS, too.
If any of the free Office replacements were as good as MS's, then a port to MS-Windows would gain many users.
Also, since they're aiming at binary compatability, the hope is that windows programs would run on Linux.
Re:We all will be MS-Developers
by
Anonymous Coward
·
· Score: 0
And if Alan Cox and some other guys will be right, the software written by the.net / Open Source Developers will run on Windows... Do you really want to be exploited by MS?
If you're not cool with the idea of ANYONE using your software (while obeying whatever licence under which you choose to release it), you shouldn't be developing free software at all. If you require payment, either in money or in an equal amount of code, then you should be selling it.
the parable of the cold rattlesnake...
by
Anonymous Coward
·
· Score: 0
A simple library interface into GNOME is sufficient that any object may load the library and write Gnome applications. To deviate into the realm of.NET is to impose and interface non-consistant with the vast majority of languages to date. Though.NET is theoretically capable of running any language grammar (as would be Perl 6, in all fairness), you must consider that some one must actually provide
the CLI conversions. Most likely, interest will
not be there for researchers to port Lisp to CLI, and Perl 6 will not re-bytecode itself to run under CLI versus Parrot. Furthermore, if some of the interest in accepting Microsoft's paradigm is platform independance, you must realize that microsoft has crippled all platform independant standards it can acquire and produces competing standards to all others. To select an environment proposed by an organization AT DIRECT ODDS with Linux is to potentially sign the death warrant for Linux. Just as Microsoft is afraid of accidental GPL infection, Gnome must be similarly afraid of Microsoft infection. If we become bound to their CLI spec (and we will be, they have the critical mass to control it), we will NOT be
in control of the CLI spec. They will. And
having a spec that is not open to community
review is total suicide.
I repeat, suicide.
CLR seems better than JVM to me
by
certsoft
·
· Score: 1
OK, I've been doing embedded system programming for 25 years, so I probably have a warped sense of reality. I disdain Microsoft as much as the next guy, but from my research I really do think CLR (or CLI, or whatever people wan't to call it) is better than JVM.
When I looked at Java the first thing I noticed was the lack of unsigned data types and anything less than 32 bits for integers (or maybe I just read the wrong documents). I'm used to reading in a data structure and having various data fields of 8, 16, 32, 64, 128, or 256 bits, both signed and unsigned, depending on what the field really requires. The embedded processors I'm used to talking to range from 8 bit PICs to 16 bit DSPs to 32 bit 68030s. These systems don't waste 32 bits of storage/processing when 8 bits will do.
A business partner is working on a Java based data logger and is having to do all sorts of tricks to access these fields, while it is easy for me to declare a "record" in Delphi or "struct" in C to access these fields. As far as I can tell about the CLR these types of fields and structures are easily accessed. It seems to me that being able to support non-crippled languages is a great plus for CLR.
Yes, I realize that I'm one of those preverts that thinks object pascal is far better than C++, but doesn't the world need some preverts:)
Framework is irrelevant
by
Alex+Belits
·
· Score: 2
The problem with "frameworks" that appear now -- Java, all generations of COM,.NET, etc. is that they basically don't do anything useful. They are implementations of someone's "vision" how software is supposed to be developed, and how existing two component models -- that is, one provided by shared libraries, and another one by interprocess communications, should be replaced by something more "object oriented". And all those visions are wrong, simply because at this point mankind has as much chances to develop a better component model as thousand years ago it had chances to develop better means of long-range transportation than a horse and a sailing ship -- the level of technology was inadequate for that and will be for quite a while.
But people are ambitious and instead of writing little useful things -- say, a serializer for data formats that will simplify communications, they are trying to create a GREAT NEW SYSTEM with everything existing replaced with some GREAT NEW IDEA plus every petty piece of idiosyncaasy that a particular developer or company has at the moment. That produced Java, and that plus typical Microsoft's aspirations to create more incompatibilities per hour than they were able before, produced.NET.
The fact is, for a programmer who is writing a new code, "framework" like this gives very little -- dynamic libraries existed for a long time, anything written in C can be now called from any other language that can load a library, and IPC is still not used at its full potential, especially considering that programmers (Gnome ones included) were indoctrinated with superstition that context switches are more expensive than additional in-core pages while in modern systems context switches are cheap, IPC is efficient, but data-structures bloat that causes huge amount of data sitting in memory in a tangled mess becomes a huge problem for speed even if memory itself is cheap.
For a programmer who wishes to use components developed for Windows it gives nothing, too -- the whole strategy of Windows development is to keep things unusable outside Windows, and certainly mixing few proprietary pieces in the mix will poison everything developed on Windows just like things being developed now are poisoned for everyone who agrees to anything less than a complete emulation of every ugly piece that Microsoft managed to throw into Windows. In other words -- if you will want to run something developed for Windows, you will need Windows, all Windows and you will have very little chance to add anything but Windows. You can emulate it, but then you will basically become it. So all this talk about "inevitable success" of.NET on Windows is pointless -- at best you can outrun them (despite some umm... strange ideology changes that reminds me Communist Party line, the development of GNOME is going fast enough), at least you can ignore them (Microsoft will replace it with something else soon anyway), but you can't assimilate them.
Oh, btw., the use of borg-style metaphors was intentional but not essential to this piece of advice.
-- Contrary to the popular belief, there indeed is no God.
C++ has a rudimentary but surprisingly effective memory management tool called the autoptr (or auto_ptr, depending on who's talking). It's essentially a thin class wrapped around a pointer. When the class goes out of scope, the autoptr destructor is called. It deletes the pointer contained within the class, thus returning whatever was pointed at to the memory pool. It ensures proper object destruction, etc., etc.
If you don't know about the autoptr, then maybe you'd better not make statements about C++'s lack of memory management assistance.
I've used the autoptr a fair bit, and it's a surprisingly handy and low-overhead way of solving a lot of dangling-pointer errors.
Yes, but this is all still manual memory managment. You may not need to call malloc() and free() all the time, but you still need to remember to wrap *all* of your allocations with auto_ptr, and you need to avoid libraries that don't make use of it. It's still in the way. I suppose whether something has "memory managment" or not is in the eye of the beholder; to a hard-core assembly programmer, C must seem to have a memory manager. Without getting into a pedantic word-war, I'd say that it's generally accepted that C++ does not have memory management because it lacks garbage collection of some sort.
you still need to remember to wrap *all* of your allocations with auto_ptr
Huh? Since when?
MyObj::MyObjPtr foo = new MyObj;
... I define MyObj::MyObjPtr to be an autoptr, and I overload the new operator for MyObj to return an autoptr. This isn't rocket science, nor does it require a tremendous amount of discipline. All you have to do is have enough experience with C++ to know that (a) C-style pointers are Dangerous Beasts and should be avoided whenever possible, (b) the autoptr exists, (c) how to use a typedef, and (d) how to overload the new operator.
C++ does not have memory management because it lacks garbage collection of some sort.
C++ lacks built-in GC. It doesn't lack GC. If you want GC, it exists for C++. There are lots of providers of C++ GC. The reason why GC didn't make it into the C++ standard is twofold.
There is no optimal GC algorithm. Java is a garbage-collected language, but the specification doesn't say how the GC must be implemented. The ISO committee didn't have the Sun cop-out of saying "well, it must be done, but we don't care how it's done or how efficiently it's done". The C++ committee simply felt there was no single GC approach which would result in an engineering win for the vast majority of code. I think the committee was probably right.
It violates the C++ Maxim. The fundamental maxim of C++ is, ``you don't pay for what you don't use.'' Every C-superset feature of C++ is optional. If you restrict yourself to the C90 subset of the C++ spec, your code will have the performance of C. Adding GC to C would violate this maxim. Hence, no GC in C++.
... Bjarne Stroustrup has publically said that when the C++ standard is revised, beginning in 2003, he thoroughly expects GC to become part of the standard... but even when GC is included in the C++ standard, GC will be optional, due to the above two reasons.
If .NET is so language-independent..
by
ikekrull
·
· Score: 2
Then why implement a C# compiler for it?
Surely implementing something already in wide use within the Linux community - C, Java, Perl or Python would be much more useful than implementing some new, unproven toy language like C#.
If.NET truly is a good technology, which stands on it's own merit, and not because it happens to be the next lock-in tool of corporate behemoth Microsoft, then why would it not be immediately useful as a platform for existing proven Linux development tools and techniques?
Personally, I think.NET is a complete waste of time, which will fail to gain critical mass, despite the enormous pressure on developers from that fucking clown Steve Ballmer and his crew.
.NET offers nothing we don't already have except for the 'Made by Microsoft' stamp, but it's been a long time since that mark held any sway over me and my choice of development tools.
Obviously, Miguel de Icaza is free to do whatever floats his boat, but you can count me as a 'former user of the GNOME project' should.NET ever play a significant role in it's frameworks.
Maybe its petty politics and free-software rhetoric from RMS etc. that has led me to this decision, but thats how disillusioned I am with Microsoft and it's products.
I don't trust them, don't like them, and I feel much gratitude to the developers of Linux and all that has been built on top of it that lets get as far away from Microsoft and their shithouse software as possible.
-- I gots ta ding a ding dang my dang a long ling long
Re:If .NET is so language-independent..
by
roundand
·
· Score: 1
C# is a great language - I'm doing my first.NET project right now and we're all loving it.
But I wonder if they considered implementing Java on the CLS instead? Coding C# is very much like coding Java and there have even been leaks of a J# project from Microsoft.
plus side - Java would have leveraged existing skills
minus side - would have ended up with a strange hybrid of Java language and.NET APIs.
Miguel probably should look at M3 or Eiffel or Ada
by
Christopher+B.+Brown
·
· Score: 2
Consider:
The apparent "problem" with Gnome that he's trying to solve is that some huge portion of Evolution consists of memory management code.
(That apparently explains why when I request an install from Ximian.com, apt-get reports that the one package of evolution is going to consume something around 110MB of disk space...)
Miguel would kind of like to move over to Java as an application development language; it's a not-horrifically-badly-designed language, and has the merit of garbage collection and some "syntactic sugar" to support OO classes and exceptions...
Unfortunately, the design of Java is such that it nicely interoperates with, well, Java, and um, Java, and, um, not too much else. (Unless you jump into FFI stuff that's always terribly fiddly, and leaps you back into writing constructors and destructors in C for the interface code...)
The "JVM" thing offers some portability, but Java suffers from the huge problem that all the Kool Stuff in J2EE and Swing and such that you'd like to use is, well, only marginally less encumbered by Sun licenses than .NET services will be by Microsoft licenses.
Count the number of major Java apps that are installed by default in your favorite Linux distribution. That number is usually zero, as you get to choose between:
Deploying stuff using the "toy" APIs of Java 1.0 that are really creaky, but available "libre and gratis," or
Paying some huge license fee to Sun to allow you to include the Cool New Java APIs on the CD.
C++ is Not Miguel's Favorite Language
And it really wouldn't do anything to solve the problems at hand, as it still mandates spending lots of time writing constructors and destructors. Plus there's no quasi-standard ABI, so that you'll be recompiling incessantly.
And then there's the KDE problem where library loading takes quite a bit of time because of resolution of virtual methods...
But I think the real reason for "no C++" is simply that Miguel doesn't much like C++.
So Miguel wants something a tad more dynamic than C/C++, particularly vis-a-vis memory management. I find it a little disappointing that he didn't take a serious look at some of the mature languages already out there.
GNU Ada is a whopping lot more mature than G++, for instance, and would offer some "software engineering" merits.
There are a good set of Eiffel compilers, and that combines OO with GC as well as the "Design by Contract" thing that Miguel has consciously tipped his hat to.
Modula 3 is another "unsung language;" OO plus GC plus well-defined threading, even.
If he's looking for a better language in which to build more stuff like Evolution, I'd think these three to be eminently plausible Good Alternatives to designing a new Virtual Machine environment along with a whole set of compilers.
-- If you're not part of the solution, you're part of the precipitate.
This is an attempt to catch up with KDE
by
tsphere
·
· Score: 1
"Forget all you heard about.NET." This is a good quote. So let's for a moment forget about the superfluous features of C# and the.NET Framework, like machine-independance. What does it get you in the end? Faster application development.
I think that Miguel and the whole GNOME community is tired of being "second-best" in the desktop environment competition with KDE. The simple fact is that (not unlike Win32) plain old C and GTK+ are complex, error-prone development environments that no one will much miss. In fact if you look at GTK+, much of the GNOME team's time has been spent trying to copy object-oriented design features that are intrinsically availiable in other languages.
KDE has a secret weapon in its usage of C++ and QT; the true object-oriented approach is simply better and faster for large projects. If you haven't programmed, you won't realize that QT is basically "Java Swing for C++." The KDE project pushed out their next-generation desktop months ahead of the GNOME boys and they're not looking back now.
I say, hurrah to the GNOME team if they do finally pick a new, better, faster development environment. However, I am worried that instead of relying on proven, existing, free (as in GPL) technology like g++ or QT3 they will waste entirely too much time reimplementing the basics.
As usual. Did I say that? Don't want to sound biased!
"The.NET Framework will exist in the Windows world, and because of this they will be widely deployed. It is a pointless battle to pretend that boycotting the use of those technologies will have any kind of effect on their reach."
Um... wouldn't boycotting these technologies (such as they are) make their reach that much less than if you weren't boycotting them?
Weird to be seeing hardcore Microsoft propaganda from an open source project leader. Why doesn't he just go over to Microsoft and work for them if he wants their stuff deployed that much? Why is he even bothering to be involved with free software at all? Of course, didn't he also arrange to have a free project _drop_ the LGPL and go with a more proprietary-friendly arrangement? Who is this guy?
One runtime to rule them all...
by
dido
·
· Score: 3, Interesting
An ancient verse in Open SOurce Lore...
Three VM's for the Open Sourcers under the sky
Seven VM's for the chipmakers with their foundries of stone
Nine for the mass market doomed to die
One for the Dark Lord on his dark throne
In the Land of Redmond where the Shadows Lie
One Runtime to Rule them All, One Runtime to find them
One Runtime to bring them and with.NET bind them
In the Land of Redmond where the Shadows Lie
Gee, so I guess that makes Miguel de Icaza Celebrimor, building his own runtime based on secrets given to him by the Dark Lord of Redmond, disguised as Annatar, Lord of Gifts. Maybe RMS is Elrond, watchful and distrustful of this mysterious being bearing secrets...
-- Qu'on me donne six lignes écrites de la main du plus honnête homme, j'y trouverai de quoi le faire pendre.
You do not need your asbestos suit for this...
by
alder
·
· Score: 1
but you have probably forgotten about this thing with long running applications - they tend to fragment heap... It does not hit you often, but when it does, it's a kill. Last time I checked there were no indication that there is a destructor writing pattern that helps you with fragmentation.
Re:You do not need your asbestos suit for this...
by
tommck
·
· Score: 2
well, introducing STL allocators.
for any STL container (which should be used by most people), you can pass in your own allocator class. In that class, you handle your own memory management. If you want to reduce fragmentation, you allocate very large blocks of memory and then do "placement new" calls to allocate memory. Problem solved.
T
-- ----
It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.
The way Miguel has been getting a lot of flak reminds me of the Apple billboards "Think Different".
It seems people with a vision sometimes are unfairly critized.
Miguel has a vision and is more than a step ahead of the crowd.
Lets cut him some slack and wait to see if he is a genius or an idiot, NO?
finalizing the architecture...
by
ttfkam
·
· Score: 2
The long term plans for Java include items such as tail-recursion and templates but they came up too late in the dev cycle to include in 1.4 without pushing the release date out too far. 1.5 is slated to have an updated bytecode format (although presumably backwards compatible in much the same way that 1.02-era applets still run for the most part in JDK 1.3)
Don't presume that Java isn't a moving target for.NET
It's not like Sun and IBM are planning on standing still and waiting for Microsoft to catch up.
--
- I don't need to go outside, my CRT tan'll do me just fine.
Re:finalizing the architecture...
by
Anonymous Coward
·
· Score: 0
"Don't presume that Java isn't a moving target for.NET"
Don't presume that Java is any kind of target for.NET.
Mono is not trying to integrate services with Microsoft's dotNet services, they are trying to write a good component model.
After reading Migel's answers it seams to me that this is where Mono may end if its main goal fails, where the main goal, acccording to Migel, is:
to be as compatible as possible with the APIs that were published by Microsoft
This could become the "Samba problem" re-hashed, Xemian is just betting that it wont...
Wrong, borland has no CIL
by
StrawberryFrog
·
· Score: 3, Informative
The CIL idea is not new.
Right. A proof of concept was when other languages were compiled to java bytecode. There may have been earlier ones too.
If I remember correctly is used in Borlands C++ Builder & Delphi to some extent. C++ Builder compilers down to the same thing as Delphi and if I remember correctly they use the same linker.... I beleive this is where they got this ideas behind CIL and combined it with the Java virtual Machine model.
Um. Nope. CIL stands for Common Intermediate Language.
Neither Delphi nor BCB are interpreted, JIT'd or run on virtual machine. Nor do they use an intermediate language of any kind.
The language that they have in common is in fact x86 assembly. The reason that the Delphi VCL can be used in BCB is that they share an object file format.
Maybe the idea of sharing a class library came over from Borland with Anders Heijsberg, but the method of achieving it is different.
--
My Karma: ran over your Dogma
StrawberryFrog
Re:Wrong, borland has no CIL
by
jmccay
·
· Score: 2
"A good way to begin your exploration of this issue is to understand that Delphi, and Borland C++ 5.0 use the same 32-bit compiler. The difference is simply in how the language is parsed. Delphi parses Object Pascal, tokenizes it, and then passes it on to the compiler. Borland C++ 5.0 parses C++, tokenizes it, and then passes it on to the compiler. Underneath the hood, Delphi 2.0, C++ Builder and Borland C++ are very similar tools. The difference is in how the syntax of the language looks before it is parsed and tokenized.
Delphi finishes its compile and link cycles faster than Borland C++ simply because Pascal is easier to parse, and because Delphi supports a simpler, and more flexible type of binary file (DCUs are easier to make than OBJs.)
Since C++Builder uses the same compiler as Delphi, the road is obviously at least half way open to finding compatibility between Delphi and C++. The next stone on the path is laid by C++Builder's advantageous use of the Delphi VCL."
The above section demonstrates that Delphi and C++ Builder use a type of common language. Once the Delphi code and C++ Builder code have been parsed and tokenized, they get passed to the same compiler. Microsoft took this idea, and combined it with the virtual machine concept (most recently used in Java) to get the CIL idea.
You said they don't use an intermediate language of any kind, but as you should be able to see from the above text, they actually do. The difference is Borland kept this idea in the background. They just focused marketing the idea that two development environments work well together.
The code name for C++ Builder was Sci-Fi as stated by Brian Long, who used to work for Borland UK. According to an opinion section in his article for The Delphi Magazine, C++ Builder was already being planned during Delphi's original development. He also makes a comment as to why the project was called Sci-Fi, but I will let you look those up because they are irrelevant to my point here. To me at least, it becomes obvious that they wanted some common point for both languages. They paths may have varied some since then, but I would guess that they still use the same compiler. No, they don't have an interpreter, but interpreters were not that popular until Java came along and brought interpreters back into the spotlight.
Very rarely does Microsoft actual create new idea. They tend to rehash old ideas with a new twist, and then they call it their own.
-- At the next eco-hypocrisy-meeting, count the private jets used to get to the meeting. Should be interesting to see that
Re:Wrong, borland has no CIL
by
StrawberryFrog
·
· Score: 1
You said they don't use an intermediate language of any kind, but as you should be able to see from the above text, they actually do. The difference is Borland kept this idea in the background.
There are important distinctations that you are not making. All the languages in.NET compile down to a common intermediate language, which is the final format of the code, and is interoperable between languages.
Delphi and BCB both finally compile down to x86 machine code. Sure the two compilers share code in the last pass of this process but so what - the common intermediate stage is not exposed, it is purely a time-saving device to save borland from writing a second compiler backend, no Delphi or BCB program ever runs in this intermediate language
I repeat, both Delphi and BCB generate x86 machine code, and.NET is fundamentally different from this in that it has a higher-level source-language independant IL which is run by the virtual machine. Borland has never had this.
--
My Karma: ran over your Dogma
StrawberryFrog
Re:Wrong, borland has no CIL
by
Anonymous Coward
·
· Score: 0
You idiot! He never said it did. He did say they combined that idea (the intermediate language) with the idea for a virtual machine taken from Java!!! Are you that dense? When will you realize that Microshaft very rarely has a "NEW" idea?!?!?!?!?!
ANDF/TDF technology
by
Anonymous Coward
·
· Score: 0
I think the open source community should give a chance to the ANDF/TDF technology in this field. It has the advantages Miguel tells mono has, but the concept under ANDF is simply better than that behind VMs, and it is 'software libre'. See this links:
Article from Bruce Stephens in/.
http://slashdot.org/article.pl?sid=98/10/20/1162 40 &mode=thread
A quote:
> P-code, JVM,...
>
> The format isn't much like previous universal
intermediate languages.
> Largely, they were abstractions of machines; this is an abstraction
> of programs, or of programming languages. i.e., it retains all the
> interesting information that you need for performing optimizations;
> it just loses details like variable names.
Really, those people who claim that if you start implementing.Net you'll always be behind -- I don't understand the argument. If you *don't* start implementing it, you'll be even farther behind -- unless they're suggesting that you use something even better. If that's their suggestion, then perhaps they could point it out to you.
-- "Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
Today, I do quite a bit if work on AIX... Perl, Shell stuff, some C... prior to that, M$ technologies - Scripting - VB, Java, Perl.. lots more C... and tracking my programming career of 22 years, I've worked with quite a few languages. In that time, always bring the systems programmer type, there always seems to be one or two neat things I'd like to do from another language in a current project.
One example is using regular expressions... A few years ago, the company delevopment standard was VB so naturally, most of what I wrote is VB Script - with a lot of the real work done in my own C objects. I handle a lot of text so I wanted to use regexs for some maych/replace stuff. VB stunk at this (as well as their broken split function) I didn't know enough Perl at the time so I decided on JavaScript - beautiful - 2 lines of code. I wanted access to the submatches array back in VB... nope! Can't write to a VB style array in javascript and pass it back. Moreover, the nonsense required in C is much crazier - MS C has some BSTR and Varient data handling but it's a royal pain to work with. Today, I would have written the whole thing in Perl - why now and not then? Company Standards (read: programmers can do what they want now to get the job done as quickly as possible).
Many years ago I worked at a Bank. One VP just bought an IBM XT. Another had the idea of offering mortgage borrowers accelerated payoff (they had low rate loans and the going rate was above 11%). They got together and low and behold, the XT could calculate the interest saved by accelerated payoff. So they come down to IT and request a 'blurb' on each statement telling the customers how much they'd save with early payoff. Well, a minor problem was the mainframe - a Burroughs medium system - had only 1 compiler that could handle it... Fortran. In the end I had to write 3 programs to accomplish it all because of data conversion and other limitations.
Sure, one could argue 'why not Java' or why not this or that. The why not is because the vast majority of 'coders' out there code in one maybe two languages. If C# provides the 'glue' to tie things together without worrying about the insane cross compiler/application issues, then by all means... where can I sign up to help
The accomplishments in my career we mostly based on doing things others didn't/couldn't do. I refer to this as 'glue' code - leveraging what's available to come up with a solution. Over the years, I've found enjoyment in coming up with these but the 'getting there' is becoming tiresome. It's always the same problem - this tool will do 75% of what I need but I have to write it in X because ____.
Miguel's letter really inspired me to look at things from a bigger picture. He pointed out what got him excited and how programmers can become movtivated and more productive - which I can always relate to.
M$ had a problem (well, a few) and came up with.NET as a solution... Miguel looked at it and saw application for his current (and future) set of problems and said 'why not'. As for me, I do multiple platforms and anything that will enable me to get a job done quicker the better.
why is evolution so big
by
Anonymous Coward
·
· Score: 0
Most of the code:
an incredible amount of the code is the 'table' widget, which is a monster do everything widget, made of literally dozens of classes. I wont say who started copying some windows/java tree widget to make that one...
a lot of it is dealing, no, fighting, with the awful gtk and gnome and bonobo api's and many of their problems.
because of the large number of classes a bunch of it is just class definition overhead, which is just cut and paste and nothing to maintain anyway.
The mail client, including the complete standalone mail api is only about 150KLOC of code, definely under 200KLOC. It doesn't include the monster table widget, or the gtkhtml widget (which is by definition a big task), etc.
We spend very little time fixing 'memory leaks' and 'wild pointers' - it is an insignificant amount of time compared to things like working around bugs in other clients and servers, and pandering to every users desirable feature (oh, and cloning outlook). Most of the other problems we have are fighting with ORBit's reentrancy and timing issues from idle handlers and threading issues (which mostly happen because of ORBits reentrancy issues and gtk nor ORBit being threadsafe).
To be honest, I have no idea where the rest of the lines of code come from. Some of the code is much tighter than other bits of it. And some of the code has to deal with messier interoperation than other bits too (e.g. ical, ldap, etc).
I'm sure we could redo it in a year too, knowing all we know now. And I bet the outlook team was 1. bigger, and 2. didn't have to write every thing they used (e.g. html component). The comparison is a dumb one.
FWIW i've only ever written 2 list routines (1 double linked the other single - actually the single list routines are so trivial its not even worth librarying them), and they keep getting re-used again and again, because they just plain work. C rules in my book. I found java quite a bit less productive because of limitations in the language C doesn't have.
One hour of your enemy's time is worth...
by
aphor
·
· Score: 3, Insightful
Sun Tzu:
One pound of your enemy's provisions is worth twenty of your own.
I would apply the corollary: "One hour of your enemy's time is worth twenty of your own." The principle is that you are not only getting your enemy's preparations and resources to work for your goals, but you also prevent him from using them against you. Your own resources are many times more costly to build up. Microsoft sees Miguel as a tool, and they are waging Ximian against Gnome (the GNU GUI) with the goal of making GNU oriented developers waste their time even learning C#.
If we need a new language, why don't more people get together and decide on all the goals of that language? If we need to link compiled code from disparate languages together, why not write a CORBA spec or something? The key concept here is DO NOT LET MICROSOFT SLIP INTO YOUR PROJECT'S DEPENDANCIES.
Visionary ....?! Stallman of today.....
by
netchhe
·
· Score: 1
Miguel is outlining a road map for open source development of large projects, like Mono, Gnome and possibly others to come for the next 4 - 7 years. There's a well thought rationale a behind the outline, based not only well understood technical reasonings, but also socio-cultural thoughts and believes, which in the end gives us a coherent big picture of a possible road to the future for open source development. It boils down to the following points:
a. Microsoft has (finally!?) delivered a potential ly great technology, what the company intends to do with in terms of marketing and power game is altogether another story.
b. We can't always be defensive about Microsoft. Yes, we have to carefully watch them in terms of legal behavior, but we also can embrace them and take advantage of them... imagine a.NET framework on every possible Unix platform......
c. Yes, we want to get rid of the mono cultural on desktop....., then we'll have real choice:.NET, CORBA, JAVA BEANS, whatever... Visionary....?! I hope so. Maybe Stallman has to pass on his hat.....
Are you that dense?
Sometimes. IMHO this debate has become a silly excerse in hairsplitting and points of view.
When will you realize that Microshaft very rarely has a "NEW" idea?!?!?!?!?!
1) I did not claim they they had. "Borland did not do X" does not imply in any way that "X is Microsoft's idea".
2) Microsoft is a company. Companies do not have ideas. People do. Microsoft employs, truth be told, some of the best and brightest people that money can buy. Add it up. You and I may not like that but it is the truth. For instance, I have a lot of respect for Anders Hejlsberg, Archtect of Broland Turbo Pascal, Borland Delphi and Microsoft C#
GNOME had always tried to have a good support for multiple programming languages, because we realize that no matter how much we loved C as a programming language, there was a large crowd of people out there that would like to use the GNOME libraries fromtheir favorite programming language, which might not necessarily be C.
This is the reason having Mono at the heart of Gnome would be a good idea. Base it on the CLI and suddenly any language that is ".Net-enabled" is usable under Gnome.
It's about choice. Isn't that what Open Source is all about?
This are better news and a much needed clarification.
Miguel surely understands (if he didn't he wouldn't clarify it like this) that although he (or ximian) don't own GNOME, they have a major steering strength on its development.
Sometimes that counts for a lot, and is what surely led to everyone's confusion (specially the news agents) on this subject.
Thank you Miguel, I feel _very_ less stressed out about this.
Best wishes, Cyke
Wrong. Programmer's lives are exciting, as long as you like Computer Science and enjoy tweaking with the little bits, discovering new things. Now, if Miguel started writing Unix software thinking he would be rich, surrounded by girls and driving Romero's Ferrari, he's far beyond dumbness.
I think Icaza is making a mistake; It doesn't matter if .NET or whatever is a great technology, open source developers need to be able to be _proud_ of their work.
How could we be proud of something that is merely (aiming to be) a copy of something MS has developed? Granted, our desktop environments are largely copying MS functionality, but at least we can pick the bits we like and create new things when we want to.
Can you hear me, Major Tom? I'm not the man they think I am at home...
Miguel has made many positive arguments for his prior statments. And thanks to the Register for obfuscating the variables.
Luck favors the prepared, darling.
*ducks*
Best Slashdot Co
Thanks to Miguel, and a big lemon for the Register for their misleading headline. I guess the search for the "next big scoop" has gotten the better of them this time.
This is all really interesting news...though we should still keep stressing the difference between the ".NET framework" and Microsoft's proposed ".NET services"!
Reminder: find a new sig
> Miguel wrote:
..., iff the (.NET) CIL is sooooo powerful.
> The CIL has one feature not found in Java though: it is
> byte code representation that is powerful enough to be used as a
> target for many languages: from C++, C, Fortran and Eiffel to Lisp
> and Haskell including things like Java, C#, JavaScript and Visual
> Basic in the mix.
Bullshit. See here for JVM languages.
Furthermore care to explain the existance of "managed" C, Perl,
See here [tu-berlin.de] for JVM languages
Nice list of languages *re-implemented* in Java. No indication on that page of any of those languages being compiled into Java bytecode and being run as if they were Java.
At the very least Miguel is guilty of misjudgement. He is trying to do whatever possible to sell Mono, even to bet the future of GNOME on it. Since Mono will take a number of years to be usable for GNOME (if that ever happens), why tie GNOME to Mono now? Mono is of no use to GNOME for the next release (and the next release), why distract the community with such "vaporware" comments? No good comes out of selling Mono now to the GNOME community who is working on the next release based in C.
One thing though. Miguel says:
This just strikes me as overly hopeful optimism to think that Microsoft is going to give up their hard fought and long defeneded applications barrier to entry.
Key to financial independence: Spend less than you earn. Save and invest the difference. Do it for a long time.
Previewing AND submitting takes just a few secs and it always works!
Miguel:
> or ourselves. I want to be as compatible as
> possible with the APIs that were published by
> Microsoft.
Alan:
Be assured that the day they decide you are a nuisance the VM will acquire a patented neat feature that kills you off. Just ask the Samba people.
(from Alan's reply to Miguel's message)
Could someone please play this email backwards, I'm afraid I'll be brainwashed into a Microsoft slut by the time I'm done reading it.
Over and over again, Miguel De Icaza has displayed the same sort of breathless excitement over Microsoft technologies that I'd expect to see from a newbie, not a developer of his caliber. It's extraordinarily short-sighted for him to believe that he'll be able to keep up with Microsoft. This isn't a matter of talent. Microsoft has shown, time and time again, that it has no problem locking out other vendors using API changes and whatever other means available.
Miguel seems to be ignoring the fact that Microsoft will very likely do everything it can to keep Mono uselessly lagging. They've embraced and extended every technology they've adopted, and even their own APIs shift constantly. I realize that the .NET Framework looks like a different approach, and Microsoft is acting like it's going to start playing nice. If it happens, it'd be a first for Microsoft. I personally have my doubts, and history backs me up. What a shame that a talented developer like Miguel doesn't know better than to trust them.
-zack
There is a point in your life when you realize that you have written enough destructors, and have spent enough time tracking down a memory leak, and you have spend enough time tracking down memory corruption, and you have spent enough time using low-level insecure functions, and you have implemented way too many linked lists [1]
Last time I felt that way, I dicovered Lisp. Java also fits the bill (and so does C++ with STL, BOOST and ACE.
Good article on this appeared today:
.NET SDK, the cross-language support looks impressive, but the illusion holds true only until realizing that all languages in the mix are virtually identical. Microsoft has actually invented the concept of skinnable language: changing a language's most superficial aspects, and claiming the result to be a new language. There is only One True Language that is C#, and "skins" offered by Microsoft and third parties. Just like in GUIs, these skins will alter the system's look and feel, add a few features, but never compete with a fully new toolkit.
One Runtime to Bind Them All
Some quotes:
The reality looks much darker instead. The CLR is not truly language-neutral, and it will ostensibly favor languages that look a lot like C#. Those not in this group will be severely bastardized, producing dialects which are really "C# with another syntax"; look at ISE's Eiffel# (or even Microsoft's own VB.NET and J#) for great examples. Programmers' choice will be limited to superficial features: whether to delimit their blocks with curly braces, Begin/End or parentheses. It's also worth notice that the CTS/CTS do not allow use of the full set of CLR features; for example, unsigned integers are supported by the CLR but not considered language-neutral, simply because many languages share Java's abomination for the signed/unsigned duality (this includes Microsoft's own VB) and there's no good solution for this issue.
-cut-
Playing with the
...convert Linux to a standard compatible desktop OS for evryone?, mmm... geeks will need a new hideout to hang and talk about bytes in hex language. Seriously, the singularity of Linux plus the community was great.
Sigs are for morons... Wait a minute...
* GNOME is not built by an individual, its built by a team of roughly 500 contributors in many areas.
* Decisions in the GNOME world are done by active contributors and module maintainers. I have given my maintainership status on every module I maintained to other members of the GNOME team as I got more involved with Ximian and later on with Mono.
So effectively I have no "maintainer" control.
Is it rude to say 'I told you so'?
~~ What's stopping you?
> Some people wonder if we have got a Microsoft investment or ;-) Man, I wonder what that would be like!
> contract (because I like this Microsoft technology). The answer
> is no. But I would take one if they wanted to fund my free
> software project
- Like being eaten alive by rabid hyenas
- Like being locked in a room where no one can hear you scream
- Like eating arsenic on your breakfast cereal
Or maybe it wouldn't be as good as all that.
Looking for a Rails developer in Chapel Hill?
The point is, just like the JVM, the CLR can run any language as long as the language is re-designed to run with the CLR. The Common-Language part of CLR is basically marketing BS.
...that The Register is nothing more than the IT version of a British tabloid.
Seasoned industry programmers will notice that the above is very much like Java and the Java VM. They are right, the above is just like Java.
The CIL has one feature not found in Java though: it is byte code representation that is powerful enough to be used as a target for many languages: from C++, C, Fortran and Eiffel to Lisp and Haskell including things like Java, C#, JavaScript and Visual Basic in the mix.
But this is surely misleading? It's true that this doesn't exist at present, but there's nothing in theory to stop it being implemented (isn't Java sufficiently "powerful" for this to be done?)
If Java is capable of doing it, then why not work on making compilers for those languages to Java's bytecode instead of working with a new language?
Strange, I'd thought that some friends of mine were still using it.
What is Alan going on about here? I must be reading the wrong news sites.
Kevin
me? i've helped put linux on the desktop of tens of thousands of customers sites.
not using a bloated piece of shit hard to write code for msft whoring piece of shit.
thank you.
now, are you perhaps projecting about watching springer and sitting on a couch you wanker.
The CLR does support some feature that the JVM does not (notably, pointers). However, it is not true to suggest that it supports multiple languages in a way that the JVM does not. Languages have to be re-designed to run within the CLR-- you can't run "real" C or Perl or Java on the CLR.
De Icaza's point about their api's is very accurate. MS has gone through extraordinary efforts to keep their api's backward-compatable. They may indeed "shift" focus, but that exercise is only additive. The api's that Mono is implementing from the ".NET" spec are guaranteed to exist on microsoft's platform.
The situation with lagging behind is most likely unavoidable. But atleast one has the option of developing software using the published apis, and having the thing run on unix and windows.
My $0.02
As long as you have a CLR on your target machine, this is the way it works.
..., or...) and running it in a virtual machine somewhere else?
This is the way Java works already. Any compiled class written in Java can run in any environment with a JVM. So what's so surprising about taking a CIL-compiled class from C# (or VB.Net, or managed C++, or
(The first thing that struck me when I heard of this was that "Oh, man, this must be slow." The first thing that struck me when I first ran it was that "Oh, wow, it's not.")
That doesn't help much. If it has patented yet unlicensed technology, then it can't be legally used in countries where the patent is recognized.
This is why free crypto software for a long time had an internal-RSA vs. external-RSAREF configuration switch for a long time, with the stipulation that RSAREF had to be used within the U.S.---as using internal RSA would leave you open to an infringement suit. (RSAREF was the only freely licensed implementation of RSA available, before the patent expired last year)
iSKUNK!
So what is Microsoft aiming for? Probably two things:
- Kill Java. They need to kill it before it becomes too wide-spread. They have a really good shot at doing so given Java's performance problems [insert thousands of flames from Java developers here] and C#'s advanced features like better encapsulation (you don't need to call set() and get() methods, you can map them to the = operator, for example).
- "Write once, run on Microsoft". In order to run .NET apps on another platform you would have to virtually re-implement (or substitute) the entire Win32 API, which will probably be modified at an ever-increasing pace. No company can keep up -- only open source may be able to do that, but Microsoft's opinion might be that open source is no real threat for the platforms where they want to deploy .NET. (After all, even the average Slashdotter seems to think that Linux will never be ready for the desktop -- quite idiotic, IMHO, but the more people believe that, the better.)
Insofar Ximian's Mono project may be a good thing as it offers a migration path where previously none existed (from Windows to Linux), even if .NET apps don't run properly on Mono (think about all the GUI stuff that can go wrong, for example). Besides, Java has never really been a mature technology IMHO and it's about time to replace it with something better, even if superficially less cross-platform.
Now the advantages of having a modular architecture become clear. Mono cannot break Linux, it cannot break X, it can probably not even break GNOME. There are more alternatives than you can throw a kernel image at if something goes wrong. Let's just wait and see what the Mono guys come up with. The only people who should worry about this are Sun and their followers. And maybe RMS.
Dude, what's wrong with you? The rest of us are swimming in chicks, piles of cash and fast cars! You must be doing something wrong! As long as you follow the instruction book they send you when you start an open source project, all this can be yours. It outlines in clear steps exactly what you need to do to make your fortune using Open Source software, and it always works! Didn't you get yours yet?
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
I for one think the back and forth between Miguel and Alan is one of the most interesting things I've read through slashdot for some time.
all the benefits i see are easily attainable by technologies alreday in the field and not controlled by Microsoft......
Come back now, ya hear.
and history with M$ and this kind of stuff is long and basically the same....YOU ARE FSCKED !!!
but yes they have changed, things are diffrent. they now write secure, robust, stable, documented, attainable API's and programming languages...OKAY !!!
I felt M$'s paradigm shift, i thought it was an earthquake.
Thankfully, Gnome is dead, Gnome 2 is 2 years late and may yet not see the light of day. I guess things aere not so bad afterall.
were you expecting to see a sig here? perhaps you'd rather see the inside of an ambulance!
Congrats, Corporal!
Withdrawal before climax is very ineffective and those who try this are usually called "parents."
Nice call broody.
:+)
Happy?
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
So, If I decided to stand beside Miguel and code for
GNOME in C#, where should I start?
The C# literature out there is too "in 21 days" for
an experienced programmer. What solid books are there
for the platform?
Miguel's arguments sound all well and good, but I think he is fundamentally naive about Microsoft.
.NET framework are still vague. Now, why might that be? The naive might think it's because Microsoft still haven't worked some of the details out. As has been stated many times before, Microsoft is betting the farm on .NET. Microsoft are a very competitive company, with one of the most lucrative monopolies in the world. Think about that. Imagine how Microsoft will respond if they start to loose market share, or control over developers, because of Mono.
.NET! That's because it's great technology and these days we're such nice people." But as soon as they feel it's a threat, well...
Microsoft have fought tooth and nail over many years to build their monopoly. They will do whatever it takes to protect that, within the boundries of what they can get away with these days.
Some parts of the
As long as Mono stays a little project (which it is as far as Microsoft is concerned) then they will play nice. They will be able to point to it and say "Hey, look, even the Open Source people are supporting
Don't be naive Miguel. You are implementing a copy of a system still under development the world's largest and most aggressive software monopoly. Think about that.
I particularly liked his comment about Linux coming from AT&T's non-free environment. He seems to imply that the .NET framework is to the future what AT&T UNIX is to the present.
> They have incorporated many ideas from Java, and they have extended it to address new needs that developers had. They took where Java left off.
ROFL. Well, there you have it! An endorsement for 'embrace and extend'. We all know about MS's attempts to do it with Java, so I guess thats what C# is. Java, embraced, extended. Kinda like when the CIA was caught doing something bad, they lopped off the bad department, christened it unaffiliated with the CIA, and thus, we have the NED. But I digress. Anyhow, I just found it interesting just how upfront and accepted this approach is now.
"Old man yells at systemd"
I have two things I would like to point out to you. Actually after preview it's alot of things.
.NET Framework stands on it's own feet, and developers in the Windows world love it....... We are witnessing the creating and deployment of a new standard...
So when you copy your binary from Windows that was compiled with the Visual Studio.NET and run it on your Unix platform, it will just integrate nicely with your GNOME desktop.
How exactly do you plan on doing that, as I'm aware of, at least right now. Microsoft hasn't submitted a full spec to the ECMA. Again; I will mention that Microsoft has never done something like this in the past; they've always blocked people out.
Your ideas on writing pieces of code in different languages is agreeable except in this case. Writing chunks of programs or pieces of code vital to the overall program in a different language which may or may not work to spec is just asking for trouble. (IE: using asm for sound routines etc etc many examples)
The
A standard that we will have to fight to operate with in the long run. Instead of unix camp supporting those ideals we should be supporting things like java or creating or own stuff. Just because windows developers love it doesn't mean it's not java with a couple of addons. If it was wildly different in any manner I would agree that we should be looking to use it; however this is not the case. A standard already exists and that standard is java
The only restriction is that all of our work has to be free software. But other than that, I am ready to take money from anyone or listen to any kind of proposals for making this happen
We all know nothing involving money comes without a price. Don't blind yourself to that. If someone gives you money, they want something. For Microsoft it'd be whatever it took to end the free software movement; period. Try not to be a pawn in their game, try not to play the game period.
Your comment that follows above italicized voids most of what you said earlier regarding inteoperability.
I sincerely think that you need to assess what your true goal is. This isn't nirvana, this isn't a place where you can walk into the middle of the street and not get hit by a car. This is a cruel world, I fear your intentions are good and your heart and mindset is in the right place but don't be fooled, Microsoft and others make this a very cruel industry. There are certain things that you can and can't do and currently they set the rules, this is what we are trying to break so that we don't have to worry about if a standard is submitted and we base our code on said standard that it will work across the board. Building upon their standards which do nothing to help that only helps them.
Thanks for your clarification it did clear up a couple of points though.
There are already Java bytecode compilers for both Eiffel and Smalltalk.
Like woodworking? Build your own picture frames.
I believe Microsoft actually obtained a software patent on at least one of the password hashing algorithms used in NT. If Microsoft ever pursued enforcement of that patent, anything that generated hashed passwords for use in the Samba password file could be at risk.
- jon
Ganymede, a GPL'ed metadirectory for UNIX
when this comes to its only possible conclusion: microsoft silently encourages this effort until lots of gnome folks understand how to write c# and write to the .net fwk apis - then they will crush mono/open source .net; they'll kill you with licensing and incompatibility; they'll take you to court and screw you silly.
.net fwk class libraries - what do you think those folks will do? learn something else, or put those skills to work - often for money - on windows.
and then you'll have a huge group of people that like coding c# using the
and i will laugh my ass off at you idiots.
Does anybody hear anything in his name? I am talking about Icarus, the story here seem quite the same.
1) I thought Miguel's arguments for why he's getting behind the .NET Framework(the CLI and CLR to be specific) were excellent. I have read much about the Mono project since the announcement of its inception, but this is by far the best explication I have seen. If he hasn't made me a believer, he has at least made me very curious.
.NET to me seem like the obvious directions(licensing as a standard to ECMA, support for multiple languages, etc.) that Java should be going towards, but, for whatever reason, is not. I think .NET(and Mono) if they pick up steam will give sun the kick in the ass they need to get moving on some of this stuff that they are not.
2) As an active Java developer, I think that this may very well be the BEST thing someone could do to help Java. The directions Microsoft are going in with
I personally think the main reason Sun has not further opened Java up is because they have not perceived the need to. They are doing some calculus in their head to make it as open as they need to gain developers from Redmond, but still try to hold onto as much as possible of it for themselves.
3) My largest concern with this, and I didn't notice Miguel addressing it there or in the followups, is the patent issue. My worst fear is everything would go incredibly well with mono: diverse compilers, robust libraries, etc. and we would all start to build code around it, and then about 5 years down the line Microsoft whips out a patent and demands royalties for all the labor that we have done under the illusion that it would be free.
I would love to see Miguel address this concern. I cannot speak for others, but I would be a long way to considering getting involved with Mono(whether it mean using their tools to develop, or even contributing to the developmen of libraries, languages, etc.) if I felt better about these things.
Sorry, even though Miguel does a good job of going into an indepth "answer", Alan Cox takes all the air out of the sail.
Java is NOT broken or lacking because it is inferior. If it is lacking anything, it is because no one has gone the one step further and fixed it. Do THAT instead of rebuilding from M$-poopie.
Finally, the simple statement by Alan that as soon as M$ decides they're a pain in the ass, poof, there goes the VM into patented special-feature land (see kerberos for a similar f*ckjob) and no .NET viralware will run via mono. Add this to the FACT that the predominant C# compiler in use will be the M$ version. De facto factamundo. The M$ version will be "special" while the free variants will be broken. Just like the PROPER implementation of java (non-M$) was "broken" with respect to the illegal perversions that M$ inflicted on it (and thus we have C#).
M$ is not changing its tune on whit. This is NOT a gift to the developer community. It is NOTHING but a means of continuing lockin (and conversely, lockout) and moola into Gates pocket. Nothing more, nothing less. It may be a nice way to build stuff at some future time for linux but it is NOT a means of being able to run some .NET windoze binary on linux (never happen except accidentally because the code was simple enough not to include "broken" M$-only freakishness). You will find that most of the important stuff will not run. Developers will STILL not make linux-friendly stuff because the bulk of the market is in M$-doze-land and they can run the broken/perverted .NET M$_VM-only stuff.
Stone cold fact. Sing the praises of mono for having the POTENTIAL of providing a nice development environment for linux coders (though unnecessary if they'd instead focus on the correct path of Java) but don't delude yourselves that this will mean windoze binaries working on linux.
In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
Miguel de Icaza has committed two sins against the "spirit" of "free" software:
As I understand it, Miguel is looking at the CLR part of .NET as a productivity tool; he believes that Ximian developers will create applications faster and more reliably using a clone of Microsoft's technology. And he is very valid in pointing out that cloning .NET will follow a long tradition of "freeing" proprietary technologies. If GNU can clone C, C++, Java, Word, and what-not, why complain about cloning the .NET CLR and C#?
Miguel is not forcing anything on anyone; Gnome and GNU will not be dependent on Mono, and Mono only imposes on those who wish to use it. So long as Miguel protects existing free code from proprietary contamination, I see nothing wrong with what he's doing.
As to whether he can succeed -- well, I think he's bitten off more than Ximian can chew, in that implementing certain pieces of the .NET CLR and VM is unlikely to attract hordes of Windows-based developers, nor is it going to offer the functionality that will allow cross-platform development. Perhaps the only "evil" involved here is that Miguel's efforts may legitimize Microsoft's monopoly as a false example of the "openness" the monster of Redmond. We'll need to keep an eye on that.
In the end, Mono will sink or swim based on its merits; if developers don't like Mono, they won't develop for it, and it will go the way of the dodo. On the other hand, if Mono works, it could be a Very Good Thing by making application development easier for Linux. Time will tell.
All about me
From the statement:
:)
:)
The CIL has one feature not found in Java though: it is byte code representation that is powerful enough to be used as a target for many languages: from C++, C, Fortran and Eiffel to Lisp and Haskell including things like Java, C#, JavaScript and Visual Basic in the mix.
Let's forget for a minute what the source of this new byte code language, or standard, is. If it truly delivers the above, that would be quite an accomplishment, and probably a good thing. Remember I said, forget about the source for a moment...
What I wonder is, how does for example parrot measure up against that? Parrot seems to be moving quite slowly, but I might be mistaken since I am not involved. Since it apparently is the new engine for perl 6, I'd say it must have something going behind it.
Anyhow, one of the things with parrot is at least said to be the possibility to compile a lot of other languages besides perl, such as python or java into parrot byte code - something that indeed would be a good thing for portability and the ease of running a little of whatever on any platform. I am not sure how deep these plans actually go, and how feasible it really is.
But parrot is where I would like to set my hopes, so can anyone tell me - do I wait in vain? Is CIL really the way to go? Or are we, in reality, simply stuck with different compilers and/or interpreters for different languages?
hey slappy...
perhaps... its not "business desktops", eh?
maybe theres 10's of thousands of clients running linux out there that no one seems to be counting. or even can tell what the fuck their running. nor do they need to.
jackass.
Whahh, whahh, whahh. My side is losing the war. America is evil because I live in my mommy's basement & I will never get laid.
see subject. now if it was a good troll, but it's lame.
Let's face it. As much as we may not like it, the majority of the computing world uses some flavor of Microsoft Windows as a desktop computing environment. Now, we can argue about this from many different perspectives.
(My personal opinion is that Microsoft is not necessarily evil on account of this. To be honest, Windows is actually relatively useful -and useful is what companies require to survive. Rather, Microsoft is evil simply for what they are charging for their software. Sure, they can charge companies whatever they like (I don't care). However, the common man for his home computer should not be charged hundreds of dollars for an operating system and office software. That is truely the real evil of Microsoft and the Microsoft monopoly.)
Anyways, back to my point. Miguel is right because, like it or not, Windows is a reality that we have to coexist with. We can view this as contending or perhaps cooperating. Whatever the case, it is here and that is that.
Well, as Miguel said, Windows is here and that means that
Now, if Microsoft had done a terrible job with
Therefore, it makes absolutely no sense for us to do our own thing. Especially considering the benefits that we will recieve due to actually getting along a little bit better.
Back to my prediction. I think that the computer world is heading toward a point where specific desktop platform is a non-issue. People thinking about the short term will fret about XP this, or Gnome that. However, something like
The journey to a non-platform-centric desktop world will have many parts. One of these will be the arrival of other competitors on the scene. That is hear, with wonderful options such as Linux/Gnome (foo on KDE) and Mac OS X. Ok, KDE can play too if they manage to provide things like
Other pieces of the puzzle are things that allow applications to be used from these multiple platforms. Well, suprise but some of these are already here. They best example to this is the internet. Other examples include emerging technologies such as the
Anyways, once again, just my two cents. For what it's worth, I hope someone gets something from it.
(Go Miguel, go. Go Miguel, go!)
Makes me want to develop a .NET application today!
.NET deeply but i have the impression that writing applications on Linux that use Mono based on .NET it's a bit risky license-wise. GNOME was born because KDE was based on QT , that had a commercial license, and now it's good to use .NET ? Can someone clarify what kind of lincense does .NET have ? I think it's a key point.
Seriously, i dont know
take a look at this Java article
Great, they named the product after A DISEASE.
The first thing that comes to mind here is the term "willfull suspension of disbelief", a common concept in science fiction. He could be talking far enough in the future to be speaking fiction. However it seems to me that the first thing everyone points out when Miguel begins gushing about M$ is that he's not keeping a historical context. Of course he does set historical context here in a great feel, felt found presentation. "We feel MS is bad, I felt their APIs were bad... I found they are new and improved." It looks to me like the willfull suspension of disbelief is on the part of Miguel in trying to look at MS as a technology company. The first thing anybody takes away from an analysis of MS is that they are not a technology company, they are marketing company that packages technology. Miguel is buying it.
As for me, I prefer to use my willfull suspension of disbelief for warp drive, gravity plating and matter transmission. In spite of the fact that our understanding of physics today indicates these things to be impossible I feel it is more pallettable and quite possibly more likley than a trustworthy or technologicly sound M$.
People like me stuck with GNOME (I can remember a disasterous attempt to use way not ready for prime time 1.0 release on a college campus) because we believed in the GNU approach that GNOME was taking. Now that Mr. de Icaza is working at a high paid job, apparently none of this matters anymore, he has come to embrace the "whatever gets it done" mindset.
But would some one explain to me how a complete reverse engineering of a MicroSoft compiler and all the other bits and pieces of .Net is possibly "getting more done in less time." Not to meantion what is going to happen when MicroSoft says "no you can't do that" and sets out to put and end to it, and I think from the thier track record you can count on it. The only reason they haven't done so yet is that none of this has become a "standard" yet and Miguel seems perfectly content with helping them make it a "standard".
The notion that we should roll over and accept the fact of a .Net world flies in the face of everything the GNOME project asserted from the very beginning. They told us that we didn't have to accept proprietary standards, we could make our own. Now we are being told that it is OK to accept a "standard" that just happens to come from a proprietary company, in this case the worst of them, MicroSoft, because "I like it better" and "it will help me make stuff faster".
Well this is all just absurd. No matter how calmly he tries to assure us that everything will be OK, I think that anyone that hasn't been living in a cave knows what getting into bed in any way with MicroSoft will end up doing to you. You pick up a snake, you are going to be bitten. The only possible reason I could see for wanting to do this is for Ximian to slip in some non-free parts of Mono they want you buy (but it's OK cause it is just to connect to all the .Net stuff you already have from MicroSoft) the same way they did with evolution.
Um, RMS basicaly said "That don't sound like something miguel would say. I would be suprized if it was true."
How is that "Flying off the handle"? (not that he dosn't).
autopr0n is like, down and stuff.
Miguel, in an otherwise well thought out and well constructed rebuttal to TSH (Typical Stallman Hype), makes one comment I take great exception to...something to the effect of "CIL is Microsoft picking up where Java left off."
.NET like it's a great new IDEA.
.NET allows you to compile ASP code." JSP. "Tighter integration with IIS allows you to better utilize ISAPI." Servlets. "Serialization and persistance." EJB.
Excuse me, when the hell did Sun Microsystems "leave off"? Version 1.4 is coming out the door at any time, with such nice features as buffers and extensive regular expression support, and all of a sudden they've "left off"? Java will run on nearly every system ever created and in all sorts of unusual situations and suddenly Sun dropped the ball?
Look, Java is effing huge. People do write applications in it, and I'm not talking about ticker applets. Today's machines can run Sun's graphics engine as well as they can run GTK, and it's available underneath any OS. Any "work" that Microsoft is doing on the CIL has already been done by Sun, with the exception that MS' byte code executes faster and has better UI support.
But is there any wonder? An implementation of the CIL requires a lot of work on the part of the window management driver authors, meaning there's plenty of room for tuning. An implementation of Swing requires very little -- implement a fiew basic AWT classes and Swing, which is "100% Pure Java," will work atop the older class. Meaning that there has to be a lot more abstract code in Java. Meaning you can be damn sure your application looks the same everywhere and there won't be any glitches due to "factionalied" implementations.
Of course, most of the development world is still coping with the idea that different platforms require different code (hence the laundry lists inside Makefiles). The Java paradigm won't let you do that. It says, "write that shit once and deal with the slow down, it shouldn't be a dealbreaker for cross platform code." It shouldn't be. But it is. Many development houses can't get over this. Hell, I mentioned to our IT guy that I was doing our mailserver in java and he thought I meant an applet, scoffing "Write once, run nowhere."
CIL is an attempt to get under the skin of this, but it's a flawed attempt. Jesus, all the development time and heartache going into the optimization of x-platform windowing "frameworks" and "toolkits" where there already is one seems headstrong. Actually, it seems idiotic, and it's why I seethe whenever I hear somebody drop
"But C sharp has improved garabage collection, language integration and runs anywhere." Yeah, that's Java for you. "But
Jesus, why isn't Sun mopping the floor with these idiots???
Hey freaks: now you're ju
You want the long and short reason Miguel is so hot on .NET? Market share for Ximian apps, period. The technology will let Ximian write apps that they can sell to both the Linux and Windows markets. Pretty transparnt, really.
.technomancer
Anyone ever wonder about what happened to Tim Wilkinson's/Transvirtual's Kaffe Java Virtual Machine? It held great promise in its day - open source and all that, but then it just fell off a cliff - basically it is stuck in a JDK 1.1 state and full of bugs. Why did developers lose interest in it? What is Miguel doing differently to motivate Mono developers?
Craig: "But look: we're a business, okay? We're in the business of licensing intellectual property. So if it turns out that in the future that business says, "Okay, we should license the patents to people who use that in order to be compensated for the development of intellectual property," maybe we'll do that. You're always welcome to come and ask us to license anything from sources to patents. But I mean, we are a business. We're not --
...
Craig: Well, at the end of the day, if you have a patent, you enforce the patent if it's valuable to you. And so I think that Microsoft and other people who have patents will ultimately decide to enforce those patents.
Brian: Are there any patents that apply or that will apply to implementers of .Net or Hailstorm?
Craig: I expect there certainly will be. I mean, the patent process takes a long time.
Even if Miguel & Co manage to squiggle past most hurdles that are thrown at their path there WILL be gates that render their rendition of .NET if not completely useless then at least peripheral. In the most idealistic case .MONO may provide a subset of the original control-freak's architecture, and even that 2-3 years afterwards when MS is already planning its obsoletion.
.MONO ever becomes even quasi-popular MS is guaranteed to sue it off this planet over patent violations and what.NOT.
.MONO or its MS-imitating breathen is for the real industry heavyweights to get involved in FORCING GNU/GPL-compatible standards-compliance at every level.
.NET.
A recipe for a successful open environment for Linux? And if
As far as I can see the only chance for
But just sit down and think about what Miguel's saying. If his wide-eyed naivety is correct, then Microsoft is just FORCING a migration down their developers throats that will HELP them support non-MS platforms with unprecedented ease. They'd be voluntarily GIVING UP not only their OS monopoly but also their de-facto development tool stranglehold.
I'm not going to remove Gnome from my systems quite yet, but I can imagine a few independent Gnome developers preferring to look for new challenges before contributing towards Microsoft's next plan in Total Domination through
Thank god there are multiple options available for Linux so that even if a group of otherwise talented Gnome developers end up completely wasting a few years the Linux ecosystem itself won't be endengered. Such is evolution under free conditions!
Should invading one's peaceful neighbours be opposed, or rewarded with trade deals?
Specifically, in what way are the Java bytecodes and VM "a bit more paranoid about things like security"? I've looked at both the specs and I don't see how this argument can be supported, but I'd seriously like to learn.
I spoke in ignorance, based on a belief that .NET supporters were serious when they were talking about the ability to run C, etc., in CLR. From looking at Microsoft's security overview, it does appear that they have things locked down pretty tight for the CLR's managed code execution.
Unfortunately, there aren't enough details there, and I was not able to find a good link to more details that would cover things like arbitrary memory access within a specific assembly, etc. Given the frequency of pointer passing in C based API's, though, I can't believe that any C code running in CLR would have much intra-assembly security.
So, it looks as though the CLR, when running managed code, at least looks as though it is on a similar footing to Java's security specs. The proof will be to see how much code winds up running within the managed CLR and how much winds up going unmanaged.
- jon
Ganymede, a GPL'ed metadirectory for UNIX
I liked the comparison of technologies, but it misses a main point. Or rather, I believe its primary audience misses a main point.
.NET and the JVM may be limited, let's not loose track of the fact that extern "C" {} and its ilk are far more limited. Instead of limiting languages to objects without templates and continuations, the current scheme of exporting function symbols and structs is downright embarrasing.
.NET as a library/component interface and leave each language relatively intact. For example, implement your library/component in the language of choice, but export the functionality (what is currently "handled" by library symbols) in a language-neutral but far more feature-rich manner.
.NET is not perfect. The JVM is not perfect. But I strongly believe that they are a step in the right direction. For example, the current choice(?) on UNIX systems is to have C-compatible exports for libraries.
While
What would be really nice is using
Doesn't "Managed C++" allow for advanced C++ features that simply are not exported for use outside the codeblock? C# has "unsafe" blocks for its own bit-twiddling.
We're on the right track here. Let's not throw the baby out with the bathwater!
- I don't need to go outside, my CRT tan'll do me just fine.
Re-read your comment about the evils of Microsoft and apply the same argument to Sun and Java. What is stopping Sun from charging huge fees for J2EE libraries? Nothing. Just because they are not presently doing it does not mean they will not in the future as their hardware revenue dwindles in light of the x86 chip's performance/price ratio. Remember - it was Sun that renegged on ISO and EMCA standardization - not Microsoft. Sun's "Java Community Process" is a complete sham and everybody knows it. Sun's vote is the only one that matters.
Sun never claimed that the JVM would be an optimal environment for bytecodes produced by other source languages. The projects that attempt to adapt other languages to produce JVM bytecode do so because it can be done--not because anyone sold the JVM for that purpose.
.NET. In his email, de Icaza hypes this feature. The JavaLobby editorial simply debunks this false claim.
.NET and CLR because this feature is hyped as a selling point both by Microsoft and de Icaza.
Microsoft is hyping the cross-source-language CLR when hawking
To summarize and to expose the strawman fallacy you try to sell us:
1. The lack of cross-source-language suitability is shortcoming for
2. The lack of cross-source-language suitability is not a shortcoming for the JVM because it is not a JVM selling point.
It is funny that you should bring-up "moral leg on which to stand," in light of your clumsy attempt at rhetorical deceit. If your mother was on a moral Thalidomide prescription while carrying you, that would explain your complete lack of moral legs. Perhaps you should check with a lawyer to see if you are eligible for payments from the class action lawsuits against Thalidomide manufacturers?
If you would read through Miguel's reply you would see that he doesn't trust that mono will be able to keep up with api changes. He says he believes the api's can all be recreated in mono, but that it is also possible that not all of them will be.
You are missing the bigger picture of what Miguel is using the CIL/C# concepts for. He very clearly states the intent is to use the MONO CIL to allow for his own development to be sped up. For anyone who's coded a medium to large scale project Miguel's remarks about 'implementing linked lists a few too many times' gets to the heart of what Mono is for. Regardless of what MS does with their API's, the Mono CIL libraries will allow for better, more reusable code to be developed.
I always did kind of think of Miguel as the Bill Gates of the open source world, its admirable that he is trying to play nice with the rest of the industry but this is obviously a way for MS to get a bunch of their patented technologies into the ximian codebase so they can kill the project at will. Has Miguel done any research into what patents MS has applied for that Mono is going to be using?
It is like Miquel has been borgefied and is now repeating a marketing chant like talk.
.net collective by creating cross compilation tools."
".net will increase your productivity - resistence is futile"
"you will join the
"Information and executable code will coexist in our different environments and our thoughts will be as one."
Somebody please remove the nanoprobes from him as he does not see that this will not help us.
Just my 2cents anyways!
Can't think of clever sig so had to settle for this! Damit it Jim I am a programm not a sig writer.
Miguel's experience with .Net seems to mirror my own. It's a very productive environment that's a blast to work in.
.Net on Windows, then having to do some work in any current GUI app dev system on Linux.
.Net, let him prove it, but don't suggest that we have to learn to live with less for political reasons.
Have you ever gotten used to working in a Unix/Linux shell then had to jump over to Windows and do something on the command line in *DOS*? Know what that feels like, that helpless feeling of losing all your magical powers?
That's what it feels like to work in
If RMS thinks he or his minions can design a better architecture than
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
Agreed, C might not be the fastest way to develop and there might be better solutions. Eventually .NET would be fine. I just wonder how long it would take to exchange the GNOME base. This "from Version X on everything will run on .NET" sounds like - "we wan't to rewrite a lot of tested code" which might delay development for a very long time until GNOME is stable again.
.NET is from MS and a hell lot of people in the OSS just don't like this company for some reasons. So no matter how good the new framework might be, i believe this decission will be the reason for a lot of people to turn away from GNOME.
There's also the physological factor which might be a problem.
...all these guys are backing Java because Microsoft has ALREADY SCREWED THEM. Your remark that Sun could do that too would be received with more acceptance (by me) if Sun were a CONVICTED LAW-BREAKING MONOPOLIST.
I want to be alone with the sandwich
Miguel is navigating dangerous waters that have wrecked other ships befoe him but he thinks himself a better captain. I have news for him: they were better than he thinks. As I see it, all of Miguel's arguments are sound and lull one into actually wanting to believe lions will lie down with lambs. Who can fault peace, love, and understanding after all? However, the real problem is not his logic but an underlying naieve assumption: that Microsoft has changed and will allow .Net to be cross platform when deployment volume becomes significant. When .Net starts to gain significant market share, they will do what they always do, add patent-protected feature that kills the cross-platform nature of their framework. It is in fact it is a deviously clever strategy--worthy of a Borgia Prince coached by Machiavelli himself. Give hope and encouragement to a large component of the open source developers which are givng Microsoft heartburn and let them devote an ever larger slice of their creative bandwidth and energy both feuding internally and developing to adopt .Net. Encourage them to do it--even help them walk deep into it and tie all their code to it inextricably. Allow .Net to change their architecture, setting the hook deeper. Then after the distraction has divided the open source community long enough and defocused Gnome, Mono and ensnared other open source projects, drop in a patented-feature that kills its cross-platform nature. They did it with Kerberos, then Samba, and lately NetApp using CIFS. I have absolutely no doubt they have not had a change of heart of strategy and will do it to Mono/.Net. It is only a matter of time. Voila--Victory Microsoft style. Miguel and Mono will be roadkill.
Miguel's argument can be boiled down to this: (1) writing big applications sucks because complexity grows geometrically with each line of code, and (2) integrating code written in different languages sucks because complexity grows geometrically with each line of code in either language. Basically, Miguel is fighting the same fight that every software engineer has faced since the beginning of time. Complexity grows much faster than anyone can handle, and as soon as you let heterogeneity into the equation, you're basically screwed.
The only problem that a CLR supposedly solves is the maintanence of the bindings. Instead of binding Gtk to perl and python and ada and C and C++, etc., you bind it in a library in the CLR. Except that to access that new CLR binding, you need to have perl and python and ada and C and C++ compilers that target the CLR, which is certainly a more glamorous job than maintaining bindings for every language under the sun, but is *WAY MORE* complex.
Basically, the CLR is middleware for the desktop. It does nothing to decrease the complexity of the system, it just shifts some of the complexity to another software engineer. Applications get easier to write, but new compilers need to be written and maintained.
When Microsoft's writing the compilers and you're shelling out the cash, you're only responsible for your piece of it - the application. Obviously this is good for you. But the free software community is responsible for all of it, from compilers to run times, to new bindings, to applications. *We* have to do it all. I wonder if Ximian will really benefit from dispatching software engineers to work on Mono when they could be working on the applications. Companies that buy stuff from Microsoft don't have to send software engineers to work on Mono, but free software projects will "lose" engineers because they'll have to work on Mono, not their respective projects.
The challege that software engineers face in the future is constructing systems that actually reduce the complexity of applications, rather than just shift the complexity elsewhere.
Outside of a dog, a book is a man's best friend. Inside a dog, its too dark to read.
.NET has distinctions between managed and unmanaged code. Furthermore, managed code has distinctions between safe and unsafe code. Unmanaged and unsafe code (as I understand things) need much more liberal execution permissions than does safe, managed code. If you want much more in-depth information, you'll have to go to the documentation for the System.Security namespace and look at the api. There is a tutorial on it from MSDN magazine
here.
Something like,
We started copying America's ideas, and then
had problems getting them to work, and we
started playing catchup...
And then we started dropping those things we
were working on that in hindsight were original
and could have turned heads, while the higher
ups were so sure they could get those American
ideas to work, and we were even more behind...
And now Buran (the Russian shuttle copycat) is
turned into a restaurant...
You need a shirt like this to remind the ladies that they find hackers irrestable. Women constantly say to me, "You know I do dig Unix... wanna go out?"
Is Miguel crazy, what about MS's current attempt at making OSS illegal (if you dont thing they are lobbying right now for that I have some land in southern florida for you to buy)
The Scorpion and the Fox
A Retelling of an Ancient Middle Eastern Tale of Two Enemy Countries
by Ms. Holly
Once long ago in the vast lands of the desert there was a great and vast river that had to be crossed for animals to seek food and water elsewhere in the desert. As it was on this day Fox had come to the point where it had to cross the river in its travels. As it stood contemplating the best way to cross the river safely Fox's life long enemy Scorpion came upon it and began to talk to Fox.
"Fox as I was walking along the river bank looking for food I noticed a particularily easy place to cross the river where the water is not so deep and not so swift. As it is I would like to cross over myself also but as I am so small it would be impossible. Would you be willing to take me across if I show you this place to cross the river?" asked Scorpion.
"Why should I take you across? How could I possibly trust you will not sting me on the way across as we have been life long enemies?" asked Fox.
"Why would I sting you? For if I stung you it would mean you would drown then both of us would die." replied Scorpion.
Fox thought this over for a bit while carefully watching Scorpion with a distrustful eye. Eventually Fox said, "Show me where the place is and I will take you across."
"First place me on your back and then I will show you. For otherwise you may jump in and leave me behind once I show you." replied Scorpion.
Fox thought this over for a bit while carefully watching Scorpion with a distrustful eye. Then walked over to Scorpion and allowed him to climb onto its back. Scorpion directed Fox to where the river was not so deep nor so swift such that it was a safer place to cross over. As Fox was swimming across the river and had reached the middle of the river Fox felt a sharp stinging sensation on its back and realized it had been stung by Scorpion. Fox cried out, "How could you sting me we shall both drown now?"
Scorpion replied, "It is better we should both perish than that my enemy should live."
Can't think of clever sig so had to settle for this! Damit it Jim I am a programm not a sig writer.
Has Sun sued Apple over Cocoa written in Java? Has Sun sued any of the large number of companies that have implemented a native compiler for Java?
The lawsuit was specifically over JNI and RMI. Sun had no problems with strict supersets of the Java language (COM integration for example). However the native interface was replaced with RNI(?) and RMI was simply ommitted.
This means that if people coded to the spec for native integration with portable C, it wouldn't work from one target to the next. And in the case of RMI, MS simply didn't want a competitor to DCOM within DevStudio. RMI is a big deal. On a "pure" Java platform, RMI was how distributed computing was done. You take that away and suddenly you're right back with C and C++ and their myriad of options for distributed programming but lack of any consistent single API that you can use anywhere.
You'll note that MS whined that RMI was just too time consuming to be bothered with. Then after the judgement, an RMI implementation was produced in less than a month!
THIS is the reason Sun has not submitted Java to a standards body. If Java is messed with, Sun would have no legal recourse while suffering significant liabilities in keeping Java's APIs consistent. Add that to the fact that no standards body has sufficient clout to do more than look at Microsoft (or anyone else) sternly.
Do I trust Sun completely. Of course not. It is a large, public company with all of the benefits and drawbacks of a large, public company. But I trust them *enough* (with their current track record) to keep Java relatively clean and consistent -- especially in light of folks like IBM making compatible and very fast JVM implementations.
Sun isn't as closed off as people would suggest. The Java API for XML Parsing was heavily influenced from outside contributors -- especially the 1.1 version with TRAX.
Where are the cross-platform, standard C and C++ libraries for networking, threading, graphics, distributed programming, database access, XML parsing, object serialization, directory (LDAP, X.500, etc.) lookup, authorization, authentication, i18n and l10n? I'll tell you where: in the standards bodies who cannot enforce what people use nor can they do anything about people who ignore the spec.
Where would Java be if it were submitted to ISO five years ago? Right where C++ is today with Microsoft providing the only viable development platform. Woohoo.
- I don't need to go outside, my CRT tan'll do me just fine.
What i like about this, is that in the future it could well mean that i could use my windows application in linux, NOT via wine, simply because they are .NET based. This would save alot of hassle for me, because Windows crashes at a pathetically high rate, yet I have to use it!
.NET (although, it wouldn't make much sense to most developer why they should) we'd get automatic cross-platform games...something most hard-core gamers would just love!
Then,games...should games ever begin to use
Bad thing: should Microsoft ever decide they don't like Mono...well the API will somehow become so that Mono can't reimplement it.
Derek Greene
should the eifel essay be seen as commercial marketing written by ms or as a subjective thesis.. i always have my questions when someone defends a poduct that he has a commercial position with... (eifel in visual studio.. dotnet.eifel.com.... subjective?).. but i still have it admit, they kind off convinced me of the nice use of a cli.. but then again.. i think this can be archieved without the cli too.. maybe rewrite binaries to include the definition, description and list of functions/methods/objects, write a deamon that is able to runtimely 8) execute the libs on demand, so languages who want to use the specific non language lib only should create the object (whatever) throught the deamon (kindof like java relection, but language independantly 8) ) .. oh whatever, ill try to write it, and evaluate my idee, when i'm sober again... damn dopehead
Like a lot of people, when I first read that GNOME was going to embrace a Microsoft technology, I was outraged.
The more I read, however, the more it makes sense. If the bytecode is truly portable this could produce an explosion of industrial quality programs that will run on Linux. This could potentially remove one barrier that is slowing Linux's growth as a viable mainstream desktop operating system. One has got to wonder what Microsoft's strategy is to thwart this.
So, I think we should proceed and implement Mono while keeping one eye open for that giant tube of Microsoft Vaseline.
The race isn't always to the swift... but that's the way to bet!
First, let me say that I use Gnome for my desktop and have used GTK+ for sizable projects. I've even developed smaller GNOME applications and found the various API's horrible. I can't stress enough that I'm not trying to cook someone here for the sake of cooking. I think the only point he makes here is that GNOME is without a solid technology direction and has suffered dearly for it for a very long time. In fact, he as much as points this out. So, call me a troll if you like but I fail to see how Mono isn't anything other than a new tech headline. Please read below if you care to follow his assumptions while he explains pretty much nothing.
The CIL and the promise of language independence
This is what CORBA promised more or less. Please correct me if I'm wrong, but didn't Gnome start out using CORBA and decided that it needed different technologies later in the cycle?
Are there not already language bindings for C, C++, Python, Perl and I'm sure several others? So tell me again why we need an interpretted wanna-be CORBA in the mix?
This technology allows programming languages to be considered on the basis of how they will perform for a given task, and not based on the runtime libraries that you will depend. Any software engineer should read this article:
Generally speaking, good engineers already do this. The choice of yet another tool somehow doesn't make this happen, though, choice can be a good thing. Adding a slow runtime is not going to make the awesomely optimized FORTAN libs suddenly appear and become compatible with various CIL implementations. In fact, really all you can say is that when you use this technology [CIL implementations], the language of choice will no longer effect performance rather it will be forced back onto the developers to optimize for a given language; that is, language specific CIL tuning tricks. On the other hand, all of the languages which use this are going to have a negative performance impact so it sounds like programmers will have even more choice (seemingly pointless). Let's see, I can pick C or C++ for performance or I can pick C/C++/C# [CIL implementations] which performs an order of magnitude slower. Hmmm. Hard choice. Tell me again why I should care about CIL, Mono and C#??
GNOME had always tried to have a good support for multiple programming languages.
No it hasn't. Save only for the CORBA efforts, GNOME is very C biased. One of the common complaints coming from the C++ KDE camp. The more correct statement would be, "multiple programming languages have always tried to support GNOME." These efforts have inflicted various levels of pain on their bindings implementors.
They have incorporated many ideas from Java, and they have extended it to address new needs that developers had. They took where Java left off.
What does that mean? Sounds like they are re-implementing Java. Why? Why don't you just further improve Java. I'll make it known here, I've never beena Java fan but this just doesn't make sense to me. It only makes sense to Microsoft because they badly need to de-crown Java. Aside from Microsoft, I don't see how this helps anyone. By the way, what are these "new needs that developers had", that existing technologies can't address? Do we really have to move to a VM to address these needs?? Somehow this seems like we're taking several steps backward. Anyone?
Libraries have been built by disconnected groups (PNG, JPEG, Gtk+, Xml, Bonobo, CORBA spec apis, etc) and the end result is that a developer eventually has to learn more than he wanted to in the course of developing a large application.
Might this have more to do with the fact that GNOME has been wondering without direction for a very long time and no one in the GNOME camp has been willing to settle and agree on a single API nor the technology behind these APIs? Does it have to be the programmer's fault? Can't it be that the API's provided have just sucked? Can't it be that the API's have changed so fast and often that programmers wonder what they are doing trying to implement a large application via GNOME? Can't this mean that the implementations behind the API's have been less than wonderful and seemingly change daily? Does it have to be because programmers don't want to learn? Seems to me, if programmers didn't want to learn, they wouldn't be trying to develope large applications in a highly dynamic environment (from an API perspective). Wouldn't a static API help address this? Won't simply adding yet another API compound this issue even further?
There is a point in your life when you realize that you have written enough destructors, and have spent enough time tracking down a memory leak, and you have spend enough time tracking down memory corruption, and you have spent enough time using low-level insecure functions, and you have implemented way too many linked lists [1]
Doesn't this really reflect the choice of underpinning APIs and implementations behind the APIs as much as the language. It's funny, I've developed very large applications (C/C++) before and never had nearly as many issues as one does when trying to use the GNOME/GTK technologies. Might it be that you've been chasing the wrong end of the technology spectrum? Might it be that you should of been looking to replace GTK and the billion other obtuse libraries that are the foundation of GNOME with better, faster, stronger technologies? Might is be that the number of memory leaks and associated debugging issues have something to do with design skills and/or coding habits? In not in whole, in part? Some part? Maybe a little? If you have even a small problem which is compounded over and over in various suite of libs that is GNOME, might this actually result in a large problem manifesting it self as obtuse APIs which lend them self to these issues?
Evolution took us two years to develop and at its peak had 17 engineers working on the project. I want to be able to deliver four times as many free software applications with the same resources, and I believe that this is achievable with these new technologies.
Wow! This really is magic technology1 It's going to 4x the level of productivity over any other tool, toolkit, and language. Wow! Does it come with a bridge too? I can't wait.
Even C++ was invented at ATT.
Yes, you're right, however, it was written by people who wanted to look at solving real problems with a different approach while leveraging the large C programmer base. It was need driven. The same can not be said for C# and CIL. Both of these are being driven my Microsoft to side step Sun and Java. The motive is as important as anything else, especially when we are talking about Microsoft. If, according to you, it's pretty much Java with some icing, why not go the shortest and best path for everyone and help improve Java? Go ahead, make the icing for Java. Then, you'll have everything you're asking for with a whole lot less effort and TONS more people will be rewarded for your efforts.
Windows developers know how to write code for it.
Do they? Windows developers are going to be coding to GTK's and GNOME's interfaces? That's news to me. As far as I know, what this really means is that Windows C# programmers will be able to code C# on unix. Last I heard, Windows C and C++ programmers already know how to code C and C++ on unix. Please, tell me again where this magic bean grows from...
Lets make it easy to bring developers from the Windows world into our platform.
I must of fallen to sleep or something because I don't see how this has suddenly changed. Anyone?
Training materials, tutorials, documentation, tips and tricks are already available in large quantities, lets leverage this.
I seriously question this. Seems to me, that would be true as long as the programmer is really using C# and the underlying CIL implementation is the same. But, you're telling me that you're developing your own CIL and your own C# implementation so I doubt this will be true any more than it is today for any other given language and platform combination. More magic beans. Mmmm....I smell fresh brew magic coming my way...
Sorry folks, I've gone on long enough...I'm simply tired of typing. Obviously I don't see anything that he's stating other than there's a whole bunch of magic in this technology that no one has ever seen before. Furthermore, I think he helps make a wonderful argument that GNOME needs someone else at the helm. And if he's saying that he's not at the helm (I think he tried to say that too), then GNOME very badly needs someone which is not him.
Greg
development (non-gui) than C or C++, but one
can not do tail-recursion in Java, the byte
codes are not there. Therefore, you can not
implement a functional language in Java with
the same performance as one can in C or C++.
I like Haskell, but can not generate good
Java byte code because of the above.
On the other hand, I surmise that such tail
recursion enabling byte code might make
security assertions harder to prove.
Now that same argument, applied to de Icaza applies perfectly. Mono is not going to be "bound" in any way to GNOME, that much is fact. So the core product itself remains free. But more importantly, Miguel has to answer to a board of directors, whereas Linus can do (or not do) whatever he wants. They provide funding. They call the shots. They agreed to Ximian funding of Mono. How is anyone (especially RMS) entitled to an opinion here?
Regardless of RMS's embrace and extend FUD about everything being GNU (I bet very few people see it that way, but if it quacks like a duck...), he has absolutely no say about anything Miguel does, period. His argument of "Miguel better answer to the community" can be cleanly compiled to "explain this shit to me, boy".
Oh, and BTW, I'm surprised nobody has mentioned this small detail: RMS was turned down from the GNOME board of directors in November of last year. From the precedent of previous flame wars between RMS and various other people, who can say this is not simply his way of giving GNOME a bad time?
And finally, let's face it: Anything that has a relationship (remote as it may be) with Microsoft is immediately turned into an argument about "giving into the dark side" and "fight against the evil empire". That sure gives way to very constructive discussion. Most of the posts here have either tried to denounce Miguel as a traitor or simply nit-picked his reasons for doing what he's doing. Very nice.
And to Miguel: Dile a RMS que encamine sus pasos a la progenitora de sus dias y la salude de tu parte =)
Go ahead and mod me down now.
The patent issue could be a problem, but there are a few things to lessen the worry:
1)Mono is being conservative and only trying to implement things that are already in existence. See this quotation: "We are trying to stay on the safe side regarding patents. That means that we implement things in a way that has been used in the past and we are not doing tremendously elaborate or efficient things in Mono yet. We are still very far from that. But just using existing technologies and techniques." from MSDN.
2) You say: "My worst fear is everything would go incredibly well with mono: diverse compilers, robust libraries, etc. and we would all start to build code around it, and then about 5 years down the line Microsoft whips out a patent and demands royalties for all the labor that we have done under the illusion that it would be free." It is unlikely that a surprise patent is going to bite you 5 years down the line. It is true that until a patent application is finally accepted or rejected, the patent claims are secret. See 35 U.S.C.A. sec. 122(a). However, this period of secrecy is fairly short. MS submitted the API specs to the ECMA at least a year ago. Those specs are what the Mono libraries are being built on. Those specs will likely be described as "described in a printed publication." If MS wants to patent any of the API's, it has only 1 year in which to do so. See 35 U.S.C.A. sec. 102(b). Otherwise, there is a statutory bar on patentability, and the specs are in the public domain. See id. If MS has applied for those patents by now, there is a maximum 3-year time span for those claims to be reviewed and accepted or rejected by the PTO. See 35 U.S.C.A. sec. 154(b)(1)(B). Generally, however, MS would have to prosecute its patent within 6 months of the filing date. See 35 U.S.C.A. sec. 133. Therefore, "secret" patents are likely to be in hiding for less than 3 years.
I hope this allays some of your fears. Cheers!
P.S. IANAL (but I hope to be one some day), and anyone construing what I have said here as legal advice to their specific situation is an idiot.
~~~~~~~~~
dissertus scribendo latine videri volo.
well done AND very informative - actually made me laugh quite a bit.
And since you are a fairly experienced IT professional, it follows that there are none.
Therefore, anyone critisizing Miguel de Icaza's idea must be a freakish Microsoft-hating teenage socialist.
Right.
The sin Miguel de Icaza is committing against the spirit of common sense is sometimes called overoptimism.
The approach he is taking, "if I don't hurt him, he won't have any reason to hurt me when I turn my back," can't reasonably be expected to work with a patient who has amply demonstrated his ability and willingness to do anything to continue dominating the people around him.
He's also forgetting a fairly important issue: he is, in fact, on one hand, hurting Microsoft.
Of course he's also helping our patient, Microsoft, either unintentionally or intentionally, by helping The Register sow discord.
The use of the phrase "we need to be able to use the right tool in the right situation" here is somewhat misguided.
There is an simple explanation: the phrase was originally coined at construction sites where the construction workers really needed to use the right tool for the right job. Right now.
However, the kind of IT work we perform at this day and hour is, by its nature, very different from construction work.
We don't just do the thing, right now. We have to care about the mechanics of the information business. The first copy costs, the rest don't.
From this, it's quite easy to see the flaw in the "right tool" argument.
The right tool for the job might today be Java.
However, the cost of learning to use Java is somewhat more than the cost of learning to use a hammer. But what the heck, we need to use _some_ tool and Java might be the best tool to learn since it's so widely applicable.
Tomorrow the right tool might be C# and .NET.
Let's say for the argument's sake that we'll switch from Java to C# and .NET, and pay all the associated retraining and rebuilding costs. After all, C# is marginally easier to use than Java and there's a free .NET implementation.
The day after tomorrow we open the paper and lo behold! Microsoft has announced a new version of C# and .NET which they hold a patent, or some kind of similar IPR on.
Damnit, we say. But we used the right tool for the right job, what could be wrong with that?
Our environment changes so fast that we can't possibly keep track of everything.
My solution is to pick the people I trust and let them worry about the details.
I've only met Linus once, but I trust him. In (much) lesser degree I trust Sun. And who wouldn't trust Apache?
Who do YOU trust?
We should have left the current OS-oriented paradigm for end users years ago. We would have, too, except Microsoft brought the full power of their monopoly to bear to keep us chained to the OS-oriented paradigm.
.NET.
Microsoft will not voluntarily release their grip until they devise a way into another money-for-nothing catbird seat. This is what they have been trying to do by buying-up consumers (MSN and XBox) and repositioning toward subscription-based computing via
Like I said, we should have had this years ago. But so long as evolution in this direction would dry-up Microsoft's cash cow, they would not let this happen.
Now they are making a grab for domination of this market.
Microsoft cannot countenance meaningful competition because their products are technically inferior.
If you look past their deep pockets and market share, all you see is a sub-par software company unfettered by ethics. They know this. That is why they take advantage of their lack of ethics to cover for their lack of technical competence.
...but if Miguel is really interested in fast development of Linux apps, looking to Apple would seem a better bet than Microsoft. Put resources in to OpenStep...any one who has used Apple's Cocoa framework (OSX) has seen just how powerful this is, and how fast apps can be created (that look fantastic and have incredible functionality for little code) in Java or Objective-C.
Yet another language isn't going to help Linux here.
Couple of points: ... If it has already been done why do it again?
1.] OO programming is a waste of time. You spend all your time learning OO then spend all your time learning C++, then you have to actually program in C++ (haha). Huge waste of my time. Especially fitting EVERY problem into an OBJECT paradigm.
2.] The world is not made up of objects, ask any respectable mathematician or physicist.
3.] Businesses and individuals will pay money for the dumbest things, partly due to corruptive influences and partly due to stupidity. If Darwins ideas are correct EVENTUALLY proprietary software will become extinct... to include Java, C#, app servers, etc.
4.] Programmers that build the best code rule should rule but often don't.
5.] If you need a GC to manage your memory for you, then you should pick a different profession.
6.] You want to build portable applications then use gcc which has been ported to virtually every hardware platform in the known universe.
7.] why is it that when java or C# programmers say they can build programs that are "as fast as" natively compiled C programs? Do they honestly expect us to believe that?
8.] Why do we want to solve problems faster? Perhaps more "thought" should be given to solving the problem instead of calculating the actual act of the solving in quantifiable time.
9.] If a java or C# class is broken and my application uses some feature of it how do I fix it?
10.] Why should an email program be hundreds of thousands of lines of code?
11.] Why do we develop multiple versions of the same kind of program? IIRC, BitchX, XChat,
12.] If I were the CEO of Intel I'd start pushing my assembler and c compiler, with the advent of programs that run ANYWHERE why do I need to buy an Intel CPU?
13.] If I were the CEO of Intel I'd Intelize Linux as much as possible, as soon as possible. For example the Intel Linux runs "rings" around the competition...Make it open source, etc. That will sell Intel/Linux boxes.
Miguel says: So when you copy your binary from Windows that was compiled with the Visual Studio.NET and run it on your Unix platform, it will just integrate nicely with your GNOME desktop.
.NET CLI integration with KDE?
Hmmmm, I wonder what the KDE people would have to say about that. Is there any talk on the KDE mailing lists about
I haven't heard anything from Miguel addressing this subject, but I am sure he must be aware of this.
.NET.
.NET, if only because it is from Microsoft. Some would use it even if it was just a warm pile of doo-doo....
....which it is not, as C# was designed by Anders Hejlsberg, one of the better minds of current software development, as well as I'm sure of a bevy of other not-exactly-morons at microsoft. Sure there copying Java, but from what I've read, they've made up some of the annoying things about it already(such as being able to transparently access primitives and their object wrappers).
There is no one out there(at least on this site) that does not seriously believe that Microsoft will try to embrace and extend projects such as Mono out of existence if they start to challenge their hegemony in this domain. Does this necessarily mean they will be successful? They have submitted it to the ECMA after all, and if they are holding bits back, well,then that's going to be a problem for both Mono and
I imagine what Miguel is thinking is that here is an opportunity to give to the open source community a cross-platform, cross-language tool. Obviously, this is a pretty bold goal, and it may not succeed. But in my mind it is a fantastic one, and I applaud him for striving for it. Is it the best way to go about? Would they be better off getting on the Java bandwagon(which has it's own licensing problems) or Perl(which has questionable momentum) or something else alltogether? I don't know the answer to this for certain, but from where I am sitting he hasn't made a bad one because:
1) Most of the hard design and specification work has already been done for him by Microsoft(and don't think Microsoft is thrilled about this...I'm sure it pisses the hell out of them but at the same time they saw it as necessary to compete with Java).
2) You know a lot of people are going to get behind
3)
All good mitigating factors in my mind. Still, it's far from a sure thing. But neither are most really cool innovative things...
John
Lots of insightful comments, but no one's actually picked out the yawning chasm of a non sequitur in the Mono programme:
If you like some of the Dotnet features, you have to clone the Dotnet Framework
I might like my mother, but I'm not about to clone her so I'll someone to marry in a few years - I know that her virtues can be found in other forms.
For example, we could develop a new CIL that was based on Scheme, but which could support programs originally written in Java syntax. This might be a better language superset - certainly many early LISP developers intended it to be an intermediate language, so the parens were always optional in essence.
Consequently, the only possible justification for cloning the Dotnet Framework is that MS tools will facilitate development of Mono apps, and that (equivalently) Dotnet apps will port to Mono. And on this point, it seems the crowd has spoken with one voice - it just ain't gonna happen.
There is a quote somewhere (I can't remember) where the guys at Eiffel said they tried for ages to get Eiffel to compile to the JVM but it couldn't be done, while it was easy for dotnet.
Gates even got arrested for driving his Porche too fast. And Jobs apparently had to beat the ladies off with a stick.
Lies about crimes
It's my understanding that J2EE is free for use even in commercial programming. Is this not the case?
I never said the work RMS was doing is bad, I said he's firey and has a tendancy to kneejerk. Demanding a response before investigating Miguel's comments is pompus.
Mods: Please moderate my comments to is not one with the hive mind (-1) from now on instead of veiling them in stuff like "redundant", thanks.
Luck favors the prepared, darling.
That sounds a lot like IBM's OS/2 strategy: Windows 3.1 apps work great on OS/2, so developers will want to try out new OS/2 specific features. NOT.
cpeterso
I'm sorry, but it needs to be said, what is the story with these stack based virtual machines? Isn't a stack based virtual machine a dipology of good sense? I mean really, who actually sat down and thought "yes, you know, it's a good idea to binary translate from a language that is significantly different (stack based) from the target language (register based), and, to do it at run time". What's the sense here? Exactly, what is it? As I sit through my 20 minute install of random piece of java software I have to wonder, couldn't it be compiling those bytecodes to something native right now? Like, even if it still did the groovy runtime optimisations, it could save itself a whole shitload of trouble it was to precompile it. As for the whole signed/unsigned duality, yes, I hit that in a major way as I tried to write my JVM backend for GCC. Try compiling any normal C program without unsigned types, go on. Then there's the lack of unstructured memory, object store, etc, etc. I'd like to see a C compiler for .NET that doesn't suck ass -- I hereby claim it cant be done. When you embrace .NET (or for that matter Java) you are killing native code compilation and, more importantly, you are killing C. Some people might like that but I happen to love the C language (well, not the C99 extensions, but hey).
How we know is more important than what we know.
Pardon me? Are we in a time warp? CIL is just another incarnation of P-code, and one under the control of a company with massive contempt for allowing competition. You can do the same thing with Java, and SUN doesn't currently have the clout to play the same sorts of games that Microsft can and has.
The GNAT developers have been able to compile Ada into Java byte code; I see no obstacl to doing the same thing with simpler languages.
Nice clarification.
:)
But you forgot to pacify RMS, so I'll do that.
"We're taking the best idea MS has had in awhile, and doing it *better*."
One point Miguel made really made me sit up and take notice. He pointed out that all of Gnu started out as Richard Stallman's attempt to make a free copy of a proprietary system, and Mono is just another attempt to do that same. I'd never thought of it that way, but he's right; it is very hard to remember in this day and age that 20 years ago, AT&T and company were really a lot like Microsoft as far as their treatment of end users, so why was it good for Stallman to propogate the then-evil-and-proprietary Unix interface and bad for De Icaza to propogate the .NET interface?
hee hee. Forget .net, BillG's gotta hate it when
that happens.
As I remember it met the standard, however it allowed the programmer to use Windows only features. So if the programmer used the Window's only features the program became non-compliant. MS-Java would still run other java compliant programs, and if you followed the java standard, what you wrote could be run on any other JVM.
I/O, I/O, its off to disk I go, with a read and a write, and a bit and a byte, I/O, I/O, I/O, I/O
I forgot to add this to my posting:
DEVELOPERS DEVELOPERS DEVELOPERS!
(Slashdot forced me to put more text than the three words, lame)
I am not exactly, totally enthusiastic about this idea of being able to use ANY language for a given programming project or combination thereof.
.Net architecture with a CLI as envisioned by Microsoft should produce software with unessacarily high engineering requirements than a single language platform.
.Net MONO vision for a Linux app would quite possible require COBOL, C, Java, PERL, FORTRAN etc programmers to cooperate in building a new desktop app or feature.
I have these reasons, personally, as a matter of observation in the software engineering of large complicated systems.
But I would like to make some observations:
1) The US Military in the early 80's and 90's had enourmous problems with private sector bids and implementation, of software in defense systems.
Namely, every vendor delivered a portion of the system in a different language. Some languages were specifically invented to deliver the final product.
These systems were large and complex, and non trivial engineering problems developed between vendors who needed to integrate thier combined efforts to deliver the product.
2) As systems were delivered the cost too maintain them was very high due to the fact there was no common reference for the software implementation.
What I mean by this is, if you have a flight control system, or launch control system, and it has a bug or engineering issue. It is very difficult to see exactly what the problem is if it incorporates or was delivered with 8 different computer grammars.
3) These systems had artificially short life spans due to the fact they could not be easily upgraded. That is too say, for example, the above flight control system coulnd't be upgraded because the target language(s) could not be reimplemented on new hardware.
My point about MONO and CLI?
Which is:
1) If we accept the historical data on building complicated pieces of software, we can reduce the costs of a implementation if it is reduced to one language or computer grammar to build its entire scope.
The military's solution to this was to produce key critical compenents of a defense system project using one reference specification. The computer grammar they picked was called ADA.
I question if the CLI is actually a good idea in a concept that allows or permits multiple language platforms to cooperate, if the goal is to produce software that is easy to use, is of low defects and is cost effective.
Historically the military with budgets far beyond anything commercially accesible couldn't do it and produce quality defense systems.
2) If the CLI provides a capability to produce a GNOME vision of support for multiple language platforms, given historic research in the software engineering areas, CLI suggests that anything built with a
3) Considering the fact that such a system would produce diverse computer grammars in any authors favorite language, for contributing authors, a future
If we accept that historic software engineering suggests multiple computer grammars result in systems that:
1) Require a very high engineering cost.
2) Quality of the software suffers because fewer individuals can access the entire code base to make corrections.
Personally, in IMHO organizational scalability and human productivity issues in building this sort of software are problems with N different grammars being used to build a single piece of software.
Therefore, I believe CLI is really not a positive addition to an Open Source Project.
-hack
Got Geometrodynamics? Awe, too hard to figure out? Too bad.
My reason is pretty simple, even if the compatibility is only one way, i.e. compiled on mono works on Windows but not the reverse.
Then I (and perhaps you) are ahead of the game.
I can now work on stuff using a language that simplifies a lot of things (it's only convenience, but boy is convenience fun). And I can share it with my windows friends.
If they want to work on my project, they'll install mono on windows and compile stuff that will work on Linux. I win. I get more bug fixes and they don't have to dual-boot in Linux.
The quality code that Open Source provides gets more coverage has more people start using our developement tools...
'GNU is a free re-implementations of Unix...'
Hey! I thought GNU is Not Unix!
Get your recursive acronyms right buddy.
"It takes many nails to build a crib, but one screw to fill it."
look -
i do a little more than "install linux", k?
now.. as for Miguel's "influence" and "brain" prowess...
his influence has been terrible. almost every idea of his gets large amounts of criticism and not the good kind either. his influence is DIVISIVE and not UNITIVE. its like... what is he trying to acomplish besides stroking his own ego? (yes yes, all the big guys have nasty egos, i know)
he's a very smart man, i'll give him that, and evolution is quite a nifty piece of software. But, i dont think that his design for the Gnome system is all that good. as a matter of fact, its a bitch to code for, overly complex and bloated. yes, bloated.
now, he's dealing with msft, who has been known to screw anyone who gets into bed with them. yay. please, come corrupt linux... go miguel...
Remember this?
How we know is more important than what we know.
look-
give reasons, instead of rants, and people might consider your statements
Look - what is Microsoft? It is a big company, one which is in a serious crisis right now - it's main revenue streams are drying up in the form of slow Office/Windows XP sales (well, slow compared to what they need to be). Hence Hailstorm, which is a big part of .NET
So - consider that Linux is the first real competition MS has had on the desktop/server market for years (forget apple, they have survived by selling to a niche, mainly artists, not business/home). Now consider that they are desperate for cash, lots of it.
So, considering all that, how likely is it that MS will invest millions into a new platform for Windows, and then allow it's primary competitor to make it about a zillion times easier to port code from Win32 to Linux? Not very is the answer. Remember this - Microsoft HATE Linux: their corporate leaders see open source as "wrong" etc, and of course Linux is already good as a server and making headway on the desktop, so how do they respond to this threat?
Seems obvious - they need .NET, but what they don't need is to be giving their competitors a leg up by developing an expensive technology. They'll try and keep .NET Win32 only, and they won't have to try hard. Yes, yes, we all know about the ECMA submissions, but lets face it: There are standards, and there are standards. C#, CLI etc. will be de-facto standards soon, but that doesn't make them anymore acceptable, regardless of whether they've been rubber-stamped by ECMA or not.
Having said all that, you've got to give Miguel respect: he knows good technology when he sees it and isn't afraid of politics. I love some of Microsofts software, I just don't love the company. Problem is, in cases like .NET they are inextricably linked.
yeah. anyway, rant over. it's much longer than i thought it would be anyway.
thanks -mike
OK, so the fantastical claim is that one could run .NET doze binaries via Mono (balderdash). Why is Mono in this regard going to be ANY different than wine? Windoze APIs are published so software developers can write windoze apps. C# is "published" - the APIs are there so anyone can use them. Big frickin' deal. Even with the published windoze APIs, with wine you can only run a fraction of a percent of windoze apps. The problem IS the intimate tie-in of API to windoze proper. C# APIs are no different (if they are, WHY?). They have their fingers tied right into the OS too.
All it seems that aspect of Mono is about is duplicating wine in a .NET framework instead of the classic win32 framework (which ties into .NET and C# since they ARE the windoze API that you are playing with when writing doze code, yes?
So the fantastical claim is that Mono will do better than wine at implementing doze api/functions in linux. That's what wine tries to do and they've been at it for years! It's nice, and all, but there's a buttload of windoze apps that just don't work in wine. By the time they do (IF they do) there will be new apps out there that people want to use that WONT work. Why wouldn't Mono experience the exact same problem?
.NET is designed with WINDOZE in mind. It is the target platform of .NET. To Gates, the internet and computers are and/or should be Windoze PCs or Windoze handhelds, etc. Everything else is invisable to Gates or is something to be extinguished.
Unless someone can explain why JUST because C# APIs may be published that means jackdiddle (vis a vis win32 apis being published and the success of wine) for running windoze .NET crap on linux? Even if you refer to VMs, the VM is designed by and for Windoze and M$, NOT competitors (or potential competitors).
I think that if Miguel and Ximian want a "better" developer environment, then fine, speak of ONLY that but forget about (entirely) .NET and anything Windoze/M$. It is pollution that will not work out and it confuses the issue. You like the development environment of .NET? Fine, go with a similar development environment for LINUX and that is ALL.
In Bushworld, they struggle to keep church and state separate in Iraq as they increasingly merge the two in America.
Sadness :(
We don't got no swing for gcj, either.
No swing = no gui = no rocking fast java apps.
Something tells me they'll end up writing a followup article that claims they were right all along, setting aside the fact that it was merely an interview with a single source.
...and let someone at FSF at least take a look at the BNF (or whatever) for Java and C# and come up with some kind of well designed language that is not controlled/created by Sun or MS.
Properly designed, such a language could practically auto translate from C# or Java.
The back end JIT could make Java, CIL or FSF(?) bytecodes.
Don't let MS destroy the free side. Get rid of Miguel and his greed/power worship now.
Treatment, not tyranny. End the drug war and free our American POWs.
See my user info for links.
They're saying "You know, I do dig eunuchs... Wanna go out?"
And if you're wondering, yes, I know...
That's a core part of the Mono project... Creating compatible libraries that work on Linux. Because of the OOP nature of the .NET frameworks, Mono can (and hopefully will) be ported to other OS's, like MacOS X. Linux gets Gnome-specific GUI tie-ins, and the Mac will eventually get Aqua-specific tie-ins.
Given the frequency of pointer passing in C based API's, though, I can't believe that any C code running in CLR would have much intra-assembly security.
The Java environment also uses a lot of pointer passing (in fact, it's impossible to pass a non-primitive type by value in the Java language without explicitly calling a copy constructor) but apparently, the difference between what people refer to as a "reference" vs. a "pointer" lies in whether pointer arithmetic is allowed.
Languages may allow what looks like C-style pointer arithmetic through iterators that overload the following operators:
Will I retire or break 10K?
I can already run them on Windows. In fact, I can run them on windows with IBM's or Sun's Virtual Machine. Should I want it to run on .NET, I would have to rewrite all the code to use .NET APIs instead of Java APIs. Since I have two years invested in our current project, that is a lot of rewritting that I cannot afford. Plus, I would lose the WORA app that we currently have.
FYI: JUMP is only for the Java language and not the API. Furthermore, it's only for Java syntax up to 1.1.4 (Microsoft's final release of Java from 1996?)
Okay, I must admit I have lost all respect for GNOME/Ximian, now.
.NOT Framework, then it will be just as bulky and unreliable as windows programs.
Miguel has this "if you can't beat 'em, join 'em" attitude, which usually goes along with being a follower, not a leader. Some friends I have, who are also MS people, always jokingly say, "Don't fight it... don't fight it! Let Uncle Bill take care of you!". I really hate that way of thinking.
Open source is about pure innovation, and problem solving, not porting others' work over to the free world (necessarily).
The other beef I have is with his comments regarding productivity. He says he has reached a point where he has "implemented too many linked lists", etc etc. My problem is, a good programmer knows how to reuse his/her code, and not reimplement ALL of it from scratch every damn time. You know why Microsoft's code is so bulky and unreliable? It's because they made their API's so attractive to lazy programmers who "don't want to deal with all that hard stuff" by doing it all for them. You write a "hello world" program in windows, and you'll be lucky if it isn't under 200Kb, because the routines and libraries that actually got compiled in are the same ones MS Office uses.
If we ignore the small and tedious details to programming, and base GNOME on the
Good software is not made by people who want to "get it done quickly and efficiently", it's made by people who want to spend the time to do it right, and "get it to run quickly and make it efficient". It's only one way or the other... we can drag 'n drop our way to building an application, but it sure as hell won't be as fast/reliable/efficient/good as a program written in a text editor, compiled by hand, checked and rechecked.
About 15 years ago, the city I grew up with threw its Mayor out of office.
The Mayor, it turns out, had worked out a deal with the only commercial lumber & hardware supplier in town. He would modify the building codes for the city so that anyone who wanted to build a new home would have to go to this one specific lumber provider to get their raw materials.
Today, the community I grew up with is about to throw Miguel out of office.
Miguel, it turns out, had worked out a deal with the only language-independent framework provider in town, Microsoft. He's trying to modify the way in which programmers build so that anyone who wants to build new apps has to go to this one specific provider to get their raw materials.
The Mayor of my home town hasn't held office, or worked anywhere, since.
Bowie J. Poag
Samba has to inter-operate with an M$ OS. if the OS evolve in some ways
that cannot be copied (patents), then Samba is screwed.
Mono does not aim to inter-operate with any other OS.
If it manages to do it, it's a bonus.
If M$ stops it from happening, Gnome still has a very nice programming
framework that M$ *cannot* take away from us in any shape or form.
Mono will be a success even if it ends up being entirely incompatible
with what M$ is doing, simply for the fact it will bring a great set of
features to Gnome.
Comment removed based on user account deletion
Comment removed based on user account deletion
Comment removed based on user account deletion
So basically, with this new CIL thingy, all my years of qbasic experience might translate into usable cross platform apps? GREAT!
rhy
I hold very few opinions. I hold information based on observation and fact. If you wish to disagree, please use facts.
Great reply, but does not mention these benefits and disadvantages:
.NET (see the 'just ask Alan comment above)
benefit 1) to author 1 component, you write 1 file, as opposed to authoring IDL files, C files, OAF files, and gods know what.
benefit 2) no more gtk+, gtk-- etc.
benefit 3) compared to java, a lot of my complaints have been solved - C# has destructors, attributes, foreach keyword etc.
benefit 4) I can use MS Visual Studio.
benefit 5) haven't tried yet the ActiveState kit, but now it looks trivial to link in a Perl subroutine.
problem 1) MS can screw you over by patenting part of
problem 2) MS can modify interfaces ('right to innovate', haha) to make sure your code stops working w/ theirs.
problem 3) C# lacks generic programming. (java also)
problem 4) for graphics programming (forms etc) you need to start using MS concepts such as Pen and Brush. So you have to create a pen before you can draw anything. You cannot just say 'graphics.drawLine(Color.Red,0,0,100,100);'
Other than that, I am excited just like Miguel.
I am downloading the Mono stuff. This might make me more insterested in Gnome than KDE.
George
.NET claims that any of the supported languages can be "first class citizens" of the platform. After reading .NET environment without re-writing the code to be more .NET friendly.
.NET environment ? Please explain how I can add C++ objects by reference or by pointers to .NET collections.
this article: it became pretty obvious that not all languages are created equal. This is definitly not my father's C++. Please, can someone explain how specific language features (pointers) are handled in the
If C or C++ components use pointers, can they crash the whole
Its incredible that people have lost their understanding of what a godsend the UNIX API is. Right now, you can download random POSIX programs off the internet and reasonably except them to compile correctly on your machine, whether you're running Linux, BSD, or (gasp!) BeOS. Its the portability of .NET without its performance problems and with the addition of an emphasis on open source software. Isn't that the way it should be?
A deep unwavering belief is a sure sign you're missing something...
-- Welcome to nowhere fast / nothing here ever lasts.
Remember the Alamo!
This is exactly what I was looking for.
You've gotta be kidding. With the way the patent office is granting patents on ideas that are not only obvious, but which also have plenty of prior art behind them?
In that kind of environment, it doesn't matter whether or not a technique you use is obvious, nor does it matter that it's been in use for some time. The patent office will happily issue a patent against it.
Your citations of the law make no difference. For one thing, the patent office has been ignoring the law when it comes to issuing patents. For another, the mere threat of patent litigation is going to be enough to cause a small company like Ximian to fold, because patent litigation (like any litigation beyond small claims court) is horrendously expensive.
You'd have to be an idiot to bank on someone like Microsoft not coming after you and others for patent violation, no matter how they obtained their patent(s) or how obvious/popular the techniques in question are. But that's exactly what Miguel is counting on.
I can't think of a better example than Mono to use to demonstrate that when deciding what kinds of architectures, protocols, and tools to use for an open source project, you're better off choosing the best, and not what you think the most popular will be.
I have a strong suspicion that .NET on the server side will be easy to do under Linux (with the exception of authentication, which will be strongly protected by patents), but .NET on the client side (which is what Miguel is working on) will prove impossible. That's because Microsoft will build Win32-specific things into their .NET client libraries. Or have we already forgotten what they did with Java??
Use 'slashdot stuff' in the subject line in any email you send me if you want to get past the spam filter.
I'm inclined to think Mono and associated technologies are more about a business agenda and less about developing a productive development environment. The side-affect of developing a .NET clone, appears to me... is that it will spur the growth of Linux based systems in the commerical markets. Another side-affect is that this effort could spur on the Java technologies to appear more quickly.
Regards,
Kramer
Oh, Bill, twist my nipples while you dribble Visual Astrolube# all over my hot latin bunghole!!!! And then put your MicroCock XP into my ass while I shout about all the wonderful things Microsoft has given me, including anal bleeding.
Jeezus. Someone check Miguel's swiss bank account for a large deposit from MS. I bet he was paid off in dollars and MSCum++.
Hi,
.net / Open Source Developers will run on Windows. But it is unsure, if the software of the .net / Closed Source Developers will run on Linux et. al.
no one mentioned the point, that MS will gain of the Open-Source-Community.
As they wrote in the Halloween-Papers, they are deeply impressed, how the OS-Movement collects the intelligence of lots of Programmers.
And if Alan Cox and some other guys will be right, the software written by the
Do you really want to be exploited by MS?
Timeo Danaos et Dona Ferentes!
küsschen
A simple library interface into GNOME is sufficient that any object may load the library and write Gnome applications. To deviate into the realm of
the CLI conversions. Most likely, interest will
not be there for researchers to port Lisp to CLI, and Perl 6 will not re-bytecode itself to run under CLI versus Parrot. Furthermore, if some of the interest in accepting Microsoft's paradigm is platform independance, you must realize that microsoft has crippled all platform independant standards it can acquire and produces competing standards to all others. To select an environment proposed by an organization AT DIRECT ODDS with Linux is to potentially sign the death warrant for Linux. Just as Microsoft is afraid of accidental GPL infection, Gnome must be similarly afraid of Microsoft infection. If we become bound to their CLI spec (and we will be, they have the critical mass to control it), we will NOT be
in control of the CLI spec. They will. And
having a spec that is not open to community
review is total suicide.
I repeat, suicide.
When I looked at Java the first thing I noticed was the lack of unsigned data types and anything less than 32 bits for integers (or maybe I just read the wrong documents). I'm used to reading in a data structure and having various data fields of 8, 16, 32, 64, 128, or 256 bits, both signed and unsigned, depending on what the field really requires. The embedded processors I'm used to talking to range from 8 bit PICs to 16 bit DSPs to 32 bit 68030s. These systems don't waste 32 bits of storage/processing when 8 bits will do.
A business partner is working on a Java based data logger and is having to do all sorts of tricks to access these fields, while it is easy for me to declare a "record" in Delphi or "struct" in C to access these fields. As far as I can tell about the CLR these types of fields and structures are easily accessed. It seems to me that being able to support non-crippled languages is a great plus for CLR.
Yes, I realize that I'm one of those preverts that thinks object pascal is far better than C++, but doesn't the world need some preverts :)
The problem with "frameworks" that appear now -- Java, all generations of COM, .NET, etc. is that they basically don't do anything useful. They are implementations of someone's "vision" how software is supposed to be developed, and how existing two component models -- that is, one provided by shared libraries, and another one by interprocess communications, should be replaced by something more "object oriented". And all those visions are wrong, simply because at this point mankind has as much chances to develop a better component model as thousand years ago it had chances to develop better means of long-range transportation than a horse and a sailing ship -- the level of technology was inadequate for that and will be for quite a while.
But people are ambitious and instead of writing little useful things -- say, a serializer for data formats that will simplify communications, they are trying to create a GREAT NEW SYSTEM with everything existing replaced with some GREAT NEW IDEA plus every petty piece of idiosyncaasy that a particular developer or company has at the moment. That produced Java, and that plus typical Microsoft's aspirations to create more incompatibilities per hour than they were able before, produced .NET.
The fact is, for a programmer who is writing a new code, "framework" like this gives very little -- dynamic libraries existed for a long time, anything written in C can be now called from any other language that can load a library, and IPC is still not used at its full potential, especially considering that programmers (Gnome ones included) were indoctrinated with superstition that context switches are more expensive than additional in-core pages while in modern systems context switches are cheap, IPC is efficient, but data-structures bloat that causes huge amount of data sitting in memory in a tangled mess becomes a huge problem for speed even if memory itself is cheap.
For a programmer who wishes to use components developed for Windows it gives nothing, too -- the whole strategy of Windows development is to keep things unusable outside Windows, and certainly mixing few proprietary pieces in the mix will poison everything developed on Windows just like things being developed now are poisoned for everyone who agrees to anything less than a complete emulation of every ugly piece that Microsoft managed to throw into Windows. In other words -- if you will want to run something developed for Windows, you will need Windows, all Windows and you will have very little chance to add anything but Windows. You can emulate it, but then you will basically become it. So all this talk about "inevitable success" of .NET on Windows is pointless -- at best you can outrun them (despite some umm... strange ideology changes that reminds me Communist Party line, the development of GNOME is going fast enough), at least you can ignore them (Microsoft will replace it with something else soon anyway), but you can't assimilate them.
Oh, btw., the use of borg-style metaphors was intentional but not essential to this piece of advice.
Contrary to the popular belief, there indeed is no God.
C++ has a rudimentary but surprisingly effective memory management tool called the autoptr (or auto_ptr, depending on who's talking). It's essentially a thin class wrapped around a pointer. When the class goes out of scope, the autoptr destructor is called. It deletes the pointer contained within the class, thus returning whatever was pointed at to the memory pool. It ensures proper object destruction, etc., etc.
If you don't know about the autoptr, then maybe you'd better not make statements about C++'s lack of memory management assistance.
I've used the autoptr a fair bit, and it's a surprisingly handy and low-overhead way of solving a lot of dangling-pointer errors.
Then why implement a C# compiler for it?
.NET truly is a good technology, which stands on it's own merit, and not because it happens to be the next lock-in tool of corporate behemoth Microsoft, then why would it not be immediately useful as a platform for existing proven Linux development tools and techniques?
.NET is a complete waste of time, which will fail to gain critical mass, despite the enormous pressure on developers from that fucking clown Steve Ballmer and his crew.
.NET ever play a significant role in it's frameworks.
Surely implementing something already in wide use within the Linux community - C, Java, Perl or Python would be much more useful than implementing some new, unproven toy language like C#.
If
Personally, I think
.NET offers nothing we don't already have except for the 'Made by Microsoft' stamp, but it's been a long time since that mark held any sway over me and my choice of development tools.
Obviously, Miguel de Icaza is free to do whatever floats his boat, but you can count me as a 'former user of the GNOME project' should
Maybe its petty politics and free-software rhetoric from RMS etc. that has led me to this decision, but thats how disillusioned I am with Microsoft and it's products.
I don't trust them, don't like them, and I feel much gratitude to the developers of Linux and all that has been built on top of it that lets get as far away from Microsoft and their shithouse software as possible.
I gots ta ding a ding dang my dang a long ling long
Comment removed based on user account deletion
(That apparently explains why when I request an install from Ximian.com, apt-get reports that the one package of evolution is going to consume something around 110MB of disk space...)
Unfortunately, the design of Java is such that it nicely interoperates with, well, Java, and um, Java, and, um, not too much else. (Unless you jump into FFI stuff that's always terribly fiddly, and leaps you back into writing constructors and destructors in C for the interface code...)
The "JVM" thing offers some portability, but Java suffers from the huge problem that all the Kool Stuff in J2EE and Swing and such that you'd like to use is, well, only marginally less encumbered by Sun licenses than .NET services will be by Microsoft licenses.
Count the number of major Java apps that are installed by default in your favorite Linux distribution. That number is usually zero, as you get to choose between:
And it really wouldn't do anything to solve the problems at hand, as it still mandates spending lots of time writing constructors and destructors. Plus there's no quasi-standard ABI, so that you'll be recompiling incessantly.
And then there's the KDE problem where library loading takes quite a bit of time because of resolution of virtual methods...
But I think the real reason for "no C++" is simply that Miguel doesn't much like C++.
So Miguel wants something a tad more dynamic than C/C++, particularly vis-a-vis memory management. I find it a little disappointing that he didn't take a serious look at some of the mature languages already out there.
- GNU Ada is a whopping lot more mature than G++, for instance, and would offer some "software engineering" merits.
- There are a good set of Eiffel compilers, and that combines OO with GC as well as the "Design by Contract" thing that Miguel has consciously tipped his hat to.
- Modula 3 is another "unsung language;" OO plus GC plus well-defined threading, even.
If he's looking for a better language in which to build more stuff like Evolution, I'd think these three to be eminently plausible Good Alternatives to designing a new Virtual Machine environment along with a whole set of compilers.If you're not part of the solution, you're part of the precipitate.
"Forget all you heard about .NET." This is a good quote. So let's for a moment forget about the superfluous features of C# and the .NET Framework, like machine-independance. What does it get you in the end? Faster application development.
I think that Miguel and the whole GNOME community is tired of being "second-best" in the desktop environment competition with KDE. The simple fact is that (not unlike Win32) plain old C and GTK+ are complex, error-prone development environments that no one will much miss. In fact if you look at GTK+, much of the GNOME team's time has been spent trying to copy object-oriented design features that are intrinsically availiable in other languages.
KDE has a secret weapon in its usage of C++ and QT; the true object-oriented approach is simply better and faster for large projects. If you haven't programmed, you won't realize that QT is basically "Java Swing for C++." The KDE project pushed out their next-generation desktop months ahead of the GNOME boys and they're not looking back now.
I say, hurrah to the GNOME team if they do finally pick a new, better, faster development environment. However, I am worried that instead of relying on proven, existing, free (as in GPL) technology like g++ or QT3 they will waste entirely too much time reimplementing the basics.
As usual. Did I say that? Don't want to sound biased!
|-) <----- geordi.
Tetris rules.
Um... wouldn't boycotting these technologies (such as they are) make their reach that much less than if you weren't boycotting them?
Weird to be seeing hardcore Microsoft propaganda from an open source project leader. Why doesn't he just go over to Microsoft and work for them if he wants their stuff deployed that much? Why is he even bothering to be involved with free software at all? Of course, didn't he also arrange to have a free project _drop_ the LGPL and go with a more proprietary-friendly arrangement? Who is this guy?
An ancient verse in Open SOurce Lore...
Gee, so I guess that makes Miguel de Icaza Celebrimor, building his own runtime based on secrets given to him by the Dark Lord of Redmond, disguised as Annatar, Lord of Gifts. Maybe RMS is Elrond, watchful and distrustful of this mysterious being bearing secrets...
Qu'on me donne six lignes écrites de la main du plus honnête homme, j'y trouverai de quoi le faire pendre.
but you have probably forgotten about this thing with long running applications - they tend to fragment heap... It does not hit you often, but when it does, it's a kill. Last time I checked there were no indication that there is a destructor writing pattern that helps you with fragmentation.
The way Miguel has been getting a lot of flak reminds me of the Apple billboards "Think Different".
It seems people with a vision sometimes are unfairly critized.
Miguel has a vision and is more than a step ahead of the crowd.
Lets cut him some slack and wait to see if he is a genius or an idiot, NO?
The long term plans for Java include items such as tail-recursion and templates but they came up too late in the dev cycle to include in 1.4 without pushing the release date out too far. 1.5 is slated to have an updated bytecode format (although presumably backwards compatible in much the same way that 1.02-era applets still run for the most part in JDK 1.3)
.NET
Don't presume that Java isn't a moving target for
It's not like Sun and IBM are planning on standing still and waiting for Microsoft to catch up.
- I don't need to go outside, my CRT tan'll do me just fine.
Right. A proof of concept was when other languages were compiled to java bytecode. There may have been earlier ones too.
If I remember correctly is used in Borlands C++ Builder & Delphi to some extent. C++ Builder compilers down to the same thing as Delphi and if I remember correctly they use the same linker. ... I beleive this is where they got this ideas behind CIL and combined it with the Java virtual Machine model.
Um. Nope. CIL stands for Common Intermediate Language.
Neither Delphi nor BCB are interpreted, JIT'd or run on virtual machine. Nor do they use an intermediate language of any kind.
The language that they have in common is in fact x86 assembly. The reason that the Delphi VCL can be used in BCB is that they share an object file format.
Maybe the idea of sharing a class library came over from Borland with Anders Heijsberg, but the method of achieving it is different.
My Karma: ran over your Dogma
StrawberryFrog
I think the open source community should give a chance to the ANDF/TDF technology in this field. It has the advantages Miguel tells mono has, but the concept under ANDF is simply better than that behind VMs, and it is 'software libre'. See this links:
/.
2 40 &mode=thread
...
h tm
Article from Bruce Stephens in
http://slashdot.org/article.pl?sid=98/10/20/116
A quote:
> P-code, JVM,
>
> The format isn't much like previous universal
intermediate languages.
> Largely, they were abstractions of machines; this is an abstraction
> of programs, or of programming languages. i.e., it retains all the
> interesting information that you need for performing optimizations;
> it just loses details like variable names.
ANDF Home
http://www.andf.org
ANDF Tools
http://i44w3.info.uni-karlsruhe.de/~andf/tools.
hectorNO@SPAMtheinbox.org
COBOL
Mercury
Python
Component Pascal
Mondrian
RPG
Dyalog APL
Oberon
Scheme
Eiffel
Pascal
SmallTalk
Fortran
Perl
Standard ML
- I assume they're also targets for mono.
Francis.
I hope it helps convey your message.
.Net you'll always be behind -- I don't understand the argument. If you *don't* start implementing it, you'll be even farther behind -- unless they're suggesting that you use something even better. If that's their suggestion, then perhaps they could point it out to you.
Really, those people who claim that if you start implementing
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
Today, I do quite a bit if work on AIX... Perl, Shell stuff, some C... prior to that, M$ technologies - Scripting - VB, Java, Perl.. lots more C... and tracking my programming career of 22 years, I've worked with quite a few languages. In that time, always bring the systems programmer type, there always seems to be one or two neat things I'd like to do from another language in a current project.
One example is using regular expressions... A few years ago, the company delevopment standard was VB so naturally, most of what I wrote is VB Script - with a lot of the real work done in my own C objects. I handle a lot of text so I wanted to use regexs for some maych/replace stuff. VB stunk at this (as well as their broken split function) I didn't know enough Perl at the time so I decided on JavaScript - beautiful - 2 lines of code. I wanted access to the submatches array back in VB... nope! Can't write to a VB style array in javascript and pass it back. Moreover, the nonsense required in C is much crazier - MS C has some BSTR and Varient data handling but it's a royal pain to work with. Today, I would have written the whole thing in Perl - why now and not then? Company Standards (read: programmers can do what they want now to get the job done as quickly as possible).
Many years ago I worked at a Bank. One VP just bought an IBM XT. Another had the idea of offering mortgage borrowers accelerated payoff (they had low rate loans and the going rate was above 11%). They got together and low and behold, the XT could calculate the interest saved by accelerated payoff. So they come down to IT and request a 'blurb' on each statement telling the customers how much they'd save with early payoff. Well, a minor problem was the mainframe - a Burroughs medium system - had only 1 compiler that could handle it... Fortran. In the end I had to write 3 programs to accomplish it all because of data conversion and other limitations.
Sure, one could argue 'why not Java' or why not this or that. The why not is because the vast majority of 'coders' out there code in one maybe two languages. If C# provides the 'glue' to tie things together without worrying about the insane cross compiler/application issues, then by all means... where can I sign up to help
The accomplishments in my career we mostly based on doing things others didn't/couldn't do. I refer to this as 'glue' code - leveraging what's available to come up with a solution. Over the years, I've found enjoyment in coming up with these but the 'getting there' is becoming tiresome. It's always the same problem - this tool will do 75% of what I need but I have to write it in X because ____.
Miguel's letter really inspired me to look at things from a bigger picture. He pointed out what got him excited and how programmers can become movtivated and more productive - which I can always relate to.
M$ had a problem (well, a few) and came up with .NET as a solution... Miguel looked at it and saw application for his current (and future) set of problems and said 'why not'. As for me, I do multiple platforms and anything that will enable me to get a job done quicker the better.
- an incredible amount of the code is the 'table' widget, which is a monster do everything widget, made of literally dozens of classes. I wont say who started copying some windows/java tree widget to make that one
...
- a lot of it is dealing, no, fighting, with the awful gtk and gnome and bonobo api's and many of their problems.
- because of the large number of classes a bunch of it is just class definition overhead, which is just cut and paste and nothing to maintain anyway.
The mail client, including the complete standalone mail api is only about 150KLOC of code, definely under 200KLOC. It doesn't include the monster table widget, or the gtkhtml widget (which is by definition a big task), etc.We spend very little time fixing 'memory leaks' and 'wild pointers' - it is an insignificant amount of time compared to things like working around bugs in other clients and servers, and pandering to every users desirable feature (oh, and cloning outlook). Most of the other problems we have are fighting with ORBit's reentrancy and timing issues from idle handlers and threading issues (which mostly happen because of ORBits reentrancy issues and gtk nor ORBit being threadsafe).
To be honest, I have no idea where the rest of the lines of code come from. Some of the code is much tighter than other bits of it. And some of the code has to deal with messier interoperation than other bits too (e.g. ical, ldap, etc).
I'm sure we could redo it in a year too, knowing all we know now. And I bet the outlook team was 1. bigger, and 2. didn't have to write every thing they used (e.g. html component). The comparison is a dumb one.
FWIW i've only ever written 2 list routines (1 double linked the other single - actually the single list routines are so trivial its not even worth librarying them), and they keep getting re-used again and again, because they just plain work. C rules in my book. I found java quite a bit less productive because of limitations in the language C doesn't have.
Sun Tzu:
I would apply the corollary: "One hour of your enemy's time is worth twenty of your own." The principle is that you are not only getting your enemy's preparations and resources to work for your goals, but you also prevent him from using them against you. Your own resources are many times more costly to build up. Microsoft sees Miguel as a tool, and they are waging Ximian against Gnome (the GNU GUI) with the goal of making GNU oriented developers waste their time even learning C#.If we need a new language, why don't more people get together and decide on all the goals of that language? If we need to link compiled code from disparate languages together, why not write a CORBA spec or something? The key concept here is DO NOT LET MICROSOFT SLIP INTO YOUR PROJECT'S DEPENDANCIES.
--- Nothing clever here: move along now...
Comment removed based on user account deletion
Comment removed based on user account deletion
Miguel is outlining a road map for open source development of large projects, like Mono, Gnome and possibly others to come for the next 4 - 7 years. .NET framework on every possible Unix platform ...... .NET, CORBA, JAVA BEANS, whatever ... ....?! I hope so. Maybe Stallman has to pass on his hat.....
There's a well thought rationale a behind the outline, based not only well understood technical reasonings, but also socio-cultural thoughts and believes, which in the end gives us a coherent big picture of a possible road to the future for open source development. It boils down to the following points:
a. Microsoft has (finally!?) delivered a potential ly great technology, what the company intends to do with in terms of marketing and power game is altogether another story.
b. We can't always be defensive about Microsoft. Yes, we have to carefully watch them in terms of legal behavior, but we also can embrace them and take advantage of them... imagine a
c. Yes, we want to get rid of the mono cultural on desktop....., then we'll have real choice:
Visionary
Sometimes. IMHO this debate has become a silly excerse in hairsplitting and points of view.
When will you realize that Microshaft very rarely has a "NEW" idea?!?!?!?!?!
1) I did not claim they they had. "Borland did not do X" does not imply in any way that "X is Microsoft's idea".
2) Microsoft is a company. Companies do not have ideas. People do. Microsoft employs, truth be told, some of the best and brightest people that money can buy. Add it up. You and I may not like that but it is the truth. For instance, I have a lot of respect for Anders Hejlsberg, Archtect of Broland Turbo Pascal, Borland Delphi and Microsoft C#
My Karma: ran over your Dogma
StrawberryFrog