In the 1st page of “Introduction to Numpy”, there is a description that explains Numpy: " Python is a high-level language, which means you don’t have to allocate memory manually. With low-level languages, you have to define memory allocation and processing, which gives you more control over performance, but it also slows down your programming. NumPy gives you the best of both worlds: processing performance without all the allocation."
I think there are so many computer science concepts crammed into this single paragraph, but I don’t have a firm grasp of what this actually means since I don’t have a computer science background. What is memory allocation? What does it mean to allocate memory manually? What is memory processing and why does defining allocation and processing give you more control over performance? What is control over performance anyway? …
The above paragraph alone led to so many questions that I couldn’t answer. Could anyone give me some advice on whether specifically understanding this part (difference between high and low level language) is important, and if it is, what sources can I refer to in order to completely understand what that paragraph means?
Python suddenly becomes really difficult once you try to study the computer science behind it, such as this part. I would appreciate any tips on understanding these kinds of “computer” concepts that don’t have anything to do with the coding itself.