You see this shit SO much more often than you would think. And the infuriating thing is, it seems to be most common among programs that are INCREDIBLY complex and sophisticated.
It'll be like this:
"What does my program do? Glad you asked. It simulates stress patterns in glass and ceramics, after they come out of a kiln. You can specify any melting temperature, adjust the composition of elements in the glass, and the ambient temperature of the cooling and tempering stages."
"Wow, can you show me how it works?"
"Sure! "
"O-oh. Do you have any plans to add a graphical user interface?"
"HAHAHAHAHHA, no. That's never happening. And here I thought you were serious about using advanced software, and being an intelligent person."
Obviously, that last part is just kinda implied. But sometimes, when users request a GUI, the goddamn developer will kinda get in their face, like that.
They always fall back on the position of "well, I developed this shit for free, for your ungrateful ass. So you can build your own fucking GUI."
But the thing about that is...no. And fuck you. I shouldn't have to be two-thirds of a fucking developer, in order to use the fucking software.
If you can figure out how to simulate molecules, or draw 3D stereograms, or translate hieroglyphics, or any other RIDICULOUSLY COMPLICATED SHIT, making a graphical user interface should be nothing to you. You should be able to do it in a fucking afternoon.
IT DEFINITELY SHOULD BE THE EASY PART, FOR YOU.
All the rest of us, who aren't programmers? We envy programmers, and their ability to really connect with computers, on that deep logic level.
If we could do that shit, we would. But a lot of us have tried, and we realize it's not a good use of our time. We can do cool stuff with software, but it's just not ever going to be worthwhile for us to struggle through the act of creating software.
Also, I hasten to add that I have put in my time, using command line interfaces. I used DOS, I used BBS systems, I have used modern command-line-only programs. I know how to do it, but I DON'T WANT TO.
I don't want to have to memorize commands. I don't consider a GUI workflow to be some kind of weird luxury. It has been a basic part of modern software, for around 40 years at this point. Literally get with the program, guys.
If you're serious about making software, get your shit together and implement a fucking GUI from the very first release. Nobody ought to be taking you seriously, if you refuse.
True a UI doesn't have to be pretty but it has to be usable/provide a good experience. To me at least a bad GUI is much worse than a terminal interface. Which is also a UI, just not graphical. I don't write desktop apps with GUIs so I'm not sure how complex it is but it probably depends a lot on the language. If the initial project is using C for example I'd expect adding a GUI to be more of a pain than if it was written in Visual Basic.
As a developer, it's not the coding of the GUI that's a problem. Making a text box or a button or lining two items up does only take a minute. The issues are (in order of complexity for me):
Honestly, designing a good GUI is the hardest part for me.