Originally posted by deanjo
View Post
Announcement
Collapse
No announcement yet.
Mono 2.6 Released, Supports LLVM Generation
Collapse
X
-
-
.Net ... Mono ... Java
We have an ecosystem controlled 100% by MS (C#, .Net).
We have Mono, an F/OSS project that tries to implement the C# and .Net stuff.
We have Java:
- OpenJDK (mostly Sun but community driven) - a F/OSS implementation of Java SE
- GlassFish (from Sun) - a F/OSS implementation of Java EE
- JBoss (from Red Hat) - a F/OSS implementation of Java EE
- Jeronimo (from Apache) - a F/OSS implementation of Java EE
- JOnAS (from OW2) - a F/OSS implementation of Java EE
- Tomcat (from Apache) - a F/OSS implementation of Java Servlet and JSP specs
- Netbeans (from Sun) - a F/OSS IDE for developing Java aps (and not only)
- Eclipse (community) - a F/OSS IDE for developing Java aps (and not only)
- GWT (from Google) - a F/OSS Web Dev. Framework
- Wicket (from Apache) - a F/OSS Web App. Dev. Framework
...
I can continue forever but the list with Java based free open source projects is huge (use google for more).
The Java tech is driven by the Java Community Process (JCP jcp.org), not by just one company (Sun). Most of Java development happens into enterprise space (meaning software for business; that's why probably is less known to developers of desktop apps).
People that want dynamic languages can use (all F/OSS):
- JRuby - fastest implementation of Ruby 1.8.6 (faster than Ruby MRI, the C version)
- Jython - a fast Python implementation
- Scala - a functional (but also OO) language (if you want to run scalable code use Scala)
- Clojure - a functional language (for those in love of Lisp); is also very scalable
- Groovy - java like syntax but is dynamic
- Rhyno - Java-Script implementation
For better dynamic languages support of JVM you should watch JSR 292 (Sun, IBM, Oracle, Google, Intel, AMD, Apache all big names involved in this spec).
So what I'm trying to say here is that, from my point of view:
1. Mono is like Wine: is good that we have it in case there is a .net app that I really, really have to use
2. For developers: if you use F/OSS or even better, if you make F/OSS and you have to choose between C# and Java then it should be an easy choice: Java all the way.
3. If you want to make a desktop app that must be small and quick and use little resources then Java (or .Net for that matter) is not a good solution. Use C/C++ for that. But I guess as time goes on less and less desktop apps are created as more and more web apps take their place.
Comment
-
Originally posted by XorEaxEax View PostThe reason Paint.NET runs as well as it does is because all the heavy lifting is done by the native c++ library gdi+, not by c# and NET. This is also the reason why it's been hard to port to Mono.
According to the mailing list, nobody has bothered to port the SystemLayer.dll beyond what is in the core. And according to the mailing list, the effort to point Paint.NET to where it is at now was less than a day.
Comment
-
Originally posted by Apopas View PostThat's why community movements like that should be decided by voting and not just because some people like Icaza have stronger voices. Probably they will cause the fork of the Gnome project or reduction of its manpower. But I'm still not sure if indeed the Gnome project is going to make mono an absolute depedency or not.
Comment
-
Originally posted by deanjo View PostWhen it comes to features and such yes the community has a voice however if your not a code contributor you really have little to no say and rightfully so.Last edited by Apopas; 16 December 2009, 11:03 PM.
Comment
-
-
Originally posted by BlackStar View PostI won't get into the KDE vs the world debate, we've been there before and there are more than enough threads for that discussion. I will simply state that KTorrent is not as efficient as uTorrent as far as disk space or memory consumption is concerned and that is a fact.
1) Nothing is due to its one platform only policy,
2) It is compressed with UPX to save space - Ktorrent doesn't use executable compression and
3) It is as fast even on a 600mhz processor. The user experience is good - which is what matters.
(Edit: see also kraftman's results above).
*That's* the price you pay for going cross-platform (and if you think Qt is lightweight, you are either insane or you haven't tried building its source manually).
I challenge you to compare the two applications on features, disk size and memory consumption. *Prove* that Gnote is better - or don't mention this at all.
You are arguing against the norm (that mono is slow) - PROVE this or don't mention it at all. It is well known and accepted that tomboy is slower - there is a wealth of evidence, there are several benchmarks on the web and you can also just run it yourself and visually see how much slower it is. Please do not take this "disprove my false belief" stance at every turn.
Does any of those "efficient" KDE apps run on a 486 with 16MB of RAM? Because utorrent does.
See, I can move the goalposts too. Computers become faster and delevopers take advantage of this.
Also Opera doesn't use Qt on Windows, it uses native APIs directly.
You forget another possible conclusion:
4) use a less efficient, more bug-prone language like C++, thinking it will magically make your code "faster" and more "memory efficient". Hint: neither of these is true, even for very experienced developers
(Edit 3, summary of the link above: the unoptimized C# implementation run faster than several iterations of the C++ version. It took 6 iterations for C++ to finally beat C# - and this is for some of the most experience developers you could possibly find out there!)
Gain some real-world development experience and ask yourself which is the best choice again.
Also, seriously? microsoft marketing ? Wow, just wow.
Click a mono app then click a similar, comparable QT app with no dependancies for either in ram - which is faster? Gain some real world experience using software and ask yourself what is the best choice again?
See I can play that ridiculous statement too.
Have you clicked the tomboy button yet? Then, no, you can't speak.
Point #1 is true, but you should keep in mind that: (a) in many cases, the app is fast enough already and (b) even with the extra optimization you'd still likely complete your app sooner than you'd be able to complete the (unoptimized) app in C++. Which is why Google for example uses "slow" Python rather than "fast" C++.
Point #2 is where it becomes obvious that you have absolutely no idea what you are talking about. Ahead-of-time compilation is a post-processing step that takes your jittable binary and converts it to native code for the target system. It is an installation-time or compile-time procedure. You are still writing in C#, this procedure simply ensures your code will start up and run faster.
iPhone is Objective-C and Mono. Android and every other mobile phone runs Java.
Edit 2: spelling.
Edit: I should probably add - I can come across as more "aggressive" in my posts than intended - there are no hard feelings here, i'm just passionate. I guess this is the new debate. It is no longer KDE vs GNOME, it is QT vs Mono.Last edited by Hoodlum; 17 December 2009, 05:13 AM.
Comment
-
Java is too slow to be used on mobile devices? Really? Tell that to Nokia, Samsung, LG, Motorola, Siemens, Google.
You are either extremely ignorant of the real world or you choose to ignore it in order to live in your own little fantasy where C++ is automatically fast - nay, *faster* - than any managed language.
I won't even touch your other ridiculous points that UPX compression could reduce ktorrent to < 300KB; that .Net too slow to be used in real applications; and that Raymond Chen's and Rico Mariani's blogs consist of Microsoft marketing. Hey, you don't even know what AOT is and how it works, yet you keep repeating the same drivel ("stripping out all the features that give you a development time benefit", oh really?)
So tell us, if managed runtimes are so slow, why is Google relying on Python so heavily? Why are they not using C++? Surely it would be so much faster, no? What about desktop applications written in Python? Too slow to be usable, I guess?
Edit: yeah, these debates have a tendency to get heated. Although I can't see why people keep talking about this Gnome-Mono alliance. Mono is a separate project to Gnome, by separate people and with separate goals. Core Gnome doesn't depend on Mono, so I don't really see why all this hate.Last edited by BlackStar; 17 December 2009, 05:46 AM.
Comment
-
Originally posted by BlackStar View PostJava is too slow to be used on mobile devices? Really? Tell that to Nokia, Samsung, LG, Motorola, Siemens, Google.
You are either extremely ignorant of the real world or you choose to ignore it in order to live in your own little fantasy where C++ is automatically fast - nay, *faster* - than any managed language.
I won't even touch your other ridiculous points that UPX compression could reduce ktorrent to < 300KB
that .Net too slow to be used in real applications
and that Raymond Chen's and Rico Mariani's blogs consist of Microsoft marketing.
Who was that Microsoft Blogger recently that called Paul Thurrott a "Hack" and essentially a pirate in one post for claiming that the upgrade procedure of windows 7 (where you dont know whether it will allow or deny you from use of the legitimtely purchased/used software) was ridiculous and provided a way to get around it (which even microsoft support linked people to).
Hey, you don't even know what AOT is and how it works, yet you keep repeating the same drivel ("stripping out all the features that give you a development time benefit", oh really?)
So tell us, if managed runtimes are so slow, why is Google relying on Python so heavily? Why are they not using C++? Surely it would be so much faster, no? What about desktop applications written in Python? Too slow to be usable, I guess?
The reality of .net and java applications is that they are slow. As you seem to be the all singing all knowing expert on these matters, pray tell why are they so slow? Why does nearly every .net application I and by the looks of it everyone aside from you on this thread, run feel sluggish without an SSD? It's absurd. Clearly you have some incredible knowledge that no other .net developer has access to. Surely if they had we would have applications using it that don't perform terribly? And this is where your arguement falls appart, there are simply no examples that back up anything you have said but many that show the opposite.
Edit: yeah, these debates have a tendency to get heated. Although I can't see why people keep talking about this Gnome-Mono alliance. Mono is a separate project to Gnome, by separate people and with separate goals. Core Gnome doesn't depend on Mono, so I don't really see why all this hate.
Miguel de Icaza. The founder of Gnome pushing it so massively is quite the tie. Redhat barely had enough sway to prevent its integration in the past, if you remember that. Python is being used in gnome currently because it was redhat's suggestion for an interim solution because many people wanted gnome to move to mono and redhat wanted to move in the direction of java (citing submarine patents). Neither party agreed and now we have some mono and some python apps. This was a delayed decision, it is still yet to be made. It is widely thought it will go toward mono as those patent concerns are no longer an issue. Overall for the future of gnome development? (lacking c developers)....probably a good thing. For the user in the near future? Well, buy an SSD or switch to xfce.
Gnome using C is essentially the antithesis of mono. GTK development is hugely slower than QT. C is of course more performant. See here is the problem, QT currently fits into that comfortable niche between performance and development speed and it has for a while. When we have quantum computing i'll be all for mono - but by the looks of where traditional processors are going (slower, higher more efficient core count) mono isn't going to be the sweet spot for a very long time and i'm glad that I can see KDE as a viable alternative now, for me, for a long time, it wasn't.
Edited: Spelling. Added some historyLast edited by Hoodlum; 17 December 2009, 07:06 AM.
Comment
-
Originally posted by Hoodlum View PostOh wow, so you're ignoring my statement and making up a response to something I didn't say now? brilliant. Good job. It's too slow to be used for the bulk of the system. You don't use java for the entire interface, you don't use it for video playback etc. It just doesn't perform well enough for most tasks. If it did perform well enough an entirely crossplatform solution that runs on every phone would be the way to go. There is a big reason no one has bothered even attempting that - It is too slow, accept it already.
I'm not talking about the OS, I'm talking about mobile applications. What is so difficult to understand here? You keep harping that Java is too slow for mobile applications, when the vast majority of mobile applications are written in Java.
Didn't say that. I said utorrent is compressed with UPX (IT IS) INSPECT THE FILE. I actually laughed at this it's so misrepresentitive.
These people work for a company that bars any employees from owning an iphone, I'm pretty certain they control what is publisised by their employees. Microsoft employee blogs are much the same as any blogs by employees of a company.
This is a very informative post if you wish to learn how .Net affects application performance, startup times and memory consumption. I'd suggest reading the posts even though they are written by Microsoft employees - if nothing else, they will give you ammunition to shoot down claims in favor of .Net.
Who was that Microsoft Blogger recently that called Paul Thurrott a "Hack" and essentially a pirate in one post for claiming that the upgrade procedure of windows 7 (where you dont know whether it will allow or deny you from use of the legitimtely purchased/used software) was ridiculous and provided a way to get around it (which even microsoft support linked people to).
And you don't even know that you don't need to load all QT libraries every time you use the toolkit. Remember when you thought QT was bloated and slow? Yeah before all the examples of pretty much any software using it showing the opposite...damn.
Ah see here is where we're actually getting to useful debate. I'm not saying they are inhereantly slow. I also don't know the full details of exactly how google uses python as I don't work there. Python is not slower for everything and nor is .net - I never said either. But if you just look at desktop .net applications - pretty much anything you can find you can be sure they will be slower than similar (in featureset and task) C or C++ applications.
The reality of .net and java applications is that they are slow. As you seem to be the all singing all knowing expert on these matters, pray tell why are they so slow? Why does nearly every .net application I and by the looks of it everyone aside from you on this thread, run feel sluggish without an SSD? It's absurd. Clearly you have some incredible knowledge that no other .net developer has access to. Surely if they had we would have applications using it that don't perform terribly? And this is where your arguement falls appart, there are simply no examples that back up anything you have said but many that show the opposite.
Edit: as posters below rightfully point out, Transmission is written in C, not Python. My bad!
Your claim that managed applications must always run worse than native applications is laughable.
Miguel de Icaza.Last edited by BlackStar; 17 December 2009, 06:15 PM.
Comment
Comment