I’ve been programming in C for the last year. It is the language I am most familiar with at the moment. C has a strictness that seems to be JavaScript’s mission to avoid. My C textbook was from the ’70s and was told it was still the best textbook for C because the language hasn’t changed or evolved at all. There was just one or two rules that had developed like “never use gets.” From the brief introduction and the time I’ve spent programming in JavaScript, there seems to be none of that strictness and it’s being constantly developed. Not being bound by variable types in arrays and being able to create dynamic functions at runtime is freeing. JavaScript seems to open up new possiblities, allowing programmers to not have to account for every possiblity at compile time like C and create flexible and adaptable programs.
The constant development and freedom on JavaScript can also be daunting to a new programmer. The style guide for JavaScript in our class is extremely long and mentions various versions. It can be very overwhelming. In C, I understood what every line of my code did in memory. For JavaScript, I have only the vaguest ideas. For every new feature I learn, I wonder if I truly understand what I’m programming. With a high level programming language like JavaScript, do I even need to know what exactly is going on in memory as long as the logic is correct? I’m excited to learn JavaScript and answer these questions for myself.
I really like the idea of athletic programming for learning a programming language. It really focuses on improving our knowledge of the language we are working with until we become familiar enough to succeed on the timed programming projects(WODs). I do feel like it is the opposite of what other classes focus on, which is making sure we sit down and design out a program before we start typing. The pressure is defintly not good for encouraging calm analysis, but the WODs seem to be more about turning out simple algorithms as fast as possible to increase our skill in JavaScript.