As the saying goes, you achieve perfection not when you have nothing more to add, but when there is nothing left to remove.
I would start with something mature and comfortable, like C# or Js, and start removing things that I think are bad. Async/await , void returns, null values, for/while loops, etc. Kill as much as possible. Then try coding. See what doesn't work, then fix it.
The only reason we don't do that within any existing PL is backward compatibility, but you won't have that problem. Instead you get tons of existing code that you can refactor to test your design. Don't reinvent the wheel.
As the saying goes, you achieve perfection not when you have nothing more to add, but when there is nothing left to remove.
I would start with something mature and comfortable, like C# or Js, and start removing things that I think are bad. Async/await , void returns, null values, for/while loops, etc. Kill as much as possible. Then try coding. See what doesn't work, then fix it.
The only reason we don't do that within any existing PL is backward compatibility, but you won't have that problem. Instead you get tons of existing code that you can refactor to test your design. Don't reinvent the wheel.
Most valuable comment. True indeed, thanks for the reminder.
"Inside every big ugly language there is a small beautiful language trying to come out." -- sinelaw