"You don't. You teach hardware about web developers."

I mean I hate the limitations of C macros and the esolang that C++ can become, as well as facets of every language, but seriously, if language is a barrier then how did anyone learn javascript? It's been said that JS is one of the languages that people think they don't need to know in order to use. Every language is like this, honestly. You write hello world and abstract away from there.

Look at it, clearly, without surrounding distractions:

---Nobody, I mean nobody, thinks they need to know JS before they start using it, and lo and behold everyone, and I mean everyone, can learn to use it--- What a phoking coincidence!

To some degree isn't the community holding itself up by pretending JS is a security blanket instead of cough that thing that Node is written in that is apparently graduating to a real language? Is anyone going to get absolutely worse at JS when it becomes totally real?

Now, when it comes to setting some pin to hi-state, it becomes very important to be able to execute some instruction to move some register value to some memory address. Do it once. Put it in a C function. Bind C function into Cython. Call Cython from Python. You never have to do engineer your code precisely once you've given the low-level part an API into a high-level language. Let me think about the barrier to entry into writing Cython. Serously, it takes 5 min. Reading the documentation on calling the function that does that thing you need to do takes 5 min.

An understanding of the device and its limitations becomes very helpful when it's breaking. That's something I don't want to figure out from the Phonegap API. I want to reduce my problem to hello world in C, the world where nothing happens if I don't do it, the clear void from which a single expression can be tested without a complicated data-model below it. VM's don't tell you about real devices. I'm not asking anyone to get their RAM emulator out, but can we get over this BS about JS and web being something for everyone but all that code architecture stuff being only for people who double-majored EE and CS? Study a line of brainfuck. Read a minimal program written in LLVM IR. Write a program that outputs '1'. You're programming in that hard stuff. I assure you, you didn't just give away four years of your life and 50k in student loans.

Meanwhile JS/HTML/CSS, while ubiquitous, suck pretty hard. JS is the least sucky. I hate HTML like I hate metastasizing pancreatic cancer. <hello><twice><everything/></hello></twice>. CSS, that language that accepts no math because expressions are hard and Photoshop is easy so only programmers end up using CSS and designers who would benefit from something easier can't be bothered to even learn that(!?!?!?!).

I maintain an application framework that uses data-binding in a terse format, Cython for fast/low-level things, and Python for the development API. AMA. =D

I do want to add on top of this criticism that I was impressed by the work and do applaud the pro-activeness going on. Openness and accessibility are very important. I just think it's very important to constantly, persistently, call "nonsense" at perceived barriers that prevent the community from bootstrapping itself in any way whatsoever. There is a way. It's okay to say JS and C++ are both crap. It's not personal. We can all learn tons of languages and have that one that we use to think in.