Live data from Hacker News

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

news.ycombinator.com

111–120 of 519 posts

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

#111
Lately, using Jupyter notebooks. It's a paradigm change, and pretty close to what I would imagine Donald Knuth had in mind with literate programming. Just for example, being able to see the shape of variables and having that output stay there between coding sessions is a huge time saver. Add being able to plot data and using other visual tools right inside your code and well, I could go on and on. Just try it. It's like a REPL but with memory.

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

#112
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/…

An excellent list. Regarding functional programming, I recommend starting with a gentle approach that doesn't require picking up a new language: 1. Stop creating counters/loops and become facile with map, reduce, and the like. This will shift your thinking away from blocks and toward functions. 2. Take the time to really understand what side effects are, and start avoiding them everywhere they are not necessary. Keep…

> I recommend starting with a gentle approach that doesn't require picking up a new language:

But then you don't get any of the newer stuff.

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

#113
PlantUML[1]: Drawing any diagram helps me to have something concrete as it makes me think of the various components, connections and the invariants. It also gives a bigger picture.

It is also very easy to learn and can be embedded anywhere rendered by Plant UML server or the rendering can be handled by your internal plant UML service.

[1] - https://plantuml.com/

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

#114
I quite like nm + ripgrep. There is a lot I don't understand about the C/Unix world (in fairness it's not all in textbooks) but this was the first step to understanding the "unix command line is my IDE" mindset which I found so odd.

Also fd-find, just plain useful.

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

#115
- Git - quite self-explanatory

- Visual Studio Code - I like more than the paid version (that I have a subscription for)

- SQL Server Management Studio execution plan modes - it is a gem that few people know about and even fewer can utilize it effectively to make 10 second queries run in 30 milliseconds.

- Composer (PHP) as my first encounter with package management, years ago.

- Notepad++ - the only mini-tool available in production

- Virtual machines and snapshots. Never fear again about ruining the work environment and helping a lot with having separate dev/stage/prod environments without breaking the bank. Also a way to split and separate my environments, the laptop is for emails, VM's for everything else.

PS. I am not a programmer, I am officially a manager and mostly an architect, but I write code to keep current

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

#116
post #21

Using multiple programming languages. Using Golang has helped me create better data structures, and using C helped me understand linking, using python helped me understand closures, and using Ruby helped me understand that I hate programming.

Could you expand on the Ruby part? I'm not sure if you hate all programming or programming in anything other than Ruby.

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

#117

The single biggest contributor: vim. Not relying on fancy IDE's with smart autocomplete and all that. You end up learning the internals of a language/library without relying on the IDE to do it for you. It became my weapon of choice around 2009-2010 and now I can't remember the last time I had a syntax error. Browser for documentation and vim is literally all I need.

Just for reference, vim does have built in completion. and in insert mode will complete a word. Also in insert mode are contextual completions (see :h ins-completion for full list, I suggest not using the dictionary because it takes awhile). I have found that contextual completion has changed how I program in vim and it seems to be one of the lesser known features. It is way more powerful if you're using buffers/panes/tabs, which all three have greatly improved my programming as well (in different ways).

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

#118
So much useless information in this thread.

The best way to become a better programmer is to read more code and understand what it does and think about different ways to implement the same feature.

Programming is problem solving at its core. Everything your mentioning is secondary to achieving that goal.

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

#119
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/…

An excellent list. Regarding functional programming, I recommend starting with a gentle approach that doesn't require picking up a new language: 1. Stop creating counters/loops and become facile with map, reduce, and the like. This will shift your thinking away from blocks and toward functions. 2. Take the time to really understand what side effects are, and start avoiding them everywhere they are not necessary. Keep…

Functional programming has been a game changer for me as well and has enabled me to write larger and more complex programs that are easy to maintain and reason around. I highly recommend cytoolz for python
Post reply on HN