+ 19
Is it possible or recommended for a single person to learn multiple programming languages?
I stumble upon people who know atleast 5 different kind of languages. Isn't it better to focus on just one and master it rather than knowing all. Kinda be Jack of all trades, Master of none.
28 Answers
+ 16
Nikunj Chopra To answer your question as written, "Is it possible or recommended for a single person to learn multiple programming languages?"
Speaking solely from my own personal experience...
Yes, it is very possible. It might not be for most people. However, there are still a number of people, like myself, who naturally prefer learning and working with multiple programming languages at the same time. In this sense, I identify myself as a technical polyglot.
Learning a new language is simply not difficult. I might need to use it on a project from start to finish before I would say I was highly proficient with it. But, I can be convincingly productive with a brand new language anywhere between a few hours to a couple of days, depending on how interested and immersed I am in it.
This natural affinity for becoming proficient in a new programming language applies across paradigms: including declarative, imperative, and functional languages.
(continued...)
+ 20
That said, I'd say that declarative is the easiest, imperative isn't much more challenging, and functional will stretch my brain a bit. But, it's not as obvious to those watching me code in a new language only an hour or so after I started experimenting with it. Many will be convinced that I might have learned the new language years ago and am only rusty at the moment.
This doesn't apply to just languages. Many polyglots can quickly learn and are quite proficient with many frameworks across those various languages. Those actually take more effort to learn than a new programming language, but it's still relatively quick to pick up.
Polyglots are quite proficient and comfortable working across multiple platforms and applications as well.
In fact, for many polyglots, it takes little effort to reverse engineer a large enterprise application for the first time to figure out how the whole system comes together.
Troubleshooting and debugging is always effortless for people like this as well.
(continued...)
+ 17
Having said all this, I would never say it had anything to do with IQ. Experience will certainly play a role. But, even early on, it was something else that helped me go from struggling to learn my first language to picking up new ones with little effort.
For me, it was in understanding the fundamentals of how any language works and the sematic and lexical constraints that all languages share in executing logic and control flow in the CPU.
I don't think I was aware that learning to program was supposed to be hard for most people. I thought it was the best kept secret that most people would just pick up if they only knew about programming. No one told me I couldn't or shouldn't learn many languages at the same time. I suppose if it was hard, I wouldn't have done so.
However, coding is almost an effortless exercise. It's the design and delivery of a great product that takes effort.
Again, this isn't about IQ, it's about one's aptitude for learning and piecing the parts together abstactly in your mind.
+ 15
🤷♂️ Sure... I realize I'm a smart guy. There are a lot of us out here... present company included.
I just know people who are geniuses... and those guys are scary smart. I could only wish I was as smart. Those guys think on another plane.
I just simplify things in my head so my non-genius brain is able to understand.
🤣😂🤪
+ 14
If you are a complete beginner then you should focus on one programming language.
If you are an expert in one language, then it isn't very difficult to learn other programming languages, because you are already familiar with basic concepts, like concept of OOP or concept of float and double number types... One of the differences is syntax, every language has their own syntax.
Data structures, algorithms, design patterns are something that can be used in every programming language, there is just a little difference in implementation.
So if you know how bubble sort works, then the only "problem" would be how to implement it, and that's just a matter of syntax of the language.
+ 14
It's possible, depending upon your necessity, learning capacity and how much time you're using for it... Knowing many languages is a little tough, but it can help you in some situations in professional life if you aim to be a developer
+ 13
I hope this information was helpful. Sorry for the long winded responses.
+ 12
At the same time, I was learning HTML for a very basic website for another client.
After I graduated from college, I was able to do this full time and was hired by a company that had me working on a large VB6 / MS SQL Server banking application. I spent this year honing my skills until I took another job that introduced me to a new paradigm known as dynamic web sites. I think it was 1999 when I learned ASP 3.0, Javascript, Java, JSP and JHTML, and Oracle + PL/SQL to name a few. I was working with a consulting firm and was thrown into these aggressive projects throughout the year. I was absorbing new information at such a rapid rate. It was insane and exhilarating. I also don't think there were many others like me at the time. I was an anomaly as everyone had CS degrees. 😂
Anyway, I could go on to tell you the rest of my career, but that would be cruel toture for you. 🤣
So... yeah, I've always seemed to start learning new things from scratch long before I was proficient in other things I was learning.
+ 11
Oh man... You guys really need to get out more. 😂
Maybe I'll torture you with my past another time. That walk down memory lane was eye opening enough for me. 😉
In the meantime, I thought I'd share a couple of other conversation threads here if you're really interested in seeing other details I've shared about my early years getting started.
Scroll to the bottom of my thread here with Mirza Sisic:
https://www.sololearn.com/post/96609/?ref=app
And see my thread posted here to Haris ( exams ) and my response to @Anastasija Pecevska in her thread in the link below.
https://www.sololearn.com/post/115401/?ref=app
Apologies for the links. If anyone considers this irrelevant spam, I'll remove it right away. Feel free to down vote if you want to remain anonymous.
+ 10
*AsterisK* I jumped into programming because I met a guy starting a plumbing business and he needed a program for dispatch callers to enter customer job information and then route to the next service truck on call. This was while I was still a junior in college majoring in economics and international studies.
I told the guy I would try to build it in MS Access using VBA and SQL, two languages I had to learn at the same time with no prior experience. Also, I had to learn about databases and implicitly learn how to do imperative and declarative programming along with data modeling, report building, and UI designing / event handling.
I had one, NOT so good book, a license for MS Access, and the internet content in 1996 was sparse.
He needed a simple version ready within a week or two. We kept doing releases every 1 to 2 weeks. for about 2 months.
I then switched to VB6, MS SQL Server 6, and Crystal Reposts and began rewriting from scratch before expanding new features.
(continued...)
+ 9
#Jeet..nice
+ 9
If you're a beginner I recommend you only one then if you have real passion with programming, really you won't ask this question...you will be dragged 😂
+ 9
David Carroll, "this isn't about IQ??" Just admit it: you're a genius!
+ 8
Keep going David Carroll , we are masochists.
+ 6
You can't be a jack of all trades, but you will very likely end up knowing a few languages.
For example css, html and Javascript come as a package.
If you want to make Python apps for smartphone, you'll need kivy framework.
Or sometimes, when you need a high performance for some function in Python, you might want to write it in C for use in Python.
Probably it's best not to think about it like 'many languages or one' but instead as 'project oriented':
Ask yourself 'What exactly do I want to program?'
Research which language(s) you need to achieve that.
And then you learn exactly these.
+ 6
#Jeet.., that idea will quickly get you into trouble.
Because there is no 'master' or 'perfect'.
Every of the major languages is just huge with their standard libraries and all the stuff you can additionally download, and also coding-wise there will always be room for improvement.
If you wait, till you are truly a 'master' or 'perfect', you will never get to learn another language.
And that doesn't work in real life.
+ 6
If you want to pull it off, in my experience it works well to switch in phases:
Learn a chunk of language A, write code using that, until you feel really comfortable.
Then and only then you can learn these topics in a second language while moving on in the first.
Messing stuff up will likely happen if you learn a topic simultaneously in several languages.
+ 6
Being able to play Lego within your abstract mind, David Carroll, isn't that *precisely* what intelligence means?
+ 6
but David Carroll before you are able to learn multiple languages at a go, did you start that right from the beginning or you first master a single language and some concepts???
+ 5
What if I say I'm ready for that cruel torture? David Carroll