"Faster than C", I saw people write C code slower than a Python equivalent. So I have to admit, I don't know what it means for a language to be fast, because it depends on the algorithm being implemented and the developer who writes the code.
---
"simpler than Python", what does "simple" mean?
Simple design? Python's design is very complex (take a look at "Crimes with Python's pattern matching" < https://www.hillelwayne.com/post/python-abc/ > for example), on the other hand, assembly languages, or Lisp, or Forth, have a very simple design.
Simple as in "easy to use"? Rust is easy, write code, fix what the compiler tells you you did wrong. Joke aside, Go is quite easy to use and while I personally don't like this language, I get why it replaced Python in a lot of use cases.
Also, once you get used to the OTP framework, Erlang/Elixir/Gleam/any beam language are quite easy to use and have less footguns than Python.
---
"safer than Rust" is too vague. Is it memory safety? type safety? thread safety? cosmic ray safety? A mix of all of that?
Let's guess you meant "memory safety". All languages with a Garbage Collector are "memory safe".
It's a language inspired by Erlang/Elixir (same concurrency model) that compiles to Rust code (the runtime use tokio). It is immutable, have no Garbage Collector thanks to Rust semantics, and dynamically typed.
I haven't run any benchmark (it's not even finished, I've been working on the specification before continuing the implementation), but I guess it could be slower than a rock.
---
For some recommendations, have you looked at Zig? Nim? Hare?
Everything happening in a non-JIT-ted Python program is the action of compiled C code, so if a C program is slower, that just indicates that the C program is going out of its way to waste resources.
I don't need something faster than C. That only matters on the bleeding edge of AAA games, algo-trading, maybe adtech. None of the areas I choose to work. Also Python is too simple with dynamic types for me.
I’m pretty optimistic about V, it so far has great language ergonomics, solid performance, and memory safety through its “autofree” memory feature flag. https://vlang.io/
import os
text := os.read_file('app.log') or {
eprintln('failed to read the file: ${err}')
return
}
lines := text.split_into_lines()
for line in lines {
if line.starts_with('DEBUG:') {
println(line)
}
}
Is lines empty or program exited after the error at `app.log`
V is progressing well, but in beta. It has to maintain its momentum and focus, without getting derailed, and deliver a polished useable 1.0 release.
> ...memory safety through its “autofree” memory feature
V has different memory management options, which can be turned off and the libraries don't depend on them. GC (default and optional), autofree, arena allocator (prealloc), or manual. This is mentioned in the documentation (https://github.com/vlang/v/blob/master/doc/docs.md). It has numerous safety features, as part of its design, and coupled with the GC (default) or autofree, would provide significant memory safety.
Ada actually trades blows with C in Debian shootout game. It is the language of choice for automotive and aviation safety certification. You cannot get safer than that. and it doesn't have oddities of Rust.
reply