MicroBinfie Podcast, 91 What language should I learn?
Released on October 13, 2022
Back to episode listThe MicroBinfie Podcast: Top Programming Languages for Bioinformatics
The MicroBinfie podcast features hosts Andrew, Lee, and Nabil discussing the most suitable programming languages for bioinformatics. Here are the key takeaways from their discussion:
Python
- Starting Point: The hosts agree that Python is an excellent starting point due to its consistency and rigor. Its strict syntax makes it ideal for learning programming fundamentals essential in any language.
Perl
- Comparison to Python: Perl allows for multiple ways of doing the same task, which can lead to confusion and difficulty in managing code.
Language Trends
- Trendy Languages: The hosts caution against starting with trendy languages that are frequently changing. Instead, they recommend sticking to established languages like Python, which offer robust libraries and concepts that facilitate learning and advancement.
Databases
- Importance of SQL: Understanding databases is crucial, with SQL being particularly useful for managing large datasets. Despite variations in flavor, SQL maintains consistency and remains relevant. Optimizing queries to execute rapidly requires considerable skill.
Learning Approach
Individual Goals: The language you choose should align with your personal goals and environment. Lee suggests considering the tools used by others in your field and seeking guidance from peers.
Concept Transferability: Once programming concepts are understood, transitioning to other languages becomes easier; it's mostly a matter of mastering syntax.
Hosts' Programming Journeys
- Learning Duration: The hosts discuss their own paths in learning programming languages, emphasizing that expertise is achieved over time. It's important to differentiate between basic comprehension and deeper understanding of a language and its frameworks and libraries.
Related Languages
- SQL and Bash Scripting: These are essential languages to learn.
- JavaScript for Web Development: While popular, the hosts caution not to confuse JavaScript with Java, noting that JavaScript has a reputation for being a peculiar language.
Personal Preferences
Task-Specific Language Choice:
- Nabil prefers Perl for certain tasks.
- Lee suggests R for statistical analysis.
- Andrew finds himself relearning R each time he uses it and opts for Perl for quick scripts.
R Programming: Although R has useful libraries like GGplot and GGtree, its syntax can be challenging, and it offers multiple paradigms for approaching problems.
Conclusion
The hosts conclude that there is no universal approach to learning programming languages. Choices should depend on individual goals, environment, and preferences. Python remains a valuable language to learn, even outside bioinformatics. Additionally, the fundamentals of databases and their operation are essential across various fields.
Episode 91 transcript