Mono Progress In the Past Year
Eugenia writes "OSNews posted an article accounting the applications created in GTK# the past 8 months, since the release of Mono 1.0. While many of them are still in their infancy, it's clear that the platform had a healthy progress, with 'super-hits' like Tomboy, F-spot, MonoDevelop, Muine & Blam! and other, less known gems, like SportsTracker, PolarViewer, MooTag, GFax, GIB, Sonance and Bluefunk. The 2.0 version of Mono is expected around May, but the developers advised distros and users to upgrade to Mono 1.1.4 despite being a beta."
Mono is a wonderful piece of reverse engineering, many of these apps I didn't even realize were Mono apps and I have been using them for a while now. In addition I found a couple that I am going to start using such as portage-sharp.
Keep up the good work Mono team, I love C#, and I love how you are brining it to *nix.
I fear the day when Microsoft will come and snatch this out from under the Mono team, but I really think this benifits Microsoft just as having an open source version of Java benifits Sun.
Miguel de Icaza interview about mono on lug radio. Really nice one.
Tomboy, F-spot, Muine & Blam! ... MooTag, GFax, GIB, Sonance and Bluefunk
WTF? Who comes up with names like these? I would blame the MBA's, but this is open source stuff, right?
Sure, everyone knows Tomboy, F-spot, Beagle, MonoDevelop, Muine, Blam! or Monodoc
Uh, right, I knew that. Sure I did. Yup. They're superhits, so I'd be a fool not to. Got that right.
I had mono once...damn, it sucked. I'm glad to see there's been progress in fighting this disea...erm, whoops. Terribly sorry. I was thinking of something different.
http://xkcd.com/386/
Interestingly, the summary neglected to mention Beagle, the one Mono application I actually plan on using and that has created some momentum for getting the Mono into various distros.
If Mono proves to be snappier than, say, Java, there might be some hope for it but the spectre of living under the mercy of MSFT is not easy to dodge. It's still there, however much people tried to not talk or think about it.
Save your wrists today - switch to Dvorak
I haven't heard of even one of these "super hits." I think that should have been punctuated,
with 'super-hits' like Tomboy, F-spot, MonoDevelop, Muine & Blam! and other less-known gems,
[
I'm just getting into C#, and I love it. One interesting thing I found was that if I ran a socket server app on Windows, I couldn't connect more than 64 clients in a single thread. I tried the same binary on Linux/Mono, and it bombed out at 1011 connections.
Keep up the good work - I'm loving it!
I'm really looking forward to Dashboard (not mentioned in the article), the desktop app that uses Beagle to gives relevant information that it's collected on your computer about your current activity. It sounds really cool, and Open Source hackers came up with this before Microsoft did.
"Backups are for wimps. Real men upload their data to an FTP site and have everyone else mirror it." -- Linus Torvalds
Every morning I get up and feed F-Spot (my Beagle). Then, I get out some eggs, cheese, and MooTag to make myself an omelet. I learned how to cook omelets from Emeril. So, it's Muine & Blam! and my omelets done!
Next, I take a shower and wash off the Bluefunk. Once dressed in my suit and my PolarViewer glasses I call down to Tomboy (our doorman) and have him GIB up a cab.
Once at work it is non-stop Gfaxes and sneaking some time with my SportTracker.
DAMN YOU OCTODOG! DAMN YOU TO HELL!
I'm writing this as a mere user, not as a developer, but from my point of view mono really is impressive. Just looking over the list of apps on osnews shows that mono really seems to give developers a framework that let's them develop great application in a relatively short time and in the end it's users like me who profit from that. ;-D
Great works, mono devs.
And to all those trolls that will come out of the woodwork with every mono story, telling us that mono is the end of open source:
Please, for once in your miserable lifes try to provide arguments for your point that go beyond MS is evil (though I would readily agree with that) and therefor mono is the suX0r.
This should stop people using C for things like evolution. Sure C is a great lenguage, but you need to dominate it. Some people knows to use it, most of use humans don't (let's remember the simultaneous 11 buffer overflow vulnerabilities discovered in gaim the past year, making it probably the most insecure IM client ever). And let's no talk about OO, which can help a lot for those final-user apps. C is not a OO language. Yes you can try to use it as OO language like gnome/gtk/glib guys do but they're just trying. A language is either OO or not, C is not. C is a 70's language, stop making gnome "the 70's desktop" with no functional kparts equivalent (bonobo sucks) and use mono, dammit.
1. Emerge monodevelop
2. Afaik there even is a plugin for Eclipse
This has to be a first.
Slashdot: News for Nerds, Stuff that matters only to them
Mono is a wonderful piece of reverse engineering
There is no "reverse engineering" involved. These applications are written in C#, an open ECMA standard, and the open source Gtk+ toolkit.
I fear the day when Microsoft will come and snatch this out from under the Mono team,
There is nothing to "snatch": these are applications implemented in a non-Microsoft toolkit using an open language standard.
I really think this benifits Microsoft
I don't see how writing Gnome applications in C# benefits Microsoft any more than writing Gnome applications in C++ or Python.
Ok, Microsoft Is evil, this I will give you, but C# rocks. After years in C and C++, I moved to Java, and It was good, then about 2 years ago I moved to C# and it was better. Now I program in both, for work and graduate school. I have to say they are very similar, but when I am doing a program in Java, I always miss a few of the C# features (virtual keyword for functions, Get/Set are better in C#, etc)
/.ers . If we can start making programs for the general population that run on *nix systems, but look just like they do on windows, more people will use *nix. What we have to realize is that most people in the world(not on this website J) don't have 4 computers in their basement running different operations systems, they just have the one running windows.
The only problem I have with C# was that it was not as portable as Java, but Mono came to my rescue. I was surprised how many of my program just worked in Mono (after removing winforms that is). I can't wait for version 2.0.
Really, Mono should be embraced
P.S. And for some reason, they still have the sides on their computer case.......
I just happen to be one of the few official developers for the mono project, just catching this artical early. Mono is quickly becoming better then ever. The biggest difference between Mono 1.0.x and Mono 1.1.x is the fact that our Just-In-Time compiler (or JIT) is getting more and more amazing every day. The 1.0.x series use a interprator capable of understanding things at the application start. One huge correction is that Mono will be called 1.2 in May not 2.0. While it is true that gtk-sharp-2.0 is moving to 2.0 from 1.0, the Mono runtime will remain at 1.2 as not to be confused with Microsoft.NET 2.0 (all though support for many of .NET 2.0 features will be included). Gtk# being based on Gtk+ 2.2 and Gtk# 2.0 being based on Gtk+ 2.4. Windows support is just as compatable with GTK# as it is on Linux, minus support for Gnome, VFS, GConf, GtkHtml 3 and DBus of course.
Hope that helps!
No.
If you're using Mono for GNOME/GTK development, it's actually quite stable, and much more usable than trying to write applications in old-fashioned C.
Yes, but let's be honest here: if you're writing a GTK/GNOME application you're writing a reasonably high level application and pretty much anything (Java, Python, hell even C++, bindings) would be "much more usable" than "old-fashioned C".
Please note that I am not dissing Mono. Variety is nice, and C# does provide a relatively nice language to be able to code GUI applications in. My issue is with the common implication that C# is unique in this - it isn't. Try out PyGTK for instance (particularly with libGlade).
Jedidiah.
Craft Beer Programming T-shirts
The world of programming has gotten better and be[tt]er over the years. It used to be that you had to have to deal with punch cards or programming right on the metal itself. But in recent years development environments have improved tremendously approaching the ideal: ANYONE can write software even if they don't understand programming.
Take me for example. I work for a Fortune 500 company that is currently working on NextGen database products. I'm the chief software designer. Back when I was in college in the 80s, programming was a black art known only to nerds who wore underpants on their heads and uttered dark incantations. I never really got on with those guys because they just weren't popular enough and they smelled kind of funny.
But thanks to the miracle of the 90s, I am now a software developer myself. My dev suite is comprised of Photoshop (for mock layouts of the UI), Macromedia Flash and MS PowerPoint. With these tools I am crafting the nextgen interfaces that are what put my company at the top. We are drawing lots of attention and turning lots of heads with our products because only we know what the users want these days. Our database product is an award winning package that combines the ambience of Myst and Riven with an Oracle backend and a hint of The Matrix. Users want cool looking apps, not some archaic software that just displays data. Why settle for an app where the text is just displayed in a scroll box, or worse through a terminal emulation program like WRQ Reflection? Our app flys in the text from the side and makes the text sparkle like you see in the intro to a lot of movies. That's the key folks, don't look to Silicon Valley for great software ideas, look at Hollywood. They get it right.
Since I'm a generous guy, I'll share some suggestions about how to design great apps these days:
1. Always make sure that you focus on making the UI look as cool as possible. This requires the use of many tools to make sure that the interface is going to make the user look as good as possible.
2. Always add more features to your application because nothing helps users more than new features. And make them sexy. I'm not talking about adding automatic spell checking or useless shit like that. I'm talking about syncronized sound effects that reflect the actions on screen like you see in the best films.
3. Pervasive use of MPEGs. Our company got away from the old practice of using stupid 16 color icons for button functions and the like because we realized that this was confusing to users. Most of the time those images didn't mean much. Instead, we replaced them with full MPEGs running in loops to represent every possible function a user might do in the real world.
4. Watch all the latest blockbuster scifi films that make use of computer interfaces. The geeks get UI design wrong every time. Only Hollywood knows how to make cool looking UIs and only the best software designers know to take their cues from the film industry.
5. Require that your customers have the most powerful boxes to run your programs. We can't be bothered with idiotic businesses that want to keep desktop systems with PIIIs and 256 megs of RAM. How the hell are you supposed to expect the software to run properly? We tell all of our customers that they must upgrade all desktops to the following minumum requirements: Pentium 4 2.5 GHz or better, with 1 gig of RAM. That just barely keeps up with our advanced software, but it's the minimum. (Alienware makes the best business machines we've seen)
It makes me laugh when I see you geeks trying to come up with new programming languages and platforms. Mono. What a joke. You call that progress? I don't. Keep working on more tools like Photoshop, Flash and PowerPoint. That's where development is these days. All that antiquated complicated crap is just mental masturbation for losers with no life. I read an article recently about a company that is working on self writing software. If these guys succeed, and they partner up
-"...bad old ideas look confusingly fresh when they are packaged as technology" - Jaron Lanier (Digital Maoism on Edge.o
GTK# works wonderful without even even being related to Mono in anyway. It runs under Microsoft.NET just as well as it does on Mono under windows.
.NET SDK 1.1 and it includes documention for it and even some intergration with Visual Studio as well.
g tk s-inst4win
My good friend Paco (Fransico Martieneze) has posted a installer for
http://forge.novell.com/modules/xfmod/project/?
No.
How is this not like life?
Ford Explorer -- does that also access the internet?
Hyundai Accent -- is it about the korean language?
Honda Accord -- music perhaps?
People make names which they feel are the best for something. They rely on something's ability to be good at it to spread the love, so to speak. If it's good, people will remember it. If it's not good, it goes away and it's no issue. Do you really like how people went to ultrageneric names and domain speculation on the Internet? Pets.com? Mail.com? News.com?
Take a look at things which people remember. What about Napster implies filesharing? What about Suprnova? What about Google implies searching?
Naming is a magic game. Just because you don't like how others play it, does not mean they are playing it wrong. This whole "incorrect naming" meme is stupid and pointless. Start thinking critically about what you're saying before you repeat it everywhere.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
Yeah well...I hear that Open Source is a total whore. Anyone who wants to can 'get in'. Bill shoulda known better.
http://xkcd.com/386/
I don't know the detailed inner workings, but it seems like these projects are forever doomed to being a shadow of a "mostly" implimentation riddled with "gotchas" and always a few steps behind. I don't blame the developers in any way, its just we all know MS does not play nice with others.
Java (14080 projects)
C# (2206 projects)
Also, don't forget there is a very interesting ahead-of-time Java compiler as part of the gcc toolchain, gcj. It isn't complete, but it is constantly improving and can now be used to write SWT and Gnome applications. Good stuff!
I hate to see C# getting any uptake when all it is intended to do is allow Microsoft to co-opt all of Java's good ideas while stifling portability as much as possible. It is a transparent Java ripoff.
Galileo: "The Earth revolves around the Sun!"
Score: -1 100% Flamebait
I don't have anything agains mono, and the C#/java seem pretty much identicle to my mind (There's nothing that compelling that one has thats not in the other).
.net apps that might run on linux if you didn't use this package or that package.
Its great to have a language that can come installed with linux (java cough* cough*). However mono ultimately will work OK, but will drive developers to windows in droves because of the better deveopment environment that Visual Studio.net offers.
I fear that ultimately there will be mono apps that can run sometimes on windows (if you install gtk# etc...etc.) and
Mono has its place, but I don't think cross platform apps is going to happen.
By extension, you could just as easily say that the implementation language never matters, it's all just a Turing Machine(*) anyway. Except it does matter. Support for cleaner syntax, extra type checking, virtual/non-virtual method dispatch, etc. all matter when implementing an OO design. You can avoid whole classes of bugs by having proper language support, and programmer time can be reduced considerably.
(*) We'll conveniently ignore the fact that computers aren't really TMs here. The point is still valid.
HAND.
What are these good bits of which you speak? Or are we (yet again) confusing Java, the language, and Java, the platform? An argument can be made that the C# language learned and improved upon the Java language's experience. On the other hand, comparing the two platforms (i.e. runtimes and libraries) is a whole different bag. Granted, C# and .Net are possibly the best technologies to use if you are developing Windows applications.
But, to assert that these are the best options in any other environment is simply ludicrous.
Mono is in no way as mature, stable, feature rich (you name it) as the Java platform.
Pray tell where is my Mono equivalent of Jakarta, Java3D, Maven, HotSpotVM, Tapestry, Eclipse, Netbeans, IntelliJ, yadatada?
When you find them, then come back and tell me C# has "all the good bits."
Mono may have the potential to become what Java is today, but its not there yet.
I read
Actually, reading that statistic I was impressed by how well C# is doing -- 1/7th as many projects as Java, and really all in about 2 years, and in the OSS community which isn't exactly MS's core area.
I think MS have recaptured a bit of their old magic here, in lowering the 'energy threshold' required to get a project going. That's what made VB and Excel so ubiquitous -- I'm not saying that that was a good thing, but it sure worked. The work you have to do to create, package and distribute a
Of course, I'm far from declaring victory for
Whence? Hence. Whither? Thither.
Ten cars which sound like Robert Ludlum novels:
1. The Honda Accord
2. The Isuzu Axiom
3. The Buick Rendezvous
4. The Mazda Protegé
5. The Alfa Quadrifoglio
6. The Diahatsu Charade
7. The Lambourghini Murcielago
8. The Mitsubishi Endeavor
9. The Oldsmobile Intrigue
10. The Subaru Legacy
GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
I'm primarily a *nix developer, but this Mono implementation of
A good portable way to write programs might be to write the application core in standard C++, then write the UI in C#/Mono on *nix, Obj-C on OS X, and C#/.NET on Windows.
Thoughts?
How many times do we have to have the myth of cross platform UIs repeated? Each platform has different HIGs which determine how an application should behave as well as how it should look. Using the same UI code on multiple platforms results in apps that don't match the HIGs on any platform except (if you're lucky) the one on which they were developed. Using native widgets does not make an app that matches the HIGs, it just removes an important visual clue from the user that the app is not going to. A better solution would be to go the Java route and develop a set of HIGs for Java/Swing/Metal apps, so that anything that looks like a Java/Metal app behaves in the same way, giving people a subconscious visual clue that they are going to be different from their apps, but consistent within the context of the Java (or Mono, or whatever) platform.
I am TheRaven on Soylent News
Unfortunately, the latest stable release of MonoDevelop will not compile against Mono 1.1.4. If you need an IDE for your Mono work, you would have to check out the Mono sources from SVN. The SVN version of Mono also has its dependencies, many of which also would have to be checked out of SVN repositories. So, while Mono 1.1.4 is available, for the time being, I have to stick with 1.0.6 in order to continue working within an IDE framework.
C# is an ECMA standard (which of course with generics et al Microsoft is breaking). This is NOT open, and certainly not in comparison to Java.
The Java Community Process go to the site and have a look at the "closed" and unchangable monstor that Sun has created. I mean its just scary to think that Java 6.0 is ASKING FOR JOINERS, to input into the next standard.
How would you become an ECMA member and propose changes to C# ?
An Eye for an Eye will make the whole world blind - Gandhi
Each platform has different HIGs which determine how an application should behave as well as how it should look. Using the same UI code on multiple platforms results in apps that don't match the HIGs on any platform except (if you're lucky) the one on which they were developed.
Which raises the interesting question of whether we should be looking for another level of abstraction for GUIs beyond widget toolkits that let you write one codebase that then applies the HIG rules of the platform (which, of course, have to be something formally codified rather than just a spec document) to generate a (relatively speaking) HIG compliant UI.
Imagine having applications written on a level such that the "OK/Cancel" button order is determined by the platform rather than by where the code explicitly placed the buttons. Such would certainly make GNOME and KDE much more compatible. At the same time it would formalise the HIG from a "reccomended way of doing things" into a mandated consistent GUI.
Jedidiah.
Craft Beer Programming T-shirts
Disclaimer: I am the founder of Zamples, Inc. Go gently on our servers, they probably won't survive being slashdotted!
What distinct advantages does Mono have over either of these established and supported platforms ?
.Net, Mono is free software. Mono is also cross-platform, running on Linux, MacOSX, Windows, Solaris and others on at least 5 different processor architectures.
Contrary to both the JVM and MS
And we're rapidly improving to support better server workloads.
Have you EVER used wxWidgets? No, have you even READ TF website?
wxWidgets is NOT an EMULATOR layer. It's a parallel implementation of an UI using the Native OS's widgets. From the wxWidgets site: "the open source, cross-platform native UI framework
with twelve years of evolution behind it".
It's not about how a widget should LOOK or FEEL. It's about using THE SAME CODE to make a program.
They even got a PalmOS version now.
Maybe for your small needs you don't need cross-platform. Maybe you're happy crunching bits and recompiling the most of your kernel, but you're certainly not the average Joe User - and that's a majority that has needs. These people right now are screaming when their machines are being invaded by spyware, viruses (and coming soon, rootkits)
. These people need to escape. And cross-platform applications is the way to go.
But if you really want to help people migrate from Windows to a safer Linux environment without losing their friendly commodities, at least you should give programmers the benefit of the doubt.
I AM a windows user. But I'm planning on migrating. And I want OTHER people to migrate to Linux. Linux doesn't belong to elitists... it belongs to the world, that's why it's Open Source, and GPL licensed. So please, stop building iron walls and let the Windows prisoners escape to a safer world.
After all, don't you want to be among the ones who were there, the day Microsoft died?
Certainly, I do.
There are issues running Mono on FreeBSD because FreeBSD has broken thread libs. Some of the fixes are in the latests 5.x releases, but there may be still more issues.
Sounds like XUL, XAML, the Glade XML format, or Renaissance (an OpenStep GUI builder) to me... you express the GUI in some logical fashion, and ask the underlying OS toolkit (whatever that is... Gtk, KDE, etc) to render it.
Do you mean that it is available at no cost ?
If this is the case, then so is Java's runtime AND development environment.
If not then I assume you mean it is "open-source", which is confusing since:
Secondly, why do I need a Windows version of Mono when as stated in the projects FAQ, Question 1: What Exactly is Mono ?:
The Mono Project is an open development initiative sponsored by Novell that is working to develop an open source, UNIX version of the Microsoft
(See the http://www.mono-project.comabout/index.html page for details)
Lack of webservices is a major stumbling block for my development team. We'd love to be runnning on Mono vs. .Net, but the lack of even a light at the end of the tunnel for web service integration is keeping LOTS of developers at bay.
Also, the list of dependencies to run monodevelop is astronomical. After my 7th or 8th trip to google to find some arcane dependency, I gave up. I think it's better if you are running gnome, but not much.
How many times do we have to have the myth of cross platform UIs repeated?
As long as people keep downloading Mozilla, Firefox, and Thunderbird.
Having recently considered learning C#/Mono, a few things bugged me. Firstly, it was not easy to find a tutorial more complex than Hello World but less complex than "oh, look, we're going to be making a wordpad clone". Considering that it is much easier to program with C and GTK, or C++ and QT or GTK--, it will take some serious work to make Mono attractive if you're looking to attract the people who don't need Windows compatibility.