Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It uses CMake, Qt, and is written in C++. GitHub is the official source code upstream (https://github.com/Subsurface-divelog/subsurface). The licence is GPLv2.

This is interesting to me. I don't exactly remember the arguments, for Linux, Linus was always very clearly against C++. He could have also chosen Gtk, and then write the app in C.



Originally it was C and used GTK+, but cross platform needs drove it to Qt and thus C++. And CMake is the most popular cross-platform C/C++ (meta) build tool, so no surprise there.


Here's an explanation of those needs:

Gtk to Qt - a strange journey https://www.youtube.com/watch?v=gGZyVSOnqm0

"Presenter(s): Dirk Hohndel"


It seems this was posted a few times to HN already (I just posted it again: https://news.ycombinator.com/item?id=20746962). Quite interesting.

Some of the messages:

* Their GTK code became very fragile, such that they did not wanted to touch it anymore, and could not implement new features.

* The GTK community was/is not helpful.

* The Qt community was/is very helpful.

* Qt documentation is much better than GTK.

* The Qt frameworks has more to offer (basic data structures, etc).

* CMake is much nicer and easier to understand than just raw makefiles (but somewhat unrelated to Qt vs GTK).

* The model and view system/framework in both Qt and GTK is somewhat/completely broken.

* Qt Creator makes live easier, compared to Emacs (at least for C++/Qt development).

* Qt is nicely encapsulated, in contrast to GTK.


Linus originally wrote it in C and Gtk+, it has been rewritten.


Linus was always very clearly against C++ __in kernel code__. Also, 1994 pre-std C++ != 2019 C++.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: