helins / binf.cljc

Handling binary formats in all shapes and forms
Mozilla Public License 2.0
132 stars 2 forks source link

how similar is this library to tech.datatype #7

Closed zcaudate closed 2 years ago

zcaudate commented 2 years ago

Are any features comparisons between binf and https://github.com/techascent/tech.datatype

It seems that the two have a lot of overlap and I'm curious where each libraries strengths/focuses are.

helins commented 2 years ago

While both might look a bit similar at first, I would put them in different categories.

tech.datatype is definitely more oriented towards data science. On the other hand, BinF is mostly about binary protocols: over the network, from various files, etc. And it is CLJS-compatible. A good example is one of my primary motivation behind this lib: working with MIDI. It's a binary protocol, MIDI messages can come from actual devices, from the network, there is also a file format, etc. By using BinF, I had a straightforward way of handling this bin protocol under all those different contextes, both on the JVM and in the browser. Even though MIDI is not particularly complex, there wasn't any CLJ(C) library at that time that could do the job.

zcaudate commented 2 years ago

got it. It's super nice. it reminds me a lot of gloss.

tech.datatype has some very odd protocols - mainly because there are abstractions to interact with the gpu (at least when I looked at v1) as well as the view based stuff you've got.