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

Then it is c++, then a definitive nono.

Plain and simple C99+ port?



>Plain and simple C99+ port?

C89 bindings https://github.com/MoAlyousef/cfltk


The second your require a gigantic and insanely complex c++ and similar compiler for your SDK, it's over.


As for complexity and gigantism:

https://openhub.net/p/qt5 (8,876,034 lines of code)

https://openhub.net/p/gtk (1,031,203 lines of code)

https://openhub.net/p/fltk (467,564 lines of code)


You have an "amplification" due to the language used: you cannot compare the "cost" of C lines with c++ lines. They don't pull the same SDK dependency in the end.

Basically, to be fair, in qt5 and fltk cases you should add an amplification factor of at least "10" (probably not big enough since c++ syntax and tens of times more complex than plain C99+).


Compare dependencies:

GTK3 https://gitlab.archlinux.org/archlinux/packaging/packages/gt... GTK4 https://gitlab.archlinux.org/archlinux/packaging/packages/gt... and FLTK https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=fltk-...

If you build FLTK with Wayland support, then add deps: wayland, libxkbcommon, pango.


You don't seem to understand my point: the second you are using c++, it is over.


>Then it is c++, then a definitive nono.

Language with OOP is good for GUI!


Language with OOP like c++ and similar (rust/java/etc) is ultra-complexity builtin the syntax itself which spills to their compilers (basically clang(apple)|gcc). That reasons alone is enough to do GUI with other languages.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: