3 ms·
Yes the overall tone of the article was clear that it was "this is what you shouldn't do" - but I read it as implying that somehow this rube-goldberg-esque cont
by Patient0 14y ago
Yes the overall tone of the article was clear that it was "this is what you shouldn't do" - but I read it as implying that somehow this rube-goldberg-esque contraption was arrived at by a series of logical and reasonable steps, one of which would have been "re-write the REST layer because HTTP is slow". So it was kinda implying that this was actually a reasonable step to take in isolation...
My problem with the statement "HTTP is slow": All of the reasons why an HTTP connection might be giving poor performance (serialization costs, SSL encryption costs, TCP latency) are not intrinsic to HTTP and would be a problem for any protocol that goes over the network. So it's almost never accurate to say "HTTP is slow".
Anyway thanks for sharing the write up. It's easy to sneer and say "what a bunch of clueless idiots!" but when I think back on some of the stuff I did when I was first starting out as a programmer and thought I was shit-hot:
* My first ever experiment with Yacc ended up in a "scheduler" with a custom dependency language for expressing the dependencies, used to schedule our whole overnight batch processing
* After learning about smart pointers in C++, I knew that they were the way to go! I happily wrote: std::vector<std::auto_ptr<T>> - it was only a year after I had resigned that my (ex) boss, who was still on friendly terms, calls me up to query why the latest version of the C++ compiler won't compile this code.... "Did I write this? What the fuck was I thinking!?"
* I think my first Java class was a very complicated thing that, at the end of the day, allowed one to "more easily" write code to read a CSV file...
Well, it's all a learning experience! </shudder>
- DRMacIver 14y agoI'm not sure I would call the steps "reasonable" per se. They're much more obviously bad ideas in retrospect than they were at the time, but a lot of them should have been pretty obviously bad ideas at the time as well. On the HTTP is slow thing: I think I was pretty clear in the write up that we had failed to performance test and it wasn't at all clear that our replacement was faster. I think these are sufficient disclaimers that I was pretty obviously labelling it "HEY DON'T DO IT THIS WAY" :-)
- triplesec 14y agothis is where code gets to be a bit like dating and general human interaction. "it seemed like a good idea at the time".