Live data from Hacker News

GNU nano is my editor of choice

ariadne.space

211–220 of 236 posts

Re: GNU nano is my editor of choice

#211
post #37
post #6

The thesis of this post is roughly that nano, when configured, is enough of an editor for the author. Which is totally fine! People should be happy with their tools and not feel pressured by popularity to use what others use (vim, emacs being prime competitors in this case). Alas, nano (and pico before it) have a certain stigma among more "experienced" Unix users that more or less boils down to gatekeeping and snobbe…

The thing about that “snobbery and gate keeping” is that it’s not at all that. Maybe not everyone’s experience mimics mine but I felt like people looked down at me a bit when I was 16 for using nano on the command line. But, and here’s the kicker, if I hadnt been pushed into vim I would not be nearly as productive now. There have been countless times in my career as a sysadmin/devops/SRE where I’ve been stuck with ho…

You know? One could also use mcedit, the editor built into midnight commander, via its integrated remote-fs ability.

Personally I look with pity at people who invest in cargo-culting the idiosyncrasies of systems from ancient times which simply don't apply anymore.

[0] https://en.wikipedia.org/wiki/Midnight_Commander

[1] https://man.archlinux.org/man/mcedit.1

Re: GNU nano is my editor of choice

#213

Earlier quoted context omitted.

To me, programming is a mental task that requires overview and easy text manipulation. Most IDEs get in the way of me effectively navigating the code as it was originally organized, while still maintaing my overview. "Big" IDEs that clearly sacrifice text area for widgets, or shift text around to pop up distracting inline "help" are the worst offenders. I'm looking at you, Visual Studio. Common IDE tools like ho-to-d…

I get the sentiment that having features like "go to definition/implementation" can encourage poor code structure, but that is still ultimately a self-discipline issue more than a UI issue. There are tools for enforcing good code structure that work with many of these fancy IDEs (Visual Studio included). Just hitting F12 over an identifier to go to it's declaration will always be faster than manually navigating to it…

> Just hitting F12 over an identifier to go to it's declaration will always be faster

Nope - even if you need only one hit, you are now mildly disoriented and need to re-establish mental context in order to correctly interpret what you are reading[0]. Often, you need multiple hits to reach what you needed, in which case you are completely lost outside the single method body you're starting at.

This cost is hidden, and not there during active navigation.

Granted, the action is fast, but I have yet to see it make a productivity improvement.

---

0: an exception would be when you only needed a single methods implementation details, and it's nothing but primitive code that makes use of nothing else and requires no context. In this special case, being disoriented is inconsequential. However, you are usually looking for more than just what F12 throws at you.

Re: GNU nano is my editor of choice

#214
post #37

Earlier quoted context omitted.

The thing about that “snobbery and gate keeping” is that it’s not at all that. Maybe not everyone’s experience mimics mine but I felt like people looked down at me a bit when I was 16 for using nano on the command line. But, and here’s the kicker, if I hadnt been pushed into vim I would not be nearly as productive now. There have been countless times in my career as a sysadmin/devops/SRE where I’ve been stuck with ho…

You know? One could also use mcedit, the editor built into midnight commander, via its integrated remote-fs ability. Personally I look with pity at people who invest in cargo-culting the idiosyncrasies of systems from ancient times which simply don't apply anymore. [0] https://en.wikipedia.org/wiki/Midnight_Commander [1] https://man.archlinux.org/man/mcedit.1

Requires learning midnight commander and how to connect it to remote hosts.

But the correct answer is ansible or it’s ilk- not being told that managing things one by one is “fine”.

Or like in nano, relegating oneself to managing files character by character.

Re: GNU nano is my editor of choice

#215

Earlier quoted context omitted.

To me, programming is a mental task that requires overview and easy text manipulation. Most IDEs get in the way of me effectively navigating the code as it was originally organized, while still maintaing my overview. "Big" IDEs that clearly sacrifice text area for widgets, or shift text around to pop up distracting inline "help" are the worst offenders. I'm looking at you, Visual Studio. Common IDE tools like ho-to-d…

> I always get frustrated by how slow go-to-definition users are compared to those that just... Open the file in the tree that would logically contain that part. Maybe you're not frustrated with go-to-definition users so much as people who are inexperienced with their tool. I'm having a hard time imagining navigating a file tree being faster than control clicking on a function call or opening "find anywhere" and typi…

I am only commenting on senior developer usage.

The important aspect to consider is that F12 does not usually answer your immediate question, but just dumps you somewhere closer to what you are looking for in a disoriented state. You now need to figure out what that place is and start looking for the actual thing you needed there.

When I click twice in my sidebar to open a folder and file, I am already fully aware of what is going to show up - e.g. "implementation XYZ of interface ABC".

There are some cases where F12 is faster - specifically when you needed to just read a few primitive lines of the method body you opened, which requires no additional context. That's rarely the case though.

Re: GNU nano is my editor of choice

#216

Earlier quoted context omitted.

> Alas, nano (and pico before it) have a certain stigma among more "experienced" Unix users that more or less boils down to gatekeeping and snobbery. You know, after a number of years in the industry, I've largely stopped caring about what others think and wouldn't lose my sleep over it - the best tools are the ones that you're familiar with and that solve your problems. For me, that's using nano, for someone else th…

Well, I'd put some limits on this. If a coworker cobbled together something that still let them program by punch card then I'd 1) probably be frustrated with their level of output and 2) impressed at the setup. 3) asking for their extra set of eyes on my own code because if they had the patience for punch cards they would probably be better than me at catching errors.

