Learning multiple languages

Once you learn one language, it becomes easier to master the second and there are pairs of languages ​​that go together? Also, is it even a good idea to learn more than one language?

+5
programming-languages
source share
11 answers

Learning more than one language is a great idea - it not only gives you much greater flexibility in finding a job, but also just expands your mind, your vision of what programming is.

A second language is often the most difficult - because your first language has done so much to shape your thinking and work when programming. The most difficult case is when the two languages ​​are outwardly similar, but have deep, subtle differences: it is really difficult to perceive, understand and study the subtle differences, because superficial similarity blinds you.

If you learn two languages ​​that are far apart, the third will be easier ... and after that it will become easier and easier. A large pair of languages ​​to start with is a very high-level language (for example, Ruby or Python) and one rather low level (especially C); however, a functional language such as Haskell, and one in itself is the antithesis of functionality, such as Java, should also work.

+19
source share

Repeating all the above feelings, I strongly support the idea of ​​learning several languages ​​and get a high level of knowledge of at least two very different languages. In fact, I think that knowing the five languages ​​is superficially useful if you like your curiosity in order to learn more, but you should still be able to speak more than one bone to the bone language.

Here are some (non-exclusive) categories of languages ​​that you might consider.

  • Compiled (C, C ++, ...) / Interpreted (Perl, Ruby, Python, PHP, ...) / JIT (Java)
  • High / low
  • Object Oriented / Procedural / Declarative / Functional
  • Installed / Experimental
  • General / Special / Domain Specific
  • Highly Printed / Invalid Type

Understanding the compromises and philosophies that underlie these languages ​​and their implementation will certainly make you a better programmer. Of course, it may take time to experiment with all of them and become experienced in some of them. But the experience is useful, starting even at the first stage, with immediate satisfaction and benefits, so you should not despair from many options.

+4
source share

I think it’s more important to study concepts, not the syntax of a language. Saying this to truly master the language, you often have painful tricks with its mistakes. In addition, some languages ​​may provide library support that is better suited to solve specific problems. Learning multiple languages ​​is advisable; you don't play golf with just one club, right?

+3
source share

It is very useful to know more than one language. In fact, this very good book recommends learning every year. It is becoming easier to learn new languages, because they always have overlapping concepts.

+3
source share
  • Yes, if you know one language well, it’s easier for you to learn other languages, because you can map methods that you know to different syntaxes in another language. This suggests that both languages ​​are comparable. For example, C ++ will not compare purely with Ruby.
  • It is definitely a good idea to learn several languages. The more languages ​​you learn, the wider your experience. In the end, you begin to understand the differences in basic architecture and design between languages ​​and why some of them have advantages over others for certain programming tasks.
+2
source share

Yes, yes and yes.

By learning a language, you learn many of the basic principles of programming expressed by that language. Many languages ​​use similar concepts or even the same structure and basic structure. This can make learning a second “similar" language very easy. For example, if you are studying C #, VB.NET is very simple, since it uses the same structure and the same basic concepts.

Learning different languages, however, can also make you learn different ways to “think” about a problem. This is especially true if you are moving from a static typed language to an interpreted language or to a functional programming language. They will make you rethink how you program, which can make you a better programmer in general.

+1
source share

When you learn more languages, you tend to think about things in terms of concepts or images instead of the specific features of your favorite language. It is definitely easier to learn a third or fourth language than your first or second, because you already understand many of the concepts (and possibly syntax) demonstrated in the new language. It is a great idea to learn more languages.

+1
source share

Yes, once you understand how to break the problem, so that you can code the solution and what are the common pieces of code, and then it’s easier to learn another language. Some of them are more complicated than others.

Learning programming languages ​​is good in the same way as learning several real languages. You learn the whole language, which makes you better in both. You also have another selling skill. Some languages ​​are more applicable to certain types of problems ... knowing more languages ​​allows you to better deal with these problems.

+1
source share

In most cases, yes. Once you understand the general idea of ​​programming, you will begin to collect similar patterns in different languages. Especially if the languages ​​belong to the same family or have the same type (for example, after learning C or C ++ it is very easy to learn Java, Javascript, C #, PHP, etc.). Of course, it is probably just as difficult to master, but you will quickly get 90% of things.

For learning, however, it is much better to learn 2 languages ​​from different families and with different reasons, such as C and Haskell. This will expand your perspective and allow you to come up with solutions that are out of the normal mood for these languages.

+1
source share

Learning different languages ​​teaches you to think differently. These thought patterns can usually be used in any language, so yes, it’s good to learn more than one language.

Saying that knowledge of 5 languages ​​is superficial will never be as good as knowledge of one language to the bone. Again, if you already know one to the bone, knowing 5 more, you can bend the brain.

Programming languages ​​usually have very few words, and most words can be translated into a language from different languages. However, while learning the first language, along with learning the language, you must learn to think in terms of programming. The second language is much simpler, the third is equally, the fourth is a walk in the park, a piece of cake and the sixth piece of cake in a beautiful little cafe, etc., you get a picture:)

/ B2S

+1
source share

There is a lot of good advice here. I would do the second, if not all.

Based on my experience, I would suggest choosing three languages. I would choose the one that seems the most accessible and useful for studying in the first place, and familiarity with the syntax is good enough to be able to identify problems with existing code, but don’t feel that you need it to get used to the point you write expert, error-free code from memory. Use your documentation and link as a floating device during work and training. Spend more time mastering concepts ... especially debugging! And jump and try, even if what you start first is really bad or doesn't work at all. (I feel that the ideas that are most solid in my head are the ones that I almost killed trying to fix, not learn, carefully study the ideas before trying to code.)

Once you have a good language, move on to the second, perhaps syntax, which is different from the first. This approach made me aware of the concepts and confirmed that I didn't need to be a syntax expert to get the job done. In the end, there are usually tons of documentation, textbooks, and discussions available to everyone.

Then take the third language and immerse yourself in it. You will be surprised how much easier the third. You will see the middle ground, syntactic, between the two extremes that you have already learned, and as very similar programming concepts.

If you want to be extremely competitive and competitive, you can choose your languages ​​based on diversity: for example, one that is good for the Internet on the client side, one that is good for the server side, and one that is good for the platform / device development. Or, choose languages ​​based on the fact that you know that you will like the building. I found this to be the most effective and interesting; that is, if you know that you are a game fanatic, just learn the languages ​​that will allow you to create and transfer reliable games to different platforms and keep the focus.

Finally, don’t press on yourself, comparing yourself to other developers and feeling that you need to be like them, or find out what they did, the way they did, as fast as they did. Experiment and find out what works for you and stick to it.

Just my two cents. Good luck

+1
source share

All Articles