Mono's WinForms 2.0 Implementation Completed
adrian.henke writes "After four years of development, 115K lines of source code, and 6,434 commits, Jonathan Pobst announces that Mono's WinForms 2.0 implementation is now complete. This announcement has been long awaited by any .NET WinForms developer who has ever tried to get an applications to work on Linux using Mono."
Currently working on a C# implementation of a web based in house CRM system.
Going to be nice to finally be able to support our Linux desktops as well.
We'll see how porting goes and if it's really worth the trouble.
"Freedom in the USA is not the ability to do what you want. It is the ability to stop others from doing what THEY want"
..and still nothing on whether WinForms is legally safe to use.
I am not a number - I am a free man!
If only Microsoft weren't up to 3.5 already. I just kid. Admittedly I haven't looked in depth at any of the versions of .NET > 2.0, but they didn't really seem to have any super awesome new features that I really wanted.
...by any .NET WinForms developer who has ever tried to get an applications to work on Linux using Mono."
All five of them.
RFC2119
What platforms? .NET is very clunky, but it still seems very popular.
I'm also very interested to hear what these platforms are.
> I use .NET all the time, but I can't say I like it half as much as Python.
I know what you mean -- ELF just doesn't hold a candle to Perl.
Done with slashdot, done with nerds, getting a life.
Methinks we've been trolled folks.
Here's to the crazy ones
It is interesting that now that Mono is getting to a more complete (and possibly usable state), most developers have moved beyond the .NET hype and onto more elegant development platforms...
.NET. Mono supports .NET, but that's not its primary API.
Please stop conflating Mono and
In fact, the primary API is the same API lots of open source software uses: Gnome, Gtk+, and many standard open source libraries. All Gnome apps using Mono use the Gtk+ APIs.
I wish there were better alternatives, but C# + Gtk# + MonoDevelop is probably the most elegant development platform right now. Nothing else really comes close. Python is a more elegant language but doesn't have a comparable IDE. Objective-C and Cocoa are messily intertwined with C and C APIs. And Java is a bloated pig.
Maybe the mono devs can get an implementation of IronPython going? Then you can have Python + a damn good IDE (i was surprised how well Mono Develop is myself)
Say what you will about Mono, I think Microsoft's implementation of .NET is actually a pretty strong contender. If you need to solve a problem in Windows really fast, it can be pretty insanely convenient. I think Powershell in Windows Server basically uses a .NET machine for its shell interface. If you ever need Windows machines and Unix machines to talk to eachother, a Mono compatible implementation could be even more convenient than having Python talk to .NET, which isn't too hard to begin with.
"And Java is a bloated pig."
At the risk of feeding the trolls, in what way is C# + Gtk# + MonoDevelop less of a bloated pig than Java? Java is actually a very fast, extremely productive platform to develop on with a top-shelf toolchain (in fact several).
E pluribus unum
Python is a more elegant language but doesn't have a comparable IDE.
I somewhat disagree.
The use of indentation alone to convey semantics is an extremely annoying flaw. It makes python code particularly susceptible to mangling. I like that I can write C# code (or code in most languages), copy and paste it, or make significant edits, and then simply tell the IDE to reformat it.
I also like that C# checks typing at compile time. I fail to see a worthwhile advantage to how Python does it. The more simple bugs you can fix during compilation the better. I concede that Python makes certain types of action easier, since you can basically have 'anonymous interfaces', but in practice it leads to more errors, and really only saves a little bit of coding effort, in my opinion.
Meanwhile C#3 extension methods, lamda expressions, and linq syntax in particular are truly a pleasure to work with.
I'm not going so far as to say c# is more elegant than python, and c# has its flaws too... and I'd put them both in the running for most elegant language... but python's semantic indentation drives me nuts. There's nothing that fundamental to C# that annoys me the same way to the same extent.
IronPython already works fine on Mono, but it doesn't have IDE support. PyDev in Eclipse is pretty nice for pure Python and Jython.
.NET. Maybe Anjuta could stop sucking and support Python, or Eclipse could have Glade integration.
Personally I'd rather work directly in Python/Ruby on GTK/Qt than go through an extra layer that is
And while Mono's not horrible, but it's not nearly as fast as the Sun JVM, so if I want fast bytecode I'd rather use Java than C#.
Sam ty sig.
Python's an interpreted dynamic language, C# is a compiled static language. Trying to use one like the other is a recipe for a headache.
The two don't really compete so much as solve completely different problems. Personally, I love Python for writing all those throwaway programs I need to scratch various itches. Dynamic typing means you're not worrying about defining 500 lines of boilerplate classes before you even get down to coding logic.
Meanwhile, I use a static, compiled language whenever I want strong type guarantees. This is generally any largish, non-trivial project that needs some form of rigorous structure. (These are fewer and farther between than one might think, though.)
Of all the scripting languages, I think I like Python the most. But I still develop in plenty of other languages; it's just a nice option to have. One of the best things about Python is how well it integrates into C, and by extension, any language that supports C interfaces (aka, all of them worth mentioning).
I don't know about the definition of bloated, bit it is a pig on resources and slow as hell on my older computers. Perhaps that is the inference he was attempting to make.
Now, X seems to slow some things down a little but I haven't really seen the comparative mono applications act in the same ways as java seems to. However, it should also be noted that I can't really compare apples to apples here because I don't have applications doing the same things in similar ways written in the different languages to really compare. I do know that something like the Angry IP Scanner which recently went Java is slower compared to previous windows versions. But that isn't exactly mono though.
Java is very fast and I think these numbers speaks for them self http://www.bytonic.de/html/benchmarks.html
SCO still has a few law schools worth of lawyers on retainer, and a new group of big bucks sugar daddies to fund a few more rounds of lawsuits.
These extremists are not going to surrender. They see open source/free software as a form of communism. These are not the sort of people who call off an already declared war. They are going to keep on filing new lawsuits until they manage to land their lawsuit in the courtroom of a judge who is just as warped and extreme as they are.
I have nothing like you describe when working with C++ under Visual Studio.
Does this mean we can finally get a SWF GUI builder in MonoDevelop on Linux?
:)
I've got a couple of apps I wrote while I was using Windows and now I use Fedora Linux. The back-end library code and my newer apps that use GTK# are fine to edit in MonoDevelop, but I've got a VirtualBox install with WinXP and Visual Studio in it for now so that I can update the System.Windows.Forms layouts when I need to.
Hopefully the "API complete" also means they'll fix some of the odd rendering I've seen at times
From the blog:
Why WndProc, HWND and WM_ messages are still there? I understand Microsoft built a software monopoly by mixing Window System management and a GUI toolkit together (and transferring it to .NET ensures that monopoly), but isn't .NET supposed to be one of the most advanced toolkits out there? Having to rely on WndProc, HWND and WM_ messages seems a very bad design for me (I've been developing MFC apps for a decade now and I know of the numerous problems that might come up), and unfortunately Mono WinForms copied that in order to be compatible with .NET.
Initially I thought 'wow, a contender to Qt/Java for building cross-platform apps', but after reading the blog and being an supporter of anything but Win32 (the ugliest API ever written), I will think twice before using Mono or .NET for cross platform development.
Glad you're happy.
Personally I think that since indentation is pretty much required anyway, you may as well have the language take advantage of it for you.
I just find Python so much more consise than C#, all the extra fluff in C# doesn't seem to help reduce bugs, as opposed to the extra verbosity in Python over Perl, which does reduce bugs.
It's just a shame that IronPythonStudio is nowhere near as good an IDE as VS is for C#, and Python really does _need_ an IDE. Oh, and that Linq looks like an ugly add-on in Python whereas it's part of the language in C#.
By far my favourite thing is that I can continue writing in my favourite language while happily calling code you've written in yours and everything works flawlessly. Thanks to Mono, I can also take code I've written on windows and run it on both MacOS and Linux. It's hard to get into religious wars when tools work together!
Ctrl-A, Ctrl-K, Ctrl-F
And Python/Qt on GTK+/Qt isn't "an extra layer" because?
ctrl-shift-f in eclipse to reformat
ctrl-shift-o to fix all includes/imports
VS2008 has this, as does the Visual Assist VS plugin for all previous VS versions
You can't win Darth. If you mod me down, I shall become more powerful than you could possibly imagine
Come on now, this is a pretty significant step. Lots of Slashdotters must be stuck developing Windows .NET applications and would love to find a way to deploy them on Linux. If you haven't tried it, Mono is pretty cool: copy your .NET executable to Linux and run
% export MONO_IOMAP=all
% mono my_program.exe
You might be surprised how well it works.
-- Ed Avis ed@membled.com
Java is fast? Go try to run Azureus and weep.
Oh, you do? And you think it is fast? Try utorrent on Windows or Transmission on OSX or KTorrent on Linux some time.
Making laws based on opinions that stem up from false informations leads to witch hunts.
Java is fast? Go try to run Azureus and weep.
The performance of a single benchmark is hardly indicative of a whole platform... you might as well say - "Linux is fast? Go try run Azureus and weep".
Being bitter is drinking poison and hoping someone else will die
I'd be interested in knowing what .NET is clunky in comparison to. If you mention Apple's Objective C approach, you probably don't deserve to have an opinion here.
.NET around right now. Especially not since Visual Studio 2008 came out.
WinForms as a library is a little old fashioned, but in combination with Visual Studio it's very slick and one of the most productive GUI environments around for building desktop applications. If you want to build fruity super-slick GUIs, you have WPF to do that (but the Visual Studio designer isn't as nice).
There isn't a better platform on Windows for developing desktop or server applications than
s/Implementation/Infringement/
thanks :)
----
Okay.
"Java might be a great development platform, but the performance of java apps on the desktop is so pitiful they're painful to use."
More?
"Sever-side apps written in Java have great perfs, however, which is easily explained since they're meant to be run on a score of UltraSPARC hyperthreaded multicore CPUs that command a ton of RAM."
Better that way, yes, you're right.
Making laws based on opinions that stem up from false informations leads to witch hunts.
Scalia? Roberts? Thomas?
The final judgement by the Roberts & Co. is not likely to be one you're gonna like.
Alternatively you can use Boo http://boo.codehaus.org/ , which has a MonoDevelop addin : http://monodevelop.com/Download
.NET/Mono with a Python inspired syntax and a special focus on language and compiler extensibility.
.NET can offer (contrary to IronPython)... and performance [Boo is on par with C# since it is statically-typed by default... you can use dynamic-typing where you really need it])
Boo is an object oriented statically-typed programming language for
It actually has the feel of Python but has also all the features
@neonux
wish there were better alternatives, but C# + Gtk# + MonoDevelop is probably the most elegant development platform right now.
.....
You'll find that that's because C# was designed with an IDE in mind. Everything is statically typed (for intellisense) and the object oriented nature allows for easy code completion. Even look at the new LINQ (Allows you to query arrays/lists/etc. in memory)
var result = from dataType in myCollection
where
Notice how it the IDE will have enough information to offer you code completion the whole way though. Even though it'd be more intuitive to format it more like SQL.
So in closing, Python can never even hope to have an IDE that matches C# or any language designed for the purpose.
The only thing slow about Java are the GUI libraries and the initial VM startup, for non-interactive stuff it is actually very fast. Anyone wanting to develop GUI applications using Java should use some kind of native GUI library through JNI.
I am SO hot for you now.
PS: Yes, I'm a guy.
WinForms is so 2 years ago. It's MPF now. Here's a good article on the failings of .net.
Java is fast? Go try to run Azureus and weep.
Oh, you do? And you think it is fast? Try utorrent on Windows or Transmission on OSX or KTorrent on Linux some time.
People can write slow programs in any language. The question is, can moderately competent programmers write fast, efficient, maintainable programs in them? Pointing to one example is pointless. Back on topic, a quick check on Alioth will show you that overall, Java is faster than C#/Mono but uses more memory (although on some benchmarks the opposite is the case). It's also worth pointing out that although Java is not faster than C++ on any benchmark, it's substantially slower on only three. In general the performance of a program has much more to do with good design and good algorithms than it has to do with choice of language.
I'm old enough to remember when discussions on Slashdot were well informed.
Except, of course, Win32 API is a disgusting piece of shit that should better be shielded from developers by something, and GTK+ is a widget set with a very straightforward design. Heck, Windows GTK+ port even runs on top of Win32. And so does Windows port of Qt, with absolutely no need for
Contrary to the popular belief, there indeed is no God.
It's a pretty thin layer compared to an entire extra base library + bytecode runtime + OS abstraction.
PyGTK layers:
Your code (python)
PyGTK code (python)
Python runtime (C)
PyGTK->GTK binding (C)
GTK+libc code (C)
kernel (C)
IronPython + Gtk# layers:
Your code (python)
IronPython code (python)
IronPython runtime (CLI)
Gtk# code (CLI)
Mono base (CLI)
Mono runtime (C)
Gtk# -> GTK binding (C)
GTK+libc code (C)
kernel (C)
That's a fun one to deploy, let me tell you.
Sam ty sig.
Behold the power of marketing! This is the reason why Microsoft platforms are so popular. I still remember the days where .NET was marketed as the "next big thing" and courses and seminars were practically around every corner. But what is its real technical merit?
This is one of the reasons why I hate Microsoft. If they invested at least 10% on development what they invest in marketing, this would be a much better place.
The GP post named a reason why .NET is widely used: productivity. You do not respond to this argument but assert that anyone who like .NET must have been swayed by marketing. Admittedly, the GP post was sparse on argumentation but it was pretty informative compared to your rant.
.NET (and I do have some experience with Java). There are three arguments why I like .NET: .NET is incredibly productive.
.NET is used quite widely is because of productivity.
I've been developing in C#/.NET for the past four years and I really like
- For many design scenario's, developing in
- In C#, it's possible to write code that's both conceptually nice and productive. I am aware that I'm begging for a flamewar here but in my opinion, Java's 'everything is an object' approach sounds clean at first but makes for some really clunky code.
- Personally I prefer the look and feel of Visual Studio.
I am aware that the last argument is entirely depending on taste and the second to last argument is at least partially a matter of taste. But the main reason why
Six months after Microsoft's CTO declares WinForms dead, Mono supports it. That's timing, baby!
Read my blog.
C# (under the .NET CLR, at least, I can't speak for Mono) is jit-compiled to machine language before execution. It's stored in the file as "bytecode" (IL), but it's not run that way.
I guess this means that Microsoft will come out with WinForms 3.0 now. Good luck playing catchup!
Java loads a huge number of libraries at startup, and then as it translates its bytecode into machine code there is a lag. So the code startup is a very royal pain in the ass.
But once your Java application or server is running, the performance of a decent Java app can be within 20% of C++, which is plenty quick and much faster than any scripting language equivalent. You don't need a commercial grade server.
I'm not saying Java's the greatest language. But a lot of people seem to think the language is stuck in 1995.
"MonoDevelop is probably the most elegant development platform right now"
not even close... one word: EiffelStudio
In the case of Azureus, it's just a case of hammer meets screw : an app that runs quasi continuously, gobbling up cycles and RAM like crazy, all because it's coded in Java so that the devs get to write it once and debug it everywhere. Or package it everywhere, with that process' own problems.
It just should not have been programmed in Java, especially since it's supposed to run continuously (no one stops BitTorrent clients after downloading just one linux ISO. That's the story for the suits, remember? We're among ourselves here.).
And it's not like a BT client sits idle all the time! HEAVY I/O there, from/to disk and network. So, inefficient code that gets indirected four times before any actual operation running all the time doing heavy I/O : well, that explains the need for
Not that Java is bad, it's just Not For The Desktop. A fast, portable lib that abstracts everything platform-specific? Qt.
Not even beginning to speak about how my hackintosh beachballs for MINUTES when loading webpages with applets...
Java is for servers. Servlet. Repeat after me. Serv-let. A ton of RAM and two hundred "hyper"threads running in one hundred cores on fifty CPUs. THAT runs Java fast enough. On the desktop, forget it. Applets take hours to load, apps can be written once, but have to be debugged everywhere, several indirection layers to each and every instruction, ugly interfaces that NEVER EVER look right, and can't update over once a second (and thus feels sluggish with a load of 0,1)...
Now, writing JSPs, on the other hand, that is sweet. Powerful and
Oh, about the 20% : I believe you. 20% of perf of equivalent C++ code, that's a 80% perf loss, it's about right. It's okay, I would not want to write C++ Server Pages. And since they would need five times more code, they'd have about the same perfs on the same hardware.
Making laws based on opinions that stem up from false informations leads to witch hunts.
Very true. Because of this Java's current market is web sites. I'm not referring to applets but rather JSPs. It runs as a server so the start up time is a non-issue. Since it is being used to generate HTML and not really render anything in the native environment it does not touch the GUI libraries. Because of this is makes an excellent platform for web apps. Off the top of my head I know it's used by ebay and a few banks. It's also the back bone of the Google web toolkit so it's what runs gmail and several other google things. By design it can be written such that you can design a web site so that you can't tell it's running JSPs so it's hard to really tell who is using it.
Yeah, but a GUI app that has an FPS of one and below is UNUSABLE CRAP. .NET program vs the most widely-used Java program).
.Net code does not take an age and an half to load 150 megs of libs and gobble up about as much RAM. It does not ruin my browsing with its "Java runtime loading, go plant some coffee trees and by the time you've harvested, dried, fermented, roasted, shipped, ground, and used them, I might have finished loading, unless it's near harvest season already; in which case, come back next year when your applet gives its ridiculous ripple effect on half the webpage so that it's illegible save for the 200 pixels above the smeared text".
That's the case of Azureus.
That's not the case of, say, Paint.NET (Bad example, I know, it's just the most widely-used
Benchmarks don't mean shit.
I win.
Making laws based on opinions that stem up from false informations leads to witch hunts.
Tcl/Tk?
.NET got to learn from Java's mistakes, so the most egregious problems are not found there.
A few things that help improve performance and memory use include:
* Value types (instead of limitations on objects).
* Generics supported in the VM (code sharing + code paths optimized for the type; On Java there are no generics in the VM).
* Stack-allocated objects.
* P/Invoke (avoiding the whole JNI)
* No mandatory exception catching, less bloat.
Value types and generics are probably responsible for a large chunk of memory savings. This means that small data structures do not need to be wrapped in "objects", they are represented in the same way that a C struct is represented.
LINQ's order would be logical even if IDEs weren't even involved, since it leads you to define every variable before you use them, which is the default in every other place you use variables. If they had used SQL's order, this basic logical assumption would have been broken. (I'm not necessarily disagreeing with anything the parent said, I just felt this had to be pointed out.)
I have the same problem with python. Semantic indentation. It's a genuinely dumb idea in my opinion. Other than that, sometimes you need static type checking and compiled (not interpreted) code sometimes you don't. Indentation aside if you want higher performance between these two you'd go for a compiled tongue. If you want something quick to write, and are ok with it being a bit slower running (and have already figured out when to hit the tab key,) then perhaps python is your beast. I don't think that C# qualifies as 'elegant' though unless your comparing it to C++, by which most languages are elegant. :D
People decrying the mono port of winforms aren't obviously in the target audience of developers. Those of us who are, (winforms developers for windows) are very happy that mono is making this leap. I'd think the Linux Zealots(tm) should be happy about this seeing as how there is one more way now in which the friction caused by moving from windows to linux has been greatly reduced. Unless of course, they just LOVE being in an exclusive club where the guy with the most technical skills invested in using his operating system on a daily basis wins.
Speak for yourself.
You forgot a ')' :/
He also said ForEach, which is a syntax error. "foreach" is correct for c#. Case matters.
I want my Cowboyneal
For real designer-style design of WPF/Silverlight apps, you want to be using the Expression Studio instead (particularly Design and Blend).
My video compression blog
Swing / AWT in modern JVM's has been improving leaps and bounds over previous versions. One of the really really big hinderances of java's GUI responsiveness is that many developers don't thread tasks that take a fairly lengthy time to perform when executing on the event dispatch thread!!!!
Just think about this:
GUI event
V
Perform seconds Long DB query
V
Show results on screen
Unless you break into a new thread to manage the DB update, thats SECONDS of time that the GUI will not redraw anything but native widgets that the OS manages.
Bad programming can be linked to many Java GUI shortfalls, though it still isn't a desirable platform for 'high end' gaming, and only adequite for 3d simulation.
Bye!
And we'll have WPF support...
What a crap comment why did you even both?
.NET is a better solution is because you like the text editor?
.NET is incredibly productive" is not a reasonable argument.
1) Do you really think I am going to take your word on if it's productive or not?
2) So the only reason you think
Give me a break, come back with some better arguments and maybe I could take you seriously, right now you sound like a marketing drone. Saying "developing in
And thus is the true intellectual and social maturity level of slashdot revealed.
In the 21st century, the fact that you like technology does not automatically make you smart.
> so that the devs get to write it once and debug it everywhere
"Write once Debug Anywhere". No, you're not repeating that like a mantra or anything. Can you name even one time this has held true for Java in your experience? For bonus points, show me how this does not apply to some other language.
Done with slashdot, done with nerds, getting a life.
> In the 21st century, the fact that you like technology does not automatically make you smart.
I like. Yoink!
Done with slashdot, done with nerds, getting a life.
1) Do you really think I am going to take your word on if it's productive or not?
Okay, I'll bite.
Of course productivity is a good argument. In fact, it is *the* most important argument. A platform is a tool, enabling a programmer to develop solutions to a specific problem. If anything it should be productive because that's it's main purpose.
What you probably meant is that I did not support the productivity argument with examples, which is a valid point. Therefore some examples:
* The Form designer works beautifully. I have developed GUI applications in Eclipse and Visual Studio is by far more productive.
* Linq is a nice addition to
* I like C# as a language because it is possible to write clean code that also is productive.
To be fair, there are some drawbacks as well.
*
*
2) So the only reason you think
An IDE is more than a text editor. Software Development is a vast field of work with many different tasks. The idea that plain text files are the most optimal way to accomplish all these tasks is quite frankly ludicrous.
Same thing for Mono on x86, but I think the complaint is that Mono doesn't generate as good code as MS's VM or the JVM. Generating native code that's functionally equivalent to bytecode is not that hard, but generating code that is efficient is much harder. Sun, IBM, and Microsoft have put lots of money into getting their respective VMs fast, and it wouldn't surprise me if Mono isn't as polished.
The
It looks like you get the exact same thing, honestly. All it comes down to is which platform is best for actual compilation.
You need to restart your computer. Hold down the Power button for several seconds or press the Restart button.
Ever notice the Matlab startup latency? It is the same such thing as the Java startup latency because that is what you are waiting on.
Come to think of it, I saw a Java Coffee Cup on the Toolbar once when Maple was slow to load. More psychos! Dweep! Dwepp! Dweep!
At the risk of feeding the trolls, in what way is C# + Gtk# + MonoDevelop less of a bloated pig than Java?
Swing attempts to reimplement everything in Java; what it can't reimplement in Java, it reimplements in C. Gtk# is a thin binding of Gtk+ to C#.
Java is actually a very fast,
Actually, it is not. Java lacks some fundamentally important constructs (e.g., multidimensional arrays) that mean that a lot of code simply cannot be written efficiently in Java no matter how you try. If you haven't run into that, it's simply because your needs are modest.
extremely productive platform to develop on.
I can put together a high quality Linux desktop application in Monodevelop in minutes. In Java and Swing, it's impossible to put together a high quality desktop app at all.
with a top-shelf toolchain (in fact several)
If you think that crap like Eclipse or NetBeans is "top-shelf", you really haven't used a good IDE in your life.
there are no pleasant, responsive desktop Java apps.
Eclipse, Netbeans, IntelliJ... I've used loads.
Being bitter is drinking poison and hoping someone else will die
Java is actually a very fast,
Actually, it is not. Java lacks some fundamentally important constructs (e.g., multidimensional arrays) that mean that a lot of code simply cannot be written efficiently in Java no matter how you try. If you haven't run into that, it's simply because your needs are modest.
Actually, I'd say if you have, it's because your needs are extremely specialized. Considering our app is a massively distributed live collaboration system deployed in Iraq that handles gigabytes of data, I don't think our needs are "modest".
I can put together a high quality Linux desktop application in Monodevelop in minutes. In Java and Swing, it's impossible [for me] to put together a high quality desktop app at all.
I corrected your statement for you, kthx. I have two suggestions for you, if you care: 1. If you insist on sticking with Swing as you seem so intent on doing, try NetBeans application platform. 2. If you're willing to try an alternative to Swing, try Eclipse Rich Client platform. If you really like things like twiddling bits with slightly magnetized rusty spoons, by all means continue to try to code directly to Swing.
If you think that crap like Eclipse or NetBeans is "top-shelf", you really haven't used a good IDE in your life.
My personal favorite is IntelliJ IDEA, which I find more productive than any other IDE I've ever used. These include everything from THINK Pascal in the 80's to Visual Studio. And while I'm not comfortable in Eclipse, I know a lot of people who are very productive in it. At least Java is not hobbled by having one dominant IDE vendor creating a one-size-fits-all environment.
Finally, I'd like to point out that I asked why Java was more of a bloated pig than the C# platform, not why you find certain features better for your particular use case. It's fun to Java-bash on Slashdot, but I get the sense most folks who do it haven't actually done serious Java development in years.
E pluribus unum
I got Virtual PC 7 on Quad G5 2500 (lots of RAM) and it runs Windows XP Sp2 (now 3).
.NET application. :)
.NET to Java. I respect to the insane amount of work by the developer of Winforms port (not to Icaza,really) but come on, where is a Nokia .NET requiring Application for Linux? Isn't that the idea of a framework? Where is a single OS X Application which could be ported easily thanks to .NET/Mono?
Of course not expecting anything, I wondered the new Widgets on Java 6 and how easy it is if I ever need users to install Java 6 on Windows. (for applet).
Some would call me mad for this, I actually installed Java 6 on Virtual PC 7 emulating a P3 500. It actually installed fine in matter of 3-5 minutes and I didn't even bother to remove its "Java update check" from startup. It doesn't take a gigantic space too.
As MS and Nokia, my cell phone vendor did everything to force me, while I was not busy, I dared to install NET frameworks. I particularly remember version 3 (the current one?) taking 55 MINUTES to install and taking up gigantic space. I also had to install its updates since I can't dare to run Windows without any updates. Imagine a virtual PC getting virused and spamming etc. people. (It can actually happen).
BTW, that fake PC with actual P3 500 with 512MB RAM can run a full feature program like Vuze client. Of course, not video playback etc. When I have 5 spare hours, I can try a non bloated thing like a
It is also unbeliavable that people dare to compare
IL gets JITted also (not sure if python bytecode goes thru a JIT or not), even in mono, IIRC