Seriously, why do programs that operate strictly via command line exist in the current year? These days, anyone with at least two brain cells to rub together can create even the most rudimentary UI consisting of checkboxes, dropdown lists, and text boxes. In the time it takes you to write an insanely-long documentation that explains every single command line and its proper syntax, you could create a UI that is intuitive and self-explanatory.
This beef comes from me trying to figure out how to use exiftool.exe to remove all tags from an image EXCEPT for the orientation tag. No, this thread is not for you to tell me how to do it since I have since figured it out, but to serve as an example of the bullshit that is command-line-only applications. Here, take a look at the documentation for this program:
You cannot convince me that all of that is completely necessary. Just make a fucking UI. Otherwise, fifty other people will create their own variations of a wrapper for your exe, you will list each and every fucking one of them on your shitty website that looks like it crawled out of the year 2000, and I guarantee that you WILL NOT update your list to remove the 90% of wrappers that fall out of date or become defunct because the developer abandoned them. So now I have to scour a list of wrappers and download/install/use multiple ones before I find the one I want to use that also fucking WORKS.
If you are wanting the exe to serve as a sort of API then also write a wrapper for it rather than make someone else slog through your wall of text to figure out how to do it themselves. At the very least, create a switch metadata file that provides 1) the data type required for each switch (string, number, date, boolean, etc) and 2) any dependencies and interdependencies between switches that others can use to auto-generate their UIs. This way, you can make changes to your metadata file and everyone else's UI would update automatically if they were smart enough to leverage it.
tl;dr: Anyone who creates command-line-only utilities in the current year needs to kys. Prove me wrong. Pro tip: ██████████
You'll have better luck convincing a tree that command line applications aren't always the best way to go than convincing Zig Forums of that.
Leo Ross
It takes longer to look through a bunch of menus and tabs and options than it takes to pattern search a man or to pipe a help blob into grep. It more often than not takes longer to use a UI than to write command if you know what you're doing. It's also much more demanding to automate a UI. It's also inconvenient (and sometimes possible) to use a UI remotely. Every existing UI toolkit sucks, making UI development unappealing and leading to people cutting corners when developing their UIs which is why so many UI-based applications are wonky and inconsistent.
Use a UI if you want. I won't, not will other power users. Maybe find a different hobby.
Gavin Clark
If you can't see the value in a command line and the flexibility of scripting and processing string streams, then you probably should do us all a favor and stay away from computers.
Easton Lee
I actually agree once the thing reaches a certain threshold of complexity. CLI programs are nice if you can completely load their interface into your head, but programs like GnuPG are utterly fucking unusable.
Asher Rodriguez
Nice bait nigger
Kevin Ortiz
Some are so simple they don't need an UI. But generally I agree.
Luke Parker
If you can into typing, you can into CLI faster then you can into mouse. Also, there are situations where the user only has access to shell, console, or terminal. This can be a nuisance but expecting a programmer to write wrappers/GUIs across multiple desktop environments is asking a lot. I've met many programmers who were wizards where code is concerned but never bothered to specialize in graphic design or just did not have the time or inclination to get stuck in the weeds with fine tuning a GUI for multiple desktop environments that would require further attention as updates rolled out. Sorry, not everyone exclusively uses Windows. More like... Amateur tip
No it isn't because you only have to create the code that auto-generates the UI once. For every other application you create, you just reuse the same code.
Luke Jenkins
The reason is that all GUI libraries suck a tremendous amount of cock. Anyone who creates GUI utilities in the current year inevitably ends up kysing. Prove me wrong. Pro tip: I would rather not kys myself
Adam Jenkins
"Niggers can't into command line" - T. Davis This is why we code for CLI only. It helps keep the niggers and CoC pozzing away.
Lucas Campbell
LARPer spotted
Jaxson Flores
.NET Core is one way to do it. It's relatively new in the grand scope of the .NET framework. Never used mono before. What's so bad about it?
Lincoln Hernandez
See:
I create my own GUI all the time and I am still alive. It is a triumph. Okay so NOW I will kys.
Luis Green
I see a lot of cocks getting sucked. I'm not into faggotry.
Ian Gray
I will never understand the dogmatism behind script kiddies and their precious CLIs. I suspect that most are in their 40's and haven't escaped the clutches of the year 1995. We are currently in the current year and it is time to leave the past behind.
Connor Carter
when the command syntax becomes more complex than a list of path names, the program should become an interpreter.
Sebastian Lopez
The don't suck cocks and #learntocode
Luke Jones
False, we are in CY + 4. Get with the times boomer.
Logan Kelly
sounds legit for a Mc Hipster
Jason Rodriguez
nigger confirmed
Brayden Hill
It shows. It looks like something someone made by dragging controls around in the Visual Basic form editor. And yet the UI you created has no quick jumps and there's a non-nil chance that the tab order is fucked. UI (and even CLI) is hard. If you think it's easy, you're barely scraping the surface.
Hudson Scott
...
Gavin Cook
It was a proof-of-concept. It wasn't meant to look polished, but even what I slapped together is better than no UI at all. And as far as the look of it, I could have done some math to center the labels vertically with the controls and also have some uniform spacing between labels and controls.
Define "quick jump". And the tab and control order would be defined in a class or metadata file. In my case, the properties exist in the class in the order I want them to be on the form. The tabs would work the same way since they would be a sort of parent node that contains child controls.
Only if you're a total brainlet. I would actually argue that CLI is for more difficult because you have to create a parser and an interpreter. UI is fairly easy, especially if you auto-generate it like I did above. And we're not talking about web-based UI where you have to manipulate the DOM using Javascript, and this speaks nothing of excessively complex frameworks like Angular.
lel. this goy Some people use computers that neither have nor need a graphical environment. There is no use for creation of a GUI interface. If a nigger needs one then it can #learntocode and make one, otherwise RTFM and STFU.
Adam Thomas
As a complete moron who doesn't know how to code, there is zero problem with using command lines, it's almost always a faster GUI that you need to spend a day or two on before making the best use of it and I have no idea why people keep bitching about it. It's exactly like Netlisting in Spice, it's actually very easy once you sit down for an hour and realize what it is.
Nolan Jenkins
...
Adam Russell
see video:
Ryan Bell
Your UI does nothing. It's the CLI equivalent of running : in sh which certainly does not take 15 minutes to do. See attached. Irrelevant. I'm saying that your "quick and easy UI" is incomplete and untested. You clearly misunderstand the discipline. Creating humanly-usable UIs means understanding tons of heuristics, metaphors and other elements and means respecting a large number of global and per-platform conventions, and sometimes discriminating between them. Your view of UI design is shallow and people like you are the reason why so many interfaces are slow or useless. You auto-generated nothing. You don't even know what you did. You're playing with Legos.
As a cripple man I can't use a mouse so I hate GUIs because they remind me of my spasticness. To compensate for this I claim all UIs are for niggers even though I need door and stair UIs to be specially created for me.
Isaac Phillips
OP I figured it out in < 5 min from those docs (soon had an idea and then the examples confirmed it). I won't argue that CLI can be a kind of hell when every program has its own little DSL of options that was made ad-hoc by some guy with no particular talent for interfaces. But maybe you should try a little harder, you know? Learn to sit still and read documentation.
This. And bad CLI is still better than bad GUI, because once you figure out the CLI you can do it quickly or automate it.
Jace Allen
Couldn't have said it better myself. My machine is my hobby. I spend hours just reading about use flags because I'm such a nerd XD
Wyatt Rivera
?
Logan Gutierrez
Enjoy that flat expertise/time curve on your GUI you fucking nigger.
Gabriel Torres
One evening, Master Foo and Nubi attended a gathering of programmers who had met to learn from each other. One of the programmers asked Nubi to what school he and his master belonged. Upon being told they were followers of the Great Way of Unix, the programmer grew scornful.“The command-line tools of Unix are crude and backward,” he scoffed. “Modern, properly designed operating systems do everything through a graphical user interface.”Master Foo said nothing, but pointed at the moon. A nearby dog began to bark at the master's hand.“I don't understand you!” said the programmer.Master Foo remained silent, and pointed at an image of the Buddha. Then he pointed at a window.“What are you trying to tell me?” asked the programmer.Master Foo pointed at the programmer's head. Then he pointed at a rock.“Why can't you make yourself clear?” demanded the programmer.Master Foo frowned thoughtfully, tapped the programmer twice on the nose, and dropped him in a nearby trashcan.As the programmer was attempting to extricate himself from the garbage, the dog wandered over and piddled on him.At that moment, the programmer achieved enlightenment.
Ayden Bennett
based
Ayden Ward
My UI is proof of concept. If you can auto-generate a UI like I did then you can scrub the form and convert the inputs to JSON to pass to a web service or a flat command line string to pass to an exe.
Are you trying to say "keyboard shortcut"? Either way, why are you complaining that my UI doesn't have keyboard shortcuts when your CLI doesn't either? It would not be difficult to implement shortcuts. I didn't do that because it's just proof of concept. Keyboard shortcuts do not make or break a UI, just make it a bit more navigable for power users.
You're a fucking idiot. For a simple UI, you can auto-generate a form and then generate an input string without all of the excessive complexity you just regurgitated. I do it all the time at my job. Business users are amazed by my turn-around time because every form I create is auto-generated from the classes while the other developers in my department hardcode all of the bindings line by line. All I do is configure some property interdependencies and validation requirements and the rest is done.
CLI is no different. All you're doing is passing inputs as a command line string. Instead of the user typing out the raw inputs by hand, a UI will convert the form inputs into the command line string. It's no different than any other CLI wrapper that exists out there. A command line string from my UI would look something like:
It's so simple, but it's also no surprise that the people on Zig Forums have the inability to see things in simple terms. This doesn't mean you're smart. It just means your brain is a fucking mess and the only way to perform a simple task is to jump through every hoop imaginable.
Caleb Roberts
Trying to explain to a Zig Forums fag that you can create a UI on top of your CLI and still be able to use your CLI as a standalone program is like trying to explain the difference between legal and illegal immigration to leftists. It simply cannot be done.
Grayson Perez
See:
Ryan Murphy
You don't give developers enough credit by assuming they're automatically going to create a shitty UI.
Also this:
Kevin Stewart
See:
Camden Brown
why do programs exist? If everyone can do it, maybe there's a reason why they don't... why do programs exist? These days, anyone with at least two brain cells to rub together can read the fucking manual. Anyone with at least two brain cells to rub together can read the fucking manual. You did it! Congrats OP. You cannot convince me that all of that is completely necessary. Anyone with at least two brain cells to rub together can create even the most rudimentary UI, and anyone with at least two brain cells to rub together can read the fucking manual. Why don't you do it? Just make a fucking UI.
Samuel Morgan
...
Colton Fisher
it's not that simple
Grayson Flores
"argument"? That's what you call that?
So you did NOT manage to read the manual? Sad.
Dominic Mitchell
Do you also have to reinitialize the flux capacitor? ffs, all you do is iterate through all the controls in the form and build a command line string from the user input.
How is that difficult at all?
HOW? The UI and CLI are two separate things. The UI is just a wrapper around the CLI. You can still use the CLI by itself. Holy shit.
Tyler Watson
Yes, I did read the manual, hence this:
James Green
I can guarantee you've never shipped anything serious if this is how you treat usability.
Nathan Johnson
...
Connor Cox
Seriously, what is SSH and remote login? The level of ignorance in this post is just astounding.
Brody Turner
go back to play on your iPad Zoomer, this is no place for you.
Lincoln Torres
>>>/apple/
Leo Phillips
just take my nice clean CLI code and FUCK IT ALL UP WITH GTK / QT BLOAT CODE INCREASING THE SIZE OF THE CODE BASE BY 10 TIMES
JUMP OFF A TALL BUILDING OP
Cameron Perry
some things are just easier to use there.
Zachary Cruz
This guy reminds me of the mouth breathers that will use RDP/VNC to remotely connect to a system with the objective of restarting it.
Ever heard of something called overhead?
Matthew Cruz
Assuming you're the user I replied to, I didn't disagree with your point on UI. However, you were applying high level disciplines to a very simple concept. It's just a CLI. Creating a UI that generates a flat input string to be passed into it is something an absolute brainlet can handle.
Ryder Williams
Jesus fucking christ how many times do I have to quote this post:
Jaxson Scott
Yes. What about it?
Michael Hall
Hey guyz, let's put a GUI desktop on this remote satellite and connect to it via RDP. Oh yeah, what's a computer?
James Carter
Hey guyz, let's put a GUI desktop on this remote satellite and connect to it via RDP. Oh yeah, what's a computer?
Hudson Ross
...
Nathan Morales
go back to play on your VT100 Boomer, this is no place for you.
Tyler James
Zig Forums fags still cling on to the old days where they were gods among their friends and family because they knew how to type DIR /AD at a DOS prompt. Now that the world has moved on toward GUIs, the Zig Forums fags twitch feverishly at the mere notion that they're no longer necessary or important at all. Their knuckles turn white as they clutch tightly on their CLIs as they ask themselves if now is truly the time for them to kys.
"Seriously, why do programs that operate strictly via command line exist in the current year? These days, anyone with at least two brain cells to rub together can create even the most rudimentary UI consisting of checkboxes, dropdown lists, and text boxes. In the time it takes you to write an insanely-long documentation that explains every single command line and its proper syntax, you could create a UI that is intuitive and self-explanatory."
OP proceeds to make a program with a check box for every operation that can be performed on the remote system. Then all of a sudden, he realizes that he may need to run more than one operation and in an arbitrary order. He decides to take the easy route and create a new GUI program that uses the MSBrainlet protocol for remote operation. The program resource usage is 700MiB of storage space, 2GiB of RAM, a hardware accelerated graphics card, constant 100Mb network connection...
Luke Butler
I have never written this kind of program, so I cannot answer to this, but why are you fags clinging to this "remote operation" bit like it's your security blanket?
See this:
If a GUI isn't called for, don't use a GUI. If we're just fucking talking about goddamn removing EXIF from a JPG...
THEN WHY THE FUCK NOT?
Aiden Collins
Zoomer fails to realize that the Internet doesn't actually run on his smartphone. Proceeds to feverishly look for an app icon for "Internet".
Jacob Myers
Nice strawman
Eli Stewart
If you are so concerned about bloat maybe you should stop eating so much.
Aiden Lewis
Why the hell would you want a stand-alone GUI for a program to remove EXIF from an image. That sounds like something you'd be better off incorporating into an existing program as an option. Or you could make a simple CLI program interface that can be used with more complex file filtering. exiftool -r OPsMidgetPorn??B.??G
Oh shit, we need the nu-think stand-alone GUI so self satisfaction can be achieved through holding down the shift button and individually clicking on each image icon (but not the wrong ones). After 15 minutes of that, you can then finally rub your hands together and right click the "Erase EXIF Data" button. Progress feels good. Oh, and what's a computer?
Logan Powell
Op failed to pre-select the IsAFaggot box.
Tyler Mitchell
Absolute state of christian mutt conservatards
Luke Green
a gui is easier to use than the undocumented magic thing that is regex. no one knows fully how it works so they just put random symbols there until it somehow works.
Wyatt Gutierrez
they would probably look like this if someone started making guis for cli programs
#!/bin/bashwhile getopts "hfg:d:" opt; do case "$opt" in h) echo "usage $0 [-f] -g GAYNESS -d DATE"; exit 1;; f) ISFAGGOT=y;; g) GAYNESS=$OPTARG;; d) DATE=$OPTARG;; esacdone This took me 3. Now imagine trying to implement the gcc command line options in a gui, keeping it You'd be shit fucked, and every time you went to change things people would get pissed at you for breaking their workflow. The gcc people have never worried about adding a flag, because it sits neatly alongside the old ones without disturbing them. Actually try doing that OP, write a gui that ouputs a command line for gcc, or any other non-trivial program. I wonder how far you'll get before realizing that guis are idiotic outside of the most basic tasks.
real story: my dad asks me how to use an alternate drive with iphoto. I tell him I have no fucking clue. He says he thought he could hold shift while clicking some button. I tell him to hold option instead. This works, naturally. I am in no fear of normalniggers figuring out tech. The problem UI designers fight every day is "how do I turn a CLI into a GUI". 90% of the time they do this by stripping out everything but the most simple things. Apple figured out that they can hide some of the more complicated items behind the option key, but even this has a limit.
visual story: $ vlc --help | wc -l397 $ vlc --longhelp | wc -l1698 $ vlc --full-help | wc -l5820 $ # help for all the modules $ vlc --list-verbose | sed -e '/ c \| s /d' -e 's/^ \(\w\+\).*/\1/' | while read name; do vlc -p $name; done | wc -l4320 $ vlc --list-verbose | sed -e '/ c \| s /d' -e 's/^ \(\w\+\).*/\1/' | while read name; do vlc --advanced -p $name; done | wc -l7782 $ echo total help = $((5820 + 7782)) linestotal help = 13602 lines That help is wall to wall options. Try stuffing that behind the option key OP.
Dominic Edwards
If you want to know how to do something why don't you just RTFM.
Josiah Peterson
What did I want to know how to do?
Luke Roberts
...
Kayden Richardson
I use CLI every day, but using DOS is fucking awful.
Carter Diaz
Why didn't he RTFM you mean? Normal people don't make a habit of looking at man pages, or googling things, or otherwise fixing problems for themselves. I am fortunate in that my knuckles will stay full of color until the ends of my days.
Jackson Hill
CLIs are more of a "hipster" side of tech but it still has its advantages on really small cases like remote/server application management but doubt these hipsters even do something productive as that other than fixation to eyecandy 'matrix' ascii art hipster bullshit. Imagine having to manage music tags or image exif. You can't do paint/render graphics tasks or file management/tagging without GUI. CLI lists are mostly inferior on modern use, you can't even quickly search and filter results as you type them in. GUI firewall is superior if you want to see what's happening (like breaches) in realtime and interact with it immediately with one click. With CLI you won't easily get an idea of what's happening or even get graphical representation of data or even copy that result (ctrl shift c, lol), or a realtime notification of something important. CLI is for doing batch and background process shit like servers or botnets you want to hide from the unsuspecting. exif tool CLI is okay since it's meant to be used in image batches but most of the time it's a waste to learn how to use these - maybe if your time has no worth like the classic nix/gnu+linux user.
Pajeet sophomore detected. 15 minutes = fail the 10min test this friday. VC++ is infected with telemetry and also compiling with the 'windows update patches' for VS will insert an even better tracker into your programs (aimed for malware makers for the LEA/forensic).
Henry Fisher
Every language I use has packages will allow for generating commandline usage statements automatically, even when options are complex and nested, or separated by command type.
Liam Bennett
And yet it's impossible to use nearly all CLI programs without reading the manual. Amazing eh. Your dumb dad pressed the wrong button yet you have to read the fucking manual to even use it for trivial stuff. This is your gay ass life. Meanwhile dad tard is pressing buttons.
Parker Flores
This looks nice. Busy, but necessarily so and very straightforward. One could argue that it's too cluttered with options, but I could argue counter that it just needs to be better organized. A tab named "Standard" really isn't very descriptive.
All in all, though, I think this UI is worth the effort to develop, and it wouldn't surprise me at all if this were a third-party CLI wrapper.
Andrew Harris
Because I can type faster than I can navigate a cluttered UI.
Christian Gutierrez
The amount of time you can take with a script vs. the amount of time it takes me to write code to auto-generate a UI is irrelevant to this discussion. It is about the time you save the end user. It will also allow your utilities to reach a wider base, allowing you to gain more recognition as a developer. I do not understand why script kiddies and CLI fags like to remain in the dark underground. It's like they think it's cool that filthy casuals can't use their shit. I just makes them the incels of the software world.
Adding a new flag/field to a GUI does NOT break workflow unless you just slap it in there in a random place. You act as if no program relying on a GUI has ever, in the history of software, undergone an update that resulted in new checkboxes or dropdown lists being added to a GUI. What argument are you even making?
It's almost as if you've never written anything that outputs form data to JSON or a flat file. Do I have to create a sample form like I did above and show you how clicking a button can collect the user inputs and output it to JSON or a flat command-line string? Give me any format and I will give you that output.
Easy. Your help file is actually XML or JSON with a key/description for each field. You will have a utility (easy to write in a few lines of code) that will convert that to a flat file for easy viewing in a text editor. You can then use it in your UI to look up field descriptions by field name for use in a mouseover tooltip or, if the UI is small enough, just display it right below the control itself.
{ isFaggot: { desc: "Determines whether or not OP is a faggot. Always true." }, gayNessLevel: { desc: "Numeric value to determine the level of gayness. Always maximum value allowed." }, gaynessDate: { desc: "The date and time that OP achieved gayness. Always the date/time of thread." }}
Seriously, you script kiddies are brainlet-tier plebs if you can't wrap your tiny heads around these very simple concepts.
Angel Phillips
The don't use a fucking GUI. Read this, dipshit:
Jackson Miller
why is cli wrapper gui a thing in the FOSS world when you can very easily turn the cli into an API and shared object / dll? even with a tardlang like python or java FFI is dead simple. To make a cli wrapper reliable stdout & stderr need to have a consistant syntax, which never happens, parsing is usually some dogshit adhoc glued together with PCRE. UNIX is the operating system of undless unnesecary parsing.
Nathaniel Cooper
The right way to do it is with a library that exposes an API that can be used with any interface you want. Dynamic linking was a late addition to UNIX, so they still don't fully understand libraries and the difference between linking code and copying and pasting.
The real enlightenment is discovering that the UNIX "shell" is just a shitty programming language.
GUIs also suck on UNIX. On a real OS, a basic GUI program would be a few kilobytes. Improvements in operating system design used to lead to smaller code. That was the whole point of an OS and OS research. Whenever something is "improved" on UNIX, everything gets bigger. It doesn't make sense to have to write more code just so every user has to write more code, but if UNIX weenies did things that made sense, UNIX wouldn't be UNIX.
Subject: The Decline And Fall Of Western CivilizationThese stupid shit-for-brains weenix unie "programmers" havemanaged to break that mainstay of Western enlightenment andeducation, the dictionary. And I'll bet they excuse theirbehavior by saying, "Well, it's all Greek to me"!I suppose it's only appropriate that the invading hordesscraped the librarian at Alexandria to death with shells.They must have had a premonition that UNIX was coming.
Nolan Cooper
can you provide an example of an OS where a basic GUI program is only a few kilobytes and the code is minimal?
Mason Adams
Can someone explain to me why there's so much concern over GUI file size in the current year where storage space is barely anything to worry about? I bet you anything that a JPG taken on your phone is 10x larger than a simple GUI. Remember, the GUI is just the frontend that does nothing more than accept user input and then deliver that input to the backend or, if it's a wrapper, generate a command-line string that's passed to the exe.
Carson James
it's not the size of the file, it's the number of lines of code you have to add to deal with a gui, it adds a bunch of unnecessary complexity and depending on what your doing it turns 3/4 of your code into GUI code instead of doing whatever it is it's doing.
consider most CLI programs are sequential, there is a simple start to finish take arguments -> do work -> return results
with GUI code it's n o longer sequential, the entire thing must redesigned to accommodate and event/response system / loop. instead of the above, it becomes initialize gui -> wait for event -> respond to event -> do work ( but do it in a thread to make sure you don't lock the gui; even more unnecessary complexity) -> fill GUI with response, wait for another event
not to mention having to deal with retards sending multiple events at once, you have to deal with that. what if retard clicks your long running "do work" button 50 times before it finishes the first one? are you going to launch 50 threads at once? no you have to detect it and prevent it, resulting in even more unnecessary code
Levi Sanchez
Guess how many it takes for you to read this reply.