How many language should you learn?

So, let’s open the discussions here. There is so many language out there and even new language is being developed by big name such Google and Facebook like Angular and React. But there must be a limitation on how many you can remember every language like you can understanding with some language you know. Like me, I natively from Indonesia which fluently on English and trying to adding new language such Japan. But Human capacity is had a limited, while many people wanna flexible like what happen right now with this pandemic.

So, How many language barely minimal to be a developer, whether it’s a Game Developer or just Full-stack Web Developer?

2 Likes

Hello! Once you learn one language (say Python), the rest become very similar, so you can really learn a lot of languages once you’ve learnt one language, the rest of the languages which are same type (functional, etc) become quite easy to learn. To become a full stack developer, you’d probably (at least) need HTML, CSS, JS-react etc, PHP (for the backend), and SQL (for database querying). A game developer would probably need similar languages, albeit you wouldn’t need JS-you could choose most programming language for that (although some are definitely better than others).

4 Likes

I’m trying to open discussion. I want to know about people opinion since there is so much new language and technique to do something. such new framework Flareact where helping to make dynamic site to be static at edge, Gatsby and Netlify to build static site. etc.

But, that answer maybe useful for other people who join this thread to know what they need and the similarity. Thanks

1 Like

This doesn’t seem to be what you want to hear, but…

There is no physical limitation to what you can learn, you are only limited by your attitude. Plenty of people speak 7 different languages fluently, it all depends on your attitude and what your goals are.

Software-wise, there is also no limitation either. These are languages I know:

C++
Assembly
Ladder
C#
JAVA
Javascript
Typescript
Python
Ruby
SQL

These are frameworks that I know:

Selenium
Angular
Node
Kubernetes

The keyword here is know, which is different than mastered. Knowing something means you can read it and understand it, make changes to it. Mastering something is entirely different, you can master different languages it just takes a lot more time.

I’m not telling you this to brag about what I know, I’m telling you this because I say it on a lof of posts: You never stop learning, you need to be adaptable. A new language or framework is not created to screw with people, it’s created because it serves a specific purpose and it’s useful. As a software developer, you need to be able to adapt to the trends otherwise you’re going to be stuck professionally.

To answer your question directly: How many languages should you learn?

As many as you can.

If you ever feel that you already learned what you need while being in this profession, I’m sorry to say that your career is over. I’ve been in this field for close to 13 years and I constantly feel I don’t know enough. I’m always looking to learn something new, it is what has allowed me to be in the position that I am today. 6 years ago I left a wonderful job because I felt I was stuck, I didn’t have any opportunities to move up. All that changed when I quit that job and was forced to learn something new, 6 years later I hold the position of the person who didn’t know what to offer me in order to keep me as an employee.

Learning a new language will always give you a new opportunity, there is no denying that. How many opportunities you want to go after, is entirely up to you.

8 Likes

Disclaimer: highly subjective answer:

I think it’s a bit of a false analogy to compare regular languages to programming languages. As @codeneutrino said, learning one can unlock many others (for example, I can convert my python programs into swift even though I’ve never studied it a single day, I just need to take a quick look at documentation here and there).

In terms of how many languages I’d say it depends on the type of programmer you want to be. I do think at least 1 object-oriented and 1 functional is a good start. Low level stuff like assembly could be good (but that’s again, very dependent on what type of programmer you want to be). Some base proficiency in SQL…

Imo it’s good to have a high proficiency in 1 where you can completely digest and experiments with new concepts. Then contextually be proficient at the ones that are related to the things you want to do. And finally, be adaptable to be able to think in different paradigms (like functional, or if you’re coming from functional – oop).

Here’s Stroustrup talking about this topic

5 Likes

Yeah, I wasn’t trying to compare linguistics with programming, my point was more about your attitude towards learning something. If you truly want to learn something, the only thing stopping you is your attitude.

I learned Assembly and Ladder in college because I needed to pass the course, haven’t used it since (16 years… ■■■■). Everything else I’ve learned because I need to do something at work, I learned what I needed and I moved on. My background is in QA, I haven’t had the need to master something, proficiency is enough.

Oh no my comment wasn’t aimed at you @peachesmotorsports! Your reply was spot on. And I think exemplified that context really matters (hence why everyone says, it depends what you want to do).

It was just that the OP expressed an existential question of how feasible it was to learn multiple languages comparing it to real-life languages. I studied 2 very serious years of mandarin a decade ago and I still can’t hold a normal conversation. I slacked through 2 years of java in high school (still aced the AP) and I can still fake my way through it when I need to use it. So that’s why I made the distinction.

And here I thought everything was about me… guess I’m crawling back in my cave

1 Like

:rofl: :rofl: :rofl: :rofl: :rofl: :rofl: :rofl:

I tried typing only that and i get a message “Body seems unclear, is it a complete sentence?”
I say yes.

I started Java and found it difficult for silly reasons. not worth mentioning. I have since started HTML and had a lot more success. thank you for that

1 Like

At least 3: Javascript, Python, C++.
But you must know English at a good level.

(post deleted by author)

I am learning HTML, CSS, and Javascript and trying to complete as many projects as possible. As I am over 56 already, I don’t expect that I can get a developer job, but I will do freelancing. For that, I think I should not be that language-focused. Instead, I will try to learn how to solve problems. I hope I can work as a freelancer in a year or so.

For a full stack developer you should at least know CSS, JS, HTML, and SQL. Learning these languages might take a long time, but it’s worth the while. You can make amazing websites with interactivity. Although you can make great websites with these programming languages, you should also know some frameworks. The best ones for Full-Stack are Angular, Vue, React, and Node.js. Happy to help.

Wow, a thread that’s been going on for over two years now. Oh well, my 2 cents:

Reading the beginning of the thread, I think there is some confusion between a “language” and a “framework”. Frameworks like Angular and Django aren’t languages of their own, they are tools build using JS/Python. It’s like if you speak Japanese and use that to learn how to navigate the corporate world in Tokyo. You aren’t learning a new language by going from the street to the fancy offices, you are just using your existing knowledge in a new environment.

As far as learning languages goes, you rarely need to learn several. Web interface developers need JS/HTML/CSS, backend developers need SQL, maybe some JS or Python depending on the project. In the real world, you’ll usually either be working on small projects in your given language, or as part of a team where you specialize in a particular topic/language.

With that being said, it really is not hard to learn new languages once you get the concepts down. Transferring OOP or classes from Python to C is not as hard as re-learning verb conjugation when going from English to German, for example. The hardest part of knowing multiple programming languages (for me, anyway) is just keeping the syntaxes sorted. A great example is going from Python to JS (a very common thing to do when working in web development), you can easily forget when and where to put a ; in your JS code because Python doesn’t use them very often.

1 Like

Absolutely, the desire to learn and attitude towards it play a significant role in how effectively one can acquire new skills and knowledge. It’s common for individuals to learn specific topics or skills because they’re necessary for a particular course or job, and as you mentioned, proficiency can often be sufficient for one’s needs. Your experience in learning both Assembly and Ladder logic in college, as well as picking up skills as needed for your work in QA, illustrates how adaptable and driven individuals can be in acquiring knowledge to meet their goals. If you have more insights or advice to share regarding learning and skill acquisition, it can be beneficial for others looking to enhance their own learning processes.