Why isn PfaEdit written in C++ (or Why C++ is not my favorite language)?
I’ve been a little surprised to be asked this question, I had not realized my choice of language needed justification, but it appears to do so… Basically because I don’t find object-oriented practices helpful in most cases, and because I find C++ far too complex and badly designed, and because I can’t debug it easily. • I grew up with SIMULA and dabbled with SmallTalk and found after a few years that there were very few problems where an object oriented approach seemed natural to me. In most cases it just seemed to impose unneeded complexities on the problem. • The semantics of a C++ program cannot be specified. The compiler is free to generate temporaries as it wishes. In C this is not a problem, but in C++ the creation of a temporary can involve calling a constructor and a destructor which may have untold side-effects. I find this frightening. • The order of execution of external constructors is unspecified. I have seen many inexplicable bugs caused by this • I find it extremely di