When programming, data is stored in variables. In a weakly typed language you define a variable and you can put anything in it. Numbers, text, whatever. In a strongly typed language when you define a variable you also have to define what it can take. If you define a variable that can hold numbers, it can only hold numbers and never text or anything else.
Weak typing makes code easier to write and more flexible while strong typing makes code more secure and harder to accidentally break. It’s mostly a preference thing in the end.
Just to add to this all data is ultimately stored as ones and zeros. In order to translate it to a piece of text or some type of number the computer needs to determine what type of data it represents. If the computer guesses the wrong type you just get garbage. Languages like C allow you to store data without rigid type definitions, it is up to the programmer to make sure the code gets the type right. In a strongly typed language you are not allowed to use variables of one type as some other type without some explicit conversion. It is safer but a little annoying.
When programming, data is stored in variables. In a weakly typed language you define a variable and you can put anything in it. Numbers, text, whatever. In a strongly typed language when you define a variable you also have to define what it can take. If you define a variable that can hold numbers, it can only hold numbers and never text or anything else.
Weak typing makes code easier to write and more flexible while strong typing makes code more secure and harder to accidentally break. It’s mostly a preference thing in the end.
Just to add to this all data is ultimately stored as ones and zeros. In order to translate it to a piece of text or some type of number the computer needs to determine what type of data it represents. If the computer guesses the wrong type you just get garbage. Languages like C allow you to store data without rigid type definitions, it is up to the programmer to make sure the code gets the type right. In a strongly typed language you are not allowed to use variables of one type as some other type without some explicit conversion. It is safer but a little annoying.
It should be noted that “strong typing” and “weak typing” don’t have the same precise definition as static/dynamic typing.
It normally means either some point on the strict/lenient/unityped spectrum the author thinks is strict typed, or static typed.
And yeah, it’s a useless name, we could as well use it for languages that make the developer break keyboards.