After years of recoiling at the sight of code like this, am I supposed now to embrace it in a spirit of reconciliation?
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
dynamic blah = GetTheBlah();
Console.WriteLine(blah);
}
private static dynamic GetTheBlah()
{
if (DateTime.Now.Millisecond % 3 == 0)
return 0;
else
return "hello world!";
}
}
}
need to wash my hands.
Funny you should mention it. The dynamic keyword seems like the new Variant. Ah well… much like JavaScript, you don’t have to use everything!
No, you shouldn’t embrace that code. Nor would a hard core JavaScript/Ruby/Python/WhatEverDynamicLanguageYouWantToName developer embrace that. You can shoot yourself in the foot in any language, static or dynamic, so don’t blame bad code on what a language allows.
That might be an abuse of the dynamic keyword :)
Well-typed programs can’t be blamed. A paper by Philip Wadler.
I’d like to have a way of yielding a compiler warning if there’s a ‘dynamic’ thing in the app! :)
You can convert that to csh and make it better :-)
Right! And the point of static typing is to prevent what kinds of abuse?