As funny as the mental image is, that's a fair point. Clearly pick whatever suits the needs of the team, if you're developing something together with others.

But just in general, don't scoff at technologies just because they're not currently popular: there are a few problems out there that can be fixed really nicely within something like Prolog, Lisp or another seemingly dated language. Admittedly, nowadays there's perhaps too much focus towards using walled gardens, as opposed to piping some data through a few Bash scripts or maybe embedding Lua in a larger executable for some more dynamic functionality.

Of course, those are just some overly general examples, but getting discouraged from a good solution just due to peer pressure isn't exactly optimal. Having technologies that don't have good documentation due to never having been popular in the first place, or that are difficult to run or utilize nowadays, however, is a different story entirely.

Where punch cards would fit into all of that, however, i'm not sure as of yet. :)

Re: GNU nano is my editor of choice

#217
post #182

So I have a question and I'd like to understand if possible. To me programming isn't text editing. Granted, we use text to write most code outside of say Pike but effectively most programming is working with symbols right? Like .subst is meaningless as an operation on a string but .substring(0, 1) is meaningful. So I don't really get the advantage of such, to my mind, rudimentary text editors. At a minimum surely bei…

>>To me programming isn't text editing. >>I can see that there's not much difference between an ide and editor for new languages but why do people prefer text editing and prioritize typing speed where IDEs exist? Does an editor create a sort of flow or deeper state since lack of tooling requires deeper mental context? Simple. Programs should themselves be programmed(Generated). Anything that has a structure should be…

> Simple. Programs should themselves be programmed(Generated). Anything that has a structure should be generated, never written. This is the idea behind compilers/assemblers. And if you extend that idea, that's true for some thing like Python too.

If the code -- I assume that's what you mean by program -- is generated, the code is not the true source of the program. The true code should be the code that describe or instruct (I prefer describe) how the program is generated. If you do think your code is being generated, yet you are still reading and editing that generated stuff, that's just inefficient or wrong, right?

Treating the code as being generated results in a attitude of not caring about the quality of the code and yet not seeking better alternatives.

Re: GNU nano is my editor of choice

#218

Earlier quoted context omitted.

To me, programming is a mental task that requires overview and easy text manipulation. Most IDEs get in the way of me effectively navigating the code as it was originally organized, while still maintaing my overview. "Big" IDEs that clearly sacrifice text area for widgets, or shift text around to pop up distracting inline "help" are the worst offenders. I'm looking at you, Visual Studio. Common IDE tools like ho-to-d…

Thanks for your answer, out of interest what languages are you primarily working with and what sort of team and codebase size? It sounds like being forced to consider navigability would offset the tendency for codebase 'melt' in larger IDE assisted projects. Also one area I lean heavily on an IDE is I can switch codebases up to 4 times in a day between JS and Java, so I'm not going to remember structure most of the t…

Through a standard work week I code in Go, C, C++, JS (React), Java and Groovy. Odd jobs add Rust, C#, Kotlin (Android) and Swift (iOS).

There are several backend-heavy Go services, React web applications, kernel and user-space driver work, browser work, Jenkins plugins and pipelines, Gradle plugins. It's very varied based on the specific customer we develop for.

Privately I mostly code C and Rust for open source stuff. Not that I mind Go, but I only find it to be the proper tool for network services, not local code.

When you swap around this much, bad code structure goes from something you write on a tech debt ticket and brute force your way around to being absolute top priority, blocking any review immediately.

Of course, memory enhances navigation speed, but the thing is that a painfully obvious structure requires no real memory of it to understand.

Likewise, maybe one can cope with switching between 2 IDEs, but it doesn't scale.

VSCode is decent, but it's still slow and clunky in my opinion. I'm more of a neovim and sublime text type for speed. An open sourced sublime text thing would be awesome in my opinion.

(The sheer number of projects I work with is an outlier due to our company structure, but I believe the experience is universal)

Re: GNU nano is my editor of choice

#219

> The vim vs emacs flame war I doubt that there is any ongoing vim vs. emacs flamewar. Most people are probably arguing about VSCode vs. JetBrains these days. My impression as an Emacs user is that if someone says they use Vim, I think "hey, one of us". (nano I guess falls into that category, but I bet nano users are missing out on some timesaving innovations from the last few years, and nothing frustrates me more th…

100%. If I understand correctly. to change a single line (say some behaviour that is wrong for your workflow) of a VSCode plugin you have to fork it on Github.

In Emacs it would probably be a short snippet, tested in your scratch buffer and added to the end of your init.el:

    (add-hook 'vscode-todoist-xxx-hook ...)
This is what I miss the most about Emacs - what I don't miss is the endless configuration/tweaking...

Re: GNU nano is my editor of choice

#220
post #210

> The vim vs emacs flame war I doubt that there is any ongoing vim vs. emacs flamewar. Most people are probably arguing about VSCode vs. JetBrains these days. My impression as an Emacs user is that if someone says they use Vim, I think "hey, one of us". (nano I guess falls into that category, but I bet nano users are missing out on some timesaving innovations from the last few years, and nothing frustrates me more th…

Oooh, let me start one then! https://imgur.com/a/VjrUjBI

Circa 2006, all the Emacs users realized it has perfectly good documentation built-in, so they didn't have to search for it anymore /s
Post reply on HN