top | item 21173822

(no title)

baszalmstra | 6 years ago

One of the creators here. I appreciate the upvotes but its way too soon for that. Mun is currently in the very very early stages of development. It originated out of frustrations with Lua game development at Abbey Games. Lua is a great language but lacks performance, refactoring functionality and doesn't scale well with modern technology. However, there is no real alternative when it comes to code iteration times.

I do understand some of the comments questioning the publication of a website for a programming language that isn't even finished. Our goal was to have a platform to share progress and gauge interest on the topic to further help us develop Mun. We feel like there is no point in developing a programming language in private. Instead we want to actively engage with the community while developing Mun.

The website does state that its still in very early development. Should we emphasize this more?

discuss

order

mrec|6 years ago

From the Syntax section:

> We take inspiration from a scala of application, scripting, and systems programming languages

The word "scala" reads really oddly in that sentence; none of the English-language meanings of the word [1] fits, and to a technical reader it's just asking for confusion with the Scala language. Maybe replace with a clearer and less formal "bunch"?

The syntax shown looks very Rusty, and I believe this started as a thought experiment for Rust. Do you see value in keeping that link explicit? That is, using Mun as a prototyping language for early iteration, then "freezing" it to vanilla Rust with minimal syntax changes once happy with the result?

Also, if the goal here is fast iteration, it'd be interesting to see some ballpark figures for compilation times, which is one of Rust's major Achilles heels today.

[1] https://en.wiktionary.org/wiki/scala#English

hestefisk|6 years ago

Agree. Or, if need for something more formal, ‘range’.

moomin|6 years ago

Can I suggest that what you wrote here is actually a much better opening motivation than what’s on your site?

1) We like this thing that fits into the following use case 2) But we feel it has the following limitations 3) Which we’re planning to address like this.

I think it’s really important to establish what ecosystem slot you’re aiming at. If it makes it to others, fine.

Lerc|6 years ago

The two things I would recommend for clarity.

State that it is not suitable for production yet. Perhaps a link to show the most advanced program that currently exists to show where the limits are.

If you are seeking donations, be clear about _who_ you are. Otherwise you could be seen as a scam project.

baszalmstra|6 years ago

Thank you, we will incorporate that. Can you elaborate on what the things are you are seeking about who we are?

ourlordcaffeine|6 years ago

> Lua is a great language but lacks performance

Come again?

I was under the impression that Lua, especially luajit, were incredibly fast languages

skybrian|6 years ago

Sure, it's quite good, but maybe they want performance closer to Rust?

ksec|6 years ago

>The website does state that its still in very early development. Should we emphasize this more?

Yes the Work in Progress Part should swap its places with Pillars. And it should include "Pre Alpha" in it. So we know what stage it is in.

gravypod|6 years ago

What does mun plan to do that will improve performance over luajit?

baszalmstra|6 years ago

LuaJIT performance on PC is very fast when its using the JIT. However, on consoles and some mobile platforms JITing is not allowed due to not being allowed to write to executable memory for security reasons.

Mun compiles to machine code with LLVM so it should be very fast as well, hotloading overhead can be completely removed in builds where hotloading is not required (production builds for instance). Mun should therefor be able to run as fast as native code on all platforms.

minxomat|6 years ago

LuaJIT is not available on every platform. Love2D for example is pretty slow on iOS, especially at computing paths etc for custom draw calls.

Defold is slightly different, still allowing Lua scripting, but not more than that, which is the appropriate place for Lua in a mobile-dominated market.