Почти во всех языках программирования имеется возможность создавать собственные типы данных. Зачем? Ну рано или поздно настанет тот миг, когда вам будет не хватать стандартного набора типов данных в вашем любимом языке программирования. Конечно, компьютер понимает только числа, и для него совершенно неважно, какие типы данных используются в вашей программе. Важно только то, насколько качественно компилятор переведёт ваши исходники в машинные коды. И теоретически любую программу можно написать в машинных кодах. Однако уже много десятилетий так никто не делает - все предпочитают языки высокого уровня. Более того, всё время появляются новые языки, поскольку старые обязательно кого-нибудь не устраивают. В общем, собственные (или пользовательские) типы данных нужны исключительно для удобства программиста. Но от этого удобства зависит очень многое, в том числе и качество программы, и скорость разработки. Так что всем советую создавать свои типы данных (разумеется, если в этом есть необходимо