QtCon Opens In Berlin (qtcon.org) 38
Long-time Slashdot reader JRiddell writes: A unique coming together of open source communities is happening in Berlin over the next week. QtCon brings together KDE, Qt, VLC and FSF-E to discuss free software, open development, community management and proprietary coding. Live streams of many of the talks are available now. The opening keynote spoke of open data and collaborative coding freeing accessibility information. 13 tracks of talks cover Community, Web, Best practices, Automotive, Mobile and Embedded, Let's talk business, Tooling, QtQuick, Multithreading, OpenGL and 3D.
Re: (Score:2)
Qt is in a lot of places that people wouldn't suspect.
Re:No --- really --- it isn't (Score:5, Insightful)
Software which I use that uses QT: 4K Video Downloader, Calibre, Google Earth, KeePass, MuseScore, PokerTH, Stellarium, Virtual Box, QBittorrent (not on list).
Software that uses QT which I don't use but I believe is pretty popular: Adobe Photoshop Album, Doxygen, Guitar Pro, last.fm, Parallels, Spotify, Wireshark. That's not counting games or dev tools.
Considering that I'd be hard-pressed to list that many useful desktop apps in, for instance, Java, I'd say it's a reasonably impressive list.
Re:No --- really --- it isn't (Score:4, Insightful)
Check out this list of mostly obscure and unknown software that uses Qt.
Most software is obscure, full-stop. Just because you don't use most (or even any) of the packages on that page doesn't mean that Qt isn't a viable mainstream library, or that there's anything wrong with it.
Qt, like any other large framework, has a learning curve. If you're writing an application that works just fine using whatever libraries you're already using and you're only targeting one OS, then you probably aren't motivated to go climb that mountain. On the other hand if you're writing software (possibly with a complex UI) that is intended to target multiple operating systems, then Qt is probably the single best framework out there for doing so. Otherwise you're in for a long haul of writing your own less functional version of some subset of Qt features in order to abstract platform specific code away from the rest of your application functionality.
Re: (Score:2)
You haven't lived (Score:2)
You haven't lived until you've seen the cosplayers of QtCon.
Lots of Linus Torvalds, a few Richard Stallmans... even one old guy who showed up as Alan Cox! Or maybe it was Alan Cox...
I don't like QT (Score:1, Troll)
I'm sorry, but I really don't like QT. It's not C++ - they have their own little language that compiles to C++ using an external compiler. It has crappy alternatives for everything in STL that work just slightly different but not any better. It has copy-on-write. It doesn't use inheritance, but gives you endless lists of almost-identical function calls (all those functions to add controls, for example). And that stupid Q everywhere you look is just painful.
Re: (Score:2)
As I wrote below, I remember seeing documentation with specific functions for each type of control, suggesting very much they were all completely unrelated.
And you could at least get rid of namespace qualifiers with a few 'using' declarations...
Re: (Score:2)
I distinctly remember seeing a long list of member functions: add_button, add_checkbox, add_string_widget - one for each type of control in QT. You'd think those would all qualify as "controls", and therefore work with a single add_control function that leverages the power of inheritance. I can't find it now; maybe it was in an older version.
And don't give me crap about "...in good software design". A button is-a control (it doesn't have-a control), and that is an inheritance relation, not a composition rel
Re:I don't like QT (Score:5, Interesting)
It's not C++
Qt requires a C++ compiler, it uses classes, namespaces, templates... looks like C++.
they have their own little language that compiles to C++ using an external compiler
False. If you're refering about "moc", it just provides implementations for functions declared through various macros (Q_OBJECT, Q_PROPERTY...). If you use their meta-make (qmake) or some other Qt-aware tool (CMake, VisualStudio with Qt plugins, ...) this is mostly transparent. No "little language" here.
It has crappy alternatives for everything in STL that work just slightly different but not any better.
Qt supports a wide range of C++ compilers since 20 years, including some which were not quite standard conformant or were not providing a "good enough" STL. So Qt provided its own containers. But their use is required only when use some Qt APIs: you can freely and happily use STL containers everywhere else. In more recent versions, Qt's containers provide an API (alongside the Qt one) pretty similar to STL's one. Also they're often seen as easier to use by C++ beginners or non-expert.
It has copy-on-write.
Copy-on-write was very interesting at some point in time. As everything, it's not perfect, but in some cases it was very handy, for example allowing to return large objects by value, allowing great speedup for compilers not knowing about RVO (Return Value Optimisatin). Today it is probably superseded by the move semantic, but this is a rather recent improvement to C++ and maybe not yet supported by all compilers that Qt supports.
It doesn't use inheritance, but gives you endless lists of almost-identical function calls (all those functions to add controls, for example).
Look at the hierarchy of classes inheriting from QObject, look at all the virtual functions that can be overloaded by the user. Inheritance is actually used at large. And most of the "almost identical functions" are there for a purpose.
And that stupid Q everywhere you look is just painful.
Totally subjective and mostly irrelevent. What about those "stupid" gl/GL_ prefixes in OpenGL, vk/VK_ in Vulkan, the "G" in GTK, the "C" for all MFC classes (as if we didn't know already we were dealing with classes), and so on. Of course Qt is not perfect - no one is saying that. Using it daily in a millions-lines (commercial, expensive, closed-source) project, I have my share of gripes against it. But it's the same with any framework. After having used various frameworks in non-trivial projects (GTK+, wxWidget, MFC and a handful of others), for C++ I see Qt as "the best" framework - which in some cases means "the least bad", and never means it's perfect.
Re:I don't like QT (Score:4, Interesting)
A) it's not a "little language," it's an API - just like every other major development environment.
B) good APIs (including Qt) are not "little," they're more extensive than the language they're implemented in.
C) The major complaint I hear leveled at Qt/KDE et. al. is that they're "bloated" - they run the meta-object compiler (little language) first and then compile all that plus your code in C++ and the resulting product is "bloated." Well, if you're trying to target $3 ST-Micro chips, it may be a bit bloated, but if you can afford at least a Raspberry Pi for your execution platform, Qt fits and runs just fine. "Big" projects (10Kloc) recompile after a full clean on my 3 year old laptop in 15 seconds or less.
D) I get to compare/contrast the Qt/Creator dev environment with Microsoft C#/Visual Studio daily. Compared to Studio, Creator is freakin' light weight, lightning fast and compact. Back c2010, Creator was "ahead" of Visual Studio as a developer friendly environment to work in, with Studio only really better in the debugger department. Today's Creator debugger beats Studio's 2010 debugger, but MS has invested a lot in Studio lately, and it shows - it's great when it's working, but bloat doesn't even begin to describe the developer experience for Visual Studio installation and updates.
Q) haters gonna hate.
Re: (Score:2)
KDE is Alive and Kicking! (Score:2)
Let this put an end to the silly suggestion that KDE might be dying, we are part of the largest gathering of end-user open developers at the most fancy venue in the centre of Berlin. There are 13 tracks of talks discussing everything from empathy to open web services. KDE is the most friendly and active community you could ever have the pleasure to join, it's just a lot larger than just a desktop these days.
Re: (Score:2)
...the largest gathering of end-user open developers at the most fancy venue in the centre of Berlin. There are 13 tracks of talks discussing everything...
Oh, I see, it's dead already ;-)
another con (Score:2)
Re: (Score:2)
Why are there so many cons all of a sudden? I think QT is great, but an API doc is fine, I don't see any reason to go to a conference. Not just QTCon, Nodevember, Abstractions (well, that one looks kind of cool), etc, etc. GoToConf, Powershell conf, Gluecon, Agile Dev West andEast......wtf who enjoys going to these?
People who work with people - not people who actually do things with the tools. Not saying that people people are unimportant, quite the contrary, they indicate a level of development that goes beyond application engineers and consultants and reaches into higher level decision making.
Ever get told "you will use tool X on this project" by someone who had no idea what the real differences between tool X, Y and Z are? People people at work.
Re: (Score:2)
Re: (Score:2)
I'm not sure what to think of that, it seems somewhat horrifying.
Oh, it is... but if you like Qt and Open Source it's still a good thing, it means that they are entering the arena where they can compete with alternatives that have been horrifying for decades.
"you will use tool X on this project" (Score:1)
Now that I'm my own boss, I'd really like to know. What's the best open source GUI toolkit for cross-platform development? Please don't tell me great Qt is, and don't tell me how much Qt sucks. I need to know how the various options compare to each other.
Oh, and... how exactly do I submit to Ask Slashdot? Thanks.
Re: (Score:1)
Business owners, sales people, product owners, technology architects, IT management ...
Re: (Score:2)