Python Learning more languages at once?

  • Thread starter Thread starter doktorwho
  • Start date Start date
AI Thread Summary
Learning multiple programming languages simultaneously, such as Python, Pascal, and C, can be beneficial but requires careful management to avoid confusion. Familiarity with Python may aid in understanding Pascal and C, though each language has distinct differences in philosophy and application. It's important to fully grasp each language rather than learning them superficially, as this can lead to a more profound understanding of programming concepts. C, in particular, offers valuable insights into memory management and lower-level programming, which can enhance skills in higher-level languages like Python. Overall, a focused approach on one language at a time is recommended for foundational learning.
doktorwho
Messages
181
Reaction score
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
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
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
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
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
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
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
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
Back
Top