Update README.md
This commit is contained in:
parent
1659d722cc
commit
4ab189aab7
1 changed files with 21 additions and 11 deletions
32
README.md
32
README.md
|
@ -1,18 +1,19 @@
|
||||||
Bolt
|
Bolt
|
||||||
====
|
====
|
||||||
|
|
||||||
Bolt is a new programming language for rapidly building complex applications.
|
Bolt is a new programming language in the making for rapidly building complex applications.
|
||||||
Bolt has an unique mix of features that allows you to write fully-fledged
|
It Bolt makes writing web applications dead-simple, and will eventually also support mobile and desktop.
|
||||||
applications insanely fast.
|
|
||||||
|
|
||||||
- **Garbage collected** using state-of-the art garbage collectors where
|
Bolt has an unique mix of features that allows you to write fully-fledged
|
||||||
possible, so you don't have to worry about memory leaks.
|
applications insanely fast, while at the same time guaranteeing that your programs
|
||||||
|
do what they are supposed to do.
|
||||||
|
|
||||||
|
- **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.
|
||||||
- **Advanced language feature**, such as _algebraic effects_, making things
|
- **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.
|
||||||
like React's `useState` primitive objects in the language.
|
|
||||||
- **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 and the desktop at the same time.
|
web platform and the native platform at the same time.
|
||||||
|
|
||||||
```
|
```
|
||||||
fn fac(n) {
|
fn fac(n) {
|
||||||
|
@ -22,11 +23,20 @@ fn fac(n) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
print(fac(5)) // 10
|
println!("The faculty of {} is {}", 5, fac(5));
|
||||||
```
|
```
|
||||||
|
|
||||||
## FAQ
|
## FAQ
|
||||||
|
|
||||||
|
### Why yet another programming language?
|
||||||
|
|
||||||
|
Granted, there are _a lot_ of programming languages, but oddly enough I found myself
|
||||||
|
in the situation where I was still not completely satisfied. For example, Rust is a fantastic programming language,
|
||||||
|
but writing web applications in it feels a little counter-intuitive due to its manual memory management.
|
||||||
|
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?
|
||||||
|
|
||||||
|
More expressiveness, less boilerplate, and most of all more safety. Bolt is my first attempt at finding it.
|
||||||
|
|
||||||
### Why should I choose Bolt over JavaScript?
|
### Why should I choose Bolt over JavaScript?
|
||||||
|
|
||||||
Bolt was made to make writing user-interfaces dead-simple, while also making
|
Bolt was made to make writing user-interfaces dead-simple, while also making
|
||||||
|
@ -56,8 +66,8 @@ long as the user does not notice it, it does not really matter.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Bolt itself is licensed under the GPL-3.0, because we put a lot of work in it
|
Bolt itself is licensed under the GPL-3.0, because I put a lot of work in it
|
||||||
and we want the open-source nature of Bolt to be preserved. However, code that
|
and I want the open-source nature of Bolt to be preserved. However, code that
|
||||||
is compiled using the Bolt compiler may be licensed under any license you want.
|
is compiled using the Bolt compiler may be licensed under any license you want.
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
|
Loading…
Reference in a new issue