   Words to describe software
  Hi,People often use words to describe software: Portable, Compatible, Scalable, Extendable, etc.I was wondering if there is a word (I'm sure there is, I just can't remember it) for if the software gives you in-depth access to a lot of features? e.g.: if you had a high-level API to your system, and then provided a low-level API for bit-twiddling etc,..Thanks!   
  Comprehensive?   ;  Yeah, comprehensive sounds good, thanks!   ;  bloated?   ;  This is often referred to as "exposes"."Network library is designed in portable manner, but exposes socket descriptors to user".   ;Quote:Original post by loufoquebloated?Oh my, that's exactly what I thought when I read the topic several hours ago. But I decided to be a nice guy this time.;Quote:Original post by loufoquebloated?Depends on how well designed the API is. A well designed API can be oozing features without feeling bloated (Cocoa is a decent example), but I would agree that without the benefit of excellent design, big APIs do tend to feel a bit icky.   ;Quote:Original post by swiftcoderQuote:Original post by loufoquebloated?Depends on how well designed the API is. A well designed API can be oozing features without feeling bloated (Cocoa is a decent example),I've found FMODex to be like this. The easy things are easy, but the other stuff is there if you need it.Comprehensive is fine. 'Expose' describes that well. I'm not sure... Often I'm not looking for such traits.   ;  Assuming we're going with comprehensive as the term, the way I would distinguish between "bloated" and "comprehensive" is that a "bloated" API has a lot of coupling between its components, even for the simpler things. A "comprehensive" API would be feature-rich but all but the most complex features could be used independent of one another without having to (externally, at least) depend on other features being used as well.   