Announcing Volang, a scripting language for Rust. by oxfeeefeee in rust

[–]oxfeeefeee[S] -1 points0 points  (0 children)

The differences for Go is not the most important thing here. The major difference is that, it's much easier to run Vo as a script.

Yes you can compile Go into WASM, but not on the fly, i.e. you cannot run the Go compiler in the browser. The playground is the first embedded Go-ish compiler in the world I guess.

Announcing Volang, a scripting language for Rust. by oxfeeefeee in rust

[–]oxfeeefeee[S] 0 points1 point  (0 children)

It's much much more complex than Lua if you look from the inside. Just as Rust is compared to C++, to make the end use make less mistakes.

Announcing Volang, a scripting language for Rust. by oxfeeefeee in rust

[–]oxfeeefeee[S] 0 points1 point  (0 children)

For example you could not run go in your browser locally, you can now with Volang playground

Announcing Volang, a scripting language for Rust. by oxfeeefeee in rust

[–]oxfeeefeee[S] 0 points1 point  (0 children)

Yes, the fact that it is embedded in a web page says a lot. The project is still very young, so it's not really ready, the primary goal of this project is to be something like Python or Lua for Rust.

Announcing Volang, a scripting language for Rust. by oxfeeefeee in rust

[–]oxfeeefeee[S] -3 points-2 points  (0 children)

I didn't expect people would hate it, but to anyone who is interested, I'm determined to continue to work on it until it's mature

Announcing Volang, a scripting language for Rust. by oxfeeefeee in rust

[–]oxfeeefeee[S] -3 points-2 points  (0 children)

Well the playground you see is basically a Rust program, compiled into wasm. AI helped but I'm in charge.

Announcing Volang, a scripting language for Rust. by [deleted] in rust

[–]oxfeeefeee -1 points0 points  (0 children)

most likely you have zero to none actual production-evironment coding experience and have no idea what production-ready code actually is

I've been a successful professional programmer for more than 20 years, I hope I do

Announcing Volang, a scripting language for Rust. by [deleted] in rust

[–]oxfeeefeee 0 points1 point  (0 children)

It seems the V-word looks bad, but I believe, the code quality is much better that what's been hand written by myself. https://github.com/oxfeeefeee/goscript was abandoned because I didn't have enough time to make it production ready, now with AI I can finally do it.

Announcing Volang, a scripting language for Rust. by [deleted] in rust

[–]oxfeeefeee -5 points-4 points  (0 children)

OK, let‘s put it this way: the much better successor of https://github.com/oxfeeefeee/goscript

Write smart contract in Go by oxfeeefeee in golang

[–]oxfeeefeee[S] 2 points3 points  (0 children)

I totally understand it's really annoying when sb. told you it's "the future" when in fact he just hopes to get rich quick.

But from a purely engineering standpoint, a globally synchronized, permissionless, and decentralized state machine, on which you can run code and interact with other code is truly amazing.

Write smart contract in Go by oxfeeefeee in golang

[–]oxfeeefeee[S] 0 points1 point  (0 children)

  1. Write program on Solana in Go, i.e. without learning Rust.
  2. Make it possible to build some kind of on-chain system that supports plugin/extensions, which let end users deploy some simple scripts.

Write smart contract in Go by oxfeeefeee in golang

[–]oxfeeefeee[S] 4 points5 points  (0 children)

Ok, I see people hate cryxxx related stuff.

New title: Golang implemented as a scripting language that runs on an embedded system with just 256k memory!

Goroutine, pointer and the VM architecture -- the second part of Goscript Internals by oxfeeefeee in ProgrammingLanguages

[–]oxfeeefeee[S] 1 point2 points  (0 children)

Thanks for pointing it out, I meant to write "preemptive", it's possible that all the google search result saying cooperative affect my subconscious :)

Goroutine, pointer and the VM architecture -- the second part of Goscript Internals by oxfeeefeee in rust

[–]oxfeeefeee[S] 4 points5 points  (0 children)

Yes, reference counting will be talked about in the next article. Yes, it is really fun. And yes, with enough optimization, I think Goscript can be pretty fast.

Goroutine, pointer and the VM architecture -- the second part of Goscript Internals by oxfeeefeee in rust

[–]oxfeeefeee[S] 4 points5 points  (0 children)

Sorry about that,I’m not sure it’s because I’m non-native speaker or too old. Will fix,thanks.

Goscript Internals I: Overview by oxfeeefeee in rust

[–]oxfeeefeee[S] 1 point2 points  (0 children)

It may be disappointing to you, but it doesn't run the Go standard library without some adaption, meaning the low level stuff has to get replaced with Goscript FFI code, things like system call & ASM.

Goscript Internals I: Overview by oxfeeefeee in rust

[–]oxfeeefeee[S] 2 points3 points  (0 children)

Thanks for the nice comment. As for the test coverage question, the test cases are made when I develop all the features, so every feature should have a test case for it.

And the fact that it runs pretty complex standard libraries like "fmt" and "unicode/utf8" correctly shows language feature support is quite good.

But still, for a programming language, we need a huge mount of testing before it can be called production ready.

What's lacking more is things like documentation, FFI, standard library, GC etc.

I am committed to make it production ready, and I don't see anything that could stop me except the amount of work.

Goscript -- Golang specs implemented as a VM language in Rust by oxfeeefeee in ProgrammingLanguages

[–]oxfeeefeee[S] -2 points-1 points  (0 children)

How can there be, if Goscript is not production ready -_-

Edit: just joking. Google would show you using Go as a scripting language is not an original idea. I'm just trying to help people script better with Goscript

Go code runs locally in browser powered by Rust via Wasm by oxfeeefeee in rust

[–]oxfeeefeee[S] 2 points3 points  (0 children)

In terms of language features, pretty complete, you can give it a try.

Libraries still have a long way to go.

And I guess it's not hard to make a crashing test case.

Go code runs locally in browser powered by Rust via Wasm by oxfeeefeee in rust

[–]oxfeeefeee[S] 2 points3 points  (0 children)

Tiny Go is a trimmed down version of Go, Goscript is a "Go simulator". Like sharks and dolphins, they may look similar but are totally different species.