You seem to like the lines-of-code metric. There are many lines of GNU code in a typical Linux distribution. You seem to suggest that (more LOC) == (more important). However, I submit to you that raw LOC numbers do not directly correlate with importance. I would suggest that clock cycles spent on code is a better metric. For example, if my system spends 90% of its time executing XFree86 code, XFree86 is probably the single most important collection of code on my system. Even if I loaded ten times as many lines of useless bloatware on my system and I never excuted that bloatware, it certainly isn’t more important code than XFree86. Obviously, this metric isn’t perfect either, but LOC really, really sucks. Please refrain from using it ever again in supporting any argument.
Can confirm it’s a shitty metric. I once saved the company I was working at few millions by changing one line of code. And it took 3 days to find it. And it was only 3 characters changed.
That’s the curse and blessing of our profession: efficiency of work is almost impossible to measure once you go beyond very simple code.
You can feel like a hero for changing three characters and finally fixing that nasty, or you can feel like an absolute disgrace for needing days to find such a simple fix. Your manager employs the same duality of judgement
I feel like a hero in this particular case, it was a bug in a code that was written when I was still too young to even read. And no one knew how to run it. We didn’t have access to the pipelines so no one knew how to build it and how to run it. It was a very obscure hybrid of C and PHP. I basically had to be the compiler, I went line by line through the whole codebase, searching for the code path that caused the error. Sounds easy enough, right? Just CTRL+click in your IDE. Wouldn’t it be a shame if someone decided that function names should be constructed as a string using at least 20 levels of nesting where each layer adda something to the function name and then it’s finally called. TL;DR it was a very shitty code.
What the fuck. I’m so appalled I had to leave this useless comment to digitally stare with an agape mouth.
To be fair, they said I’ll be dealing with legacy code from time to time during the interview.
But did you add 3 characters? Gotta bump up that code count bruh.
Nope, removed 3, added 1.
-2 on your paycheck!
I wrote a program that does nothing but busy loop on all cores. stylist_trend/Linux is my favourite OS.
i’m partial to the more relaxing sleep(500)/linux os, but to each their own
Any good sleep will give back control to other threads.
Then this:
:(){ :|:& };:
is most important code in existence.What you refer to as Linux, is actually called Forkbomb/Linux, or as I’ve recently taken to calli-
[
]
deleted by creator
Yes. Also the required clock cycles depends a lot on individual CPU architectures.
For example division: Some CPUs have hardwired logic to compute the division operation directly on circuit level. Others are basically running a for loop with substraction. The difference in required clock cycles for a division operation can then be huge.
Another example: is it a scalar or superscalar CPU?
A rather obvious example: the bit width of the CPU. 32 bit systems compute 64 bit data much more inefficiently than 64 bit systems.
Then there is other stuff like branch prediction, or system dependencies like memory bus width and clock, cache size and associativity etc. etc…
Long story short: When evaluating the performance of code, multiple performance metrics have to be considered simultaneously and prioritized according to the development goals.
Lines of code is usually a veeery bad metric. (I sometimes spend hours just to write a few lines of code. But those are good ones then.) Cycles per code segment is better, but also not good (except you are developing for a very specific target system). Do benchmarking, profiling, run it on different systems and maybe design individual performance metrics based on your expectations.
deleted by creator
No, he doesn’t. He suggests that there are Linux systems with no GNU code, like one I’m replying from, and whether “no” meant “no SLOC” or “no instructions spent executing” or “no packages” absolutely doesn’t matter.
Ubuntu: “Linux”
Fedora: “Linux”
Arch: “Linux”
Gentoo: “Linux”
Slackware: “Linux”
Debian: “Free Operating System”There’s more truth to that than most people realize: Linux is only one kernel option in Debian:
Debian: “Libre Operating System”
FTFY
Lifree
Freebre?
Bruh
Been running a Linux based os for coming up on two years. I still definitely do not care about this.
Been running a Linux based os for coming up on twenty years. I still definitely do not care about this.
But the compiler is GNU!
If you compile windows with GCC is it gnu/windows?
So, how’s Hurd doing these days? If they want their own operating system, maybe they should release version 1.0 of their kernel.
There are distros without GNU, like alpine.
deleted by creator
deleted by creator
It shows that Unix’s implementation of echo uses 10 lines of code, other *nixen use 60 to 100, and gnu uses 250. The implication being, I suppose, that GNU has such a high line of code count because it’s very verbose or padded
Not only comments and padding, but also features/flags/options in GNU echo
Implementation is the actual code with the logic that does the thing you want it do, as opposed to the command, which is how you tell the system what it should do.
The command can be the same on multiple OSs, but the implementation can be different.
In case of Linux and the coreutils (which are the basic programs you need beside the kernel to make a functioning system, stuff like mkdir) the most common implementation of all the coreutils is the one made by GNU. Stallmann did a lot of work on that so he wants credit for making a big part of the OS.
The same program (
echo
) implemented in different operating systems (and the GNU version).
That’s how they get more lines of code.
Well, no surprise they have more lines of code. And that’s even if you disregard printing help.
I honestly never cared about this, it’s the first time I write something about that, but any Linux-based OS is made of countless different software. What limits the number of names to two? Why can’t I call my OS OpenVPN/Gnu/Linux, then why not Wayland/OpenVPN/Gnu/Linux? That would be crazy. A single recognizable name is what makes it.
Furthermore by definition an operating system is an interface between userspace applications to the hardware, hence the operating system should be just Linux.
Not shitting on GNU at all, but this push for calling the OS Gnu/Linux seems futile
SystemD/Linux
Furthermore by definition an operating system is an interface between userspace applications to the hardware, hence the operating system should be just Linux.
It gets more complicated with microkernels, though because you literally can’t run anything without some important processes running in userspace.
That’s a good point, thank you for your time
I ca GNU
I mean I don’t think there must be a heated debate about it you know. You can call it GNU because you probably value more GNU, some others call it GNU/Linux and some Linux. It’s okay as long as it’s understandable
True
This is why Windows users don’t switch.
I used Linux for many years, I still run it for my personal projects. I’m sure it’s not everyone but damn the community is toxic as hell to newbies. If something doesn’t work it’s your fault. Don’t know what flatpak is? You’re an idiot. How do I use X? Don’t use X it sucks but also I won’t provide alternatives. Linux just works now open up terminal and type these flags to mount your external drive correctly so other programs can see it.
I love the power and customization but it’s a confusing world at times with unhelpful people.
I mean X does suck. Unfortunately, it’s still the better choice sometimes. At least Wayland is clearly better than the other X.
X in my post was meant to mean anything, as in unknown. But I see the confusion in regards to the window manager haha
If you’re asking how to do something, and most of the responses are “why would you want to do that?” It means you can’t do it.
So instead of “why would you want to do that” they can say “you can’t do that and here’s why but you can do this”
This has been pretty much my experience with every time I’ve gotten the “Linux” itch…
It’s so bad that most of the time googling doesn’t help because the top twenty results are just someone else getting shit on for asking the same question.
Some guy got mad at me for referring to linux as GNU/Linux in a post clearly making fun of him for being a huge shit head to someone earnestly trying to do something on Linux and failing. Never address any of the criticisms, just called me an idiot and a liar. SOME linux users are their own worst enemy if they want wider adoption.
I once asked for a clarification on a tutorial I found, and the only reply I got was berating me for trying to use systemd.
No! No clarification, you must already know how it works.
holds up linux os without gnu software WHATS THIS THEN HUH?!
Gnun’t/Linux
GNL (GNU isn’t Linux) / Linux
busybox, musl and llvm enter the room
Gnu+Linux+Arch+KDE
Cuz like, GNU was the thing before Linux, so I’d say that’s pretty important.
So say GNU instead of GNU linux kek
Why? Both parts of GNU/Linux are important. Open source is all about collaboration. It doesn’t need to conform to the neat capitalist OS ideas with one monolithic corporate creator and one user-friendly name.
Take a look at Alpine, Void, and (most importantly) Chimera Linux.
I thought it was arch?
I use arch/linux, btw.
As a german I also use Arsch, btw., for sitting.
Arch/linux = 0.5 or so right
More like 32.33, repeating of course.