106 karma · joined July 21, 2008
Kidding. Where's the tl;dr?
I've worked at a couple of startups, two groups at Apple, two groups at Google and now at Twitter. I've learned two things chasing a feeling of fulfillment, like you seem to be:
1. You can't expect your job to give you the all of the fulfillment you need.
2. The most fulfilling work is the kind of work that's just challenging enough, but not too challenging--http://en.wikipedia.org/wiki/Flow_(psychology)
My point is that it's better to design the plumbing of an application with some longer-term considerations than just "what do we need to implement that UI wireframe."
Minimal viable products are cool and all, but let's not use that as an excuse to write something that will need to be thrown out wholesale to add that big traction-building feature.
And when there isn't an existing example of what I'm trying to do close at hand, I find the Backbone docs to be quite good.
bullshit.
jslint or clojure compiler would have found this error at "compile time."
coffeescript would have made it a non-issue.
It's MDMA, BBC.
no offense to the authors of course, they did a great job in both cases.
Too bad it assumes knowledge of C++. I hope I can still follow it with my limited C++ knowledge.
If the superclass-subclass relationships aren't in place for you (worse yet, they're not set up how you want them to be set up), this hack accomplishes a similar effect with no refactoring.
Animal animal = zoo.getAnimal();
Can I do animal.bark() or animal.fly() ? All I know is that it's an Animal of some sort, may or may not be an instance of the Dog or Bird subclasses of Animal.
There's also Rubinius. I think an exhaustive test suite for the language spec is a good thing.