Hacker News new | past | comments | ask | show | jobs | submit login

Isn't this to be expected when you add abstraction? I'll argue that not "knowing what [the] code is doing" isn't such a bad thing. In fact, I don't think we can have advances in language design without relaxing the constraint you're alluding to.

Consider an extreme scenario where I've designed a language where the following line of code does what you'd expect:

    ask for an input, assume it is a number, calculate its factorial, and display it
Notice that you have never seen this language before and you have no idea what's going on under the hood to make this happen. However, you know what the code is expected to accomplish.

I think that's a worthwhile tradeoff. It's what all of these languages are trying to do - to allow the programmer to write down their thoughts as close to human language as possible. You only need to care about how things work at the lower level of abstraction when the abstraction has a bug or needs changing. If I can work 80% of my time at the level of abstraction of the "code sample" above (diving into the nasty internals 20% of the time) I'd start using that language immediately.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: