Hey guys,

I've been doing python programming as basically my sole programming language for about a year and have learned a lot (obviously still learning more everyday). I do a lot of computational work so I'm forced to do a lot of bash scripting as well, although I have made it a personal goal to try to figure out a way to use python to take care of everything.

To the point: I was wanting to learn a lower level language simply for a better understanding of coding. I hope this isn't taken as one of the completely annoying questions of "which language is better", because I'm asking this question to python programmers for a reason. Would it be better to learn C because Python is written mainly in C? Or Fortran because a lot of scientific and computational programs are written in Fortran? Or C++ because it is object oriented? Or do you guys think that the time learning a lower level language would be better suited learning Python more completely?

Again, I know this is opinion based, but I'm just curious what someone that codes primarily in Python (which I intend to continue to do) would choose if they were me.


It's a matter of personal taste. C is reasonably easy to learn, and it's a whole culture which will help you understand 50 years of programming and OS development.

I think that if someone takes the time to get an abstract overview of programming languages, he or she finds that programming languages are relatively simple and those featuring the same programming paradigms are quite similar.

It's a fascinating subject. When a person studies a specific programming language, he or she is primarily learning how to code with that language. That person does not necessarily learn transferable knowledge and skills. For instance, comments in Python are slightly different from comments in C or C++.

Look at the Python tutorial and the C++ tutorial side by side.

Both teach the user:
How to begin coding.
About variables and data types.
About control flow.
About functions.
About complex data structures.
About memory.
About input/output.
About classes.
About errors and exceptions.

They diverge on language specific features. Python features a section on modules, and C++ has information on pointers.

If a person can learn one, he or she can learn the other. However, studying one probably won't make a person a better programmer in the other. Knowing one may make the other easier to learn, because the person all ready knows the concepts. For instance, he or she will know what a function is. That person will only need to learn how to implement it in the language.

That is why I recommend that beginning programmers learn Python. In Python they do not have to compile a program, declare variables' types, manage memory, or do any number of things that increase the amount of code they must type and the amount of time they must spend before they can create a working program.

Creating programs (software development) is a multi-stage process. Coding is one stage of that process. Software development with code written in Python can be very similar to software development with code written in any other language, and vice versa.

That's what I think.

Python does a lot more hand-holding than C or C++ when it comes to those pesky memory leaks. Like C++ Python is object oriented.

Thanks for all of your responses. So, do you think it just learning Python and learning the others in need to know snippets is a reasonable thing to do?

Python does a lot more hand-holding than C or C++ when it comes to those pesky memory leaks. Like C++ Python is object oriented.

commented: advertisement -1