#100DaysOfCode Day 13: What should I learn next?

Day 13: What should I learn next?
This week we wrapped up our first project of Mod3. I loved creating my first project with React. It makes my job as a developer a whole lot easier using React rather than plain, vanilla Javascript. For the next two projects in Mod 3, I’ll be getting even more practice with React.
In Mod 4 we are grouped up with the backend cohorts to create a final capstone project. Even though it’s still 4 weeks away I am thinking about what other language I want to pick up to make my skill set more versatile. Today I want to reflect on the pros and cons of the top 3 languages I am thinking of picking up.
1. Typescript
Pros
- Heavily influenced by Javascript. It has a syntax that is very similar to Javascript, so it would be easier for me to pick up. Rather than being a loosely written language like JS, Typescript is a strictly written language. This means when we declare a variable as a certain data type, like a number or string, it has to stay that data type throughout the entire application. Honestly, I am so new to programming I am not sure why you would ever want to manipulate your data type in that way, so I really don’t understand the scope of why this is important. But I can see bugs how bugs can be created in the creation of an app if you are not checking these data types.
- Relatively new. Typescript first appeared in 2012 and it is gaining popularity. So I don’t need to worry about this skill becoming obsolete anytime soon.
Cons
- Some argue it’s not a true strict or statically typed languages like C++ or Java. So if I feel it’s important to hone that skill in Mod4, this might not be the best route to take.
- It’s very similar to Javascript. Maybe too similar? It may be wiser to try to move outside my comfort zone into a new language with a different syntax. I could even try to move away from Object-oriented language to a functional language. From what I understand, object-oriented languages were influenced by earlier functional languages. It might be a good idea to challenge myself to code within a whole new paradigm. But is it really necessary? I’m not sure.
2. Python
Pros
- It is one of the most widely used languages. According to this website (https://www.tiobe.com/tiobe-index/), it is in the top three and growing fast.
- It is used widely in AI and machine learning, which I am fairly interested in. If I want to pursue those fields later down the road, this would be the language to work with.
- Fairly easy to pick up compared to something like C++
Cons
- Not the best for mobile applications. I think having the ability to code for mobile applications will be a huge skill set for a junior dev. Python doesn’t do a great job for this. Then again, I am not sure how well C++ or TS work with mobile either. This is something I’ll need to explore more.
- It is used primarily for backend applications. So far I am reading there is very little you can do on the client-side with Python. I’ll need to think if I want to widen my scope to get better at the backend or double down at specializing in the front end.
3. C++
Pros
- It’s used a lot. I have to give credit to video games, at least a little bit, to my move into being a web developer. At one point I thought about being a game developer. When I used to check job listings for game devs, I saw that C++ was the one language you needed to know if you wanted to design games. This brings me to my second point…
- It’s the language for performance. It’s a lower-level language, so if I want to know how to code for performance, C++ will force me to learn memory management on an intimate level.
- I have a little history with C++. When I was a CS major in college for a semester, I had a couple of projects with C++. I remember them being hard. That is all.
Cons
- It is HARD. I believe I need a deeper understanding of trig and/or calc to have a better understanding of how to type a low-level language like this. I don’t think that is the path I am on at this point.
- Not really a top skill front-end devs need to master. It’s a little too outside the scope of what I want my first gig to entail. It might be something worth picking up later in my career.
At the moment I feel like Python and Typescript are my best options. I’m going to do a bit more research before I make my final decision.