annotate src/capnproto-git-20161025/doc/_posts/2013-06-27-capn-proto-beta-release.md @ 54:5f67a29f0fc7

Rebuild MAD with 64-bit FPM
author Chris Cannam <cannam@all-day-breakfast.com>
date Wed, 30 Nov 2016 20:59:17 +0000
parents 9530b331f8c1
children
rev   line source
cannam@48 1 ---
cannam@48 2 layout: post
cannam@48 3 title: Cap'n Proto Beta Release
cannam@48 4 author: kentonv
cannam@48 5 ---
cannam@48 6
cannam@48 7 It's been nearly three months since Cap'n Proto was originally announced, and by now you're
cannam@48 8 probably wondering what I've been up to. The answer is basically
cannam@48 9 [non-stop coding](https://github.com/kentonv/capnproto/commits/master). Features were implemented,
cannam@48 10 code was refactored, tests were written, and now Cap'n Proto is beginning to resemble something
cannam@48 11 like a real product. But as is so often the case with me, I've been so engrossed in coding that I
cannam@48 12 forgot to post updates!
cannam@48 13
cannam@48 14 Well, that changes today, with the first official release of Cap'n Proto, v0.1. While not yet
cannam@48 15 "done", this release should be usable for Real Work. Feature-wise, for C++, the library is roughly
cannam@48 16 on par with [Google's Protocol Buffers](http://protobuf.googlecode.com) (which, as you know, I used
cannam@48 17 to maintain). Features include:
cannam@48 18
cannam@48 19 * Types: numbers, bytes, text, enums, lists, structs, and unions.
cannam@48 20 * Code generation from schema definition files.
cannam@48 21 * Reading from and writing to file descriptors (or other streams).
cannam@48 22 * Text-format output (e.g. for debugging).
cannam@48 23 * Reflection, for writing generic code that dynamically walks over message contents.
cannam@48 24 * Dynamic schema loading (to manipulate types not known at compile time).
cannam@48 25 * Code generator plugins for extending the compiler to support new languages.
cannam@48 26 * Tested on Linux and Mac OSX with GCC and Clang.
cannam@48 27
cannam@48 28 Notably missing from this list is RPC (something Protocol Buffers never provided either). The RPC
cannam@48 29 system is still in the design phase, but will be implemented over the coming weeks.
cannam@48 30
cannam@48 31 Also missing is support for languages other than C++. However, I'm happy to report that a number
cannam@48 32 of awesome contributors have stepped up and are working on
cannam@48 33 [implementations in C, Go, Python]({{ site.baseurl }}otherlang.html), and a few others not yet
cannam@48 34 announced. None of these are "ready" just yet, but watch this space. (Would you like to work on
cannam@48 35 an implementation in your favorite language?
cannam@48 36 [Let us know!](https://groups.google.com/group/capnproto))
cannam@48 37
cannam@48 38 Going forward, Cap'n Proto releases will occur more frequently, perhaps every 2-4 weeks.
cannam@48 39 Consider [signing up for release announcements](https://groups.google.com/group/capnproto-announce).
cannam@48 40
cannam@48 41 In any case, go [download the release]({{ site.baseurl }}install.html) and
cannam@48 42 [tell us your thoughts](https://groups.google.com/group/capnproto).