I've been working through Eloquent Javascript for roughly the past two weeks, and I'm having a fucked up time.
Lemme give you some background here:
I'm a recently graduated art major from UCLA. This was an art practice degree, so most of my classes were studio classes where I would, y'know, make art. I read a lot of postmodern theory, a lot of feminist and postcolonial theory, and looked at a lot of art, visited a lot of museums, and had all kinds of involved, messy discussions about the work that I made and the work that my colleagues were making.
My experience with code up until now consisted of a couple of programming-related classes that were offered in the Design|Media Arts. I touched Arduino, Processing, and HTML/CSS/Javascript, but only ever enough to finish the project we'd been assigned. I mostly copied and pasted sample code, editing it to suit my needs. I did a little bit of codecademy and freecodecamp, but didn't end up sticking with those things either.
I started getting serious about studying programming towards the beginning of August 2018. I started with How To Design Programs, but actually found it a little too visual for me. I hated having to mathematically line up the edges of shapes, and ultimately didn't stick it out. I took Lambda School's 10 day Intro to Web Development course, which I liked a bit more, but-y'know, was only 10 days long. I did pretty well in this class, and felt like I was quickly able to grasp and internalize the concepts they were teaching.
After that, I started really working at Eloquent Javascript, and it's been a brutal experience so far. I got through the first 3 chapters without too much trouble, but the chapter 4 exercises took me somewhere around 20 hours to complete. I spent days trying to even define the parameters for the program I was trying to build, had to spend an entire day debugging it, and another day mapping it out to ensure that I understood its flow. I wrote and debugged over 100 lines of Javascript in my attempt to answer the question, and it probably took close to 15 hours just to finish the one problem.
I finished it today, made sure that everything worked, looked at the solution, and- it was just 10 lines of code.
Holy fucking shit.
The strange thing is that I don't feel defeated. I feel like going from essentially zero to being able to write recursive functions to handle objects is quite an achievement for two weeks' worth of work. I feel like the clusterfuck of sub-optimal code I wrote is cool- that it reflects an understanding of how to handle and manipulate data, how control flow works, and the tenacity to build something all the way out without having enough knowledge or experience to recognize the graceful, simple ways of doing it. I can't match an experienced programmer in speed, maintainability, or legibility, but I sure as hell can build the same functionality, given enough time and coffee.
I feel inspired, seeing such a superior solution. I feel the desire to dig into it, to find the things I'm missing, to figure out what it would take for me to get on that level. I know that I can do it, and that I'm learning more quickly and more deeply than I should be. I'm far out of my depth, but every so often, I manage to get a mouthful of air, and it's thrilling.
I felt incredibly accomplished in completing this problem set. What's more interesting to me now, though, is discovering that I'm not done. I've only just started on it.
Top comments (1)
👏🏽👏🏽👏🏽
Thanks for sharing!