Did you look at the source? It's like 160 lines of code. Experienced programmer could do this in one hour, and I'm sure someone with 1.5 months of javascripting could do it in a day.
You can't be serious. Take a good look at that code. Public and private vars and methods, proper indentation, proper variable scoping, pretty and readable (the cleanliness is the least believable part, does that like a noob's code to you?)
Have you ever worked with someone who has no programming background whatsoever and taught them programming? I have, and this kind of progress is insanity after 1.5 months. 10 hours/day or not, this kind of knowledge doesn't get uploaded to your brain Matrix-style.
Yes, it takes just years of practice to achieve proper indentation, or, you know, one key press in emacs.
I was a TA for an introductory computer class and yes, some people do write clean code within days. There are people who naturally get the how and the why of it.
I don't want to get too involved in this thread, but to further what you're saying: people from a background in the arts are also much more likely to care about how their code looks as corequisite to programming (or even reading/learning about code).
What, you're saying that because it's easy everyone will do it? That's funny.
The percentage of folks who started coding a month ago (and have 0 CS background) that format their admittedly-rushed one-day project properly is so low it's a rounding error. The number of them that indent properly and understand scoping is effectively 0.
Look at her background. This is an art project, not a coding project. The code could come from RAC for all it matters, this is a performance piece.
> What, you're saying that because it's easy everyone will do it? That's funny.
No, he said it's easy and some people will do it from the start.
You're saying it's easy but nobody will do it. Yours is the outlandish claim.
Whether or not she really began programming 114 days ago, her use of indentation is a really weak argument. Even if she wasn't focused on indentation, there are editors that make it an afterthought.
The public and private variables are suspect; but, they probably came from reading several, several tutorials, and she doesn't know how and when exactly to use them yet. In the snake code example, I also noticed that she was using different styles for calling methods on the document and snake; but that would also be from doing things like searching how to capture keyboard input from JS. Different people do it different ways.
As for the tabbing/etc? Especially in Javascript, all it takes is missing a few closing braces and many people will start tabbing out their code just to find where they missed the tab, then they'll start thinking "Hey, that looks nice, I'll do it more!"
And, as other people have mentioned, if you're using an IDE or any intelligent text editor (even Notepad++), it'll start auto-tabbing for you.
The public and private variables are suspect; but, they probably came from reading several, several tutorials, and she doesn't know how and when exactly to use them yet. In the snake code example, I also noticed that she was using different styles for calling methods on the document and snake[1]; but that would also be from doing things like searching the internet on how to capture keyboard input from JS. Different people do it different ways.
As for the tabbing/etc? Especially in Javascript, all it takes is missing a few closing braces and many people will start tabbing out their code just to find where they missed the tab, then they'll start thinking "Hey, that looks nice, I'll do it more!"
And, as other people have mentioned, if you're using an IDE or any intelligent text editor (even Notepad++), it'll start auto-tabbing for you.
[1] When I was first learning Java, I didn't know why classes had to start with public class; nor did I know why I had to write a seemingly long-winded public static void main(String[] args) magic phrase to make the program start there. I didn't know what any of those words meant, but I did them because they were the right thing. Now, years later, I know what each part of that means; but, I did it back then because it was what I was told I was supposed to do. She is probably in that phase for many of these things; and, that's okay! If she keeps up with her craft; and, as her time starts coming to a close, she starts creating novel projects or slows her use of tutorials, you'll see she's starting to create her own style; and that's okay too!
She's an artist. She knows when tracing helps like she knows when drawing it freehand helps. Funny enough, painting/drawing and programming aren't all that different in some styles. Start with the scaffolding and fill in the details.
Which is precisely the reason why I am skeptical.
I would find it more believable if she wrote 500 sloppy lines.
Maybe I am a bad programmer but I often write elaborate code without much elegance and then go back and enjoy reducing the number of LOC without the code loosing expression which to me equals elegance (ie the code is still easily readable and understandable just with a lot less code so just squeezing everything in one line doesn't count).
Recently I refactored a project a junior dev wrote by the factor of about 100 by rewriting it and using basic OOP (it was a copy and paste nightmare).
This piece definitely showcases Jennifers dedication and is nice self-marketing but using this as a measuring stick for newbies would be unfair and unrealistic.
edit:
Upon reflecting why it strikes me as odd is that when I started out programming I focused on one website I wanted to build and kept adding features rather then building as much different stuff as possible. Hence I probably can't assess whether her accomplishments are realistic.
this is also a very good point. her code is polished and precise. any unused variables in there? missing semicolons? unintentional globals? nope. these are all things i would expect to see from someone just jumping into javascript, as well as at least 300 more lines of code for a program of this level of complexity, not just algorithmically, but in canvas manipulation as well.
either she is a motherfuckin genius or she is really good at finding puzzle pieces and putting them together. not to say she hasn't learned a great deal from the process, but i don't believe she's superhuman, either.
I don't think most newbies can dedicate 10 hours a day, seven days a week for six months either. When I first started programming it was hard to sit still for more than an hour and remain focused. Really in the end her time elapsed over the course of six months will probably be equivalent to my time elapsed over my first year and a half, and I was dangerous by then.
So I agree, this isn't a good measuring stick for newbies who don't have the same time or focus.
Have you ever worked with someone who has no programming background whatsoever and taught them programming? I have, and this kind of progress is insanity after 1.5 months. 10 hours/day or not, this kind of knowledge doesn't get uploaded to your brain Matrix-style.