[Interest] qmake and IDEs
Roland Hughes
roland at logikalsolutions.com
Sat May 20 19:32:34 CEST 2017
On 05/20/2017 01:02 AM, André Pönitz wrote:
>
> I would neither call part of a 'philosophy' around Qt, that'd be
> probably something with 'cross platform', 'ease of use'.
It's a philosophy. I have worked with many "cross platform" toolkits
over my 3+ decades. Up until Qt ZAF was the most successful/complete of
the toolkits. Successful enough I wrote several books on the package.
You can find one here
<https://books.google.com/books?id=cdx_nLaqMn0C&printsec=frontcover&dq=%22Roland+Hughes%22&hl=en&sa=X&ved=0ahUKEwi7_eTh8_7TAhVs9IMKHempDgEQ6AEIJzAA#v=onepage&q=%22Roland%20Hughes%22&f=false>
thanks to the world's largest copyright infringer.
>
> Moc is there because it provides functionality that is not easily
> available in C++, qmake/.pro is the build system that happens to be used
> for Qt itself currently. While moc is kind of mandatory to use for Qt
> application development for technical reasons, qmake is not, and it is
> completely reasonable for an IDE to support, or even to focus on, other
> build systems.
>
Creating make files for embedded targets which use serial ports and
other devices "could" be done by hand, but, the documentation one needs
to sift through identifying which library contains what classes and
features would be daunting for projects going much beyond "Hello World."
While it is completely within the rights of whatever IDE team to focus
on whatever language and build environment they wish it is also within
the rights of those developers working with tools that don't quite
cleanly fit within said IDEs to declare said IDEs unusable for
development. My professional view is that if you have to hack a script
so an IDE can identify/utilize one or more of the required tools it is
unusable.
I've been at this game a loooong time. Started out with BASIC then BASIC
PLUS on PDP 11/70 running RSTS/E. When moving to BASIC, COBOL and
FORTRAN on the VAX platform we moved to command line compiled languages.
Still just a raw text editor on a green screen without any syntax
highlighting or language sensitive help and no code management systems
other than being really careful about what directory things got copied
to and coordinating said copying within teams exceeding 40 developers.
One thing was common within this universe. We had an extremely limited
set of libraries to keep track of. Most of those libraries were things
we wrote ourselves.
True IDEs became necessary when both compiler developers and third
parties started providing massive numbers of libraries. In truth the IDE
movement started with Borland's Turbo Pascal and Turbo C products
because Borland provided a (for the time) large number of non-standard
libraries. (We barely had a PASCAL standard and the C standards
committee had yet to be formed.) This lead to other compiler vendors in
the PC and mainframe space to develop complete IDEs which did not
require developers to hack configuration scripts or leave the
environment. Microsoft finally figured it all out with Programmer's
Workbench under DOS which they promptly abandoned for their Windows only
IDE. Watcom created a pretty incredible IDE which run under OS/2,
Windows and several other platforms. IBM came out with flavors of their
Visual Age product line which let developers have a full IDE integrated
to the mainframe so they could test and develop from PC then check-in
and deploy on mainframe. Their BASIC
<http://www-01.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_ca/0/897/ENUS296-420/index.html&lang=en_US&request_locale=en>
product died though.
In order to be called an IDE for whatever language/toolset a developer
should not have to hack custom scripts to give the tool access. A
develop needs to be able to perform all forms design, coding, debugging
and project deployment from within the IDE.
Using that definition QtCreator is truly and IDE for Qt. So are/were
QDevelop, Monkey Studio and the Eclipse plug-in. KDevelop is just a high
end editor when it comes to Qt. Perhaps when it comes to all of its
supported languages. While I did not do an extensive search I did not
see anything resembling built in support for any kind of forms design,
just coding, compiling and debugging.
Please allow me to put this in perspective.
I own a multi-machine license for UltraEdit <http://www.ultraedit.com/>.
I use it whenever I'm working on a project which does not allow for KDE
desktop that would give me KATE natively. (Installing KATE on non-KDE
desktops tends to install a fair chunk of KDE which does not get tested
in conjunction with other desktops on most distros. One of the few
reasons I stuck with SuSE so long was the fact they installed ALL
desktops together so everything was tested together.) UltraEdit can do
many many things. When you get the full UltraEditStudio it integrates
debugging via many different debuggers and has this massive UltraCompare
tool which I never really figured out though I own a license for as
well. (I've always found Meld simple and robust enough for my needs. UC
is complex and meant to do comparisons far more involved than I should
ever need to do.)
Having painted this picture for the UltraEdit product line I will state
this. No flavor of it is an IDE. Yes you can code. Yes you can compile.
Yes you can debug, but, there is no forms capability of any kind. It is
just a high end editor which can only be considered and IDE for someone
who is 100% back-end/batch job developer of applications with no user
interface. Back in the days of DOS many of our IDEs had forms designers
for BOTH screen and report. They all had quirks and issues, but they
were huge benefits. I remember Pro-C (not to be confused with the Oracle
product Pro*C) which had huge promise and too little funding behind it.
Lotus Approach had even better forms for both screens and reports,
ushering in the era of RAD (Rapid Application Development) and the mish
mash of tools which came and mostly went from that era (though
PowerBuilder is still around for some inexplicable reason.)
What I've been seeing lately are many people confusing high end editors
with IDEs but the two are notably different. There have been various
attempts <https://ncreportsoftware.com/> at extending QtCreator
<https://forum.qt.io/topic/38291/reporting-tool-with-qt-creator/4> or
just Qt to also include report creation
<https://www.kdab.com/development-resources/qt-tools/kd-reports/>. While
the phone app world might not care much about report creation, both the
desktop and embedded world care a great deal. Most stand alone embedded
designs need to send email reports on status and reading summaries. Many
systems which should be standalone end up having to also develop a
central server which receives data packets, chews on them, then spits
out a report creating unnecessary maintenance and support issues.
--
Roland Hughes, President
Logikal Solutions
(630)-205-1593
http://www.theminimumyouneedtoknow.com
http://www.infiniteexposure.net
http://www.johnsmith-book.com
http://www.logikalblog.com
http://www.interestingauthors.com/blog
http://lesedi.us/
http://onedollarcontentstore.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20170520/8f55811f/attachment.html>
More information about the Interest
mailing list