go-plugin VS rust

Compare go-plugin vs rust and see what are their differences.

go-plugin

Golang plugin system over RPC. (by hashicorp)

rust

Empowering everyone to build reliable and efficient software. (by rust-lang)
Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • Scout APM - Truly a developer’s best friend
  • talent.io - Download talent.io’s Tech Salary Report
go-plugin rust
20 1788
3,863 72,365
3.5% 4.2%
5.9 10.0
about 1 month ago 1 day ago
Go Rust
Mozilla Public License 2.0 GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

go-plugin

Posts with mentions or reviews of go-plugin. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-09-13.

rust

Posts with mentions or reviews of rust. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-09-26.
  • Linus Torvalds: Rust will go into Linux 6.1
    12 projects | reddit.com/r/programming | 26 Sep 2022
    Actual serious answer: https://www.rust-lang.org/ It’s a systems programming language that focuses on correctness and safety.
    12 projects | reddit.com/r/programming | 26 Sep 2022
    From https://github.com/rust-lang/rust/issues/43364
  • Due to break statements allowing arbitrary expressions, this is valid:
    2 projects | reddit.com/r/rust | 26 Sep 2022
    There is even file filled with weird expressions in rustc's tests: https://github.com/rust-lang/rust/blob/master/src/test/ui/weird-exprs.rs
  • Faster and colourful Command-Line tools 🌈⚡
    13 projects | dev.to | 25 Sep 2022
    Rust is a programming language I want to get involved with. I came up with the idea of integrating some Command Line tools written in Rust in my day-to-day could be an excellent opportunity to get in touch with them as a user and, from there, maybe get involved in opening a new issue or drafting a Pull Request. Why not!
  • Why are Rust programs slow to compile?
    4 projects | reddit.com/r/rust | 24 Sep 2022
    I got curious about a few things, notably that MIR thing that seemed to be a work in progress... But when I checked, it seems that MIR has been in use for years already, unless I missed something out. So I'm not sure how outdated the reasons I found on the old website are. Do you know the reasons why Rust has slow compilation times today?
  • Do you avoid using certain language features?
    2 projects | reddit.com/r/rust | 24 Sep 2022
    It actually IS broken, and has been for 5.5 years. https://github.com/rust-lang/rust/issues/39364
  • The Road to 128 bit Linux
    5 projects | news.ycombinator.com | 23 Sep 2022
    The section about 128-bit pointers being necessary for expanded memory sizes is unconvincing -- 64 bits provides 16 EiB (16 x 1024 x 1024 x 1 GiB), which is the sort of address space you might need for byte-level addressing of a warehouse full of high-density HDDs. Memory sizes don't grow like they used to, and it's difficult to imagine what kind of new physics would let someone fit that many bytes into a machine that's practical to control with a single Linux kernel instance.

    CHERI is a much more interesting case, because it expands the definition of what a "pointer" is. Most low-level programmers think of pointers as just an address, but CHERI turns it into a sort of tuple of (address, bounds, permissions) -- every pointer is bounds-checked. The CHERI folks did some cleverness to pack that all into 128 bits, and I believe their demo platform uses 128-bit registers.

    The article also touches on the UNIX-y assumption that `long` is pointer-sized. This is well known (and well hated) by anyone that has to port software from UNIX to Windows, where `long` and `int` are the same size, and `long long` is pointer-sized. I'm firmly in the camp of using fixed-size integers but the Linux kernel uses `long` all over the place, and unless they plan to do a mass migration to `intptr_t` it's difficult to imagine a solution that would let the same C code support 32-, 64-, and 128-bit platforms.

    (comedy option: 32-bit int, 128-bit long, and 64-bit `unsigned middle`)

    The article also mentions Rust types as helpful, but Rust has its own problems with big pointers because they inadvisably merged `size_t`, `ptrdiff_t`, and `intptr_t` into the same type. They're working on adding equivalent symbols to the FFI module[0], but untangling `usize` might not be possible at this point.

    [0] https://github.com/rust-lang/rust/issues/88345

  • Traditional Packaging Is Not Suitable for Modern Applications
    3 projects | news.ycombinator.com | 22 Sep 2022
  • Rust 2024...the year of everywhere? by Niko
    3 projects | reddit.com/r/rust | 22 Sep 2022
    I am a bit confused, I have been using the async_closures feature for a while now and it has been working as expected so far. It's only on nightly though AFAIK. Is that what you mean that we don't have it?
    3 projects | reddit.com/r/rust | 22 Sep 2022
    I assume you mean this feature? It is on track to stabilization. In fact, it was expected to be stabilized in 1.64, but a major bug caused the stabilization to be reverted.

What are some alternatives?

When comparing go-plugin and rust you can also consider the following projects:

carbon-lang - Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)

zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

Elixir - Elixir is a dynamic, functional language designed for building scalable and maintainable applications

rust-analyzer - A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer]

Odin - Odin Programming Language

scala - Scala 2 compiler and standard library. For bugs, see scala/bug

mimalloc - mimalloc is a compact general purpose allocator with excellent performance.

wasmer - 🚀 The leading WebAssembly Runtime supporting WASI and Emscripten

go - The Go programming language

spaCy - 💫 Industrial-strength Natural Language Processing (NLP) in Python

Rustup - The Rust toolchain installer