For a start - if you look at any of the "standard protocol apps" they don't hard-code their ports.
Software written as simple as possible for learning purposes can hardcode this stuff.
What on earth are you talking about?
Software that uses restricted ports and hard-codes them is simply "shit software".
If IOTA is "just for learning" then why on earth take peoples money to do so?
(are you going to refund everyone for pretending to create a serious piece of software?)
Well they offer me to buy some software during Crowdsale, I liked the idea DAG and bought some.