Description

Designing a programming language has a strong subjective component.

There are features - such as type and property inference - that many would agree are useful, subject to proper language integration. But then there are features of which utility is not immediately obvious, and that could go either way when it comes to community adoption and scaling up to real, large programs. This talk discusses three such features of D - seemingly unimportant, maybe greeted with a ho-hum by the community, but today ubiquitously used and enjoyed.

It should be mentioned that the error handling example of C++ is not inherent to the language and shouldn't be considered modern anymore. There is a superiour way to achieve automatic undo behavior in case of errors:scope guard + C++11 lambdas

Now guess who invented former :)I'm a little curious why this didn't find a mention at all?

"cannot detect exceptional return" Usually this is not a problem since there is only a single place where the "task is fully completed", that is where you place the "dismissed". All other code paths, e.g. exception, premature return, do not matter.

> Some first naive implementationWhy not use an elaborate one?Like Loki's:http://loki-lib.cvs.sourceforge.net/viewvc/loki-lib/loki/include/loki/ScopeGuard.h?revision=1.6&view=markup

Always thought you had to be from another planet, you blew it with that move at 11:55!

Keep it up! Really starting to see the point for D, to me it has a bright future. If you can implement pattern matching you will rule the planet with this (after some libs are converted obviously). Wish I could use it here..