What I like about these projects is that you can make them as simple or as complicated as you want.
Or more. Actually some of them seem inverted. Simple compiler takes 3 months but a GameBoy emulator takes 2 weeks? That’s not my experience at all.
I was wondering if that was time spent toying with the thing, not necessarily time to a complete or even functional result.
Yes, exactly. The point is to make a toy that proves the concept and gives you insight into the overall design, not to build something with polish!
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) ;)
The 10/10 was a copy & paste typo, sorry! Amended now.
Also what's up with this 1 week to make a hash map? In C it's only slightly harder than creating a growable array.
And a POSIX shell is only 3 days. It's an interesting list but the difficulty/time elements are all over the map.
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.