this post was submitted on 11 Apr 2024
166 points (95.1% liked)

Linux

48668 readers
1025 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
 

I'm curious how software can be created and evolve over time. I'm afraid that at some point, we'll realize there are issues with the software we're using that can only be remedied by massive changes or a complete rewrite.

Are there any instances of this happening? Where something is designed with a flaw that doesn't get realized until much later, necessitating scrapping the whole thing and starting from scratch?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 15 points 8 months ago (1 children)

There's already a lot of people rewriting stuff in Rust and Zig.

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

What are the advantages of Zig? I've seen lots of people talking about it, but I'm not sure I understand what it supposedly does better.

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

Tiny learning curve, easy to refactor existing projects

[–] [email protected] 6 points 8 months ago

The goal of the zig language is to allow people to write optimal software in a simple and explicit language.

It's advantage over c is that they improved some features to make things easier to read and write. For example, arrays have a length and don't decay to pointers, defer, no preprocessor macros, no makefile, first class testing support, first class error handling, type inference, large standard library. I have found zig far easier to learn than c, (dispite the fact that zig is still evolving and there are less learning resources than c)

It's advantage over rust is that it's simpler. Ive never played around with rust, but people have said that the language is more complex than zig. Here's an article the zig people wrote about this: https://ziglang.org/learn/why_zig_rust_d_cpp/