I would swap Double for byte, certainly. The others I'd say I agree with. Technically, a string is not a simple data type, so you might swap byte for string, but a string is such a fundamental data type to all kinds of programming that special attention has been given to it to make it look and act more simple than it really is, so it really comes down to your definition of "simple". It's certainly fundamental, but whether or not it is simple is harder to say.

I think Double should clearly be included, these days. Whether byte should be is harder to say. It is very simple, and very fundamental, but also relatively rarely used. It's far more simple than a string, yet far less commonly used. So, while I do think double should be one of your four, whether string or byte is the fourth is harder to say.