TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Cap'n Proto 0.6 released – 2.5 years of improvements

336 点作者 0x1997大约 8 年前

14 条评论

DonbunEf7大约 8 年前
As usual, nobody has said &quot;capability&quot; yet, which is unfortunate, because one of Capn&#x27;s biggest strengths is that it embodies the object-capability model and is cap-safe as a result.<p>Edit: Why does this matter? Well, first, it matters because so little software is capability-safe. Capn&#x27;s RPC subsystem is based directly upon E&#x27;s CapTP protocol. (E is the classic capability-safe language.) As a result, the security guarantees afforded by cap-safe construction are <i>extended across the wire</i> to cover the entire distributed system. This security guarantee holds even if not every component of individual nodes is cap-safe, and that&#x27;s how Sandstorm works.<p>Continuing on, there&#x27;s also historical stuff going on. HN loves JSON; JSON is based on E&#x27;s DataL mini-language for data serialization. HN loves ECMAScript; ES&#x27;s technical committee is steered by ex-E language designers who have been porting features from E into ES.
评论 #14247992 未加载
评论 #14248833 未加载
评论 #14247449 未加载
drej大约 8 年前
This might be a contrarian view, maybe I&#x27;m misunderstanding it. To me, much of message passing is not performance critical, so it would be well served by JSON&#x2F;YAML&#x2F;XML for easy implementation&#x2F;testing&#x2F;debugging. If one needs performance, he can just send bytes over, which can be (de)serialised in a (couple) dozen SLOC. Sure, when you&#x27;re talking about very complex structures, RPC, dynamic schemas etc., then you might opt for something like this, but let&#x27;s be honest - that&#x27;s quite a minority of current users, isn&#x27;t it?<p>I never minded these frameworks, but then I wanted to write a few parsers for some file formats and they used Thrift&#x2F;Flatbuffers to encode a few ints, which seemed like a major overkill. There was no RPC, no packet loss, no nothing.
评论 #14244882 未加载
评论 #14245089 未加载
评论 #14245581 未加载
评论 #14244855 未加载
评论 #14244854 未加载
评论 #14245341 未加载
评论 #14248492 未加载
评论 #14244887 未加载
评论 #14253201 未加载
评论 #14246138 未加载
pagnol大约 8 年前
Some time ago I wanted to use Cap&#x27;n Proto in the browser but then I found that the only existing implementation written in JavaScript hadn&#x27;t been updated in two years and the author himself recommended against its use somewhere in a thread on Stackoverflow. I would love to use Cap&#x27;n Proto but for me a robust JS implementation is a sine qua non. Does anyone here happen to know if there&#x27;s been any progress in this regard or have I missed something?
评论 #14244714 未加载
评论 #14244749 未加载
评论 #14245431 未加载
评论 #14254281 未加载
评论 #14250507 未加载
hellofunk大约 8 年前
There is some strange geeky enjoyment from browsing all the serialization libraries out there. For my taste, I have centered on Cereal. When workind with C++ end to end, I have found it to be the easiest and fastest way to throw data around.
评论 #14244324 未加载
评论 #14244709 未加载
forrestthewoods大约 8 年前
Woohoo! Lack of first class Windows support always held me back. Looking forward to playing with this and seeing hopefully more regular future updates.
ipsum2大约 8 年前
Great stuff! Since this release comes after the release of GRPC and (slightly less related) Graph API and ships with a web server, how does it compare?
评论 #14244540 未加载
makmanalp大约 8 年前
What always trips me up about capnproto is that it&#x27;s billed as a serialization library, but what it is is an in-memory storage layout, and &quot;serialization&quot; is mostly just dumping memory into a file, right? (which is cool)<p>What confuses me is, then what are the costs of migrating to this system? Am I essentially dumping my programming language&#x27;s object model for my capnproto implementation&#x27;s? When can this be annoying? Or does it vary from implementation to implementation?<p>In a similar tangent - how similar is this to apache arrow, not because of the columnar analytics part, but could I expect to just dump a bunch of data in shared memory and read it from another process to eliminate IPC serialization&#x2F;copy costs?
评论 #14248927 未加载
grandinj大约 8 年前
Does it do protocol negotiation? i.e. can a client ask the server what interfaces it implements?
评论 #14244765 未加载
mhogomchungu大约 8 年前
I think this[1] API among others should be renamed and &quot;future&quot; be used instead of &quot;promise&quot; to better reflect C++ naming conventions.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;sandstorm-io&#x2F;capnproto&#x2F;blob&#x2F;247e7f568b1664cbcca1455243da06a7ab78c6a3&#x2F;c%2B%2B&#x2F;src&#x2F;kj&#x2F;async-io.h#L54" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;sandstorm-io&#x2F;capnproto&#x2F;blob&#x2F;247e7f568b166...</a>
评论 #14247898 未加载
educar大约 8 年前
Windows support is great but why is this a showstopper? This is a common problem in many libraries and the common solution is to mark those platforms as unsupported until sometime steps up. Also platform support is a dynamic list - platforms are kept alive by presence of contributors&#x2F;maintainers.
评论 #14244430 未加载
justforFranz大约 8 年前
Would it kill developers of open source to provide a simple, two-sentence explanation of what their app does?
评论 #14251184 未加载
TeeWEE大约 8 年前
Ver nice and technically better than gRPC. However i better bet my company success on a standard that the big giant Google is betting on, and other companies are embracing. Also client side libraries for all langauges is important. Probably gRPC is probably better here too?
评论 #14246933 未加载
halestock大约 8 年前
A bit off topic, but that title banner is a massive waste of space. It takes up more than half the space on my screen (15&quot; laptop).
评论 #14247022 未加载
DonHopkins大约 8 年前
The name &quot;Cap&#x27;n&quot; was forever tainted for me, from my traumatic experience with &quot;Cap&#x27;n Software Forth&quot;.<p><a href="http:&#x2F;&#x2F;www.art.net&#x2F;~hopkins&#x2F;Don&#x2F;lang&#x2F;forth.html" rel="nofollow">http:&#x2F;&#x2F;www.art.net&#x2F;~hopkins&#x2F;Don&#x2F;lang&#x2F;forth.html</a><p>&quot;The first Forth system I used was Cap&#x27;n Software Forth, on the Apple ][, by John Draper. The first time I met John Draper was when Mike Grant brought him over to my house, because Mike&#x27;s mother was fed up with Draper, and didn&#x27;t want him staying over any longer. So Mike brought him over to stay at my house, instead. He had been attending some science fiction convention, was about to go to the Galopagos Islands, always insisted on doing back exercises with everyone, got very rude in an elevator when someone lit up a cigarette, and bragged he could smoke Mike&#x27;s brother Greg under the table. In case you&#x27;re ever at a party, and you have some pot that he wants to smoke and you just can&#x27;t get rid of him, try filling up a bowl with some tobacco and offering it to him. It&#x27;s a good idea to keep some &quot;emergency tobacco&quot; on your person at all times whenever attending raves in the bay area. My mom got fed up too, and ended up driving him all the way to the airport to get rid of him. On the way, he offered to sell us his extra can of peanuts, but my mom suggested that he might get hungry later, and that he had better hold onto them. What tact!&quot;