This page documents tools and practices that we consider "sensible defaults." Our goal is to help novices pick something and get started. If you feel the urge to argue with any of these recommendations, you're probably advanced enough that you don't need them.
Research Computing
Programming language
Use what your friends use. Most practitioners in your discipline have converged on one language and created libraries that deal with their most common use cases (common research computing languages include R, Python, Matlab, and Stata, but your field might use something else).
If you don't have colleagues who program, use Python.
Operating system
If you use discipline-specific software that requires a specific operating system, use that operating system.
Otherwise, use MacOS.
Version control
Spreadsheet program
Databases
If multiple users or processes have to write to the database at the same time, PostgreSQL.
Issue Tracking
If you are using Git for version control, use Github.
Otherwise, use Trello.
Data Management
Data file formats
For tabular data, use comma-separated values (.csv)
For unstructured text data, use plain text (.txt)
For structured text data, use XML (.xml)
Documentation formats
If you are collaborating with programmers, use Markdown (.md)
If you are collaborating with non-programmers, use Word (.docx)
Paper and reference management
Data repositories
If you have sensitve data, use ICPSR
