Announcement

Collapse
No announcement yet.

Mono 2.6 Released, Supports LLVM Generation

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #51
    Originally posted by deanjo View Post
    Quite obviously the developers are using it because they like what they see and they are comfortable with it. Since you are not the developer of said applications but a end user that has no or little contribution to the project what you care about (again for political reasons) then your voice has little to no weight in feedback. You may feel that your being wronged but that is how the world turns.
    That'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


    • #52
      .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


      • #53
        Originally posted by XorEaxEax View Post
        The 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.
        Nonsense. Paint.NET does not use GDI+ directly, it uses System.Drawing, but in any case, Mono has both.

        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


        • #54
          Originally posted by Apopas View Post
          That'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.
          When 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.

          Comment


          • #55
            Originally posted by deanjo View Post
            When 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.
            Well I don't disagree to that and I didn't speak specifically for me. But it seems that the use of Mono so tightely with Gnome has caused a lot of objections from end users to code contributors, much more than what usually happens. So I'm just asking why did they choose that way of development risking Gnome's unity and further improvement. What's so superiour in Mono/C# that makes it worthy to risk so much? Isn't wise to neglect patents, possibility to be sued in the future and company control.
            Last edited by Apopas; 16 December 2009, 11:03 PM.

            Comment


            • #56
              Originally posted by dinganord View Post
              Nonsense. Paint.NET does not use GDI+ directly, it uses System.Drawing, but in any case, Mono has both.
              Well the heavy lifting is still done using native gdi+, since that's what the System.Drawing namespace encapsulates.

              Comment


              • #57
                Originally posted by BlackStar View Post
                I 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.
                Three things:
                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.

                Go on, check yourself: ktorrent and utorrent. The first uses a 2MB bootstrap installer (that then downloads Qt and half the internet for installation), while the latter is a 282KB standalone application.
                Yeah and how many libraries does utorrent use? Admittedly i'm willing to bet those gigabytes of your windows installation will be used for something. Probably more in size than I have total installed software so lets not get into the dependancy route because you won't win that one, especially if you want to talk about mono.

                (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).
                7MB of ram and no real performance loss on a machine built within ~ 15 years? Yeah that's pretty negligable. This must be why KOffice is so horrendously bloated. News flash - no it isn't. You really have never made a QT app clearly.


                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.
                It pulls in 20-30 MB of mono dependancies to even start. This is not how a discussion works.
                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.
                I didn't move them. My goalposts are at what people actually use. You can set them to twenty years ago if you like but that's not useful. You could also set them twenty years in the future (ala mono) and that is equally as useless.

                Also Opera doesn't use Qt on Windows, it uses native APIs directly.
                You're missing the point. Opera a full featured cross-platform webbrowser with torrent client and file host and whatever else it does these days runs *faster* that a program written in .net specifically for windows only that ticks up every few seconds on a skill point. Really? I mean here is yet another example of why .net is a total joke in terms of performance, this is not an isolated example - I can keep these comparisons coming all day because it's so clear and so obvious.


                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.
                Oh please, I have used C / C++ for probably longer than you've been alive. I'm sure I can find a corner case and write an example that shows python to be faster than C as well (infact i have found one before but for a very specific reason) regardless that does not suddenly make python the faster language - that would be disingenuous and tantamount to lying.

                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++.
                I never disputed the development speed of C#. I have used it. It is a fantastic language for getting something done. From a user point of view it is very different however. I see you don't agree with this but I prefer spending twice as long on something getting the end result I desire than spending half the time and ending up with something I hate using. I think you'll find most people will agree.

                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.
                Point 2 is mostly a reference to point 1. If you're not going to use any of the features of the language ( stripping out all the features that give you a development time benefit) and the taking away runtime JIT you're losing pretty much all the reasons/benefit of using it in the first place.


                iPhone is Objective-C and Mono. Android and every other mobile phone runs Java.

                Edit 2: spelling.
                Heh and you basically reply with a response that has no relevence to what I said. Android is not based on java or .net It supports java as an addition to the base system. It is simply not possible to use a language for anything significant that is so slow for any real-world device.


                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


                • #58
                  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


                  • #59
                    Originally posted by BlackStar View Post
                    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.
                    Oh 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 won't even touch your other ridiculous points that UPX compression could reduce ktorrent to < 300KB
                    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.

                    that .Net too slow to be used in real applications
                    On mobile devices it is, without degrading user experience (and infact on many desktops too). Not everyone has an SSD yet.

                    and that Raymond Chen's and Rico Mariani's blogs consist of Microsoft marketing.
                    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.

                    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?)
                    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. Same with Vuze and how it was slow because it was cross platform then all those darn examples of cross-platform QT and GTK apps came in that completely invalidated that.

                    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?
                    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. I'm sure there is some weird cornercase you can find where that is not the case but overall it is massively so. I know from experience there are certain uses for which python excells also. I just do not believe as a whole mono or .net or java is the way to go for the majority of things.

                    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.
                    _History_
                    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 history
                    Last edited by Hoodlum; 17 December 2009, 07:06 AM.

                    Comment


                    • #60
                      Originally posted by Hoodlum View Post
                      Oh 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.
                      Every *application* that runs on my phone is written in freaking *Java*. The same holds for most phones in the world, *except* iPhone which uses Objective-C or Mono instead.

                      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.
                      UPX claims an average compression level ratio of 0.307:1 (source). Assuming this holds for utorrent, the uncompressed executable would be ~919KB - still smaller than the *bootstrap* installer of ktorrent, which doesn't even contain Qt.

                      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.
                      The claim that this was a publicity stunt in favour of C# is ridiculous and shows that you haven't even read the blog posts. Also note that C++ comes on top in the end and Rico profiles the code and shows exactly *why* and *how* this happens.

                      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).
                      What does this have to do with anything?

                      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.
                      A couple of pages back I said this very thing: on your *native* platform the costs are amortized and become negligible. This is why utorrent outperforms ktorrent on win32 (in memory/disk/startup). This is why ktorrent needs only 6.8MB memory to run on a KDE desktop.

                      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.
                      What about Python desktop apps, do they perform horribly too? In other words, is your argument purely political or is there some substance hidden somewhere in it?

                      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.
                      Transmission, compizconfig-manager, ati tray tools, paint .net, sharpdevelop are examples of managed applications that run great on my non-SSD machines. Firefox and Evolution are examples of native applications that run awfully on both my non-SSD *and* my SSD machines.

                      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.
                      Stop right there, Miguel no longer holds any executive power over Gnome. He is a mere contributor like any other.
                      Last edited by BlackStar; 17 December 2009, 06:15 PM.

                      Comment

                      Working...
                      X