Learning more languages at once?

  • Python
  • Thread starter doktorwho
  • Start date
In summary, the conversation discusses the potential impact of learning multiple programming languages, particularly Python, Pascal, and C. While familiarity with Python may be beneficial when learning Pascal and C, it is advised to not learn multiple languages "halfway". It is recommended to focus on one language and its fundamentals before moving on to others. Python is described as a high-level language that hides complexity from programmers, while C provides a deeper understanding of the underlying processes in a computer's memory.
  • #1
doktorwho
181
6
Hi, let me explain the situation. I am learning python on my own, as i am a beginner i found it to be the most suited to my style. I am also doing lots of courses and know quite a bit about it. Now the problem. At my school this month we're starting to learn pascal and in january we are learning C. Will this affect my Python progress or vice versa? I mean will it be the same for the to learn C as if i was not already damiliar in Python, better or worse?
Thanks
 
Last edited:
Technology news on Phys.org
  • #2
I think it depends a lot on what kind of person you are. Familiarity with Python may really be to your advantage when learning Pascal (I did not know they still teach that in schools) and C, as long as you keep in mind that there are substantial differences between these languages, their natural domains of application and their underlying philosophies, particularly between Python versus Pascal and C.

On the other hand, I think you should be careful not to learn two or three languages "half". It is my impression that I learn a language best by using it to solve problems I encounter on a daily basis. Using three languages interchangeably for this would be more confusing than helpful to me.
 
  • Like
Likes doktorwho
  • #3
doktorwho said:
Hi, let me explain the situation. I am learning python on my own, as i am a beginner i found it to be the most suited to my style. I am also doing lots of courses and know quite a bit about it. Now the problem. At my school this month we're starting to learn pascal and in january we are learning C. Will this affect my Python progress or vice versa? I mean will it be the same for the to learn C as if i was not already damiliar in Python, better or worse?
Thanks

There is no better or worse, as long as you keep what you learn sufficiently separated and intact in your mind. Now, it is true as Krylov points out, that there are substantial differences between Python, Pascal and C and it is not a good habit to learn "half" a language. You can suspend your learning of Python and devote your efforts to learn Pascal and then C. This way, you'll develop a new view if you will, of how a programming language works, what is its philosophy and its domain of applications.

Now, for Pascal there is not much to say, because it is not used to develop applications anymore. Only object-oriented branches and hybrids of it are used, successfully but by a relatively small number of developers worldwide. It still remains a good "teacher" in my opinion, but don't overwhelm yourself with it. C is a whole different story and I would strongly advise you to learn it (or directly C++ depending on your school) and keep in mind that C itself, will teach you a lot of "quick and dirty" things in programming (among other great things). C has a substantial influence in many programming languages that were developed or branched after it. When you reach a decent level of knowledge / expertise with it and return to whichever other programming language you previously learned, you'll see it from a whole different perspective. And last but not least, you'll be capable of developing a way more informed opinion about programming in general.
 
  • Like
Likes BvU and doktorwho
  • #4
doktorwho said:
At my school this month we're starting to learn pascal and in january we are learning C.
If you're only spending a month or two "learning" a language, then I'd say you're not really learning it. You're just getting an overview, especially if you have no prior programming experience.

I think the best approach to learning how to program is to learn the fundamentals with a single language, as well as object oriented concepts (if they apply), and continue using that language to study data structures and algorithms. That would give you a basic foundation to build on, and would probably take 1 to 1.5 years. In fact, this is the standard approach used in computer science curricula for CS majors.
 
  • Like
Likes Tom.G
  • #5
I think that someone should warn you that, as compared with Python, you are likely to despise programming in C. Python hides a world of hurt from programmers, whereas C does not hide it.

Nevertheless, you do want to learn C, because if you do, you'll have a good understanding of what is actually happening in the memory of a computer when your program runs. Even in languages such as Python that attempt to hide all that pain from you, it is occasionally quite useful to have this deeper understanding.
 
  • Like
Likes BvU
  • #6
harborsparrow said:
Python hides a world of hurt from programmers, whereas C does not hide it.
Ain't that the truth? Python is a very high-level language in comparison to C.
 
  • Like
Likes harborsparrow
  • #7
harborsparrow said:
I think that someone should warn you that, as compared with Python, you are likely to despise programming in C. Python hides a world of hurt from programmers, whereas C does not hide it.

The only programming language I know is C. Does that mean I have something to look forward to when I move to a higher language?
 
  • Like
Likes harborsparrow
  • #8
Drakkith said:
The only programming language I know is C. Does that mean I have something to look forward to when I move to a higher language?
In Python, you can look forward to much more being done "under the hood."

Python:
my_list = [i for i in range(256) if i % 16 == 0]
print(my_list)

The code above is equivalent to this C code:
C:
#include <stdio.h>
int main()
{
   int i;
   int my_list[16]
   for (i = 0; i < 256; i++)
      if (i % 16 == 0) my_list[i] = i;
   printf("[");
   for (i = 0 ; i < 16; i++)
      printf("%d, ", 16 * i);
   printf("]\n");
   return 0;
}
 
  • Like
Likes Drakkith

Related to Learning more languages at once?

1. How many languages can a person learn at once?

A person can learn multiple languages at once, but the number varies based on individual abilities and time dedication. Some people may be able to learn 2-3 languages simultaneously, while others may struggle with more than one. It's important to find a balance and not overwhelm yourself.

2. Is it better to learn similar languages at the same time?

It can be beneficial to learn similar languages at the same time as there may be some overlap in grammar and vocabulary. However, it's important to also mix in different language families to avoid confusion and keep your brain engaged.

3. How long does it take to become fluent in multiple languages?

The time it takes to become fluent in multiple languages varies depending on the individual, the languages being learned, and the level of dedication. On average, it can take 2-3 years to become fluent in a language with consistent study and practice.

4. Can learning multiple languages at once cause confusion?

It's possible for learning multiple languages at once to cause confusion, especially if the languages are very different. It's important to have a solid understanding of one language before adding in another and to keep practicing and reviewing to avoid mixing up vocabulary and grammar rules.

5. Are there any benefits to learning more than one language at once?

Yes, there are many benefits to learning more than one language at once. It can improve cognitive abilities, enhance problem-solving skills, and increase cultural understanding. It also allows for more opportunities for travel, communication, and career advancement.

Similar threads

  • Programming and Computer Science
12
Replies
397
Views
14K
  • Programming and Computer Science
Replies
8
Views
918
  • Programming and Computer Science
Replies
11
Views
1K
  • Programming and Computer Science
Replies
16
Views
1K
  • Programming and Computer Science
Replies
2
Views
1K
  • Programming and Computer Science
Replies
15
Views
1K
  • Programming and Computer Science
Replies
3
Views
1K
  • Programming and Computer Science
2
Replies
69
Views
4K
  • Programming and Computer Science
Replies
9
Views
1K
  • Programming and Computer Science
Replies
16
Views
2K
Back
Top