Why every software that is worth a damn a terminal application... Are autistic developers allergic to GUI? or is it because GTK is that horrible?
![]() UFOs Are A Psyop Shirt $21.68 |
![]() DMT Has Friends For Me Shirt $21.68 |
![]() UFOs Are A Psyop Shirt $21.68 |
Why every software that is worth a damn a terminal application... Are autistic developers allergic to GUI? or is it because GTK is that horrible?
![]() UFOs Are A Psyop Shirt $21.68 |
![]() DMT Has Friends For Me Shirt $21.68 |
![]() UFOs Are A Psyop Shirt $21.68 |
Because the terminal is easy and efficient
because it takes effort to make a good gui, whereas i could spend that time on the program itself instead
fpbp
No it isn't. ncurses has an intentional memory leak to this day and it's a spaghetti mess.
>ncurses has an intentional memory leak
eggsplain?
he's a moron that doesn't know the difference between permanently claiming memory and leaking memory.
https://stackoverflow.com/questions/42903568/cannot-fix-memory-leak-in-ncurses
It's bloat for most things, and in any case if you really want the bloat you can build a GUI front-end to a terminal program. (see, e.g., the many media applications that are more or less just fancy interfaces to ffmpeg)
also gtk >= 3 is indeed pretty horrible, but that's a separate issue
Fair, but still, I will be automating the shit out of my ffmpeg workflow anyways so having an extensible GUI interface could help, the word being EXTENSIBLE frick that gnome bloat garbage.
But you don't lose the scriptability just by giving your program a graphical interface. Obviously we all expect programmers to code a program that have some interaction with the command line be extended through some language be shell scripts or some weird hack text syntax like newsboat uses.
for automation a CLI is almost invariably what you want, since its trivial to script. Anything with a CLI you can drive with a shell script, GUI programs you have to hope the thing implemented it's own hacky custom macro language or something. No GUI is easy to drive through automation. Once you have a CLI even if you write or embed your own extension language, it's still a lot easier to use than it would be for a purely graphical program.
CLIs, however, are not ncurses shit, which people often incorrectly conflate together.
Just add a GUI to them if you want a GUI.
Terminal applications are used because they're easy to develop, they're lightweight, they can entirely bypass certain portability concerns, and it's easy to connect other programs in a pipeline.
There's your problem, you complain about GUIs, but then you don't want to use a GUI because it's not extensible. That isn't an incidental problem, that's a fundamental issue with 2d graphics compared to text. GUIs themselves are made out of text, it's hard to obsolete text using text.
There's a reason that text has been around since almost the beginning of history, it literally just werks.
>you don't want to use a GUI because it's not extensible. That isn't an incidental problem, that's a fundamental issue with 2d graphics compared to text.
GUIs are only that rigid and inextensible on Unix and Windows.
The system that invended GUIs had the GUI as a first-class citizen and it was extensible in real time, with a proper transparent object system. CLIM follows simliar principles.
>CLIM
ayo what the frick
If only the McCLIM devs wouls focus on a good backend to replace the shitty slow X11 one, instead they add shit like this.
Reminds me of this https://www.youtube.com/watch?v=o4-YnLpLgtk
https://en.wikipedia.org/wiki/Genera_(operating_system)
Cool stuff.
>Are autistic developers allergic to GUI?
Yes.
gui's are a pain to code
its not bc its hard, its bc its extremely boring
also, it allows to use the program in scripts, making it trivial to capture the output, or pipe it into other programs
dis
Lintards still can't create a cohesive desktop environment. Mac OS and Windows users have to suffer due to their moronation.
different people will have different definitions of "cohesive".
Have you written gui programs? It's a b***h and not fun to do especially for menial things.
There are literally zero pleasant ways to code GUIs right now, especially if you want cross platform without extra work
Unless you want to learn flutter, TUI is just easier
I do basically everything in curses at this point
>cross platform without extra work
That can't be done in GUIs anyway. The problem is that different platforms want their GUIs to behave differently, and it is incredibly difficult for the GUI toolkit to hide that from the application.
Just think about how a full featured "UI" for ffmpeg would look. Even if we put programs like that aside, simple stuff doesn't need UIs either. A lot of such utilities would be several orders of magnitude larger just because some gay wanted to use the mouse. And while not mutually exclusive, people might want to make these part of a script to automate some task, so a UI would be superfluous.
FFmpeg's CLI is an abomination by every measure. You basically need to search the internet whenever you want to do anything nontrivial.
It doesn't have to be full-features, but a frontend for the most common operations would be desirable.
>You basically need to search the internet whenever you want to do anything nontrivial
yes, and?
so what? if the CLI has tons of options, so should the GUI
It's because you're looking for gnome based programs instead of using superior qt.
Why is Qt better than GTK?
>Why every software that is worth a damn a terminal application
Because a GUI is a lot of work to write, most of which is dull fiddly work, and the rest is brain-bending weirdness (because of the high degree of asynchonicity).
Also, who teaches how to do good GUI design these days?
Not him but gui piping when?
Seems impossible because of different input/output data types, terminal programs read text and write text but guis read keyboard and mouse events and write video, but maybe we could somehow find a sane conversion standard? Or make programs that read video and write keyboard and mouse events, and maybe also programs that read and write events and programs that read and write video, and mandate that any pipe between two gui programs has like data types at either end of the pipe?
>Not him but gui piping when?
I feel like drag and drop is the pipe analog of GUI programs. When designed well you can drag some object from 1 window to another, and from that 2nd to even another, all different applications.
?t=309
The thing your describing sounds like more complex IPC than pipes. Something similar to 9P where applications can expose a whole API that lets any other program send and receive data to it. Want to insert text into my windows text buffer? write to /myapp/window/1/title, want to read that from another program? Just do it.
This extends to the entire system. If you want to literally send or receive keyboard and mouse events, you could. Or whatever combination you care to.
Genode I think also has some mechanisms like this where they have some application/window tree that lets 2 graphical programs manipulate each other through some simillar mechanism.
>gui piping when
>maybe we could somehow find a sane conversion standard
it's called an API
Switch to Windows and never look back. Linux is a bad joke. Made by autists for autists. If you use Linux unironically, where do you live? I'll buy you a copy of Windows. That's how much I hate Linux.
That's fair if you don't manage server. You shouldn't try to go to the big league if you just need desktop.
Windows took the lions share of server market. Shitty l know but look, you need to wake up, it's not 2002, 2012, it's 2022.
>Windows took the lions share of server market.
lmao not true
>worth a damn
Any software that is actually worth a damn comes with a GUI because the time you spend typing into a terminal is wasted time that costs professionals money.
moron
GUI's are pointless for working with text.
>Why every software that is worth a damn a terminal application
only on linux
What do you mean? Emacs exists.
because GUI programming sucks wiener and is never portable
Satan speaks the truth
OP here. Okay okay... I heard you GUI is not as portable, it's boring and hard to write, most developers are backend developers and not frontend ones. The terminal allow us to work with pure text, and that's the universal interface... HOWEVER! what in the frick is Emacs doing then? I tried Emacs a few weeks ago and I was shocked. It uses imagemagick, the coreutils and every other CLI tool you can imagine to make up for it's backend. Even Dired it's just LS. Emacs feel as extensible as any terminal tool and it's (also) a GUI interface. In fact Emacs feel like it's own graphical toolkit. It was too much for me tho so I moved away from it, but I still miss the niceties of a GUI interface that is NEVER coming to the terminal, like different font sizes and etc...
>different font sizes
Are you moronic ?
what are good cli apps?
yt-dlp
this, and it works for so much more than youtube too. every time i have a link to a webpage that contains a video or audio in some format that is more complex than right click -> save video as, i just smack the link into yt-dlp and 95% of the time it just works. whoever develops that shit needs their dick sucked fr
GTK and Qt just suck
In business arbitrary skills are separated from eachother to prevent trained workers from being able to do anything other than the jobs they are trained to do.
In this case, the back end is separated from the gui.
Program efficiency is separated from program usability, and the business aspect of both of those things is separated from programmers entirely.
This is the method upon which your current owners use to extract wealth from you and ensure your slavery to the system.
i switched to mint recently and just found out about youtube-dl, it's perfect and i love using it, GUI btfo
>youtube-dl
we all use yt-dlp now
>we all use yt-dlp now
why is it better?
last time I used youtube-dl it was slow and didn't get any updates and yt-dlp was a fork of it with extra features that wasn't slow
The only upside to a GUI is that it's moron-friendly. CLIs are easier for the developer and less restrictive for the user.
Say you want to pipe the output to a txt file for some reason, it's ez with a CLI, can't do anything of the sort if you're forced to interact with the program through tard blocks
I'm a programmer, not a graphic designer.
i made a gui program in winforms. it was easy as shit, worked well and looked good.
this seems like a freetard problem.
i prefer to work and write programs that use CLI. 90% of GUIs are not needed and are for the common moron who can't grasp basic computing concepts.
>90% of GUIs are not needed and are for the common moron who can't grasp basic computing concepts.
bro most people see computers as a necessary evil they are like cars to them
no one expects them to know the ins and outs cars just so they can drive one
if they're a moronic normalgay they are probably just going to use a smartphone for all their "computing"
>if they're a moronic normalgay they are probably just going to use a bus for all their "transportation needs"
Nobody is talking about cars or buses. Try discussing topics without analogies.
You and I both know what Anon said is true.
yeah, only normalgays will use public transit
they are worth a damn because all that time which would have been wasted on making it more accessible to the technologically illiterate through a GUI was spent on making it worth a damn instead.
Why is gui development so bad on linux?
because it's usually not used as an end-user focused system
most often you use linux-based OS as a tool of some sort that delivers some service or automates some shit, so there's a greater focus on apps interfacing each other rather than the user
Because the people who write that software know how to use the terminal themselves.
When they write a GUI for it, then it would just be an act of charity directed towards idiots like OP.
terminal applications are goof for programmers, programmers need automation the most (mainly for testing, or distribution).
if terminal tools were replaced with a gui they would be hot garbage.
For normies, I agree guis are better, but one you learn how youtube-dl or ffmpeg works, you just keep on using it, most of the time because it's just easy to use, aka youtube-dl, or you just copy and paste the command someone showed on the internet, and usually on linux that tool is already installed. And the best part is that if it's popular enough, there probably is a GUI for it somewhere.
Is this the foss ui thread?
beautiful aesthetic
I wish my wm would do that all the time
GUI is good only if the end user is a human.
If you want another app to interface with a GUI application, you need to write, and maintain an API for it
CLI otoh is the best of both worlds. Sure, it might be less intuitive for a human, but it's easy as shit to parse with some grep or awk and interface with any other application. And you get it basically for free.
What's wrong with the precise granular control of the terminal?
probably because terminal apps are orders of magnitude simpler to build and maintain, and these programs are typically built "function first, forget about form"
Some of them are, but there are a lot of big ones that are cli only, like ffmpeg or gcc. I think it's more
, in a sense that they're the kind of applications designed to be used both by humans and other applications alike.