Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Language Reference Implementation #5

Open
miili opened this issue Nov 3, 2022 · 2 comments
Open

Language Reference Implementation #5

miili opened this issue Nov 3, 2022 · 2 comments

Comments

@miili
Copy link
Member

miili commented Nov 3, 2022

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
Copy link
Collaborator

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
Copy link
Member Author

miili commented Nov 4, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants