+ 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.

20th Jun 2019, 10:46 AM
Nikunj Chopra
Nikunj Chopra - avatar
30 Respostas
+ 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...)
25th Jun 2019, 3:10 AM
David Carroll
David Carroll - avatar
+ 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...)
25th Jun 2019, 3:26 AM
David Carroll
David Carroll - avatar
+ 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.
25th Jun 2019, 3:44 AM
David Carroll
David Carroll - avatar
+ 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. 🤣😂🤪
25th Jun 2019, 7:04 AM
David Carroll
David Carroll - avatar
+ 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.
20th Jun 2019, 11:07 AM
voja
voja - avatar
+ 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
21st Jun 2019, 6:31 AM
Humayra🇧🇩
Humayra🇧🇩 - avatar
+ 13
I hope this information was helpful. Sorry for the long winded responses.
25th Jun 2019, 3:44 AM
David Carroll
David Carroll - avatar
+ 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.
25th Jun 2019, 5:35 PM
David Carroll
David Carroll - avatar
+ 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.
25th Jun 2019, 10:50 PM
David Carroll
David Carroll - avatar
+ 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...)
25th Jun 2019, 5:13 PM
David Carroll
David Carroll - avatar
+ 9
20th Jun 2019, 3:15 PM
Pankaj Kumar Maurya
Pankaj Kumar Maurya - avatar
+ 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 😂
22nd Jun 2019, 9:58 AM
Maryam
Maryam - avatar
+ 9
David Carroll, "this isn't about IQ??" Just admit it: you're a genius!
25th Jun 2019, 5:45 AM
Sonic
Sonic - avatar
+ 8
Keep going David Carroll , we are masochists.
25th Jun 2019, 8:25 PM
Sonic
Sonic - avatar
+ 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.
20th Jun 2019, 11:44 AM
HonFu
HonFu - avatar
+ 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.
20th Jun 2019, 3:26 PM
HonFu
HonFu - avatar
+ 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.
22nd Jun 2019, 9:43 AM
HonFu
HonFu - avatar
+ 6
Being able to play Lego within your abstract mind, David Carroll, isn't that *precisely* what intelligence means?
25th Jun 2019, 6:48 AM
HonFu
HonFu - avatar
+ 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???
25th Jun 2019, 9:02 AM
✳AsterisK✳
✳AsterisK✳ - avatar
+ 5
What if I say I'm ready for that cruel torture? David Carroll
25th Jun 2019, 6:25 PM
Kartikey Sahu
Kartikey Sahu - avatar