[Development] As Qt contemplates its future..
jhihn at gmx.com
Mon Apr 17 04:02:30 CEST 2017
You're going a lot a mental masturbation there. While it's a lot of fun, it would be a tremendous effort to make . those sweeping changes. I would focus on how to to get there iteratively.
A few other comments:
- C++ works the same way everywhere. It's on more platforms than Java and .NET.
- The C++ is at a lower level than Java or .NET, so dependencies are less impacted by your runtime and garbage collection is consistent.
- C++'s proposed #import directive will help compile times (is this your 'bloat'?)
Things I'd like:
- I'd like to see Qt target web like Wt does (Witty) or QMLWeb
- I think C++ is falling out of favor with a lot of new developers. Qt should be more JavasScripty, but like how QML does this, I think that should sit above C++.
- The idea of transpiling is really taking off. Multiple "languages" transpile to JS, for execution in a browser. I don't know much about creating a compiler, but something like a Python with an even more simple syntax, though I'm sure people would suggest Go, Rust, JS, or whatever. Writing in that 'proto' language (but not ugly like assembly) would compiler to a proper language. It's be like Qt in a way, like .NET without needing a CLR. What this has to do with Qt-actual, I'm not sure. Maybe write once, compile to any language, then compile anywhere? Imagine Qt `in` .NET or Java. I really hate that we keep dividing the efforts of developers and soloing them in platforms. If I write code, it should be usable by anyone on any platform, Oracle, Microsoft be damned.
As for "cruft" I think they are just specializations, which provide significant value to those who need them.
> Sent: Thursday, April 13, 2017 at 8:02 AM
> From: "Randall O'Reilly" <randy.oreilly at colorado.edu>
> To: "Konstantin Tokarev" <annulen at yandex.ru>
> Cc: "development at qt-project.org" <development at qt-project.org>
> Subject: Re: [Development] As Qt contemplates its future..
> With the recent language explosion, there are now languages to fit everyone’s biases and aesthetics. This also means that there is an endless potential for language wars, which I’m sure nobody wants to rehash on this list. My point is just that Go represents a particular set of choices that I think is very compatible with a certain (possibly large) segment of the Qt user-base — those who favor clarity, simplicity, readability, over e.g., extreme performance optimization or having every different kind of possible language feature at one’s disposal (aka “language bloat”). As C++ is seemingly in a constant state of reinvention lately, and is now massively bloated and unwieldy in some people’s estimation, it might be an opportune moment to consider a “reboot” — a fresh new framework unburdened by all that cruft. My sense is that Go has made some really excellent (and hard) choices that benefit from all the different language experiments and experience (and especially the limitations of C++), and that one major thing holding it back is lack of a decent GUI framework, so that Qt could really make a big difference there. Furthermore, Qt itself has a kind of bloat problem of its own, having evolved in major ways over the years (Widgets vs. QML, scenegraphs, and now 3D), so it could possibly benefit from a fresh start / reboot as well.
> Perhaps building from the ground-up on a core scenegraph framework that can support 2D *and* 3D, with different back-end renderers (OpenGL ES etc), using e.g., SVG syntax to do the widget etc painting in a resolution-independent, style-based manner (no more high-dpi hassles — future proof resolution independence).. I’m sure everyone could come up with a good wish list based on all the experience with Qt so far :)
> - Randy
> > On Apr 13, 2017, at 7:25 PM, Konstantin Tokarev <annulen at yandex.ru> wrote:
> > 13.04.2017, 13:25, "Konstantin Tokarev" <annulen at yandex.ru>:
> >> 13.04.2017, 12:32, "Nikita Krupenko" <krnekit at gmail.com>:
> >>> On четверг, 13 апреля 2017 г. 08:24:39 EEST Randall O'Reilly wrote:
> >>>> In the context of all this recent discussion about modernizing Qt to
> >>>> accommodate updates to C++, has anyone given any thought to the radical
> >>>> idea of creating a brand new product using Go? Go (golang) is rapidly
> >>>> gaining in popularity, and seems to embody everything that is great about
> >>>> Qt (simplicity, elegance, strong concern for readability, etc), and it has
> >>>> many features of Qt built directly into the language (reflection, i.e.,
> >>>> moc, goroutines and channels for signal / slot functionality). One of its
> >>>> main limitations is lack of a dominant, fully-featured GUI toolkit. There
> >>>> are existing bindings to Qt and QML, but it seems like creating a brand new
> >>>> native GUI framework in the Qt mold could be a great opportunity to make a
> >>>> huge impact on a language that has a bright future. All the lessons
> >>>> learned as Qt has evolved over the years could be consolidated into a fresh
> >>>> new design, based fundamentally on a 2D & 3D scenegraph, using OpenGL ( /
> >>>> Vulkan, etc) as the underlying renderer, or something like that… Obviously
> >>>> a huge undertaking, but something that could produce transformative effects
> >>>> for future programmers (whereas it seems that continued improvements to the
> >>>> C++ product are likely to be much more incremental). Maybe some funding
> >>>> from Google could be obtained to support such an endeavor?
> >>>> - Randy
> >>> Why Go? Isn't Rust more close to the C++ niche?
> >> Rust does not have even GCC frontend, so is even less portable than C++
> > Ooops, I meant "than Go"
> >>> _______________________________________________
> >>> Development mailing list
> >>> Development at qt-project.org
> >>> http://lists.qt-project.org/mailman/listinfo/development
> >> --
> >> Regards,
> >> Konstantin
> >> _______________________________________________
> >> Development mailing list
> >> Development at qt-project.org
> >> http://lists.qt-project.org/mailman/listinfo/development
> > --
> > Regards,
> > Konstantin
> > _______________________________________________
> > Development mailing list
> > Development at qt-project.org
> > http://lists.qt-project.org/mailman/listinfo/development
> Development mailing list
> Development at qt-project.org
More information about the Development