The 4 stages of a C/C++ Programmer using JavaScript

Stage #1: Time T = -3 years:

What a stupid scripting language. I haven’t used it but it’s a scripting language and scripting languages suck. It’s not useful for anything other than form validation. Who cares. I’ll never use it except maybe to make a form not double submit on my personal website.

Stage #2: Time T = 0:

Ugh, I’ve got to do some stuff in JavaScript for this project. Fuck this language sucks. What the fuck is up with those global variables. What do you mean braces don’t define scope. Well at least I found some stupid way to make classes and inheritance work.

Stage #3: Time T = +3-5 years:

Wow, if I use closures creatively and everywhere JavaScript is pretty interesting. All this async stuff happening for free. And all these APIs that just work. I can put something on the screen without needing 14 libraries and spending a week trying to figure out how to get a window to appear. I don’t have to figure out how to render fonts on 7 different platforms in 17 languages. I can download images, draw stuff in canvas and WebGL, play audio, access the camera and mic and with very minor hiccups it just works. I get immediate feedback, just refresh. Stuff can be styled by my designers without my having to write tons of code and when I want to show someone I just send them a link. This is pretty awesome.

Stage #4: Time T = +5 years:

I’m going to do some C/C++ programming again. Ugh! WFT this stuff no longer compiles! Why doesn’t this project load in my IDE anymore. They must have changed the format. DAMMIT why doesn’t libglfobar link? Ugh! What? I’ve got to write 200 lines of meta-templating code just to make generic callbacks? Fuck! Why is this so tedious! Oh you want to check it out? Sorry I don’t have access to a Mac to compile it for you. Sorry. Fuck I hate C/C++!

followup here.

  • Mr Kad

    looool this is almost exactly the stages i went through, closures, json, ajax, arrays where you dont have to jump through hoops to make associative or to just get the effin length/size