There have been many, many programming languages created over the years. Computers capable of being programmed entirely within themselves (as opposed to using separate physical media like punched tape, or physical connections like a plugboard or Core Rope Memory) have only existed since the 1940s, but we've already created over 700 hundred different programming languages!
And naturally with so many languages, there is quite a lot of diversity in the choices of names made by the designers of each language. For example: in JavaScript an Array can change length with the push()
method, but in Go (and Hare) Arrays have fixed lengths, determined before the computer starts executing the program.
So, we have also developed various ways of talking about common patterns across programming languages, tied to various theoretical (mathematical) descriptions of computers, programs, and data. Naturally, these theories and ways of talking also have many different names for the same concepts, and occasionally conflicting or confusing uses of the same names...