For abstractions think: automated memory management, rich class/object libraries, idiomatic libraries, compilers that recognize and vectorize common usage patterns, runtime error handling, dynamic typing, etc.
That's not obfuscation, its faster code development, easier to read code, simpler maintainability.
Everything at a higher level than stack, manual heap, processor instruction, registers, explicit addressing and modes, direct I/O, and networking primitives level.
To have all that help, but still be able to drop down to the lowest level, in one consistent toolset is really nice for development and reliable sharing.
(Only a Julia fan at a distance! Not had the pleasure.)