I don't really think the difference between a 'hack' and a 'professional' is whether they've had formal training or not. And often, as others have posted, it's actually the other way around from what you suggest (i.e. those without formal training actually become more professional than those who don't).
I learnt Perl well before I started my degree, but I was certainly a hack at that point. I was lucky enough to do a degree that was actually worthwhile, but the lessons learnt there didn't really manifest themselves in my programming until I began working full-time. And I learnt a lot more off my more experienced colleauges.