If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
Qt are officially supported on:
* Posix/X11 (GNU/Linux, FreeBSD, HP-UX, Solaris, AIX, etc.)
* Embedded Linux (running directly on a Linux framebuffer)
* Mac OS X (Both Cocoa and Carbon backends are available, to support any Mac OS X version)
* Windows (Both 32bit and 64bit)
* Windows CE / Mobile
* Maemo/MeeGo (actually just a special case of Posix/X11)
It also works (though unsupported by Qt Software) on:
* Amiga OS4
* webOS (Palm Pre)
* Amazon Kindle DX
What are you missing to call it "really multi-platform"?
Note, while KDevelop needs the KDE Libraries, only available on Posix/X11, Mac OS X and Windows, what I advocated was using it to write plain Qt applications, which works on pretty much anything, and integrates well into whatever it runs on.
Not realy. Java can run on everything. People choosing a Microsoft thing for fun are not realy in the league of knowing what their doing and even if you know what you are doing on Windows choose Win32.
Cross platform Mono. Shit... Give me a break... What is the only advantage of Mono? That's right; being supposedly easyer and thus lazyer. What is it good for? What makes it do for the end product? Java 1.6 has multithreading, OpenGL, GLSL, can run in a browser. What does Mono enable again?
What are you missing to call it "really multi-platform"?
First of all Qt as framework is really cool, yet I think is irrelevant to many people.
For desktop applications is as portable as Gtk+ is. I know Gtk/Glib is much more limited than full Qt, yet it works on a lot of platforms.
Being said that, is as irrelevant as Mono is. Mono, as Java, as C++ is as it's core portable on a huge pile of platforms. The reason that Mono is also relevant is that of the services that are provided with that runtime, like but not limited to: garbage collector, reflection, decent capabilities in some areas that Qt does not shine to the same degree (give to me an attribute based reflection mapping to populate UI). This is cause of language/runtime capabilities that to some degree the underpinning of C++ lacks.
Some strides are with GObject Introspection and who knows Qt 5 !? but is not enough to justify switching for sake of switching.
Would I pick Qt for Mono? For specific UI tasks where I need fastly an WebKit browser and to look native on Windows/KDE/OS X I would likely pick Qt. If I need on a similar fashion an OpenGL application on Windows/Linux/OS X AND modern smartphones, I will likely pick a C# based with .Net on Windows and Mono the rest.
At the end, in case of complex bussiness logic, does your memory leaks help? I don't think so, at least to some degree I would welcome a garbage collector and a reflection framework to make my unit testing to not be solved with compiler tricks.
The reason that Mono is also relevant is that of the services that are provided with that runtime, like but not limited to: garbage collector, reflection, decent capabilities in some areas that Qt does not shine to the same degree (give to me an attribute based reflection mapping to populate UI). This is cause of language/runtime capabilities that to some degree the underpinning of C++ lacks.
MOC extends C++ to support reflection.
Q_CLASSINFO is probably what you would use in place of an attribute in C#.
class Foo : public QObject
Q_CLASSINFO( "MyAttribute", "WhateverValue" );
Foo *bar = new Foo();
if( bar->metaObject()->indexOfClassInfo( "MyAttribute" ) > 0 )
// Has the attribute
There is a lot more, and the only things you cannot really find any counterpart for in Qt is LINQ and WPF.
The rest is there, and even works better in most cases imo.
Memory management with Qt is a non-brainer, with methods like deleteLater().
I don't recall ever getting a memory leak in a Qt app.
Many of the people that thinks they need C#/.NET have started their programming career programming using it, like many of those who started coding VB or Delphi long time ago, and never even tried anything else.
I started coding Delphi when I was 12 or so, and when I switched to Linux full time in 2005 I couldn't do that all of a sudden.
That's when I started exploring new languages, like C++, Ruby and PHP and now I would never go back to Delphi, ever.
I'll give Qt4 credit for probably being the best C++ toolkit out there. I was really impressed by it when I played with it.
C# with .NET still gets to the point faster, though, and the syntax looks a lot cleaner.
I don't quite agree with that either.
The only time I'd say C# "gets to the point faster" is when working with import and export of data like we do at my job.
Especially when using LINQ and initializer lists to easily output any data to XML files using classes generated by xsd.exe.
I don't think any language or framework could make that process any easier or faster than C#/.NET.
For any other thing, especially when it comes to actual GUI development, I'd say Qt has the upperhand by far.
As for the syntax I am not quite sure what you are referring to, but there are at least a lot of things I miss in the C# syntax:
Being able to treat a pointer as an int (0 or >0) to test whether it's valid or not.
Optional parameters, although that came in C# 4, though we still use mostly C# 3
Separate header and source files
The ability to inherit multiple classes, interfaces sucks
I am just waiting for C++0x to make its debut, to improve the C++ syntax further.
Continuing in this slightly off-topic vein it seems as if Microsoft are focusing more on C++ for upcoming Visual Studio release(s), doesn't mean that it will be at the cost of C#/.NET development though of course. Still it underlines that C++ is as alive and healthy as ever.
To the idiots who celebrate when developers lose their jobs: a big, warm fuck you. You have just scraped the bottom of the barrel, wishing your fellow humans pain and misery. Those people have families and children to feed, yet you laugh at their loss - fuck you.
They can always make c# apps for windows. If they chosen to work on Linux they could learn Qt. I won't cry, because some devs who were making anti-Linux software were fired.