Update README.md
This commit is contained in:
parent
2b2d40c4f5
commit
544e291347
1 changed files with 34 additions and 27 deletions
61
README.md
61
README.md
|
@ -5,17 +5,18 @@ Bolt
|
|||
<img height="100" src="https://github.com/boltlang/Bolt/blob/master/logo.png?raw=true" />
|
||||
</p>
|
||||
|
||||
Bolt is a new programming language in the making for rapidly building complex web applications.
|
||||
Bolt makes writing applications dead-simple, and will eventually also support mobile and desktop.
|
||||
Bolt is a new programming language in the making for rapidly building complex
|
||||
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
|
||||
applications insanely fast, while at the same time guaranteeing that your programs
|
||||
do what they are supposed to do.
|
||||
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
|
||||
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
|
||||
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?
|
||||
|
||||
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.
|
||||
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 cumbersome 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, while not giving in on
|
||||
performance or correctness.
|
||||
|
||||
### Why should I choose Bolt over JavaScript?
|
||||
|
||||
|
@ -58,10 +62,10 @@ about _correctness_, _performance_ and _scalability_.
|
|||
|
||||
### When will the first version be released?
|
||||
|
||||
We have set the 1st of August as a deadline for version 1.0.0, though there
|
||||
are no guarantees. There's a lot of work that still needs to be done, and we
|
||||
prefer to take our time and make the right decisions from the start rather than
|
||||
having to cope with fundamental design issues later on.
|
||||
There's a lot of work that still needs to be done, and we prefer to take our
|
||||
time and make the right decisions from the start rather than having to cope
|
||||
with fundamental design issues later on. Therefore, you'll probably have to
|
||||
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)
|
||||
for more information.
|
||||
|
@ -78,22 +82,25 @@ programmming language. Together we can move mountains!
|
|||
### What languages inspired 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,
|
||||
while Haskell helped guide the type checker and standard library design.
|
||||
Traces of other languages can be found, too.
|
||||
The macro system was inspired by Racket's macro system,
|
||||
and the sucesses of garbage-collected languages like Go, JavaScript, Python and Java convinced me that
|
||||
this feature is a must-have.
|
||||
shares a lot of its syntax and semantics with. Rust is the language that
|
||||
inspired Bolt's syntax, while Haskell helped guide the type checker and
|
||||
standard library design. Traces of other languages can be found, too. The
|
||||
macro system was inspired by Racket's macro system, and the sucesses of
|
||||
garbage-collected languages like Go, JavaScript, Python and Java convinced me
|
||||
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?
|
||||
|
||||
Right now, Bolt looks a lot like Rust. I think the developers of the Rust programming language did a great job at
|
||||
creating a language that is both pleasant to read and write and is open to a lot of optimisations. However,
|
||||
Bolt does not come with the advanced borrow checker of the Rust language. It simply 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.
|
||||
Right now, Bolt looks a lot like Rust. I think the developers of the Rust
|
||||
programming language did a great job at creating a language that is both
|
||||
pleasant to read and write and is open to a lot of optimisations. However, Bolt
|
||||
does not come with the advanced borrow checker of the Rust language. It simply
|
||||
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
|
||||
|
||||
|
|
Loading…
Reference in a new issue