Update README.md

This commit is contained in:
Sam Vervaeck 2020-11-15 10:09:06 +01:00
parent 2b2d40c4f5
commit 544e291347

View file

@ -5,17 +5,18 @@ Bolt
<img height="100" src="https://github.com/boltlang/Bolt/blob/master/logo.png?raw=true" /> <img height="100" src="https://github.com/boltlang/Bolt/blob/master/logo.png?raw=true" />
</p> </p>
Bolt is a new programming language in the making for rapidly building complex web applications. Bolt is a new programming language in the making for rapidly building complex
Bolt makes writing applications dead-simple, and will eventually also support mobile and desktop. web applications. Bolt makes writing applications dead-simple. Eventually, it
will also support mobile and desktop platforms.
Bolt has an unique mix of features that allows you to write fully-fledged Bolt has an unique mix of features that allows you to write fully-fledged
applications insanely fast, while at the same time guaranteeing that your programs applications insanely fast, while at the same time guaranteeing that your
do what they are supposed to do. programs do what they are supposed to do.
- **Garbage collected**, freeing you from worrying about memory management. - **Garbage collected**, freeing you from worrying about memory management.
- **JSX support**, so you write your views in the syntax you're already - **JSX support**, so you write your views in the syntax you're already
familiar with. familiar with.
- **Lots of useful language features** such as match-expressions, tuples, macros, static type checking, automatic type inference, and much more to give you the best development experience. - **Lots of useful features** such as match-expressions, tuples, macros, static type checking, automatic type inference, and much more to give you the best development experience.
- **Cross-platform standard library**, allowing you to write your code for the - **Cross-platform standard library**, allowing you to write your code for the
web platform and the native platform at the same time. web platform and the native platform at the same time.
@ -34,12 +35,15 @@ println!("The faculty of {} is {}", 5, fac(5));
### Why yet another programming language? ### Why yet another programming language?
Granted, there are _a lot_ of programming languages, but oddly enough I found myself Granted, there are _a lot_ of programming languages, but oddly enough I found
in the situation where I was still not completely satisfied. For example, Rust is a fantastic programming language, myself in the situation where I was still not completely satisfied. For
but writing web applications in it feels a little counter-intuitive due to its manual memory management. example, Rust is a fantastic programming language, but writing web applications
On the other hand, functional programming languages like Haskell and Idris look like they come straight out of the future, but sometimes have unpredictable run-time performance and force you to do weird things when all you want to do is mutate a variable. Bolt aims to solve these two issues, and to be a gate into more complex compilers. Who knows what the successor will look like? in it feels a little cumbersome due to its manual memory management. On the
other hand, functional programming languages like Haskell and Idris look like
More expressiveness, less boilerplate, and most of all more safety. Bolt is my first attempt at finding it. they come straight out of the future, but sometimes have unpredictable run-time
performance and force you to do weird things when all you want to do is mutate
a variable. Bolt aims to solve these two issues, while not giving in on
performance or correctness.
### Why should I choose Bolt over JavaScript? ### Why should I choose Bolt over JavaScript?
@ -58,10 +62,10 @@ about _correctness_, _performance_ and _scalability_.
### When will the first version be released? ### When will the first version be released?
We have set the 1st of August as a deadline for version 1.0.0, though there There's a lot of work that still needs to be done, and we prefer to take our
are no guarantees. There's a lot of work that still needs to be done, and we time and make the right decisions from the start rather than having to cope
prefer to take our time and make the right decisions from the start rather than with fundamental design issues later on. Therefore, you'll probably have to
having to cope with fundamental design issues later on. wait some time before you can actually preview this software.
You can have a look at the [first milestone](https://github.com/boltlang/Bolt/milestone/1) You can have a look at the [first milestone](https://github.com/boltlang/Bolt/milestone/1)
for more information. for more information.
@ -78,22 +82,25 @@ programmming language. Together we can move mountains!
### What languages inspired Bolt? ### What languages inspired Bolt?
Rust and Haskell are two of my favorite languages that you'll notice Bolt Rust and Haskell are two of my favorite languages that you'll notice Bolt
shares a lot of its syntax and semantics with. Rust is the language that inspired Bolt's syntax, shares a lot of its syntax and semantics with. Rust is the language that
while Haskell helped guide the type checker and standard library design. inspired Bolt's syntax, while Haskell helped guide the type checker and
Traces of other languages can be found, too. standard library design. Traces of other languages can be found, too. The
The macro system was inspired by Racket's macro system, macro system was inspired by Racket's macro system, and the sucesses of
and the sucesses of garbage-collected languages like Go, JavaScript, Python and Java convinced me that garbage-collected languages like Go, JavaScript, Python and Java convinced me
this feature is a must-have. that this feature is a must-have.
All in all, Bolt is a mixture of many very different programming languages, and I believe this mixture makes it unique. All in all, Bolt is a mixture of many very different programming languages, and
I believe this mixture makes it unique.
### What's the difference between Bolt and Rust? ### What's the difference between Bolt and Rust?
Right now, Bolt looks a lot like Rust. I think the developers of the Rust programming language did a great job at Right now, Bolt looks a lot like Rust. I think the developers of the Rust
creating a language that is both pleasant to read and write and is open to a lot of optimisations. However, programming language did a great job at creating a language that is both
Bolt does not come with the advanced borrow checker of the Rust language. It simply isn't needed, because Bolt uses pleasant to read and write and is open to a lot of optimisations. However, Bolt
a garbage collector underneath, and hopefully will contain some optimisations in the future that can make your programs does not come with the advanced borrow checker of the Rust language. It simply
as fast as Rust. isn't needed, because Bolt uses a garbage collector underneath, and hopefully
will contain some optimisations in the future that can make your programs as
fast as Rust.
## License ## License