A fun programming languge.
Maybe easier to say what we hate about different languages, than what we love:
Tuning GC.
Formatting code. I don't care about opinions.
Verbosity. Long words used when short words would be fine. My screen is only so big.
Keyboard acrobatics. Code that looks like math. Syntax more like Ruby than C++.
Exception handling. Not try/catch or magic numbers.
Tools (especially compilers and type systems) that put barriers in the way of me solving my problem
Complex syntax
Significant whitespace
async/await
Things that need to be supported:
{
name: "name"
}
the key name
is should not be the same as the value "name"
. They should have distict types.
{
customer.id: "123"
product.id: "456"
}
Good ideas that could be pilfered:
Dumb questions:
Do you need classes for anything other than state machines? Can we avoid "classes" altogether?
Use cases for programming tools
val x = new Customer("Bob") // this says nothing about the immutablity of the Customer object, but says that `x` cannot refer to any other object, which is pointless