Skip to content Skip to navigation

Recommended Tools

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

Git

Spreadsheet program

Excel

Databases

SQLite

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

Zotero

Data repositories

Dryad

If you have sensitve data, use ICPSR