Where do I start learning?
Fred Hutch offers short courses in R, Python, Git/GitHub, and other programming skills through fredhutch.io; introductory courses are designed specifically for people with no prior coding experience. The Coop hosts regular, informal meetings to talk about coding and reproducible methods. You can learn more about these and other opportunities on the Training, Community and Finding Help page.
What language should I learn first?
A common question researchers have when confronted with learning code is what language they should learn first. At the Hutch, this becomes: Should I learn R or Python?
Computer languages are similar to human languages, so this question is similar to asking, “Should I learn Spanish or Italian?” You’d probably answer that with additional considerations, like whether you’ll be traveling soon to a country where either language is spoken.
Similarly, there are several questions you can ask that help you figure out what programming language to learn first:
- What are other people in your immediate work group using? If you’ll need to use or adapt code from other people, it makes sense to start with the tool they’re using.
- What tools are most commonly used in your field? You may find assistance answering this question by reviewing recently published literature, or through talking with colleagues (on Twitter, at conferences, etc).
- What are your career goals? Are the tools you’re planning to learn going to be useful only for your current position, or will they be meaningful additions to your resume?
- What do you personally prefer? Some people simply prefer working in one language over another, because the syntax (rules about the structure of the language) makes more sense to them.
Our page about Common Programming Languages provides information about some of the common tools used at Fred Hutch to help you answer these questions. For a clear side-by-side comparison of R and Python, this article provides some general considerations from a data science perspective.
It’s important to be deliberate in your choice of first language to learn, because it can be a significant time investment, but it’s not committing you to only using that language in the future. Just like learning human languages, learning one language generally makes it easier to learn another language later.