Earlier quoted context omitted.
Go has a GCC implementation (which I use). PHP has alternative VMs and specialized servers for serving it fast and in encrypted manner (they are closed sourced), tho. Kotlin runs on JVM, which has at least three fully compliant implementations. Erlang is a specialized language and telecommunications platform. It’s something different.
For PHP, there is HVVM which, AFAICT, can run vanilla PHP and is open. TruffleRuby is a thing, as is JRuby. Implementing Erlang without implementing its VM and the whole infrastructure, which is a much larger task than merely a VM like Python's.
Rust front-end merged in GCC trunk
131–135 of 135 posts
Re: Rust front-end merged in GCC trunk
#132Earlier quoted context omitted.
This simply isn't true. Only C/C++ people have ever cared about having multiple implementations and have to cling to the catastrophe that those two standards are because of it.
Somehow Python people, Java people, Ruby people, JavaScript people managed to produce multiple independent high-quality implementations.
I will admit to not being familiar enough with Ruby to say anything about that
Re: Rust front-end merged in GCC trunk
#133Earlier quoted context omitted.
This simply isn't true. Only C/C++ people have ever cared about having multiple implementations and have to cling to the catastrophe that those two standards are because of it.
The catastrophe was that the C/C++ specification left too many things open for interpretation. Regarding "Only C/C++ people": there is at least one more language (Go) that has two implementations (the gc compiler and a gcc backend).
Re: Rust front-end merged in GCC trunk
#134Earlier quoted context omitted.
It's mostly a personal choice. Any piece of software I write is opened up, and licensed with GPL. I don't want my software dependent on a non-GPL toolchain to ensure its long term sustainability. I also try to choose GPL licensed libraries, and include everything required to build my code (incl. external libraries) inside my repository. In the end I want someone to be able to just clone the repo, and run make, or GCC…
I upvoted you. I have no idea why your comment received downvotes. I responded in a similar way to a conversation about Julia less than a week ago. For people who have trouble understanding this reasoning, a message from the GCC mailing list ( https://gcc.gnu.org/legacy-ml/gcc/2014-01/msg00247.html ) provides some of the explanation, which I reproduce here: In the free software movement, we campaign for the freedom o…
First, GCC as a whole has never been technically superior to the commercial competition. The reason why GCC was popular outside the GNU crowd and received as much funded development is that it was the best compiler across a range of popular platforms and had the best price, too.
Second, one of the main drivers behind the creation of clang has been the hostility to making the C/C++ frontend of GCC usable as a standalone tool. Richard explicitly wanted to force everyone to either deal with the GPL and his interpretation of what is derived work, or shell off the bucks for the Edision Design Group. This was a calculated choice as no one would want to invest the time to write another C/C++ frontend, right? He intentionally ignored all other use cases for C/C++ parser as a library (Language server, anyone? Refactoring tools?) and thereby actually hurt the user base on the GNU platform just as well. It can not be understated how disruptive clang was as a set of libraries outside the LLVM/clang compiler.
Third, GCC had as middle and backend compiler always was moderately accessible, but by structure somewhat harder to access for researchers or people wanting on special purpose tools like optimized code generation for computational kernels on matrixes.
GCC was forced to acknowledge the competition by finally getting a plugin interface in the GCC 4.5 days, but at that point, the cat was out of the bag.
Re: Rust front-end merged in GCC trunk
#135Probably a dumb question, but I'd really like to know if this somehow affects/improves Rust's support for dynamic linking in any way (i.e., when comiling Rust code with the GCC-based toolchain, instead of with rustc)?
I'd also note that any Rust you compile with GCC probably shouldn't be dynamically linked with Rust code compiled with rustc.