The only downside is the lack of rigor in the codes (names of variables that change from one page to another, forgetting {} which distort all the code etc ...). Sometimes you have to think a bit to understand why it does not work and find the solution by itself (however this verifies that we understand ...).