The KDE community has charted its course for the coming years, focusing on three interconnected paths that converge on a single point: community. These paths aim to improve user experience, support developers, and foster community growth.
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?
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?
I thought Rust already had several different methods for interacting with C++?
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
Dang, that’s pretty neat! Man, there’s probably going to be some funky bugs with legacy code getting included into Rust.
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
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:
- Open the relevant Jetbrains IDE
- Click on new project
- Find the correct template (e.g. Spring Boot Web Starter) and follow the wizard. (Alternatively the steps before can be replaced with cloning a repo and opening it with my IDE)
- I can click “Play” to start the app
- I can click “Debug” to debug the app
- Bonus: when doing Android or Web development, I can create the GUI by drag&dropping building blocks into a preview (contrary to manually typing out textfiles that describe the layout)
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 …