Здравствуйте, Shmj, Вы писали:
S>Допустим, по умолчанию все функции сделать async, а компилятор уже сам оптимизирует.
Если проектировать язык с нуля, то можно.
S>Понятно что для системных языков это не годится, но для бизнес-языков вполне.
Не очень понятно что вкладывается в понятие "системный язык".
S>Получается если не нужно ждать результата функции — пишем наоборот — nowait. Если ждать результат — ничего не пишем, по умолчанию.
Так работает Go
S>Т.к. в основном асинхронных больше и даже если какая не асинхронная — то компилятор мог бы сам оптимизировать.
Основная проблема в том, что асинхронность придется "прибивать" к рантайму, её нельзя будет сделать с помощью библиотеки, нельзя будет написать свой шедулер на этом языке и прочие радости.