A nice metaphor when the "modern replacement" for something as basic as a directory listing is deprecated while the original means (the built-in ls) still works fine and isnt. EDIT: ls on linux is apparently an executable part of GNU and not a built-in
On most Unix flavors it is not built-in. The only shell I know that has "ls" built-in is BusyBox. And besides, I said in other places: "ls" has been "deprecated by its maintainer" more times than exa, it's just that somebody has always forked it. GNU "ls" (the one in Linux) is a complete rewrite of the original shell, and it is annoyingly incompatible with the macOS fork of BSD ls.
Exa Is Deprecated
111–120 of 244 posts
Re: Exa Is Deprecated
#112Earlier quoted context omitted.
There is, I created it years ago, but unfortunately it hasn't taken off: https://www.codeshelter.co/ Maybe I'm bad at marketing, it seems like a pity.
The idea is good. There's a couple of things I'd like to see. Is CodeShelter community-owned and driven? Or is it a company? The website codebase has no license and the Github application code is not open-source (or I overlooked). There's no privacy policy, ToS, and CoC. What is the maintainer vetting process? How is matchmaking taking place? What can I expect after giving away control? This may all be well-organized…
Re: Exa Is Deprecated
#113Earlier quoted context omitted.
And yet, exa is deprecated :-)
If the owner is outright missing, to the point where the newer fork owners can't even get the repo archived, one would reasonably assume that they'd need to rename/rebrand the tool in order to publish it elsewhere. It frankly doesn't seem like a deprecation in the traditional sense.
tools like ls or grep are certainly showing their age, but that has also been their strength. The POSIX ecosystem comes in many flavors but I can always depend on it.
It’s not like I can ever expect to shell into any arbitrary system or container and expect to have exa/lsd/rg or any of these nice replacements available to me. My tooling needs to be somewhat more portable.
Re: Exa Is Deprecated
#114Earlier quoted context omitted.
And so will exa, probably. And if it won't, it will be forked. Which is exactly the reason "ls" is working perfectly fine for you today. The original AT&T UNIX "ls" has been forked over and over again and rewritten from scratch several times. You're using an evolved fork of this "ls" if you're using macOS or BSD, but if you're on Linux you're using a rewrite (GNU coreutils ls), and if you're running BusyBox you're us…
I am not anti-rewrite or anti-port. There exist good reasons to rewrite software. However, being "modern" is not a good reason. The gnu authors were not motivated to write the coreutils simply for the sake of modernity. And that is why their fork of ls has much greater staying power than all the "modern" forks.
It's worth pointing out that while exa uses the term "modern" to describe itself, fd and bat currently do not. And I can say with certainty that ripgrep never used the word "modern" to describe itself. I didn't like that strategy even back in 2016 personally, and specifically tried to avoid it.
With that said, to try to argue the point more directly, I do think this is a somewhat shallow concern. It's unclear to me how much predictive power using the word "modern" to describe a piece of software is. I don't like it because it's vague and its meaning is somewhat of a moving target. But broadly speaking, it does convey some things: non-POSIX, does bolder things in the name of user experience and maybe some other stuff. It's a pithy signal. But I'm not sure it has much to do with "staying power."
Presumably coreutils has staying power because there is purportedly a specification covering their behavior (kinda, not really, lol) and organizations responsible for maintaining them. So if you want staying power, stick with the stuff that has a high bus factor and is well funded. That's totally fine.
Re: Exa Is Deprecated
#115A nice metaphor when the "modern replacement" for something as basic as a directory listing is deprecated while the original means (the built-in ls) still works fine and isnt. EDIT: ls on linux is apparently an executable part of GNU and not a built-in
Re: Exa Is Deprecated
#116Re: Exa Is Deprecated
#117I've been using LSD instead of Exa, so I'm lightly relieved that I don't have to change over. Both projects are amazing little utilities that when combined with a well-customized shell, really make using the terminal a joy. I absolutely love the trend of rewriting classic Unix utilities in rust, because the new tools often have (small or large) usability and quality of life improvements that altogether make the termi…
> I absolutely love the trend of rewriting classic Unix utilities This was actually a big draw of GNU implementations in the mid-to-late 1980s vs. the "then classics" of the mid-to-late-1970s. Before the dominance of Linux / OSX, people on SunOS / Ultrix / HP-UX / Irix / AIX / *BSD would often quickly install those more featureful GNU utilities. I imagine AIX/*BSD people still do.
Quite true for many in the macOS subset of BSD
Re: Exa Is Deprecated
#118[flagged]
It seems that you have beef with the language so you extrapolate lack of maintenance of one project to whole ecosystem?
Is that right?
Re: Exa Is Deprecated
#119A nice metaphor when the "modern replacement" for something as basic as a directory listing is deprecated while the original means (the built-in ls) still works fine and isnt. EDIT: ls on linux is apparently an executable part of GNU and not a built-in
Except it doesn't work fine, its poor design is one of the reasons for the modern replacements
Re: Exa Is Deprecated
#120There's a hint of a belief in this thread - common also in threads about alternative shells and Vim setups - that someone who uses a tool like this will irrevocably lose the knowledge of how to use ls. Am I perhaps a genius or is it just not that difficult to know two tools?
The “inertial hump,” the learning curve, is going to be like 30 minutes, if you take 15 of those minutes to eat a sandwich.
If you want to reduce it even more, do this:
1. Install new tool.
2. In your .bashrc define some flag combinations that make it even more like your use of old tool, with similar-sounding aliases or even ones commonly used for old tool.
3. Now in the unlikely scenario that new tool goes away, you’ll still be current w old tool from those lookalike commands.