Here&#x27;s a piece I wrote to give people an overview.  <a href="http:&#x2F;&#x2F;screamingduck.com&#x2F;Article.php?ArticleID=43&amp;Show=ABCE" rel="nofollow">http:&#x2F;&#x2F;screamingduck.com&#x2F;Article.php?ArticleID=43&amp;Show=ABCE</a><p>I don&#x27;t really use FreePascal much anymore.  I would seriously consider it again if someone developed a branch breaking backward compatibility.  I feel like it need a signficant decluttering to get rid of legacy implementations taking all the good names.<p>For example freepascal has<p>TList: Manages a list of pointers, can search and sort the list, has event notification feature<p>TFPList: Manages a list of pointers, can search and sort the list, without event notification feature, faster than TList<p>TFPGList: generic supporting list.<p>TObjectList<p>TFPObjectList<p>TFPGObjectList<p>The FP part of the prefix indicates a FreePascal class.  The simplest names TList and TObjectList are descended from Deplhi and hold that space for compatibility.  Generics came later in the language development so needed to take third pick of name.<p>The Standard Libraries of FreePascal are nicely consistent in naming at least.  You don&#x27;t have to hunt for the right name.  It still feels cluttered though