Il manque toujours le principal : l´interface.
Tu écrit que les gens peuvent écrire leur programe mais tu ne leur en donne pas les moyens.
Par l´intermédiaires de quelles fonctions est-ce qu´un programmes va agir, savoir que quelqu´un lui a dit quelque chose ou encore savoir ce qui se passe en général ?
Sans oublier le plus dur, tu peut directement abandonner l´idée que les programme se "reproduisent" : comment ferais-tu pour générer le code du programme enfants ? tu ne peut pas prendre un bout de code source du premier programme et un bout du deuxième.
Je te conseille vraiment de continuer à programmer et de t´améliorer surtout sur la théorie pour comprendre comment gérer ce genre de chose et ensuite tu pourra peut-être achever ce projet.