From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Moderators
I think moving beyond C++ is critical for the long term success of KDE, glad to see it’s a new goal
Why do you think that?
The success of KDE depends on maintaining and attracting new developers. C++ is decreasing in popularity, with less people becoming willimg to learn it overtime. Adding more modern languages to the mix that are more pleasant to write with will help keep KDE popular with devs.
I think using 1 language is better than a bunch of different modern languages
Personally, I have little interest in learning or dealing with C++ solely for the sake of developing KDE applications. I would much rather use Rust.
Imo, restricting the languages that can be used for app development cuts out large swaths of developers who would otherwise be eager to develop software for the project. I’m sure there are some who wouldn’t mind picking up C++ for this cause, but I’d wager that they are a minority. Gnome beats out KDE in that regard, imo, as GTK has bindings and documentation for many languages.
I thought Rust already had several different methods for interacting with C++? I’m not sure what actual roadblocks there are to developing KDE apps with it?
Oh? Would you mind sharing them? It would be absolutely fantastic if such a thing existed and is mature enough to be practically used.
FFI, bindgen/cbindgen, cxx/autocxx, zngr, cpp crate, diplomat, crubit
One of the reasons surely is that it’s getting banned from government software 😅
So blown out of proportion. Nobody is saying to stop using them. The report is more of a state of the union on software in secure systems and the talking points hinge on the most common type of vulnerability seen in large scale attacks: memory safety.
The report (which apparently barely anyone is reading) mentions C/C++ aren’t memory safe (truth) and with specific respect to space flight, alternatives such as Rust haven’t been proven yet. Both languages meet other important criteria (again specific to space flight) but it then immediately states afterwards that until other languages can be qualified, other means of ensuring memory safety are recommended such as hardware. The report makes other mentions. It’s a good read but is not a directive like media is making it.
Well it can also make everything worse. Some languages are good for DE development and some aren’t.
Agreed. I was more on board before the Rust train lost some steam, but shit breaking all the time is worth putting an end to
Very nice.
I’m very excited, because in the past I have bounced off KDE development. Coming from a java and web background, the tooling and dev environment was just mindboggling.
I dunno. Having worked with Java and c#, web dev, c++, I found working with QT in C++ to be so much easier.
Let me be more concrete then. What I am used to is the following:
Every step is a button click or a entry field in a dialog. These steps also work on every major distro. And I wish for a similar experience when developing KDE Plasma.
For completeness, I will try to do the same dev things and list the steps for KDE Plasma development later (in about 8h).
IDEs have come a long way. But I’ve done qt development using Jetbrains Clion IDE and QTCreator. I don’t remember it being that difficult. Then again, I started programming using Turbo Pascal and Turbo C. So …