this post was submitted on 08 Sep 2024
65 points (97.1% liked)

Linux

48187 readers
1476 users here now

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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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.

top 17 comments
sorted by: hot top controversial new old
[–] [email protected] 26 points 2 months ago (3 children)

I think moving beyond C++ is critical for the long term success of KDE, glad to see it's a new goal

[–] [email protected] 14 points 2 months ago (3 children)
[–] [email protected] 8 points 2 months ago* (last edited 2 months ago) (1 children)

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.

[–] [email protected] 3 points 2 months ago (1 children)

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?

[–] [email protected] 3 points 2 months ago (1 children)

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.

[–] [email protected] 3 points 2 months ago* (last edited 2 months ago) (1 children)

FFI, bindgen/cbindgen, cxx/autocxx, zngr, cpp crate, diplomat, crubit

[–] [email protected] 1 points 2 months ago

Dang, that's pretty neat! Man, there's probably going to be some funky bugs with legacy code getting included into Rust.

[–] [email protected] 3 points 2 months ago (1 children)

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.

[–] TriflingToad 3 points 2 months ago

I think using 1 language is better than a bunch of different modern languages

[–] [email protected] 1 points 2 months ago (1 children)

One of the reasons surely is that it's getting banned from government software 😅

[–] [email protected] 9 points 2 months ago

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.

[–] [email protected] 5 points 2 months ago

Well it can also make everything worse. Some languages are good for DE development and some aren't.

[–] [email protected] 2 points 2 months ago

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

[–] Deckweiss 4 points 2 months ago* (last edited 2 months ago) (1 children)

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.

[–] [email protected] 6 points 2 months ago (1 children)

I dunno. Having worked with Java and c#, web dev, c++, I found working with QT in C++ to be so much easier.

[–] Deckweiss -2 points 2 months ago* (last edited 2 months ago) (1 children)

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).

[–] [email protected] 4 points 2 months ago

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 ....