← Back to context

Comment by gsliepen

1 month ago

I've heard about CopperSpice before, but I've never personally seen any project use it. Still, it seems they have some passionate developers behind it and actual users. Forking it just because you don't like some newer compiler standard seems a rather bad reason. Do the LsCs developer(s) have the same passion and resources to keep their fork up to date? How are their getting users? Are they going to stick with C++17 forever while the rest of the world moves on? While forks sometimes are a good thing, I'd first try to help the original developers to achieve "creat[ing] something prepackaged and widely usable".

The author states that it's because old UNIVAC mainframes are still being used in the medical world and they don't have 2's complement, which makes it incompatible with C++20. But the machines were discontinued a long time ago with the company finally moving to Intel Xeon CPUs in 2015 [0] - and I'm not even sure if people actually run GUIs with these legacy mainframes (plus the author's stating this will primarily support Linux, but are these mainframes even capable of running it?)

[0] https://www.theregister.com/2015/05/26/unisys_finally_weans_...

  • > and I'm not even sure if people actually run GUIs with these legacy mainframes (plus the author's stating this will primarily support Linux, but are these mainframes even capable of running it?)

    The next parapgraph sounded like they're concerned about bugs from not having the same integer representation as those systems:

    > Passing 2's complement data to backend systems or front end sensors expecting 1's complement causes catastrophes.

    I don't really understand their concern though--surely all actual C++ implementations that build QT apps and the platforms that run them are using twos complement anyway? Like, the C++ standard change is not making anyone change their integer representation, it's just telling the not-twos-complement people that they're on their own, right?

    Of course I'm not surprised not to be following the logic since I have to count myself among "those who never went to college for Computer Science".

    • It's a lot easier to write a wrapper converting two's complement values to one's complement and vice versa than a GUI framework appropriate for safety critical systems. I have no idea why you'd choose to do the latter.

I am one of the very "passionate developers" of the CopperSpice project. Roland is the single person behind this fork. He was angry with Qt for not listening to his demands and his hope was that our team would agree to everything he wanted modified. Yes, he told us we had to stay on C++17 and never migrate. He also demanded we provide 20 years of ABI stability while providing new features.

There is of course a much larger back story but I think this speaks volumes about the situation.

Barbara Geller CopperSpice Co-Founder