|
You can't write a program in C without knowledge of assembly, unless you're willing to defer debugging to someone who does. You can't write a line of code in any language if you don't know, on some level, what it's doing in the machine (whether physical or virtual). Sure, you can, but you're not a programmer, you're a tinkerer. To really program, you need to know assembly. But at some scale, your application becomes large enough that no one person, no matter how well they know the assembly it's compiled to, can hold the whole thing in their head at once. At that point, reliably adding a new feature isn't hard, it's impossible. There will be side effects you can't predict. Abstraction isn't there for making hard things easy. It does, and that's nice, but that's not what we need it for. We need it to make impossible things possible. |
The situation of CoffeeScript would be like C if the only way to debug C code was to debug it in assembly.