This is indeed annoying and illogical when learning english, especially because other languages get it right. The french have a different speciality: punctuation marks that consist of two parts(i.e. ? ! ; :) are preceded by a space character. Also very irritating.
Here in a book of classics printed in 1910:
https://archive.org/details/harvardclassics40elio/page/76/mo...
And in David Hume's Essays and Treatises on Several Subjects (1753):
https://archive.org/details/essaysandtreati00humegoog/page/n...