hansontechsolutions.com

Choosing the Right Programming Language: A Personal Journey

Written on

Chapter 1: Understanding the Challenge of Language Selection

Why is it so challenging to select a new programming language or tech stack? Surprisingly, it’s not due to a lack of choices; rather, the issue lies in the overwhelming number of options available. So, how should one go about making this decision?

Over the years, I've never chosen a stack solely based on its popularity. Just because a technology is trending on platforms like StackOverflow doesn't necessarily mean it correlates with job opportunities.

My primary programming language is Java, but I’ve also developed a web portal using AngularJS and dabbled in C++ for an IoT project, albeit on a smaller scale. I comfortably regard Java as my main language.

Recently, I contemplated learning Kotlin, but I hesitated for two main reasons. Unless I intended to focus on mobile app development, Kotlin and Java offer similar advantages for backend programming. Additionally, acquiring a new programming language requires significant time investment, so I wanted to ensure my choice was sound.

Whenever uncertainty arises, I tend to seek advice on Twitter.

After weighing the advantages and disadvantages of various languages, I realized that Java is evolving swiftly; the latest versions have incorporated features that were once exclusive to Kotlin. Consequently, learning another similar language seemed redundant.

At that point, I decided against Kotlin.

I found Scala intriguing because it embodies both functional and object-oriented paradigms. While I initially struggled with the transition to lambdas introduced in Java 8, I eventually enjoyed working with them. However, I soon discovered that Scala lacks backward compatibility. For those who have experience with Scala, I’d love to hear your thoughts on this.

Java developers typically can use older versions alongside newer ones, but Scala’s incompatibility raises concerns about its adaptability. This made me reconsider.

Back to square one.

This is where I decided to utilize a framework. Am I studying a new language just for the sake of it? No. I need to clarify my goals: I aim to create different types of applications than those I’ve previously developed. My experience has largely been in backend applications and API development, so venturing into new territories like Data Science, AI/ML, Frontend Web, or Mobile Applications was appealing.

Python is a popular choice for the first two, but there are also robust Java libraries available for everyday tasks like NLP. I've always confined myself to backend development due to my apprehension about frontend work. This fear serves as a valid reason to explore Mobile or Frontend development.

  1. Do I know a language that will secure well-paying projects in the foreseeable future? Yes.

Thus, the new language isn't necessarily a requirement for remaining relevant in the job market.

  1. If I were to devise a billion-dollar idea, could I execute it with my current skills? No. I would need to hire someone to manage the frontend.

Based on these four inquiries, I chose to learn TypeScript. While I’m still uncertain about which framework to adopt, I’ve enrolled in a TypeScript tutorial for now.

I hope the framework I’ve shared assists you in selecting your next programming language or stack.

Feel free to share in the comments how you approach similar decisions.

Are you keen on staying updated with tech trends? Interested in generating passive income from your existing skills? If so, consider subscribing to my Weekly Free Newsletter for Techies!

Chapter 2: Video Insights on Language Learning and Selection

To further enhance your understanding, check out these insightful videos:

The first video is titled Why You're Struggling to Learn a Language. This video explores common hurdles faced by learners and offers strategies to overcome them.

The second video, How to Choose a Language to Learn | Polyglot Advice, provides valuable tips on selecting a new language based on personal goals and market demand.

Share the page:

Twitter Facebook Reddit LinkIn

-----------------------

Recent Post:

Crafting Your Personal Mission Statement for Life After Recovery

A practical guide to creating a personal mission statement for a fulfilling life after recovery, focusing on purpose and self-discovery.

Understanding the Unusual Nature of Classical Mechanics

Explore the peculiarities of Newton's laws through engaging examples and insights on momentum conservation.

Achieving Goals: 7 Steps to Cultivate Iron Discipline

Discover seven effective steps to enhance self-discipline and achieve your goals, drawn from marathon training insights.

Embracing Aging: Rejecting the Stereotypes of Growing Older

Explore the concept of aging and reject societal stereotypes that define identity based on age.

Key Insights from Racing: Business Lessons Learned on Track

Explore essential business lessons derived from racing experiences, emphasizing momentum, purpose, and strategic planning.

Exploring the Link Between Social Anxiety and Attention Disorders

An in-depth look at the relationship between Social Anxiety Disorder and Attention Deficit Hyperactivity Disorder (ADHD).

Transform Your Home Tablet into a Free Phone with Google Voice!

Discover how to convert your tablet into a free home phone using Google Voice, saving you money on monthly bills.

Unlocking Our Innate Talents and Skills for Personal Growth

Explore how recognizing our unique gifts can transform our lives and careers.