Skip to content

Instantly share code, notes, and snippets.

@markerikson
Created July 23, 2017 19:24
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save markerikson/0a15452009c706b3c6b60be41e3d08f1 to your computer and use it in GitHub Desktop.
Save markerikson/0a15452009c706b3c6b60be41e3d08f1 to your computer and use it in GitHub Desktop.
Reactiflux logs: projects as the best learning tool

[7:50 PM] acemarke: @jon.m : fwiw, I always have learned best when I had a project I was working on, and needed to implement some feature I'd never built before
[7:50 PM] acemarke: nothing motivates you to learn a particular concept or technology like needing it to build a feature
[7:50 PM] acemarke: ie, "learn generators" isn't terribly useful or motivating
[7:51 PM] acemarke: but "I need to make my async code easier to read / build a complex async logic feature, and Redux-Saga requires use of generator functions" is more of a specific motivation
[7:52 PM] acemarke: now, there's nothing wrong with going out and reading up on a specific feature - promises, generators, observables, etc
[7:52 PM] acemarke: always great to have more tools in the toolbox
[7:52 PM] acemarke: but ultimately you need something to apply those tools to
[7:52 PM] CPT: I agree. Having motivation helps
[7:52 PM] jon.m: I keep seeing this TreeHouse commercial on youtube that says a guy got a front-end dev job after six weeks of studying there.....

I've been grinding two years and still no dice.
[7:52 PM] CPT: Lol 6 weeks
[7:52 PM] acemarke: if y'all don't mind me story-telling and reminiscing a bit
[7:52 PM] jon.m: Generators sounds fun.
[7:52 PM] jon.m: yes
[7:52 PM] jon.m: six weeks
[7:52 PM] acemarke: (he says, making himself sound way older than he actually is)
[7:52 PM] jon.m: tell the storyyyyy
[7:53 PM] acemarke: okay. So, I'd never actually programmed before college. Checked out "Learn C++ in 21 Days" a couple times in high school, returned it unopened each time
[7:53 PM] jon.m: lol
[7:53 PM] acemarke: first programming class wasn't until spring quarter freshman year
[7:53 PM] astronautshark: :SataniaLaugh:
[7:53 PM] acemarke: I did finally do a bit of C++ winter quarter, just before that
[7:54 PM] astronautshark: My first language was MATLAB I think where arrays started at 1
[7:54 PM] acemarke: so intro class was procedural C++ stuff. Basically C, but with string and cout instead of const char* and printf()
[7:54 PM] acemarke: at the end of that quarter, End-Of-Freshman-Year me thought I knew soooo much about programming
[7:55 PM] acemarke: End-Of-Freshman-Year Me was an idiot :)
[7:55 PM] acemarke: buuut
[7:55 PM] acemarke: that summer I decided to write my first "real" program
[7:55 PM] acemarke: I wanted to write a tool that could download webcomic pictures
[7:56 PM] acemarke: very doable - most webcomics have a very simple format for naming their pictures. Something like comicMMYYDD.png, or something
[7:56 PM] acemarke: just need to feed in the base URL, a format, and a date range
[7:56 PM] acemarke: well, I needed a few things: a GUI, network requests, and date classes
[7:56 PM] acemarke: all I knew at the time was C++
[7:57 PM] acemarke: so I searched around and found this thing called Qt
[7:57 PM] acemarke: which, being a full-blown C++ GUI toolkit, used all these weird concepts I hadn't yet dealt with or learned in school, like "pointers" and "classes" and "inheritance"
[7:58 PM] acemarke: but I picked up the basics playing around with that, and managed to put together a program that basically accomplished what I wanted
[7:58 PM] acemarke: got back to school that fall. Next programming class on the curriculum?

"Object-Oriented Programming with C++"

I did pretty well in that course :)
[7:59 PM] acemarke: so, moral of the story: CS majors are good, classes are good, learning specific concepts is a good thing
[7:59 PM] acemarke: but getting hands-on with a project and giving yourself a reason to build something specific is a great motivator for learning new concepts

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment