Learning more languages at once?

  • Context: Python 
  • Thread starter Thread starter doktorwho
  • Start date Start date
Click For Summary
SUMMARY

This discussion centers on the impact of learning multiple programming languages simultaneously, specifically Python, Pascal, and C. The consensus is that while familiarity with Python can aid in learning Pascal and C, each language has distinct philosophies and applications that must be understood separately. It is crucial to avoid "half-learning" languages and to focus on mastering one before moving to another. C is emphasized as a foundational language that provides deep insights into programming, particularly regarding memory management.

PREREQUISITES
  • Basic understanding of Python programming
  • Familiarity with programming concepts such as data structures and algorithms
  • Knowledge of object-oriented programming principles
  • Awareness of the differences between high-level and low-level programming languages
NEXT STEPS
  • Study C programming to understand memory management and low-level operations
  • Explore Pascal for its educational value in learning programming fundamentals
  • Research object-oriented programming concepts and their application in Python
  • Learn about data structures and algorithms to build a solid programming foundation
USEFUL FOR

Beginner programmers, computer science students, and anyone interested in understanding the foundational concepts of programming through multiple languages.

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   Reactions: 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   Reactions: 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   Reactions: 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   Reactions: 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   Reactions: 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   Reactions: 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   Reactions: Drakkith

Similar threads

  • · Replies 397 ·
14
Replies
397
Views
20K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
Replies
16
Views
3K
Replies
86
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 66 ·
3
Replies
66
Views
22K
  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 14 ·
Replies
14
Views
6K