IMO the difficulties are a bit off, if a 2D physics engine is 5/10, then orbital simulation cannot be 10/10 (even with the difficult stuff like J2 perturbation) ;)
I wrote a shell that's designed to be good enough for the things likely to be passed to system() and popen(). It probably took me a week. To make it a non-toy POSIX shell, I could see potentially taking me a year. The shell is nuts. There's a reason why Thompson got replaced with Bourne and Bourne got replaced with Almquist, and most people use Bash, and then a lot of people started using Zsh. It's simple enough to attract greenfield implementors, and complicated enough for them all to get improved upon.