Live data from Hacker News

How I'm still not using GUIs in 2019: A guide to the terminal

lucasfcosta.com

161–170 of 248 posts

Re: How I'm still not using GUIs in 2019: A guide to the terminal

#161
post #6

Earlier quoted context omitted.

So you edit with ed? :). Also anything wrapped inside tmux would definitely defecate if hooked up to printer. Some jobs are interactive. TUIs ain't bad for those.

If it "defecates if hooked up to a printer", it's not going to be useful in a Unix-style text pipeline, either. So, what benefit do applications like emacs or vim (which are, fundamentally, keyboard-driven GUI applications, even if they're running in text-mode) gain by being stuck in a terminal? It's a simple least-common-denominator that's easy to push over a slow SSH connection, but why wouldn't I want to relax som…

Vim benefits from being in a terminal because you can use things like tmux to improve its workflow. Terminal Emacs can be used like this too, but Emacs can also handle this by itself - its philosophy is actually the opposite. Emacs will consume the stuff you're doing in terminal, but in a much deeper way than other GUI editors/IDEs.

Simple least-common-denominator SSH-style workflow is actually a feature for devops/sysadmins, so that's why I believe you'll find a disproportionate amount of them favouring vim. In Emacs, you can relax limitations of a terminal, while benefiting from its text-based design that enables heavy interoperability and ergonomic workflow (and then you discover that terminal Emacs retains 95% of those features anyway, so you can get them over SSH too).

Re: How I'm still not using GUIs in 2019: A guide to the terminal

#162
post #4

I like command-lines. I don't like TUIs. Here's the litmus test for whether a program truly belongs there: Would it shit the bed if its stdout was a printer?

reminds me my litmus test for website design: elinks we should have a curated litmus list.. listmus.com

an elinks lover here! It is an amazing web browser.

Re: How I'm still not using GUIs in 2019: A guide to the terminal

#163
post #97

What are the chances that teletype simulation is the best possible way to interact with computers? This is what command line emulates: https://www.youtube.com/watch?v=AIWZ_pbLYqQ Yes, this was way better than punch-cards. But it was incremental and used completely arbitrary technology simply because it was available from somewhere else. UI as a concept was poisoned by Windows and its shitty derivatives. Like, there i…

Visit the Emacs land. Embrace the joke that it's an operating system (truth be told, it's not really a joke). What you'll see is something combining the best features of CLI, TUI and GUI. A 2D canvas with various UI primitives, made of text. There's no separation - like in traditional GUIs - between what's accessible to user and programmer (the contents of editable fields) vs. what's just dumb pixels (everything else…

> There's no separation - like in traditional GUIs - between what's accessible to user and programmer

I'm currently poking around Smalltalk, which has both GUI and ability to fully customize everything.

>I wish GUIs would learn from that, but I don't think there's any GUI framework attempting this

The very first real GUI (in Xerox Alto) did all that and it was developed several years before Emacs.

Re: How I'm still not using GUIs in 2019: A guide to the terminal

#164

Earlier quoted context omitted.

> However, as you get into actual software engineering, the first time you need to do some semantic refactoring will wipe out any time you saved through low-level efficiency. That applies to Java and C# only, where the language grammar is so simplified that you can be 99% confident semantic refactoring didn't screw your code up. > You can become more efficient at low-level tasks by doing faster text editing. It's not…

> That applies to Java and C# only, where the language grammar is so simplified that you can be 99% confident semantic refactoring didn't screw your code Some of us would say well-designed instead of simplified :-)

> Some of us would say well-designed instead of simplified :-)

That's a longer topic. Having worked professionally both with Java (Eclipse, Netbeans, IntelliJ IDEA) and Common Lisp (Emacs + SLIME), I've experienced both sides of the coin. On the one hand, working with a language without a proper REPL and macros is painful to me. On the other hand, I frequently wish it was even possible to have semantic completion and automatic refactoring in Common Lisp, even at 10% of what you get for Java out of the box in an IDE...

Re: How I'm still not using GUIs in 2019: A guide to the terminal

#166

Earlier quoted context omitted.

Just wait for the vim guy who will be like "but muh java plugins make it more efficient then IntelliJ"... I think i am more productive in an IDE, faster. Sure if you have this insane VI/EMACS setup that you have tuned for years. Good for you, you probably are a fucking wiz. My standard right now is a terminal & IDE combo. Working in the cloud era as a data person, you need to be comfortable with terminal & vi/emacs (…

> Compare this to spamming down arrow 30 times and then right arrow 80 times to get to a character in your editor Or uses the mouse to get there. I don’t get that part of vim. Weirdly I do like Vim. The thing is you see something in sublime, you just click on it and you there. You don’t have to solve some vim puzzles to get the cursor on the right spot.

GP isn't talking (just) about jumping between files or function definition. The difference between Vim and regular IDEs is this: in Vim, you notice an arbitrary piece of code on your screen, tap tap, you're there, tap tap, you've transposed it with another piece of code somewhere else in the file, tap tap, you're in another file, tap tap, you're back in the previous file, except it now contains half of the code from that other file, tap tap, now with proper namespacing. All done at the speed of thought - an experienced Vim/Emacs user thinks in semantic steps, not shortcuts. In regular keyboard+mouse approach, you either do operations that perfectly align with automated refactoring capabilities, or just have to click a lot.

Re: How I'm still not using GUIs in 2019: A guide to the terminal

#169

Earlier quoted context omitted.

Visit the Emacs land. Embrace the joke that it's an operating system (truth be told, it's not really a joke). What you'll see is something combining the best features of CLI, TUI and GUI. A 2D canvas with various UI primitives, made of text. There's no separation - like in traditional GUIs - between what's accessible to user and programmer (the contents of editable fields) vs. what's just dumb pixels (everything else…

> There's no separation - like in traditional GUIs - between what's accessible to user and programmer I'm currently poking around Smalltalk, which has both GUI and ability to fully customize everything. >I wish GUIs would learn from that, but I don't think there's any GUI framework attempting this The very first real GUI (in Xerox Alto) did all that and it was developed several years before Emacs.

> The very first real GUI (in Xerox Alto) did all that and it was developed several years before Emacs.

Yup, and it all went to dumpster bin of history after mainstream GUIs and then the Web took off.

Post reply on HN