Live data from Hacker News

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

news.ycombinator.com

341–350 of 519 posts

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

#344
In no specific order or magnitude.

1. After or during a tutorial to make a silly easy project to perform synthesis after I learn how to do something. Or using a tutorial and then basing my idea off of that.

2. Understanding when and how to do incremental changes.

3. Understanding the reason of source control and learning a git, subversion and CVS.

4. Learning Python.

6. Learning lisp

7. Emacs and org-mode

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

#345
* Zsh + Grep + Awk + Vim : Essentially 90% of my daily driving around my PC at work.

* ZimWiki : Have a notebook VCS'd in my home directory sync'd across my PC's. Amazingly easy way to take notes and keep track of work.

* Jetbrains CLion, Pycharm, IntelliJ : The best cross platform IDE. Bar none

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

#346
post #287

A couple of tools so far not mentioned, that have been hugely beneficial to me: 1. Copernic Desktop Search pre version 3 . The version I use is over ten years old and still looks and works better than any other desktop search product I've ever used. Instant results when searching your file and network system, presented in a format appropriate view. Please note that the version is important here, it went from being a…

Took me awhile, but (here it is) [ https://copernic-desktop-search.software.informer.com/downlo... ].

I assume they are the same ones as available through the website?

https://www.copernic.com/en/products/desktop-search/previous...

Unfortunately, from version 3 the free version was severely restricted and I assume it has been chipped away at ever since.

eg. https://pinkeyegraphics.co.uk/copernic-desktop-search-3-a-na...

I'm still on 2.x, it's brilliant though.

There are still legit copies floating about somewhere I'm assuming; it was a free product, it's just no longer available from them.

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

#347
post #26

The Jetbrains suite. Lightens the cognitive load, makes it easier to refactor and keep code tidy. All of which allow me build better software. For almost everything else e.g. git, learning how to use the command line instead of a UI is the best way for me to learn how the tooling works.

Came here to say the same. It seems to be the most intelligent IDE I have used so far in that it can understand what you are trying to achieve (well, most of the times) and help you write better code. I learnt a lot in Python just by following IDEA's code reviews and trying to understand the rationale behind each suggestion. And it really shines when you are developing in a JVM language like Java or Scala.

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

#348
post #22

- GNU/Linux + i3wm; complete control over my programming environment. - bash + GNU coreutils; seriously, take the time to be able to write helpful bash scripts which can run basically anywhere. - git; use it even when you're not pushing to a remote. Add helpful aliases for everyday commands. Build a good mental model of commits and branches to help you through tough merges. ( my ~/.gitconfig: https://gist.github.com/…

I upvoted the parent and want to emphasize vim key bindings. This is not necessarily vim the editor, it's your editor of choice in vim mode. Learning to use vim is like learning to touch type: it's initially a pain, but it's hard to ever go back once you've mastered the basics. If you haven't learned to touch type (it happens, I didn't learn until I was 22), then first learn that, then learn vim. FYI: Remap your caps…

One other method to quickly exit insert mode if you can't remap keys is ^C. I did not know this even though I used gvim on Windows computers not under my control for years.

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

#349
That's a good question, I'm curious what comes to mind, tools that have helped me as a programmer..

- Git CLI as well as GUI - The latter for me is as essential as knowing (enough of) the commands and options

- grep and find

- TypeScript

- VS Code - Language server integration like type checking as I edit, and go to definition; syntax highlight with personal color scheme - I feel so cozy writing code, the colors enhance understanding, and the aesthetics of it definitely shapes the result to be small and beautiful; remote edit over SSH; keyboard shortcut to apply prettier formatting

- Linux real and virtual machines as "commodity" computing resource, available on (or from) anywhere

- GitHub - It could have been anything else, but having a social platform with an ocean of open-source code to study, discuss, contribute.

- Keeping notes in Markdown, as a kind of personal knowledge database

- Curated collection of libraries for common needs, written from scratch, forked, or as dependencies

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

#350
post #217
post #5

- Version control - Unit testing - Leak detectors (for languages like C/C++) - Race detectors - Auto-formatting (eslint, gofmt) - A solid editor (prev: vim, now: vscode) - One-step deployment scripts/automation (even for small projects) I have not found a lot of value in debuggers, outside of after-the-fact debugging (e.g., core files.) I much prefer printf-style debugging.

Would you go into details about the one step deployment?

I usually have a shell script called 'deploy.sh' that does a bunch of git, test, deploy stuff. So part of my development workflow is calling "deploy dev", "deploy staging", and/or "deploy prod" to push any changes to the dev/staging/prod environments.

The script makes sure changes are tagged, committed, and pushed, tests pass, builds and pushes container images, static files, and then rolls out binaries. The rollouts depend on the infrastructure -- it could be something like scp + kill/restart, or a kubectl command, or "gcloud run deploy", etc.

One-step deployments vastly improve the quality of the service because I can test things in real environments quickly, push out patches and bug fixes quickly, keep updates small and bounded, and bonus, I can come back to a codebase months later and not have to re-learn how to roll something out.

Post reply on HN