A Taste of Qt 4
Karma Sucks writes "In 'A Taste of Qt 4', Trolltech reveals that it is positioning Qt 4 directly against Java. Qt 4 promises to be smaller and faster than its predecessors and there will be a boatload of new features including support for non-GUI applications and accessibility under Linux using Sun's ATK. More controversial is the introduction of a new and elegant foreach construct. Incidentally, for those still opposed to Qt's moc preprocessor, Havoc has some interesting comments. It is possible the idea will be adapted to provide GObject introspection in the future."
Real contender for what exactly ? You rule things out in a way suggesting that one thing can do everything.
Java works very well on server side. It doesn't work very well client side. Its horses for courses.
I'm not a developer, I'm just a KDE user. I fail to see how there's anything revolutionary in here for me, or the other users. After all, software isn't just for the developers.
While you may not realise the benefits straight away, software being easier to develop means more, higher quality apps for everybody.
If it's better for developers, then it will be better for you (or should be).
That'll be great to be writing servlets and jsp's in C++. *cough*
This should be obvious.
If the new Qt toolkit gives developers things to drool over, they'll develop more software. If they develop more software using droolworthy tools, there's a good chance some of that software will be droolworthy in and of itself.
A good API isn't the be-all and end-all of software design. But giving developers things to feel excited over is important, especially in the open-source world.
How can you use my intestines as a gift? -Actual Hong Kong subtitle.
exactly - so?
It's a C++ development toolkit - the users of this software are by definition developers.
Also, the article is posted in the "Developers" section of slashdot, it was never intended to interest you. If it bothers you so much, turn off the Developers section in your preferences.
Advanced users are users too!
It's not a Monopoly... I don't think Gnome is gonna embrace Qt (at least now). So Mono has its place.
Sounds interesting, BUT.... The problem QT are as follows:
.NET, etc)
1) No GPL version for the Windows platform. As much as people in the Open Source community might hate MS, many (most) Open Source packages are cross-platform where Windows is a platform.
2) A non GPL version of the library costs an outrageous sum of money. Sure Trolltech wants to make money, but lower the costs a bit.
3) Why compete against Java? Somebody who uses Java is not going to switch to Qt as Java is still simpler. To me C++ != Java, and I am not saying one is better or worse than the other.
Frankly, I tend to prefer wxWindows, which has many of facilities mentioned in the parent post. And there are plenty of bindings for wxWindows (Python, Java,
"You can't make a race horse of a pig"
"No," said Samuel, "but you can make very fast pig"
Wow, a new syntactic construct. Stop the press.
Seriously, such rejoicing about new language features fills me with pity at the thought of those poor programmers stuck with whatever language constructs the "higher autorities" deems them worthy to have.
Lisp has supported extending the language for about 40 years. And people still get excited when they get a new syntactic construct for C++. That is sad.
If you want to find joy and productivity in programming, use Scheme, Common Lisp or some other programmable programming language. Free your mind.
A message from the system administrator: 'I've upped my priority. Now up yours.'
taken! (by Davidleeroth) Thanks Bingo Foo!
The 'moc' tool even brings extra features to C++ that normally don't exist.
This of course also means total unportability.
Shrug.
Once a body of application code is married to a GUI toolkit or class library, it's pretty tough to port it to anything else (different toolkit or classlib) anyway. A few extra keywords like slots, signals and the new foreach don't make that much difference, they're just syntactic sugar (but oh so sweet) for stuff that can be implemented in other ways.
-- Alastair
This would not "do the trick" for me. The STL for_each requires a pre-defined functor outside the scope where the for_each pseudoloop algorithm is executed. I like the perlness of a "for each" that acts like a natural extension to the for loop.
taken! (by Davidleeroth) Thanks Bingo Foo!
Already, Java is being threatened by Microsoft (for obvious reasons) and by Sun themselves (for almost-as-obvious reasons-- i.e. Sun getting into bed with Microsoft). Remember that the software field does not look like "Microsoft versus Sun versus Apple versus...." at present. Rather, it looks like "Microsoft versus everybody else.."
Until the marketplace is more open, with no gigantic 95+% monopolies in any given field, I'd like to see the non-Microsoft players cooperate in an effort to cut MS down to size. Then, and only then, should they focus on competing amongst themselves!
Honey, I shrunk the Cygwin
Yeah, well, the problem is that Java just isn't Free or Open Source enough, so it's doomed. QT, on the other hand, has a bright future. It's so Free you can't even write a non-GPL program that uses QT unless you pay an expensive per-platform per-developer-seat yearly fee. And you can't write a program that targets Windows for QT at all unless you go with the yearly fees.
Now, which do you think developers would rather go with? A company with tenuous links to SCO and a free-to-use but closed-source base library, or a company with tenuous links to SCO and a library you can only use to write GPLed software for UNIX? Yes, I think we all know the answer to this one: the one that the slashdot groupthink hasn't decided is "doomed". So, QT will win.
...that will make Things better. What is it, that everybody is trying to discredit java, by just copying fundamental features of the Language, or API or VM? .NET and QT are just the big players here. I don't know whats wrong with these folks.
I haven't used qt any more than for some simple Hello world, stuff, but IMHO that argument is quite poor. Qt sucks because it makes life easier? Umm, why not do your GUI programming in asm while you're at it, if you like pain?
The same argument could of course equally poorly be made against smart pointers. Why use a smart pointer when you could do manual memory management with new and delete? Oh, what heresy!
PS. new and delete are operators, not functions. There is no such thing as new() and delete().
Driven by consumer electronic devices such as mobile phones and PDAs, desktop applications are moving away from standard widgets and styles towards more customized user interfaces. Qt 4 will support this modern user interface approach through its powerful style system as well as with flicker-free refreshes and transparency for all built-in and custom widgets.
I find this trend distressing. Custom user interfaces are, in general, a bad idea. Using non-standard widgets impacts negatively upon application usability.
Standardised widgets help the user quickly adapt to new applications, by maintaining consistent user interfaces.
your post is redundant. GPL is GPL. If you want GPL Qt on windows, you are free to write the code yourself. As if Trolltech's GPL isn't as good as the GNU GPL. Give this a rest.
-- "Perceptions create reality. By changing your perceptions you change your reality."
I'm getting tired of all those predictions, promises and vaporware coming from Gnome/Mono. Why does anybody still take them seriously?
So far, nothing useful has come from Mono while Qt runs REAL software (you know, the kind that actually runs and can be useful) ranging from a whole desktop environment to word-processors.
My thought is that this has more to do with critical mass than it has to do with any technical merits of mono. Don't bash mono just because we're not ready to use it, when the time comes that some people begin to need/want it we'll be glad that its mature enough to go head to head with the closed alternatives.
wush.net - svn hosting
Which bit ?
Against the J2EE platform supported by IBM, SAP, PeopleSoft, Oracle, BEA, Sun, Manugistics etc etc
Against J2SE supported by IBM, Sun, Dell, HP etc
Against J2ME supported by IBM, Nokia, Ericsson, Sony, Sun etc
How about positioning it as a useful tool for corporate developers with minimal tooling support and no easy integration with corporate applications.
OSS needs to realise what WORKS in a corporate environment and why it does, and why re-inventing, or competing with, the wheel is not a great idea.
I like OSS, I advocate OSS with my clients, but its this sort of visionless statement that makes many serious IT directors walk away as they know its a bollocks statement made by people without a grasp of their problems.
Corporate IT _is_ IT.
An Eye for an Eye will make the whole world blind - Gandhi
The price instantly puts the toolkit out of reach for smaller development houses
Total, utter rubbish. If a small development house can afford one employee with a single PC they can affors a Qt license. I don't know what world you live in, but in the Real World $1550 is small beans for a primary development platform. Seen the prices of BEA Weblogic or Windows 2003 Server lately?
Let's try it once again for for those who are a bit slow:
- moc is not a preprocessor (funny that this slashdot story says so right next to the link where Havoc says it's not)
- moc fills in features that are not already in the language; how exactly does gtkmm do dynamic introspection (properties, finding out which signals/slots are available at runtime, etc.) in the "right way" ?
- just like most of the Qt bashers, you're a moron talking about something you have no clue about
All the morons are out this morning...
> QT isn't even free software
The GPL'ed version is. GPL'ed Qt != Win32 Qt, i.e. you need to view them as different products.
Trolltech have given us GPL'ed Qt, but they have absolutely no obligation to provide their Win32 version under the same license.
The price is a factor only if you want to develop using Trolltech's proprietary version. I suppose that if you can't afford that then you may have to consider cheaper alternatives, but this doesn't lead us to "QT's licence is BAD!" unless you see all proprietary licenses as bad (I do, but you seem to be singling out this one).
I don't see Qt as a competing technology to Java, but I love using the Free Qt, and appreciate Trolltech's generosity in providing it.
- Brian.
I work for a small development house, and we were certainly able to afford it. $1550 is less than two weeks' salary (and that's before counting expenses on the top of the payroll) so if Qt can save that much developer time it's worth buying. Note that the price includes good technical support.
Yes, this is an unfortunate problem. The main reason there is no GPL version for Windows is that 99% of all software developed is in-house, and the GPL would allow in-house development without needing a commercial license (this would seriously eat into Trolltech's income). The company has tried in the past to release a "non-commercial" edition, which was closed source, but free to use, provided it was not for commercial purposes. Unfortunately this was abused by organizations who used it for commercial purposes anyway.
I should mention that the Psi project receives Qt/Windows for free. Trolltech gave us several commercial licenses, including endless support and upgrades, provided that we only use it for open source work. I'm not sure how practical it is for all free cross-platform projects to establish a trusting relationship with Trolltech in order to use Qt/Windows, but it might be a solution...
The price is per developer, not per user.
Have you checked the prices on Win32 development tools? $1550 isn't cheap, but it's far from outrageous or out of reach.
If that is out of your budget, you aren't a "smaller development house" -- you haven't even learned to think like a business yet. Products like Qt save development time, which allows lower bids, which means more revenue. If you can't work the numbers, go back to the basement -- your business won't be outgrowing it for quite some time.
I do not fail; I succeed at finding out what does not work.
Now, call me cynical, but how in the hell are you gonna compete with Java, whose foremost strength is the (alleged) platform independency if you kill yourself right away for the most commonly used platform?
What does platform independency have to do with openness ? if you pay Trolltech, you get the Win32 sources. Qt is open (as in speech)
Why does everything have to be free (as in beer) ? if you made good software, woudn't you want to get something in return ?
Sun has a specific reason that Java is free (as in beer): market penetration. On the other hand, Trolltech is just a small company, very small compared to Sun. They can't afford to give away for free their flagship (and only) product.
Communism fell with a bank statement, not a napalm attack.
2) A non GPL version of the library costs an outrageous sum of money.
If you think only 1500-3000 ( depending on package ) per developer for a perpetual license is a large amount of money, then you're either 12 years old or have never paid a dime for software in your life.
A manager of any team of 5 or more people would laugh at that kind of money. It is chump change compared to how much a company would spend on *paper* for pete's sake.
And if you take into account the developer's time ( which any manager must ), Qt is actually cheaper since it is so powerfull it takes on average 25-50% less code to do things in Qt than it does to do in other C++ toolkits I have used in the past.
I would use Qt even if I was only targeting Windows and even if I was the only person on the team. It is *that* good. People who knock it just do not have experience using it.
Huh? Sure C++ runs in smart cards, but QT?!? What kind of QT application are you running in a smart card. In a Java smartcard, the java could would typically be some key-exchange handshake for encryption or authentication.
Comparing a GUI widget set with a virtual machine definition is really stretching an analogy.
"I really don't understand the parent post."
.Net/CLR, php, whatever.
The difference is that Java is a true platform while QT is at the moment foremost a widget toolkit with a bunch of latecoming useful libraries bolted on. Not to knock it - I think one of the massive holes in the C++ "platform" (if you are going to act like it is one) is that it has had no standard set of libraries. The mantra is "write your own" or "use XYZ because that's most popular". That, a platform, does not make.
Seriously I think it's about time C++ got a platform, but to call some syntactic sugar plus some libraries a platform (or at least a platform even beginning to compare to Java in platform-ness) is silly.
And by the way, C++ is "enterprise ready" in the same way straight razors are "oral hygeine ready". Sure you can do it, but expect pain, bleeding, and embarrassment. These is not only my argument - survey the enterprise landscape... the only people using something like C++ for large web applications or middleware are either those that have 1) massive legacy investment 2) massive earth crushing load and performance requirements (e.g. ebay, amazon, etc.). Lastly just because you CAN do it, doesn't mean that it is necessarily a good idea. The market shows that C++ is very expensive to write and deploy (if you are going to go by salaries, etc.) for jobs which can be done equivalently in some other language.
Almost every body else is using some other-generation language, be it Java,
It's 10 PM. Do you know if you're un-American?
2000 * 4 developers = 8,000.
8,400 / 120 = 70
4 Developers * 30 / hour = $120 / hour
Even if using QT only saved you 10% of developer time ( and from my experience it saves you more like 25%-50% ), it would pay for itself after only one and a half weeks. After one and a half weeks you are making pure profit.