On 9/15/05, Phlip <phlipcpp / yahoo.com> wrote: > Static typing is _wrong_, and the right alternative is linguistic support > for _optional_ typing. Try building an operating system without static typing. The point is that you use the right tool for the job. C# is a great language, and the future is looking especially bright for it. With the Mono project, and a few other, .NET is a great platform to use as well. You can really do some neat things with it. > Then when you retrofit a language design feature, instead of building it in > from scratch, you can't use it to simplify everything. Even its syntax will > suck. Has every feature that is currently a part of Ruby been a part of Ruby from the start? I doubt it. C#'s syntax is great for what it is used for. You should use the best tool for the job. If the situation is one where you are using several different languages, or any of the several other advantages of using the .NET platform, use .NET / C#. If the situation is different, and you're implementing a micro-kernel, use C. If you're creating a web application, use Ruby with the Rails Framework. There is not now, nor will there ever be a 'one-size-fits-all' language. It's that simple. You can't implement Ruby in Ruby, you have to use C. That's never going to change.