[Interest] Roland Qml

Jonathan Purol contact at folling.de
Wed Jul 15 20:36:26 CEST 2020


> As another has pointed out, this wasn't a jump, just a perfunctory
> functional safety check. One of the things one does when working in an
> FDA regulated or functional safety environment. You open the binary in a
> standard text editor making certain nothing is obviously exposed. It's a
> practice which evolved/occurs because at some point in history compiled
> languages used to put some portions of the program in the binary in
> "free text." With nothing more than a decent text editor in overstrike
> mode someone with no real skills could change the "free text" and thus
> put a life at risk. Traditionally this happened with hard coded strings.
> While many could/would view that as "pranking" because someone could
> tweak the help text in a funny way, it's life threatening if one has
> maximum dose strings or tables and someone changes "Milligram" to
> "Gram     " or some such unit change. Yes, if it exists in text it is
> usually an abbreviation, but the reality is the same. When the maximum
> safe does is 9 Milligrams but now all of the validation logic believes
> it to be 9 Grams, a fatality can, and probably will, occur.


I agree with the point that QML and JavaScript aren't the right choice
for something as critical as medical decides. I don't believe I brought
that across sufficiently.
Of course errors can happen everywhere, but the choice of the tool is
just as important as the skill with said tool.As I mentioned in my
previous email: I despise JavaScript and consider QML to be far too
infantile to be used as a proper library for what I work in -- desktop
application development.

> I have no doubt you are correct about their being many many
> programmers better than I.
It wasn't my intention to imply anything about your skills here, quite
the opposite: I have barely any knowledge about you as a person, and
whilst your points are very clear and your knowledge is extensive in
certain areas, I don't know just how far your skills reach, so I didn't
want to draw any comparisons there. Pardon me if I didn't convey that
correctly.

To me, personally, programming patterns, languages, mechanisms,
principles, etc. are just a huge toolbox. You shouldn't use a bare piece
of metal to fix an electric leak, just as you shouldn't use JavaScript
to write core-essential software that is literally responsible to power
life sustaining machines.
I'm merely trying to argue that the aforementioned bare metal rod
*still* has its uses, even if it seems completely nonsensical to use in
certain situations. Then again, I've been a programmer for less than a
tenth of what you've been in the metier for, so my opinion is bound to
grow regarding this as well.

Right now I work as an indie developer on a passion project of mine and
have been for quite some while. We've struggled to find a proper GUI
toolkit, as I refuse to touch Chromium or anything in that area even if
it would be a lot easier and more profitble. We've gone from JavaFX to
Dear ImGui to Qt and are now investigating GTK, simply because Qt just
has a lot of things I dislike the more I use it (then again that happens
with everything that isn't tailored to you personally when you use it
for a while).
Among my adventures in trying to find a toolkit better suited to our
situation
(
1. One GUI developer
2. Two developers total
3. A funding in the 2 digit numbers each month via donations
)
I stumbled across QML. Now as I mentioned before, QML didn't cut it for
us. I've encountered three bugs in things that I consider essential and
fundamental a GUI program within mere hours of trying it (bugs with
textinputs, buttons, and scrollpanes) - unacceptable for a toolkit
that's supposed to power an application for a few years.
But I did like working with it, and I saw some project that did just
what you mentioned, take QML and let it generate QtWidgets code from it
(https://www.kdab.com/declarative-widgets/) which would be just about
what I would ideally want to have from Qt.

My point is, that there is a place for QML in this world, and for the
JavaScript within too. Blaming the tool for being used inappropriately
instead of the worker or the system that creates the worker's interest
in doing shoddy but profitable work is something I personally disagree
with. You don't sue knife companies simply because some maniacs use them
to commit atrocities either (maybe comparing JavaScript to murder is a
bit of a stretch.. just maybe).

Btw: Qt6 promises to make JavaScript optional, improve QML performance,
and hopefully make it a lot more mature:
https://www.qt.io/blog/2019/08/07/technical-vision-qt-6

sincerely,
Jonathan Purol


More information about the Interest mailing list