- grep (now using ripgrep)
- code navigation
- rust
- functional programming (scheme, Erlang, Haskell, Elixir, etc; structure and interpretation of computer programs).
361–370 of 519 posts
- grep (now using ripgrep)
- code navigation
- rust
- functional programming (scheme, Erlang, Haskell, Elixir, etc; structure and interpretation of computer programs).
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.
Writing the overall design in plain English before writing the implementation. Not super detailed, but the main data structures and invariants and mechanisms that will make the implementation working. Then start the implementation refining such document as I discover new things.
I'm trying to be better at this. Any examples/recommendations you could share?
I start with what I am trying to achieve and list the different design approaches I can think of, adding advantages and disadvantages of each one as they come to mind. By the time I’ve written down all my thoughts on a design decision, it is often clear to me which approach I favor.
This can be repeated for more and more detailed aspects of the implementation (e.g. “which function should this be added to” or “what to name this function/struct/variable”) until I feel like I can come up with the remaining details as I’m writing the code. If I get stuck somewhere later on, I can always go back and add more details in the text document.
For larger or more important features, this list can be cleaned up and become documentation or perhaps a comment somewhere, but I often find that the writing is a useful tool to get unstuck and to clarify my thoughts even if I end up never reading it again.
Earlier quoted context omitted.
For a very long time I didn't use anything besides just plain vim, 2 biggest things to add to your vim use is undodir and YouCompleteMe. Crazy that I didn't have either of these for so long, undodir I wish was part of the default.
I switched from vim (with YouCompleteMe) to VSCode about 4 years ago and I've recently discovered the intellisense engine for VSCode is now available as a vim plugin: https://github.com/neoclide/coc.nvim .
I've been toting around the same .vimrc for like 6 or 7 years and there are so many better plugins now.
Vim has been probably the most profitable tool I've ever picked up. Or maybe git. But I think Vim.
Earlier quoted context omitted.
Isn't beaucoup French?
yes, and as Army slang, it made it into American English through Vietnamese
There was no IDE, auto-complete, visual debugger etc. You really had to think before you typed any code. Even fixing compilation error was a pain - you had to note down the line number and the error, go back and open vim, fix the error, exit vim, re-compile and rinse and repeat. Taught me the paradigm of thinking hard about the problem before starting to code and I think that has helped a lot.
This was still better than the punch-card days I have heard but I personally never had the experience.