1) applications rest on the shoulders of giants, it isn't efficient to learn too much more than you need to. If you only need to "understand" at a high level, you should just use tools that "do it for you" at lower levels - It's just a shame there are not better FLOSS competitors to Mathematica.
2) It should be clear what the "understanding dependencies" are - i.e. when some knowledge of the foundations can inform the higher levels, and when they don't. If I understand what 'sorted' means, I don't need to know the details of any specific sorting implementation to use it.
3) The way mathematics is split up into a million small, set-theoretically-abstract lemmas etc makes it so much harder to understand. It makes even familiar concepts hard.
1) applications rest on the shoulders of giants, it isn't efficient to learn too much more than you need to. If you only need to "understand" at a high level, you should just use tools that "do it for you" at lower levels - It's just a shame there are not better FLOSS competitors to Mathematica.
2) It should be clear what the "understanding dependencies" are - i.e. when some knowledge of the foundations can inform the higher levels, and when they don't. If I understand what 'sorted' means, I don't need to know the details of any specific sorting implementation to use it.
3) The way mathematics is split up into a million small, set-theoretically-abstract lemmas etc makes it so much harder to understand. It makes even familiar concepts hard.