Miguel de Icaza Talks About Mono 596
Matthew Revell writes "Miguel de Icaza defends Mono and talks about its future relationship with the Gnome desktop, in the latest LugRadio.
The leader of the open source implementation of .NET says no one is forced to use Mono but he hopes it will make life easier for open source developers. "
mono (Score:2, Informative)
Patent issues? (Score:5, Informative)
he hopes it will make life easier for open source developers.
I thought the problem was that Microsoft told everybody that they didn't have any patents on C# or .NET, but they are actually a licensee of somebody else who has patents on it? Miguel dodged the question on this one by simply stating that it was a reimplementation rather than licensing .NET from Microsoft.
Listening to the audio, the things on the horizon are Windows Forms and incremental improvements (tuning). People are porting applications today, usually you can just copy the binary, but ignorant Windows developers do things like screw up path separators, assume case-insensitive systems, etc.
what's the alternative? (Score:5, Insightful)
Well, let's be precise. C# and
C# is an ECMA standard with features that are found in dozens of other languages. There is no indication that there is anything patentable about it. In fact, if you look at the C# specification, it is clear that they have been careful to avoid patents that Sun owns on Java (yes, Java is patent encumbered).
Then there is
So, what's the upshot of it all? You can't avoid the risk of patent infringement no matter what language you use. However, at this point, it is pretty clear that C# exposes you to no greater risk than other languages. As for
It's not an ideal world, but if you want a reasonably popular and practical natively compiled language with garbage collection and reflection, your choice basically comes down to C# and Java. Java is completely owned by Sun: Sun owns the specifications, Sun holds many patents on it, and Sun effectively can control who may implement Java and who may not (they have chosen not to exercise that control vis-a-vis implementations like gcj and classpath yet, but if they want to, they can). C# may not be the ideal choice, but it's the best you are going to get.
Re:Python, Perl, PHP (Score:3, Insightful)
Re:Patent issues? (Score:4, Informative)
is not the same as
see? Not the language but the platform, so path/library locations relying on case insensitivity is the issue..
Re:Patent issues? (Score:5, Insightful)
Putting Unicode rules into the kernel is also painful; the collation rules for Unicode are huge and messy, and this relies on all users selecting the same Unicode compliant encoding (note that CJK users tend to prefer 2-byte encodings like UTF-16, while Latin alphabet users tend to prefer single-byte encodings like UTF-8).
Far easier to have the kernel say that a given byte ('/') is a directory separator, another byte ('\0') is the end of file name character, and leave user apps to interpret the byte stream. Then, I can use UTF-8 freely, and it's fine; a Japanese user can use Shift-JIS, and while his filenames look wrong to me, I can select any file he can create. In a case-insensitive system, he can create files that have different names in Shift-JIS, but are differentiated only by case in UTF-8 or ISO 8859-1.
Re:Patent issues? (Score:3, Insightful)
And I always use Path.DirectorySeparatorChar to tell me what the character should be.
Re:Patent issues? (Score:3, Insightful)
Re:Patent issues?-Hemophiliac Code. (Score:3, Insightful)
It's important to keep these distinctions clearly in mind.
(And vice versa).
Re:Patent issues?-Hemophiliac Code. (Score:3, Informative)
SWF (Score:2, Insightful)
I wish the Mono project and Miguel the best - they have done some excellent, excellent work and deserve to be commended.
Re:SWF (Score:5, Informative)
.NET is a litigation nightmare waiting to happen (Score:4, Interesting)
Re:.NET is a litigation nightmare waiting to happe (Score:5, Informative)
Re:.NET is a litigation nightmare waiting to happe (Score:4, Insightful)
Re:.NET is a litigation nightmare waiting to happe (Score:4, Interesting)
Not exactly (Score:4, Insightful)
Additionally, since
misleading and wrong (Score:4, Insightful)
Yes, large parts of
ECMA C# is a complete and powerful language and set of libraries--far more complete than C or C++. Together with the open source APIs that already exist on Linux (Gtk, Gnome, etc.), it gives you a fully open and documented platform to build applications on.
Additionally, since
Most open source Mono developers won't be affected by
If you choose to use
Also note that Mono is in a far better situation in this regard than open source Java efforts: Sun has draconian compatibility requirements with which they may be able to shut down any open source Java project whenever they choose.
Re:misleading and wrong (Score:3, Interesting)
Mono's goal, indeed its reason for being, is to clone Dotnet. Not C Sharp, not the CLI, but the complete platform. That statement has been there on the go-mono site since day 1.
Now suddenly (that is, since about October last year) the true effort involved in staying on the MS treadmill has finally become apparent to the Mono developers. So we now have the emergence of Plan B, which cheerfully discards any notion of Dotnet compatibility and leaves Mono as yet another bytecode system, of which we
Re:misleading and wrong (Score:3, Interesting)
That's the reason Novell is paying the bill, and it is one goal among several.
Now suddenly (that is, since about October last year)
There is nothing "sudden" about it; the Gtk# bindings were there from pretty much the start of the Mono project, long before Windows.Forms was even usable. Almost all Mono GUI apps are written with them.
I'm sorry you weren't paying attention (or is it that you just make up false "facts" to badmouth projects you
Re:.NET is a litigation nightmare waiting to happe (Score:5, Informative)
"Question 131: Could patents be used to completely disable Mono (either submarine patents filed now, or changes made by Microsoft specifically to create patent problems)?
First some background information.
The
Mono implements the ECMA/ISO covered parts, as well as being a project that aims to implement the higher level blocks like ASP.NET, ADO.NET and Windows.Forms.
The Mono project has gone beyond both of those components and has developed and integrated third party class libraries, the most important being: Debugging APIs, integration with the Gnome platform (Accessibility, Pango rendering, Gdk/Gtk, Glade, GnomeUI), Mozilla, OpenGL, extensive database support (Microsoft only supports a couple of providers out of the box, while Mono has support for 11 different providers), our POSIX integration libraries and finally the embedded API (used to add scripting to applications and host the CLI, or for example as an embedded runtime in Apache).
The core of the
Basically a grant is given to anyone who want to implement those components for free and for any purpose.
The controversial elements are the ASP.NET, ADO.NET and Windows.Forms subsets. Those are convenient for people who need full compatibility with the Windows platform, but are not required for the open source Mono platform, nor integration with today's Mono's rich support of Linux.
The Mono strategy for dealing with these technologies is as follows: (1) work around the patent by using a different implementation technique that retains the API, but changes the mechanism; if that is not possible, we would (2) remove the pieces of code that were covered by those patents, and also (3) find prior art that would render the patent useless.
Not providing a patented capability would weaken the interoperability, but it would still provide the free software / open source software community with good development tools, which is the primary reason for developing Mono.
The patents do not apply in countries where software patents are not allowed.
For Linux server and desktop development, we only need the ECMA components, and things that we have developed (like Gtk#) or Apache integration.
Question 132: Is Mono only an implementation of the
Mono implements both the
Credits"
Additionally, I don't see any objections to Java being used in the Linux world. And yet:
- Both are backed by software giants
- Both companies have traditionally been fiercely proprietary
- Both of them offer a new language/platform.
- While C# is now an ECMA standard, Java is still architected by Sun's engineers (even though Sun can claim that they have a "community" process
for extending the language/specs)
- Both have patents of various aspects of the implementation.
- Both have proprietary implementations in the market.
- Both have evangelists eager to win converts to the new platform.
- Both the corporations are profit driven.
So why is Java okay?
Gnome for Mono doesn't use .NET (Score:3, Interesting)
The Gnome for Mono libraries don't use
keep the
There won't be any
And you better hope that Mono succeeds, becaues there is really not much else out there to develop the next generation of Linux desktop apps in.
Not much else? (Score:3, Insightful)
Why I love mono (Score:4, Informative)
For rapid application developement under Linux I'll take C# and mono any day.
Cheers,
Adolfo
Re:Why I love mono (Score:3, Interesting)
Re:Why I love mono (Score:3, Interesting)
Java doesn't staple your testicles to Windows.
Re:Why I love mono (Score:3, Insightful)
There are several ways to write "enterprise" web applications in java. If you don't like EJB & servlets, maybe you'd like to use struts with JDO, or java server faces with hibernate, or just procedural JSP with straight JDBC or mix and match whatever pieces you want.
Are you sure MS go it right, or did you just pick the wrong coding paradigm out of the available J2EE technologies?
Re:Why I love mono (Score:2, Insightful)
C# is one of the best ECMA compliant languages today.
This is an utterly nonsensical statement. ECMA is a standards body, you can't "comply" with an organisation.
ECMA has published a number of specifications, such as ECMA-262 (Javascript/JScript/QtScript), ECMA-334 (C#) and ECMA-335 (CLI).
Even if you were to take your original statement as referring to ECMA-334 rather than ECMA itself, it's still nonsensical. C# is "one of the best" at implementing its own spec? Duh! In other news, green is the
Re:I used to think the same thing! (Score:3, Interesting)
Microsoft has no control over the language. It only has control over some libraries that have Linux counterparts.
Using C# on Linux will make the transition easier for many Windows Developers.
Using C# on Linux will increase the productivity of many Linux developers.
How what I wrote above will destroy the chance to something better is a really good question that I would like answered.
I post non anonymously to have a chance at inteligent discussion... you on the
Nice to hear. (Score:2)
Good news.
And it does (Score:2, Interesting)
Mono was a way for me to extend my growing
I just downloaded 1.3 (Beta) and I am VERY Impressed with how far they have come I converted a small web app about 10 pages to run under mono, and it does perfectly, I only had to steer clear of a few of my more ecclectic
Mono is and has been self hosting
Re:And it does (Score:3, Insightful)
Fortunately, this is not a popularity contest. If it works best I'll use it, and if it becomes the patent minefield that others suggest I'll
Mono And Linux (Score:5, Informative)
I've tried Mono, and while I've little desire to move from Python over to Mono, it's a very well done project. The GTK bindings are quite nice, and C# as a language is much, much, much easier to work with than Java.
The big "if" is whether or not Mono can become to popular without Microsoft trying to pull the plug. However, even if that does happen, C# is an ECMA standard. There are plenty of native Linux libraries that can be used in place of the Microsoft classes. For developing GUI applications under Linux, you're not going to use the Windows.Forms libraries anyway, you're going to use GTK. Mono can stand on its own as a good RAD language for developing graphical applications for GNOME.
I know it's fashionable to bash MS at every turn (and as a Mac/Linux user I do all the time), but C# is a nice language and the .NET libraries are infinitely better than the cruft of Win32/MFC and the other mess of libraries that Microsoft used to shove down programmer's throats. Mono has done an excellent job of taking those libraries and making them work on Linux.
Even without the Microsoft libraries, Mono still provides a good framework for RAD under Linux and GNOME. If we can make it as easy as possible to transition between Windows programming and Linux programming it only helps propagate Linux.
Re:Mono And Linux (Score:4, Insightful)
Not just interesting, more like astonishing given that the languages are practically identical.
Re:Mono And Linux (Score:4, Informative)
-Mark
Re:Mono And Linux (Score:3, Informative)
1) Events
2) foreach (versus for loops)
3) Properties (versus accessor methods)
4) Boxing/Unboxing (versus Classes for intregal types--also used as the "implicit" operator)
Forgive me if I missed anything, but this is all I can think of. On the flip side, Java has a few things which I consider better than C#'s implementation:
1) Explicit declaration of the exceptions a given function will throw.
2) Better handling of pac
Re:Mono And Linux (Score:5, Informative)
* Attributes.
* Support for unsafe code.
* P/Invoke vs JNI is a fairly big difference.
* Operator overloading, which on the
If comparing C# 2.0 vs Java 1.5:
* Iterators (yield keyword).
* Anonymous methods.
* Fixed buffers
* Generics for value types (Java only has generics
for reference types, everything else must be
"boxed", the Int vs "int" problem).
Now, from a pure usability standpoint, I like
the tiny things like:
* `mono program.exe' runs your program, no need to
pass a class name, or a path or setup the cp to
run.
* The layout of my files is not constrained to
one-file, one-class and the file system hierarchy
does not have to match the namespaces I have
chosen.
Miguel.
Re:Mono And Linux (Score:4, Interesting)
`mono program.exe' runs your program, no need to
pass a class name, or a path or setup the cp to
run.
'java -jar program.jar' would be the Java equivalent.
The layout of my files is not constrained to
one-file, one-class and the file system hierarchy
does not have to match the namespaces I have
chosen.
one-file - one-class is not neccessary with Java either, although I guess you are somewhat more restricted than in C# (which I don't know well)
Re:Mono And Linux (Score:5, Insightful)
You do realize that it is possible to place global third party libraries in a common location right? Try
Or do all Mono programs only use standard APIs?
Re:Mono And Linux (Score:3)
However, count me among those who prefer JNI to P/Invoke and unsafe code. Why would I want to pollute my java/c# codebase with c code? I prefer putting this code in a seperate library and using p/invoke or jni. However, I find p/invoke suffers from the "everything must be dynamic" syndrome that I found with COM. There is no good way to verify at compile time that I am not doing something blatently stupid. At least JNI forces you to compil
Re:Mono And Linux (Score:3, Interesting)
So does `java -jar program.jar`
The layout of my files is not constrained to one-file, one-class and the file system hierarchy does not have to match the namespaces I have chosen.
I guess I've just never found this to be a problem. It has forced me to keep my code organized which I found to be a good thing. And any third party libraries should be in jar files for effeciency.
Re:Mono And Linux (Score:3, Interesting)
I found that as a language its much less restrictive than Java. Java's API's are pretty rigid, well defined, C# seems to be a bit more relaxed.
Now for me, thats the thing I like better about Java in that it forces you into a particular coding style/way of doing things. I've had the de
Mirror for ogg files (Score:3, Informative)
I've put the high and low quality recordings of Season 2 Episode 9 - 14 February 2005 in Ogg format up here:
http://www.gobisoft.net/tmp/ [gobisoft.net]
Just in case the Slashdot effect takes hold.
How Much .NET Can I use? (Score:3, Interesting)
I ask this because I do ASP.NET development where I work, and would like to be able to do some of it on my Powerbook or Linux desktop at home if I need to. I know PHP is the better solution under Linux, and I would prefer to be doing it but it's not a supported product where I work so it's out.
Re:How Much .NET Can I use? (Score:5, Informative)
On Linux, you can use the Apache module mod_mono [mono-project.com] .
It is available on the Mono project's download page [mono-project.com].
It allows Apache [apache.org] to serve ASP.NET pages by proxying the requests to a slightly modified version of our XSP called mod-mono-server that is installed along with XSP.
It doesn't work on the Windows version of Apache yet, but work is in progress to make that work, too.
Interoperability Potential (Score:3, Interesting)
Hope for ex-Java and Linux Developers (Score:3, Interesting)
Please don't hit me... (Score:4, Funny)
Awww, I bet those of you that have been beating him up for the last 3 years feel really mean now!
Don't worry, it will pass.
Leaving out half the community? (Score:5, Insightful)
Re:Leaving out half the community? (Score:3, Insightful)
To whom? The OSS community? They'd love it. In-house development? No distribution = no problem. Large commercial corporations? Frankly, the cost of a Qt licence is minimal for a 100% Qt developer. Small/one-man commercial corps? Not acceptable. But my impres
Re:license & both are obsolete (Score:3, Interesting)
1. How many commercial apps are written in Qt?
2. How many in GTK+?
Answers:
1. Many.
2. None.
As for Gnome and KDE being obsolete, well, that's a rather strong way of putting it. Both will continue to evolve, and in the long run, will probably have some sort of managed code core as a development option. But I doubt you'll see the end of native code in those desktops for a very long time to come.
Choice of GUI toolkit (Score:4, Interesting)
Re:Choice of GUI toolkit (Score:5, Informative)
make Gtk+ look like every other app on the system.
The feel in Gtk+/Win32 is already emulating the
host OS, so you get both look and feel.
Re:Choice of GUI toolkit (Score:3, Interesting)
Patents: ASP.NET, ADO.NET and Windows.Forms (Score:3, Informative)
Question 131: Could patents be used to completely disable Mono (either submarine patents filed now, or changes made by Microsoft specifically to create patent problems)?
The controversial elements are the ASP.NET, ADO.NET and Windows.Forms subsets. Those are convenient for people who need full compatibility with the Windows platform, but are not required for the open source Mono platform, nor integration with today's Mono's rich support of Linux.
The patents do not apply in countries where software patents are not allowed.
Hopefully, the patents will fail in the US too; not many applications can be developed without ASP.NET, ADO.NET and Windows.Forms packages.
Give Credit Where Credit is due. (Score:3, Interesting)
On top of that as someone who studied programming languages for my masters project I have to say the
Re:Server side Java for multiple platforms is not (Score:5, Funny)
Yes, "Java has a hell more production sites
than Mono". This is whats wrong with this
argument: if "having more production sites" is the
metric to choose a technology over something new
then we would still be running code in assembler
and Cobol. After all, there were more production
systems written in those than in C, C++ or Java
when these languages came out.
Love,
Miguel.
Why Mono is necessary for the Linux/UNIX world (Score:5, Insightful)
I can perfectly understand that many hate Mono simply because of the fact that it was Microsoft who designed
I suppose that those bashing Mono have never actually worked with C#. Personally, I'm really an anti-MS guy, but at work I was basically "forced" to use C#, and I must admit, it absolutely rocks. It is simply a much more productive language than C or C++, especially for GUI development. When you get a specific task, you're simply much more likely to get it done and get it stable within a given time in C#. The biggest productivity gain (besides the syntax candy, like foreach loops) comes from the garbage collection. Sure, other languages like Java have that, too. But, as far as typical DESKTOP applications are concerned, Java has failed to gain popularity both with users and developers (I suppose the major reason is that Sun took way too long to finally allow Java GUI apps to integrate themselves seemlessly in the desktop by adapting a "native" look & feel; but that's another issue).
Linux apps have done a great job in the past years in getting competitive to their Windows counterparts. So, if Linux wants to stay competitive with Windows in the future as well, there must be a similarly productive language for GUI development on Linux. Standard C/C++ with GTK+ and QT can certainly compete with the horrors of MFC easily. But, in my opinion, not necessarily with the combination of C#/Windows.Forms, as far as speed of development is concerned.
Also, if we want to see more commercial applications to run on Linux, there must be a way to easily develop portable GUI apps. Imagine you're the boss of a smaller software company. You develop Windows apps, your customers all use Windows (welcome to the real world!). Maybe 3% of your customers consider switching to Linux. And now you're starting that new software project that must be finished within a certain time. What are you gonna do? Buy QT, and tell your developers to start learning it? Use GTK, with all related problems on the Windows platform, and tell your developers to start learning it? Nope, that's not what the typical boss is gonna decide. He'll let the developers use what they're used to, M$ visual studio, where they can click together the GUI. He'll tell the 3% of the customers that Linux isn't supported.
And this is exactly what may change with Mono!
And talking about the patent issue: Giving up on Mono because of potential patent issues would mean giving up on the patent issue itself. Mono could be the best "bad" example how software patents support a monopoly and limit interoperability. The fight against software patents isn't over yet. At least not in Old Europe.
bye,
Till
Mono needs some work (Score:4, Interesting)
Mono needs a bit of work to work with PaX [grsecurity.net], but it's possible. I mentioned the necessary changes [kaffe.org] to the Kaffe team; but they apply to any JIT.
The issue is that a JIT compiler like Mono generates code at runtime. Because it's not generated in realtime (it's compiled at the loading of an executable module, one time), it's feasible to dump the executable code to a file on disk and mmap() it in.
PaX won't allow code to be generated in memory unless the program has mprotect() restrictions off and uses mprotect() right. It's safer to rewrite the JIT compiler though, since you wind up with a stricter security policy that way.
Furthermore, Exec Shield's NX emulation is flawed, and the use of mprotect() in those ways would disable the protections on large parts of the binary. If anything happens in or above the stack, the whole stack is likely executable. This is in fact one reason I prefer PaX; a slight modification to Red Hat's kernel to print X instead of - in /proc/[pid]/maps for !PROT_EXEC memory that's actually executable prints out a good deal of areas that are executable but shouldn't be (rwx vs rwX).
Mono is flexible enough that C and C++ can be compiled to .NET. Microsoft supports this, as mentioned in earlier slashdot posts. It's really important to consider .NET and Mono as insecure, and to make sure they're adequately protected. If you're running all your programs in Mono and Mono has to disable PaX, then you lose the benefit of your GrSecurity-enhanced kernel. (same with ES).
Re:Mono needs some work (Score:3, Insightful)
For the benefit of readers, those "necessary changes" are to require a JIT to generate shared libraries for each class that's loaded, and then dynamically load the shared libraries.
That's fine for a JIT that is only used to generate static code for each class. But it's not efficient for dynamic optimisation techniques, such as run-time profile-driven code optimi
Platform independent? (Score:3, Interesting)
Don't use .NET at all (Score:3, Insightful)
If they managed to do that, I might start to consider using it. It's a pretty amazing piece of technology, but don't let yourself be blinded to every other issue because of some neato tech toy fetish worship. As it is, I'm just appalled at how stupid they have been with this. They are just playing right into Microsoft's hands, sticking their head into the guillotine as Microsoft gives them some nice flowers to smell and pretty pictures to look at. Fucking so fucking pathetic.
What about wx? (Score:3, Interesting)
I've a c# developer, and I'd be tempted to play with mono, but I have to wonder why Python with the wxWindows and wxGTK toolkits isn't getting more exposure.
My biggest problem with Java apps is that they look equally bad on any given platform. Based on what I've seen with wxWindows and wxGTK, the apps look like native apps. Is Python missing something essential?
Python and QT (Score:5, Insightful)
Re:Python and QT (Score:3, Interesting)
I prefer GvR's ideas [artima.com] about static typing for Python 3000 better (basically, all type checking is done via interfaces), but it doesn't actually exist yet
-Mark
Cross platform apps and scripting (Score:5, Interesting)
I started looking into it a few weeks ago when a project I was (am) working on required a scripting engine that could handle running scripts from anonymous sources, id est untrusted.
We went through a large range of languages: python, perl, angelscript, php, lua, etc etc but ended up with a few rather large problems in all of them: either lack of sandboxing and protecting a system from the effects a script could have, or lack of documentation and user friendlyness for those who may not be too familier with programming (yes, we have to consider them)
One of the dev's on the team brought up that
Another thing to consider, is that Mono will run any CIL compiled code, meaning that we can support a virtually innumerable count of languages, with very little excess implementation (find a compilier and link it into the project).
So now we have: cross platform scripting (with sandboxing eventually), and the ability to present the users/programmers of the scripts with the syntax they are most comfortable with using.
Not only that, but Mono is going to save us a fortune on our development costs, because we may be able to drop Qt GUI implementation from our project roadmap, which averaged about $6000 for each developer(Qt Enterprise with QSA), I believe, and had some -major- limitations on what you could use thier scripting language for (for example, you're not allowed to use it to expose features of Qt itself to the scripter, which may be neccisary for our project)
Mono does the job, fits our specs almost perfectly, saves us money, and is built on CIL ECMA standards. What more -could- we ask?
Re:Cross platform apps and scripting (Score:3, Funny)
My friend, you have some big balls. You're going to release something which needs a lot of security when the underlying security bits are unfinished and thus cannot be tested. Good luck with that.
"
These LugRadio guys... (Score:3, Funny)
Cheers,
Richard
Geekiness vs. Zealotry (Score:3, Insightful)
It's obvious to me from Miguel de Icaza and other Mono coders that what they're doing is as much for community as it is for their company. And yet this same community manages to react in opposite ways. Those who dislike a project (any project) will react from challenging the instigators with trying to prove their ideas work to downright maligning their efforts. On the other hand, people who like the project do their best to try and help out knowing it would benefit the community in the end.
The odd thing is: it's the same project. The difference is in people. It's a tool that's not inherently evil. If people are divided in this case, it's by their own choosing.
Whoever that blubbering guy is in LUGRadio that always has two reasons for anything, would you kindly reassess your intentions for making those comments as its clear from MdI's words what his are.
Re:well.. (Score:5, Funny)
Re:Is he really a big cheese (Score:5, Informative)
It needs to be defended for a number of reasons. Linux zealotry (why would people move from Windows if all the software is cross platform?), laguage zealots (IMHO, C# is a nice language to program in, but the java guys scream bloody hell) and people afraid of MS putting the legal smack down on Linux over API issues,just to name a few.
Personally, I think that Miguel's reliance on WINE is a mistake, but we have discussed this here, and it does have immediate benefits for the windows.forms and directX stuff. I know people who are programming frontends on both Windows and Linux, using a combination of the GTK interface and Windows.forms, and they love it.
Re:Is he really a big cheese (Score:5, Informative)
Re:Is he really a big cheese (Score:4, Insightful)
Miguels possible next project; An open source tool which reads and writes the patented MS Office MS-XML.
You see, he has a habit of following/copying Microsofts tech, no matter how many patents are behind it. People need to stop following Microsoft because it obviously can't lead to anything good or well designed. IMHO.
LoB
Re:Is he really a big cheese (Score:3, Insightful)
Re:MONO is a disaster. (Score:3, Insightful)
Re:MONO is a disaster. (Score:3, Insightful)
We do?
OS/2 wasn't portable. The PPC version was never finished. It suffered from a lot of other problems. It made no attempt to be secure. The same can be said for Windows 3.x and 9x, but MS had an (arguably) secure and portable version (NT) for those that needed it.
Sure, it was better than Windows 3.1, but Microsoft won largely on making Windows 3.x apps and device drivers work transparently with Windows 95. OS/2 kept the Windows 3.x loo
Re:MONO is a disaster. (Score:4, Insightful)
Right cause if we ignore it, then it will go away. It doesn't matter if the industry decides to use it or not.
Re:MONO is a disaster. (Score:5, Interesting)
Fact is there are no better cross-platform tools out there for development, or at least that is the opinion of the users and developers of Mono. People develop and use Mono not because they think to themselve "Hey man, It's Microsoft! They've got to know better," they used it because the same cycle of C/C++ plus a bunch of toolsets are painful to use. Use whatever you want, I like Python myself. What I don't like is this negative FUD campaign against Mono.
Re:MONO is a disaster. (Score:5, Insightful)
Dude, it's not so much against Mono & co. - they're our peoples. I think they've done a great job. However, it is against M$ and their history and mindset. Until they start acting like there's a world where many types of languages and platforms can exist on their own merit, instead of wanting to own everything, then I won't trust them and I'll have to cast a skeptical eye towards anything berthed from Redmond. When was the last time Guido pronounced <insert Ballmer or Gates soundbite of the week here>?
Besides, I speak not from the typical
Re:MONO is a disaster. (Score:5, Interesting)
wrong. mono is about "embrace and extend"... the same technique that microsoft has been using for years to swallow or crush competing technologies.
it's nice to see redmond on the receiving end of this formula for once, don't you think?
Re:MONO is a disaster. (Score:3, Insightful)
Looking at the pace of change and who's in the driving seat, I don't think it's MS on the receiving end here.
Re:MONO is a disaster. (Score:5, Informative)
You are wrong, Microsoft has not done anything
to prevent code from running on Mono.
There is the real problem that we do not
implement all the class libraries, specially those
that are being phased out like EnterpriseServices
and Message Queuing. But then again, those are
really marginal tools which were complex to use,
so its not really a problem.
The other bit is COM support, which we do not
support as there is really no "COM" to talk to
in Unix anyways.
Miguel.
Re:MSMQ phased out? (Score:4, Informative)
API is.
The new API is part of Indigo.
Parent NOT Troll! (Score:5, Interesting)
It is 100% true that GNOME was founded that way. And I believe, more than anything, that the plunge into
I've said it over and over that Miguel and crew have done a remarkable job. Really. But the biggest flaw in their tower is the fact that it's a spawn of Microsoft. I can completely understand their target of a langauage/platform that they know will succeed. But we all know Linux/FOSS to M$ is all about FUD, embrace and extend, etc... How many times has anyone from M$ talked about working with the GNOME/Linux community vs. destroying or crushing it? Plus, now that Miguel is part of Novell who do you think is going to prevail in court? On that one, I'm gonna put my bet on the company with $40bln in the bank (and that ain't Novell). Anyone up for the 'M$ pummels Novell again' show?
Until M$ comes out with an open source license for
For myselft, years back I started dabbling in C# thinking I'd broaden my programming knowledge. But I have to say that I prefer Java over C# as C# is just too Microsoft and there's something about the feel of it that gives me goosebumps. Like my old, really old, yukky VB days.
Plus, while most people don't care, I can't separate the poilitics from the code on this one.
Re:Parent NOT Troll! (Score:3, Interesting)
yeah, and unix, c, and c++ were the spawn of at&t. that didn't stop the gnu project, even though at&t at the time was every bit the monster we see today in microsoft.
what's your point?
Re:Parent NOT Troll! (Score:3, Insightful)
with $40+ billion in CASH, Microsoft can and does do what ever it pleases with other commercial products/companies. Though the smartest company to ever go to court with Microsoft was Stack.
Re:MONO is a disaster. (Score:5, Interesting)
This post, and all it's subposts, really anger me. From what I understand,
As such, how does this "legitimize microsofts attempt at monoplizing another market with yet another windows-only product exactly similar to an exsisting [sic] multi-platform product"?
1) It's not Windows-only since MONO runs on linux.
2) It doesn't legitimize any attempt. http://www.mono-project.com/about/licensing.html [mono-project.com] does not state anything about an 'evil' Microsoft licensing scheme, or invasion of Microsoft bed bugs into your code:
Perhaps I fail to see the "licensing minefield created by Miguel", as the fact that it's an open standard, and that the MONO licensing itself isn't restrictive, pretty much subverts that.
On a final note: even if all my points are completely off base, and wrong: I ask you one thing: When did we turn from software developers who seek the 'best' solution to 'X' people?
"I'm a Mac person."
"I'm a Linux person."
"I'm a Windows person."
"I'm an X person."
Since when did it become about branding yourself with something, over choosing the best technology for the job? Half the sub-posts here are all about not choosing the tech because it 'feels too Microsofty'. C# was built by Anders Hejlsberg, who designed Pascal, and Delphi, both successful languages in their own right: and Borland technologies.
Oh no! Now the anti-Borland people aren't going to use C#!
When will this nonsense stop? We're all so anti-being branded, unless we do it to ourselves. Pick the RIGHT solution: not the one you've been known to cower behind.
Re:MONO is a disaster. (Score:5, Informative)
Perhaps you should read your own link. Only C# and CLI are ECMA approved standard. The other 80% of
Re:MONO is a disaster. (Score:3, Informative)
And perhaps you should read a bit more about Mono: Mono comes with two sets of APIs.
One set is a reimplementation of
The other set is a binding of C# to existing Linux open source tools
Re:Published does not mean free of patents (Score:5, Interesting)
the concepts, not the implementation.
So the reality is that any modern implementation of
anything remotely interesting will infringe in
a bogus patent. You write a hundred lines of code
and you are infringing someone.
In my opinion, we can fight bad patents or we can
move into a safer industry, like selling panties.
But in particular, if you are talking about ASP.NET
the question you must ask yourself are:
* Do I use any concepts that exist in the
Framework in my code? If so, should I remove the
feature?
* Did the concepts in ASP.NET (or any other
technology) exist prior to the
Remember that you must be thinking "concept" and
not "implementation", because a patent is much
broader than that.
I believe there is very little new under the sun,
and that prior art can be found for all the
interesting parts of the
didnt, I would be selling soap.
Miguel.
Re:MONO is a disaster. (Score:5, Interesting)
MS Actually let .NET and C# become ISO standards unlike many of their past developer tools and languages. So when a large company develops an ASP.NET application and then decides that they don't want to have to continue support IIS or Windows, they now have a choice to migraite to Linix!
Mono provides choice for those that are currently developing for the Windows platform. So does Java. Mono is FOSS. Is Java?
I am currently working on a project that uses C# for the GUI. Our customers use Windows workstations, so we are writing software for Windows. We are actually moving away from Java which was the old language of choice at my company. You may argue the reasoning behind this, but it is the decision that was made and we are using C# instead of Java. I am hopefull that a more mature Mono (in a year or so with full System.Windows.Forms) may provide us with a way to run our client programs on Linux workstations, if requested by a customer. Mono will give us back some of the choice we lost moving away from Java.
Mono creates great competition for Java. Perhaps this will be another reason for Sun to finally make Java FOSS. Competion is a good thing.
Re:MONO is a disaster. (Score:4, Informative)
Small correction: C# and the CLI have both
been approved as ISO standards: ISO/IEC 23270 (C#), ISO/IEC 23271 (CLI) and ISO/IEC 23272 (CLI TR).
Re:Mono perspective (Score:4, Informative)
GTK is a C API. If you don't like it, use a binding such as gtkmm or wxWidgets. Basically it can live underneath any API you care for it.
It's good but many apps end up PInvoking Win32 because Windows.Forms doesn't do something they need. Thus it isn't that portable. Even a full implementation of Windows.Forms won't do you much good for a program that makes a single call to Win32, or which drags in some "safe" C++ compiled native DLL. But getting back to Windows.Forms, it exposes some particularly non-portable things such as WndProc, windows messages etc.
The CLR & core are architecturally cleaner, but Java kicks seven shades of shit out of
I'm in no doubt that Mono is a good thing, but neither .NET nor Mono offer anything remotely as compelling as Java at the moment at least in the enterprise domain. Let's see Mono go through a birth of fire on the desktop first.
Speaking of which, I see a lot of potential there (after all half the system tools in most dists are python / perl etc. with bindings). But Mono really has to start encouraging people other than Linux users to use the open source stack - even .NET users. That means producing an installer containing the stack with some wizards & designers so that Visual Studio .NET users can use them with ease.
Re:Mono perspective (Score:3, Interesting)
Re:Miguel Bashing... (Score:3, Interesting)
Well, you are missing the point about anonymous
methods. They are just a lot simpler to write and
hook up than the equivalent for Java. You need to
remember less, you need to type less, and they are
effectively closures with variable and state
captures like Scheme would do. Anonymous classes
in Java are effectively a pre-processor hack:
they cant capture or reference local variables
nor parameters, they can only reference instance
variables of the containing class.
Can everything that anonymous
Re:No mindshare for Mono (Score:3, Insightful)
As I noted before, this is more opinion than fact.
Whatever gets the job completed (with minimal bugs) and puts a program in the hands of users is a "real" programming language, despite your feelings about its worthiness.
Also, the languages you've cited are all higher-lever languages than assembly. The "real" hacker community might consider either one of us to be faux hackers for using C or C++.
Beauty is, as always, in the eye of the beholder.
Unless th
Re:All this FUD has finally... (Score:3, Insightful)
You mean everything that didn't come first.
Re:Prove mono is suitable for commercial developme (Score:4, Insightful)
If I can write an application on linux under mono, and run it on windows under mono, would that count as cross-platform? I have done that. So have others.
How would future versions of MS' product change the state of the current mono implementation?
-Mark
Re:What a Mono-umental waste of time!! (Score:4, Insightful)
Most of all, I don't understand why this affects you so much that it drove you to show your obvious displeasure. If you think that by not working on Mono, those same guys would work on projects that you want, you're dreaming.
So if you think they're wasting their time and not yours, shut up and watch. I think these people are one of the brightest people I've encountered in the opensource movement and I happen to be software developer who's not swayed by market-speak or North American insecurities. I've been working with opensource and would dearly love to write Gnome apps but find Gtk/C unwieldy. I also think that the use of IDEs is true to the *nix philosophy of creating the best tools to aid humans and, right now, those tools can be easilly accessed due to Mono. I love monodoc. It's as good (if not better) than javadoc. The entry curve to Gnome programming just became shallower with the advent of Mono.
Quite the opposite, I think what the Mono developers are doing are a perfect use of their time and I look forward to future developments in the way software project should properly be done.
Re:M$ has already won (Score:3, Informative)
In the Gnome camp, Mono as well as traditional Gtk/C, python and ruby coders are getting along rather peachilly. Because of Mono, there are several more apps for Gnome that otherwise wouldn't have been there. If you read the PlanetGnome blogs, you wouldn't see any split whatsoever.
It really is pathetic seeing people like you spread FUD because there's a project you don't like