To de Icaza, replicating Microsoft’s hard work–much of which has been published to standards body Ecma International–will make other operating systems, notably Linux, more attractive to developers. And with the “universal virtual machine” of .Net, programmers can have a greater choice in languages. In his office decorated with small stuffed monkeys (“mono” means monkey in Spanish), de Icaza spoke to CNET News.com shortly before the company began shipping Mono version 1.0.
its unfortunate that java seems to be going to the way of the dinosaur, and that people are relying on microsoft for yet another technology.
on the other hand, mono is pretty awesome. i wrote and compiled a simple hello world program on my mac, and it ran no problem in OS X and windows.
C#, from what i’ve seen, is almost identical in syntax to Java. what a rip. steal the syntax, steal the concept, steal the market. that seems like MS’s business model.
When mono started, the big question was whether Miguel was a turncoat/fruitcake or genius. I don’t know whether “genius” quite applies, but he saw a good thing early and got off to a quick start, leading to what might turn out to be a legend among successful open-source projects.
felicitaciones y buena suerte, Miguelito!
C#, from what i’ve seen, is almost identical in syntax to Java. what a rip. steal the syntax, steal the concept, steal the market. that seems like MS’s business model.
Actually, C# is an improved Java, incorporating many changes that others have been asking Sun to make for quite some time.
Most people I’ve talked to personally that have used both languages tend to prefer C# for actually getting work done.
I think it’s a good thing to see some competition in this market. I just hope Microsoft doesn’t pummel the crap out of Java right away like they usually do in these sorts of battles.
“Will you be able to port everything that Microsoft does on Windows to other operating systems?”
“The new UI stuff, I have struggled a lot with what we are going to do with our toolkit.”
What does he mean, will they be able, or are they not going to even try it?
“I think it’s a good thing to see some competition in this market. I just hope Microsoft doesn’t pummel the crap out of Java right away like they usually do in these sorts of battles.”
Agreed. If the battle is prolonged enough Sun will have no choice but to make Java suck less, and then, suddenly, Microsoft has to do the same to remain appealing. Then I get to pick between two killer development platforms.
“What does he mean, will they be able, or are they not going to even try it?”
He’s talking about Avalon and its bindings to the .NET platform. The issue is an old hat he’s been struggling with for awhile: make a 1:1 copy, or make their own vector graphics-based implementation with all the fillings, and then make the Avalon API bind to it.
It is funny how AWT was trying to use native OS API, then Swing was trying to draw interface with look and feel as close to native as possible. Then SWT resurrected “sandwich” GDI-style programming and created a very lightweight wrapper over naative API and controls. But no one thought about making a whole new interface/shell/API say, for Windows.
What we see with Mono is different. Port .NET, port Avalon, then what? Linux core under MS interface with new MS API and new MS managed apps. They would not need obsolete Win32 API and would not be bound to old Windows kernel and Intel chips. Then Linux would shrink to what it was 10 years ago which is the kernel. Free and open source kernel under MS UI and apps. Customers do not buy kernel, by the way, they buy apps.
Not that I do not like the idea of running the same apps on different OSes, it is that Sun supposed the wave would hit another shore…
C#, from what i’ve seen, is almost identical in syntax to Java. what a rip. steal the syntax, steal the concept, steal the market. that seems like MS’s business model.
Well if you want to be technical, languages usually do “steal” syntax from other languages. C# is similar to Java (and other languages by the way) so as to make it familiar to programmers who already know Java. This is how languages are usually designed, with some form of familiarity in mind.
I think they’re going a bit far. Sure make compatbility if needs be but don’t rely on it! Something as important as the UI shouldn’t been dependant on MS.
I really like mono. I’ve touched it little but it’s been very easy and for the first time I’m actually able to write a GUI app. They could really use more documentation however…
Too much is invested in Java and from what I hear 1.5 (5?) will fill in a lot of the issues developers have (no I’m not a java programmer). The use of .net, however, is inevitable since it’s what windows programming is going to. Because of this mono is a good thing. Lets hope we can see both platforms grow.
When mono started, the big question was whether Miguel was a turncoat/fruitcake or genius. I don’t know whether “genius” quite applies, but he saw a good thing early and got off to a quick start, leading to what might turn out to be a legend among successful open-source projects.
>
>
Stop kidding yourself. Mono isn’t going to be a legend among open source projects. It’s going to be like Active X and the the rest of the Windows-focused programing garabge.
Mostly ignored.
Delphi is big within the Windows programing sphere. It’s
use is virtually unknown within the Linux programing sphere.
Get A clue. Despite the noise from people like Miguel, there is very little interest in the Windows programing style and tools within the Open Source/Free Software community.
The fact that C is perfered over C++ within the FS/OSS world desipte all the noise coming from the Windows C++ programing
crowd should tell you something about just how different the two groups are.
“Get A clue. Despite the noise from people like Miguel, there is very little interest in the Windows programing style and tools within the Open Source/Free Software community.”
Whether you like it or not open source software (as you say) is attracting a lot of commercial attention [more and more]. From people selling to consumers buying. Mono can help both oss and commercial needs. Ya-ya, you can to this with *any* software … but mono/.net make it better.
What I see as the risk for mono is this; Minguel and his merry band of programmers get too caught up in trying to remain compatible rather than creating and extending the classes so that they’re superior to what Microsoft has to offer.
Things like the OpenGL accelerated Cairo Graphics is a good move, these are things that should be exposed. If they can make it truely unique, it would be a great addition to the alternative operating system community out there.
What the focus should be on it not necesssarily being 100% compatible, but creating an API and development environment that is easier to understand and develop with than what Microsoft has to offer.
Mono is closer to the development community, meaning, requested features can be added alot faster than what Microsoft can. Generics for example, lets assume 1.0 was released a year ago (hypothetically), the net result would be 6 months later, generics would be in the next version of mono before Microsofts .NET, why? because developers can add the feature rather than having to wait.
As well as that, Novell and Minguel should also work to seperate themselves from .NET, make themselves just compatible enough but not to compatible as to cause rifts in the developer, user or OSS community. As I said, if it takes its own course by not being just a clone of .NET, then I think it will win people over.
Whether you like it or not open source software (as you say) is attracting a lot of commercial attention [more and more]. From people selling to consumers buying. Mono can help both oss and commercial needs. Ya-ya, you can to this with *any* software … but mono/.net make it better.
>
>
Ah yes. The Huge Flock Of Mystical Commerical Windows Delevopers Who Are Going To Port Their Apps To A Non-Windows Platform.
Damn. I thought belief in this fairy tale died out with the Atari ST and Amiga back in the late 1980’s/early 1990’s…
But it seems that there are some people who for whatever reason insist on keeping it alive…..
what do you mean? atari ST and amiga were there even before windows hit big time
i agree with what @kaiwai said…mono will just be endlessly chasing microsoft if it tries to be compatible all the way. it can’t. the way to go is to emphasize how mono can make development easier…and then issue these API/frameworks that can truly make mono unique and of value to the open source (and even Windows!) community. i think miguel mentioned before that compatibility is just icing on the cake for mono, but the real focus will be to provide a separate stack from microsoft’s. it may not be completely write-once-run-anywhere but at least it will make porting between platforms simpler than it currently is (with C/C++).
It’s going to be like Active X and the the rest of the Windows-focused programing garabge.
IMHO C# and .NET is the best programming environment at this moment.
Delphi is big within the Windows programing sphere. It’s
use is virtually unknown within the Linux programing sphere.
At this moment the Kylix (Delphi for linux) is the ONLY useable RAD tool for linux. There are very nice trying like Lazarus, Boa Constructor, and the java stuffs (JBuilder, Netbeans) but the java stuffs are totally unuseable because of the speed of java/swing, the other stuffs are very nice toys but not professional RAD tools.
The fact that C is perfered over C++ within the FS/OSS world
It is also not true. Let see the whole KDE world. And the win32 API is NOT C++ based, only the MFC give a C++ interface for windows (and the wxWidgets, Qt, etc).
Next time you want to post something you are absolutely clueless about, take a deep breath, and try and divorce yourself from your rabid Microsoft hatred. Maybe then, you’ll make a comment that is somewhat close to reality.
Stop kidding yourself. Mono isn’t going to be a legend among open source projects. It’s going to be like Active X and the the rest of the Windows-focused programing garabge.
I guess you don’t crawl out of your hole much do you? First of all, there has never been any ActiveX on unix so its completely irrelevant to something that Unix/Linux open source would even consider. Microsoft is changing their entire operating system API to a .NET-based one for Longhorn. It’ll be around longer after your’re in the ground oh clueless one.
Delphi is big within the Windows programing sphere. It’s
use is virtually unknown within the Linux programing sphere.
Put down the crack pipe cluebie. Mono has nothing to do with Delphi.
Get A clue. Despite the noise from people like Miguel, there is very little interest in the Windows programing style and tools within the Open Source/Free Software community.
Just when I think you can’t get any denser, you outdo yourself. Windows programming style has nothing to do with Mono. Mono is a runtime and a set of libraries. Your “style” can be anything you want. I guess you don’t follow Gnome development that much. There’s lot of Gnome developers that love Mono.
The fact that C is perfered over C++ within the FS/OSS world desipte all the noise coming from the Windows C++ programing
crowd should tell you something about just how different the two groups are.
Yeah, tell that to the KDE guys. They’re big straight C fans. C is not “preferred”. It’s just that it’s fast, portable, and not C++. Even the Redhat Gnome/Gtk+ guys say its stupid to write normal desktop apps in straight c.
Believe it or not, there are lot of open source people(by the way cluebie, that doesn’t mean just Linux) that care about the windows platform.
Go back to peddling your drivel on Slashdweeb.
Oh, Unix is a world of pain for developers.
To me, this statement from Miguel illustrates just how horrible GNOME/Gtk is to developers. They spent years saying how you don’t need C++ to do OO GUI development – guess what – they finally figured out they were wrong.
Developing in KDE/QT/C++ is _easy_. Don’t believe that because one team (GNOME) made bad decisions that there is only one way (Mono) forward.
I’ve used Mono and Java, and they *are* very nice. But they are only revolutionary when compared to the stone knives and bearskins that is GNOME/Gtk.
What are you talking about? Honestly Java has been around a lot longer than .NET. It is more stable, scalable and secure, .Net will end up like the rest of MS software (as it is based on their own api’s) shitty… I have used both, although .Net is quite easy (linking to assemblies is really damned easy) the framework just does not work properly, its slow and full of bugs (.Net 1.1).
As for your comment on Java Swing. I am a software developer, I spend most of my time writing C/C++/Java, etc and I know how to write optimised code. Java is fast, just because Microsoft gave it a reputation for being slow (their JVM was crap) doesn’t mean it is. Java 1.4.2 can be faster than C. Java 1.5 is much faster than that.
When you actually have experience with Java, .Net and Native code (C/C++) then tell me that java is slow!
I find a lot of the comments here groundless as people who don’t have a clue what they are talking about talk shit about things that are beyond their comprehention.
Sorry my last comment was in reply to the one by LC.
What are you talking about? Microsoft had the fastest JVM back then.
>> Java 1.4.2 can be faster than C.
Yeah, maybe faster for writing programs.
Only if compiled to native code, say using gcj, then maybe execution “can” be as fast.
And even then I highly doubt it will be faster to execute
than a C/C++ program since the compiler is probably not nearly as optimized.
The just in time compilers need to “compile” ahead of time before actually executing the code.
This article seems to be emphasizing the “framework”.
Well, you can have a C++ framework such as QT/KDE that can give you much of the same functionality. It’s pretty easy to code using a good C++ framework.
By the way, I just tried compiling the second program with mono 1.0 on linux. The compiler complains it can’t find type Window. I have gtk-sharp installed and all the gui packages. Does anybody have the same problem or have a clue as to what I’m missing? Thanks.
@The_Thunderbird
You comment seems to show a lot of missing knowledge.
VM based languages like Java can be faster, and are pretty up to par to compiled C++ currently.
The reason for this is runtime optimization which C++ does not have (yet)
The next reason is the malloc free model which drags things down (malloc and free go into internal semaphores)
on multithreaded environments.
As for compiled GCJ, face it, the compiled GCJ code is slower than the one running in the VM, the reason for this is that the VM does constant optimization according to statistics it gathers during runtime.
The only benefit you get from using GCJ is, that the program starts faster, because you don´t have to go through the classloader mechanism but instead link binaries directly.
Uhmm, in some contrived, synthetic benchmarks, yes Java can be faster than C++. In the real world, its much slower.
You can’t optimize away all bounds checking, try/catch is slow even if an exception isn’t thrown. Heap object creation is fast these days, but deallocation is still a problem(C#/.NET has user defined value type which speeds things up for that platform). Going from managed code to unmanaged code is slow – no way around that. Since everybody is extensively using the Java/.NET libraries they tend to be very robust, with lots of error-checking, etc…This slows things down.
Don’t get me wrong I’m a big fan of Java and even more so C#/.NET, but you have to be realistic about these things.
Since everybody is extensively using the Java/.NET libraries they tend to be very robust, with lots of error-checking, etc…This slows things down.
It’s not the 90’s, we can spare the extra cpu power for _great_ programming practices, and _especially_ if it will please the consumer.
there are significantly more coders working in java then any other language in the world right now. it is a tried and true platform that is almost synonomous with enterprise applications. the standard api is extremely mature, and has everything (including kitchen.sink 😉 ) the number and quality of third party frameworks available are truly stunning, whenever i feel like starting a new project, just browsing the java frameworks available on sourceforge is usually enough to give me an idea.
.net has _none_ of this. it is quite impressive from a technology point of view, and in a few years may become comparable, or even surpass java. it is definately more suitable for desktop apps according to its design, but at the same time java is more suitable for enterprise apps due to its design. theres definately going to be a level of intersection, especially as .net continues to mature, but focus and direction of the two platforms are definately different.
java is not dead. java is not dieing. .net does not compare to java in reliability or stability. .net has ALOT of potential, and is already suitable for desktop applications. now think about this for a second. more programmers work with java then any other language. java is _rarely_ used for desktop apps. so how is .nets suitability for desktop apps taken to mean java is going the way of the dinosaur? tell me, i would really like to know. ive been seeing more and more of this stuff going around and its starting to upset me. saying java is dead because of .net is like saying that windows is dead because of gnome 2.6. complete and total idiocy if you have even a basic understanding of the market, right?
As for your comment on Java Swing. I am a software developer, I spend most of my time writing C/C++/Java, etc and I know how to write optimised code.
In this case you are the only one programmer who can write optimised java code. All of java programs what are ever seen are terribly slow. Let see the Netbeans, case tools, etc. All swing based software are painly slow (and ugly). The Eclipse/SWT can be faster, but the SUN doesn’t support it.
“Next time you want to post something you are absolutely clueless about, take a deep breath, and try and divorce yourself from your rabid Microsoft hatred. Maybe then, you’ll make a comment that is somewhat close to reality.
Stop kidding yourself. Mono isn’t going to be a legend among open source projects. It’s going to be like Active X and the the rest of the Windows-focused programing garabge.”
I guess you don’t crawl out of your hole much do you? First of all, there has never been any ActiveX on unix so its completely irrelevant to something that Unix/Linux open source would even consider. Microsoft is changing their entire operating system API to a .NET-based one for Longhorn. It’ll be around longer after your’re in the ground oh clueless one.
Hope you realise that UNIX did have ActiveX. When Microsoft ported IE over to Solaris/HP-UX using Mainsoft, the whole point was to prove that ActiveX and COM+ were indeed actually portable and could be setup to run on a different environment; be it the end product rather crappy when it came to stability in regards to the Solaris version.
Regardiner ActiveX, unless I’m mistaken, it is actually a off shoot of COM+, based on the idea of embedding objects within other pieces of software; basically the same idea how bonobono, Nautilus work together. If GNOME wanted to, they too could have something similar to ActiveX by using the existing bonobono infrastructure.
“In this case you are the only one programmer who can write optimised java code. ”
that statement shows ignorance.
“All of java programs what are ever seen are terribly slow. Let see the Netbeans, case tools, etc. All swing based software are painly slow (and ugly).”
Swing is both over-engineered, and is pure java. that means that the VM is used for *everything*. this is madness. SWT on the other hand does native API calls for its widgets, an SWT app on java 1.5 should be comparable to a .net app.
“The Eclipse/SWT can be faster, but the SUN doesn’t support it.”
the java world is sorta split. youve got the JCP on one side backed by sun, and the Eclipse Foundation on the other backed by IBM. so sun not supporting SWT isnt really an issue, as IBM has been pouring money into eclipse for ages now.