Зачем же все таки нужны эти типы переменных?
Я сам долгое время писал на С++, ворча, типа, зачем так нужны эти тиры переменные(до этого писал на РНР)
объясню быстро и грубо на примере:
a = 5;
b = 8;
если a и b числа(тип int), то a+b=13
а если это строки(string), то a+b=58
получается если попытаться сложить строки, то мы их просто склеим.