Live data from Hacker News

Ask HN: Which tools have made you a much better programmer?

news.ycombinator.com

331–340 of 519 posts

Re: Ask HN: Which tools have made you a much better programmer?

#331

Reading official documentation when working with new tools/frameworks. Googling every hurdle as it comes & over relying on StackOverflow is neither effective nor satisfying. Some of the projects out there have amazing documentation (e.g. VueJS, Kafka). It's best to read the overview & skim high level stuff to understand the core components/principles/terminologies. It makes it so much easier & enjoyable to use those…

Why isn't this higher?

Give everything a good read before really working. You don't need to remember everything, but you need to know what's there so you don't wind up reinventing wheels, endlessly googling with the wrong search terms, or doing things people who use the tool correctly find inscrutable. It's so important.

I will note that this is much easier to do well when you're a more experienced engineer than it is when you're just starting out, but getting used to doing it and going back over docs when you do have more experience is the best way to get used to it.

Re: Ask HN: Which tools have made you a much better programmer?

#332

TabNine: https://www.tabnine.com/blog/deep (the code are GIFs which I had to click to play) This thing is fucking magic. It's ML autocomplete, with help from 'traditional' autocomplete methods that use static analysis. Instead of just completing one token at a time like traditional completers, it can do entire sentences or multiple lines of code in one go, and is freakishly accurate. And since it parses language it h…

I love TabNine but had to stop using it because each instance can use 3GB of memory... Way too much for an autocomplete extension

https://github.com/codota/TabNine/issues/43

Re: Ask HN: Which tools have made you a much better programmer?

#334
Going to the source!

Using a framework or library? You'll get so much better so much faster if you look at what the authors have done.

It's often (I find) easier than looking at random open source projects since you're working closely with the tool anyway. It will help you debug or prevent weird things, teach you techniques you didn't know, and give you a sense for what to strive for.

Re: Ask HN: Which tools have made you a much better programmer?

#335
My biggest improvement came from eliminating a tool. It was when I stopped using debuggers (except maybe once a year) and invested more time in creating efficient runtime error checks and internal self-tests. Debuggers make me lazy. I find I can solve the vast majority of my bugs more quickly with a little thought rather than running to a breakpoint and examining things.

Most useful tools:

- tmux

- vim

- catch (https://github.com/catchorg/Catch2)

Re: Ask HN: Which tools have made you a much better programmer?

#336

Earlier quoted context omitted.

Probably Sublime text. It's just too fast and I can't switch to anything else. I open heavier ones like Eclipse, VS Code etc. only when I need to refactor.

I notice the same thing, and I enjoy IntelliJ / Sublime / Vim. IntelliJ often feels sluggish. Maybe this could help: https://blog.jetbrains.com/idea/2015/08/experimental-zero-la... Here was a 3rd party analysis from 2015, showing a reduction in latency when editing XML files in IntelliJ IDEA from ~70ms with large jitter to 1.7ms with small jitter: https://pavelfatin.com/typing-with-pleasure/#summary I wonder if it's…

Seems like the IntelliJ zero latency typing is on by default since ~2017 releases.

https://blog.jetbrains.com/idea/2016/12/intellij-idea-2017-1...

https://blog.jetbrains.com/clion/2017/01/clion-starts-2017-1...

Re: Ask HN: Which tools have made you a much better programmer?

#337
I prefer to internalise useful ways of thinking rather than leaning too much on tools, on the grounds that the latter are easy-come-easy-go while the former can last a lifetime.

Learn to explain what you're building, why, and more-or-less how it works in a context appropriate to the listener.

(Related: write things down. Again and again, differently, until you understand them.)

Problems and their solutions usually have similar structures.

Any fix right now might save a lot of money. The right fix next week could save years. Often both are appropriate, but the latter is nearly always most valuable.

The world does not change nearly as fast as your competitors want everyone to believe it does, but people's beliefs can.

A tool which warns you of possible mistakes before consequences occur is always more valuable than a tool which tries to guess what you meant and does that instead.

Re: Ask HN: Which tools have made you a much better programmer?

#338

Earlier quoted context omitted.

I can echo this! This is exactly how I feel too - the muscle memory around workspace management and the scratch windows (floating windows that you can toggle in/out of visibility based on a single keystroke) are the real boosters for me rather than splits. Splits are useful but the most common use I've seen myself do is to have a browser and a terminal / editor in splits.

> T he scratch windows (floating windows that you can toggle in/out of visibility based on a single keystroke Us the toggle an i3 concept? I’m interested in it, can you give me the function name so I can look up doco? :)

Not GP but I think it's `scratchpad toggle` - scratchpad is the keyword to lookup anyway.

Re: Ask HN: Which tools have made you a much better programmer?

#339
Experimenting.

Tools that make it easier to do experiments are good, I tend to think too much and read too much but the only way to get better at programming is to put your ideas to the test and implement them (starting with simplified versions, i.e. experiments).

Modelling is something I want to get into, alloy and tla+ look like great ways to sketch out higher level ideas.

Re: Ask HN: Which tools have made you a much better programmer?

#340

Earlier quoted context omitted.

I'm always puzzled how often the wheel gets re-invented ... https://git-scm.com/docs/git-config#Documentation/git-config...

This is only for git commands though? `diff` and `grep` are their own thing.

Not when they're git subcommands, or misspelt git aliases as above.
Post reply on HN