What are reasons to choose a non DSL scripting language over statically compiled language such as C#?
-edit- Good answers so far. I feel I should explain further. I
It's kind of been mentioned tangentially, but the question as phrased contrasts 'statically typed' versus 'scripting', and it's a false dichotomy. It's possible to have both, in languages like F#, where there is succinct syntax, type inference, and an interactive REPL. There are some trade-offs and tensions on both sides, but you get a lot of the best of both worlds.
Portability to other platforms, and simpler development environment (usually just a text editor, not Visual Studio).
In my experience two things are the most important decision that you have to make before you start designing / coding:
There is no use in going with C++ if you don't even get the idea of templates or OOP in general.
Imho the most important point, because i.e. you want to code sth like twitter, you can write your own omnipotent webserver in Lisp and hack things like javascript- or form-convenience-functions together - but why no just use i.e. Tomcat/Java/Wicket or respectively Apache/PHP/Synfony? So all the basics are covered, well-tested and with many resources online. Even more you should consider ORM-frameworks/database-wrappers - they save a real lot of time and errors - if you need them.
As a rule of thumb: If you start completely from scratch (i.e. research) pick the language you like most (and ofc is powerful enough for your task), if you do development in an common field (i.e. websites) pick the language according to your skills and the already available tools.
If performance is really an immediate concern, stick with the compiling languages.
Just my $0.02
The main drawback is that those features are often too powerful, and without an strict discipline it's very easy to write code that is unmaintainable.