4 ms·
I spent 2.5 years at Google, and most of what I did was pushing one protobuf from one place to another :) - and I loved it... Honestly though, you can complain
by malkia 8y ago
I spent 2.5 years at Google, and most of what I did was pushing one protobuf from one place to another :) - and I loved it... Honestly though, you can complain all day, but some of the decisions made in the list you presented most likely come from experience (daily) not as a user of protobufs (which I simply was), but someone that had to support a plethora of compression formats, how protobufs gets stored in the different databases, proxying, etc. etc.
Your "oneoff" and "repeated" might've been (I dunno really), a decision based on metrics where encoding repeated oneoff would've cost more, or made problems, more testing, or who knows what.
For one, Google was, and I believe still is open to discussing all kinds of matters, and you can get on to a design doc and comment if you like, if you care, if you have something to say... You can definitely influence, and people really did talk (you can even experience this from their public design docs - like from chromium, etc.).
And I love protobufs, so I guess I'm biased...
- mer1inyx 8y agoI only interned at Google but I also really liked protocol buffers, somehow it seems very structured and defined to me, and better than Java. But this could just be that I haven't worked with better things... Lol
- marssaxman 8y agoWow, different strokes indeed. Discovering that most of what I was supposed to do at google was going to consist of pushing protobufs from one place to another completely destroyed my enthusiasm for working there. I hated it!
- asdfasgasdgasdg 8y agoI got bad news for you but almost all programming is just moving bytes from one place to another, and occasionally multiplying, adding, subtracting, or dividing some of them. ;)
- malkia 8y agoI wasn't expecting really to work on a next breakthrough algorithm, and such (although folks in my team actually worked on some incredible statistics related stuff - and this is where I understood I know nothing about statistics). Plenty for everyone, I think. I'm glad I was part of the experience! As an ex-game tools developer (back then, and back again - current job), it was quite a change for me. If I haven't learned enough, then at least seen things from quite different perspective.
- jamesfmilne 8y agoCome and work in the film industry, where you will also discover it is still mostly plumbing, moving data from one place to another. (Hello from another fellow Real Software alumnus :D)
- marssaxman 8y agoHi! That's a name I haven't seen in a while. :-) Oddly enough, I worked on film-industry data plumbing for a couple of years before I joined Real - a distributed, fibre-channel based file system called Centravision. Just looked it up and it's apparently still in use, two acquisitions later, under the name "StorNext"...
- reacweb 8y agoIt is the first time I work on a project using protobuf. Previously, I have used corba, asn1 and xml. Protobuf (in java) is a real pleasure to work with.
- seedless-sensat 8y agoIgnoring possible implementation difficulties, the application of a repeated oneof seems very esoteric. In most cases repeating the underlying fields is cleaner then repeating a oneof. E.g. instead of repeated oneof Option { Foo foo = 1; Bar bar = 2; } use simply: repeated Foo foo = 1; repeated Bar bar = 2; There is no longer "one of", therr are multiple, so why keep the complexity? If the interleaved ordering really matters, you can always fall back to a sub-message.
- jiveturkey 8y agohttps://memecrunch.com/meme/C2A45/protobuf-pipeline/image.jpg?w=1024&c=1 https://memecrunch.com/meme/C2A45/protobuf-pipeline/image.jp...