Quoting: I have no idea why Hisham chose a custom "quickSort" algorithm rather than a standard C qsort() function.

My answer: The answer is much simpler and mundane than you can imagine: I was still learning C. :-) In fact, besides "scratching my itch for a better top", practicing C was the other motivation that 20+-years-younger me had for starting this project.

That also explains other oddities from the early codebase, such as trying to avoid maintaining .h files by hand (which I found nonsensical), the Java-esque OOP collections, and my favorite, which I think I never told to anyone before: the utility module with functions for setting up drawing to the screen, "CRT", is named so as a nod to the one in Turbo Pascal. :-D

Most importantly, I think all of those rookie oddities show how you don't have to be an experienced programmer to make a significant contribution to FOSS!
Quoting: I have no idea why Hisham chose a custom "quickSort" algorithm rather than a standard C qsort() function. My answer: The answer is much simpler and mundane than you can imagine: I was still learning C. :-) In fact, besides "scratching my itch for a better top", practicing C was the other motivation that 20+-years-younger me had for starting this project. That also explains other oddities from the early codebase, such as trying to avoid maintaining .h files by hand (which I found nonsensical), the Java-esque OOP collections, and my favorite, which I think I never told to anyone before: the utility module with functions for setting up drawing to the screen, "CRT", is named so as a nod to the one in Turbo Pascal. :-D Most importantly, I think all of those rookie oddities show how you don't have to be an experienced programmer to make a significant contribution to FOSS!