I've probably said this before, try Qt. It has bindings for all languages you'd care about and has a cool designer that integrates with most IDEs you'd care about.
I think for the most part I think he was referring to the ease of development rather than the capabilities. Some people will definitely appreciate not having to "develop" the GUI, rather, "draw" it.
Yep, that's mostly what I meant. However, WPF has some really nice data binding features, so you can literally design a functional app without writing a single line of code. Take a look at this video if you have time :
http://channel9.msdn.com/posts/Nichop/Real...to-Blend-Part1/ .
But you don't have to data bind to XML streams and such, you can also data bind to objects in your code. Basically it's like you tell a GUI element to watch a specific object and keep the data reflected in the GUI element at all times, and you don't have to write any code for it. Whenever the object changes, the GUI will automatically update itself.
AireTamStorm said:
Problem with MONO is, Microsoft didn't develop it, and it is far from complete. Python pretty much ran on everything from even early on in its lifespan, because the Interpreter ran on everything.
Yes, that's unfortunate. I honestly don't like C# that much as a language, either. It's just that it has some really cool stuff that I'd love to see in Python.
It's just a huge conflict of interest, because Microsoft is an OS developer. If Google had written .NET, I bet it'd be much more portable. And that's an issue they need to focus on, because, realistically, maybe a small percentage of the market is Linux or Mac, but the key point is that almost all of that small market segment that is Linux is developers. And asking developers to work with a toolset that will not work at all on their operating system will make them a bit hesitant. So I think it'd behoove Microsoft to speed up the Linux port, because then non-MS coders would be quicker to at least be somewhat accepting to MS's technology.
AireTamStorm said:
I still see it as more practical to just go with Python with Qt or GTK bindings, maybe SDL or OpenGL bindings if I want to get fancy.
Sure, Python is awesome, no doubt. I was just lamenting on some of the cool features Microsoft can come out with because they have a crapton of money to throw at everything.
Case in point - multithreading. Guido says "just do multiprocess and do interprocess communication!" Because of the GIL (Global Interpreter Lock) in Python, you cannot actually have two threads running at the same time! They just task themselves out. This is cool, because then you don't have to lock objects and such when you're multithreading, but it has a huge downside - it's not really multithreaded, it's just timeslicing quickly.
Microsoft is developing this cool technology called Parallels.
Say I have a dual-CPU system with two quad core processors. Now I can write a program to spawn 8 different proceses, set their affinities to each core, and try to keep the communication between them going, and then rejoin them after I'm done processing. Sure, I can do that, but why should I have to? And what if what I really want to do is just run a single thread for most of the program, and then every once in a while I want to shotgun off a loop or something onto all 8 cores? I'll have the overhead of starting 8 interpreters every time I want to do this! or I'll have the overhead of having 8 interpreters running at all times!
With Parallels, if I have a foreach loop that is, for example, processing images,
all I have to do is change one line from foreach to Parallels.foreach, and .NET will automatically check how many processors I have available and their loads, and distribute the task across all of them.
And it has a bunch of other neat multithreading and scheduling features. Heck, one function we optimized at work that did I/O and image processing from media cards got a 40% speedup by changing just one line!
And that's on a dual-core system. A quad core may get ~60% or so.
And that's a ridiculous increase in speed, because the function has been optimized very much already.
Anyway, I've not looked into QT but I've heard good things. I'll take a look next time I have a free minute (once I finish rebuilding my projector
)
sindbad said:
The Qt Designer lets people draw GUIs, much more powerful and easy than glade for example.
Cool! This definitely sounds like something I should check out.