DAS-RCN / RCN_DASformat

4 stars 1 forks source link

Language Reference Implementation #5

Open miili opened 1 year ago

miili commented 1 year ago

As Python is good for drafting and iterating quickly, I think the aim should be to provide a general reference (similar to libmseed) written in a universal language. Here I would propose a proper implementation in Rust. When written in Rust, bindings for Python / C / C++, event WASM (JavaScript), Julia and other programming languages and Matlab are easy to produce.

This concept is similar to libmseed. Where numerous wrappers for other languages are derived from.

andreas-wuestefeld commented 1 year ago

Sure, you are very welcome to add that here However, python is widely used by researchers (despite it's shortcomings) My vision is to provide here reference readers in a variety of languages. The users can then decide speed over convenience (or hassle to learn a new language)

miili commented 1 year ago

Well, the point is that that a proper reference implementation (like libmseed) can be used in any language through bindings. And also guarantees that a standard is enforced, this leads to adoption and compatibility. Further, extensions to a standard are easier to handle. Any performance improvement (e.g. in data layout) in the reference would benefit all languages.

Often it is missed, that a standard needs an accompanying library. It is an integral part of any standard.