MY PROBLEM WITH CODE.ORG (2017-2018)
owenthe.devHi. I submitted this because I am an AP (American program that allows you to get college credit) CS Principles student that uses code.org for the class. I took the class after being told by the school we'd learn actual Java in the class (our school doesn't offer AP CS A which i know now is the actual Java class). However, I now realize that this isn't Java, or even JavaScript - it's just a nonexistent version of the JavaScript they think is too scary to teach us.
First of all, let me tell you that the particular programming language you learn doesn't matter very much. Programming is much more about a certain kind of structured thinking (knowing what you want and then coming up with a detailed plan to achieve it) and implementing that plan in a programming language is the easiest part. Switching to a different language just means you need to look up how to do basic stuff for a while until you get used to it. The not-so-basic stuff mostly stays the same.
Secondly, the author of the article should've known they have no idea what they're talking about (quote: "I’m not a JS developer") yet that doesn't stop them from repeatedly and confidently stating that code.org uses FakeScript, not JavaScript.
The test they use to "prove" that is flawed: "This is not real code. It’s psuedocode. As is evident by using js.do: JavaScript error: Uncaught ReferenceError: onEvent is not defined on line 2"
If the code were not valid JavaScript, there would be a syntax error instead. The error message tells us that the code is syntactically correct JavaScript, but could not be executed successfully because it references values ("onEvent" in this case) that are not present in the current environment.
Having different functionality available in different environments is completely normal, especially for JavaScript where every browser ships their own variant and we need websites like https://caniuse.com/ to tell us which browser supports what functionality.
That code.org provides additional features in their environment doesn't mean what you're learning is less "real", it just means you'll have to provide that functionality yourself if you switch to a different environment.
Finally, when submitting this article to HN, you should've lowercased the headline.