Development Environment
Setting up a predictable development environment.
Integrated Development Environment (IDE)
An IDE provides the following features:
- Autocompletion
- Automatically formats code
- Checks if code is syntactically correct
-
Warnings about styles and types
-
VS Code : Recommended
- PyCharm : Plug and play
- Neovim : Configurable, complicated
- 'distributions' : nvchad, astrovim, lazyvim
Be sure to install the appropriate plugins for python/R language support.
Windows vs Mac vs Linux
NOTE: Windows users: Please install windows subsystem for linux (WSL)
Differences in operating system affect the tools available on each.
Linux and Mac have a lot in common, as both originated from Unix. Windows however is quite different.
| - | Linux | Mac | Windows |
|---|---|---|---|
| Security | root user (sudo) |
root user (sudo) |
Admin privileges (Run as administrator) |
| Paths | /usr/home/john/... |
/Users/john/... |
C:\... |
| Console | terminal (bash/fish) |
terminal (bash) |
powershell |
| Package manager | apt (debian) |
brew |
. |
| Configuration | Environment variables | Environment variables | Registry |
Upon installing WSL, the table looks like this:
| - | Linux | Mac | Windows |
|---|---|---|---|
| Security | root user (sudo) |
root user (sudo) |
root user (sudo) |
| Paths | /usr/home/john/... |
/Users/john/... |
/usr/home/john/... |
| Console | terminal (bash/fish) |
terminal (bash/fish) |
terminal (bash/fish) |
| Package manager | apt (debian) |
brew |
scoop |
| Configuration | Environment variables | Environment variables | Environment variables |
Thus, it is highly recommended that WSL be used, as this allows use of standardized scripts.
For a deeper look, the typical architecture of a laptop/desktop computer is:

TODO