| There was a lot less dithering over proper database design; I just created objects in code and stored them wholesale. Aside from some administrative details/learning (zero knowledge going in), I spent far less time worrying about Mongo and more about my code, none of which has to do any manipulation of the database. On the code side, I already know JS pretty well, though mostly from a UI-manipulation side. It was more like extending knowledge I already had, than having to learn something completely new. The slowest part was trying to determine which modules met my needs, then sorting through the myriad of somewhat confusingly- (or just plain badly-) written documentation. The best part was being able to use the same language end-to-end. When I deal with PHP, there is always some context-switching between it and the other parts. This project flowed much more naturally and left me quite enthusiastic about whatever the next one is (I get a lot of latitude in devising solutions). Some of the code is probably badly-written and I'll spend some time cleaning that up (first project in Node) for an update and there are still a couple of parts to write (shell scripts, mainly). There's also one key part that no-one seems to be able to solve (MD5 in Mono won't match the MD5 from JS), but we'll figure that out as we can ignore it, for now. Really, given all the interruptions I faced during the process, going from zero to finished in two weeks of eight-hour days (including having to learn some things) feels pretty good. The same project in PHP would have taken about the same amount of time, without having to learn new things. Admittedly, I'm a slow coder because I want to make it right the first time so I don't have to f* with it later, not just have a running solution. I'm not as thrilled with PHP as I used to be and half the time, I feel like I should reinvent the wheel, rather than just using a lib. That's my informal review of the experience. Take it for what it's worth. |