nothrow by default
Ola Fosheim Grøstad
ola.fosheim.grostad at gmail.com
Sun Jan 5 20:46:17 UTC 2020
On Sunday, 5 January 2020 at 20:22:14 UTC, JN wrote:
> There are reasons. A simpler language is easier to manage, both
> for compiler and for IDEs, potentially allowing faster
> development time and better performance/reliability, even if it
> doesn't have powerful features. From Go's FAQ:
I followed the arguments they put forth when Go first launched.
People complained loudly about not having good abstraction and
error handling mechanisms and they (the language designers) were
rather religious about their position. They are Unix/C/Plan9
people. Go as a language design does not provide better
reliability, you are not forced to handle errors properly. (Unix
APIs are also not great for correctness.) The Go designers found
that they had to add "exceptions". They found that they had to
add "generics". Coming in Go2.
When your function gets 100% larger because of the language lacks
basic abstraction/error handling features then that does not
improve correctness... Hiding the basic logic flow in error
handling branching is not good for correctness or maintenance
either.
They have marketed what it lacks as "good design". Go-people
parrot it as good design, but that does not make it true...
Fortunately, most server code is simple I/O. So it is OK for
writing a service, but not great, although the runtime makes up
for it. Somewhat.
More information about the Digitalmars-d
mailing list