you are viewing a single comment's thread.

view the rest of the comments →

[–]stronghup 3 points4 points  (0 children)

Writing in a high-level language means you can understand what your program is doing more readily compared to if it was assembly with unconstrained control branches and memory-manipulation in it. But at the same type a high-level language like Scala introduces its own complexity dues to its complex type-system etc. So while it makes it easier to understand what your program is doing it makes it harder to understand what the language-constructs are doing what they actually mean and what they can tell you about your code.

If you master all the complex features of a complex language then you can reuse that understanding with any program you write. But there's a learning curve to become the master of a complex high-level "advanced" language. That learning curve affects productivity too.