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?
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.
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.
Wow, it's really too bad that people these days think that OO is about a language spec. It's not! OO is a design paradigm! (ugh. i hate that word, but that's what it is.) Your design is either OO or not OO, and the language that you implement it in is irrelevant. All that c++ does that c doesn't is do a few checks in the compiler. You can implement OO designs in C, Scheme, and plenty of other languages that don't have built-in checks for such things. (and yes, c++ does have a number of other features, but they are wholly unrelated to OO) OO doesn't fix buffer overflows either. Why would it? If you have crappy design/use the wrong functions for the wrong things, then you're going to end up with buffer overflows. C# goes quite a ways, as a language, to prevent this, but don't confuse it with OO.
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/
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
first, their is a published spec.
secondly, mono is more about enabling developers to use C# and CLR, rather than allowing people to run windows software on *nix, so there isn't the same necessity for bug-for-bug compatibility as there is in samba (where you want to look exactly like a Windows box from the outside).
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
The fate of samba? Last time I checked, Samba was alive and well. And if anything, Mono has an advantage over samba in that it doesn't have to be Windows-compatible to be useful. C# is a great language (supposedly; I've never used it) and an open-source Linux implementation can only be a good thing. All of the apps mentioned in the intro are native GTK apps, and will continue to work well and be developed even if MS does something to break Windows compatibility.
It's hard to be religious when certain people are never incinerated by bolts of lightning.
Have you ever seen an OO design in PROLOG?
It usually starts with this: "First, implement LISP..."
Have you ever seen backwards-chaining declarative logic designs in Scheme?
It usually starts with "First, implement PROLOG..."
I wish I was kidding.
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?
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.
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.