Word or phrase that means correct, but difficult to interpret - the opposite of expressive?

I'm critiquing code that runs perfectly, but which is difficult for people to read, understand, and interpret.

Code which is pleasant to read and is relatively easy for people to interpret is often deemed 'expressive', in that it conveys the ideas to humans well.

What is the right way to describe something (code, or technical writing, or anything else really) that is not incorrect in any way, but which fails to easily communicate with at least one part of its intended audience?

I've considered:

  • expressionless
  • inexpressive

I wonder if there are other words (or perhaps phrases) that can describe the property of being technically correct, but not easily understood or interpreted?


As a programmer, the word that I would use to describe such code or technical documentation is unclear

  • not expressed in precise terms

  • difficult to understand

Your suggestion of inexpressive will also be understood, though that phrase is used less often in this context. The word expressionless, however, is definitely incorrect; it means "lacking in facial expression", or "not expressing any emotion", neither of which means the opposite of expressive code or documentation.

Note that there is a very specific word used for code that is intentionally unclear, which is obfuscated. This word is used quite a lot, but doesn't apply when the code is unclear simply because it was poorly written.


Whilst we call computer code, 'languages' and they have a 'grammar' and a 'syntax', they aren't really languages.

Moreover, as a programmer, I've never come across code that actually is 'expressive' in the sense that actually existing living language are and given what I've said above, nor should we expect them to be.

They are 'clear' or 'obscure' to the small community that code for a living or as a hobby in terms of what that code is setting out to achieve and this will depend on ancillary stuff like in-code commenting, a descriptive naming strategy for functions, variables and the like as well as technical documentation and even access to the original programming team - depending upon the complexity of the code. It will also depend also on the underlying language itself - who now wants to read assembly code, or worse, machine code in hexadecimal?


How about murky?

Not clearly known, understood, or expressed:

murky writing

[American Heritage Dictionary]