<p>What makes a language strongly typed? I'm looking for the most important aspects of a strongly typed language.</p>

<p>Yesterday I asked if PowerShell was strongly typed, but no one could agree on the definition of "strongly-typed", so I'm looking to clarify the definition.</p>

<p>Feel free to link to wikipedia or other sources, but don't just cut and paste for your answer.</p>

Strongly typed means you declare your variables of a certain type, and your compiler will throw a hissy fit if you try to convert that variable to another type without casting it.
Example (in java mind you):
```
```
int i = 4;
char s = i; // Type mismatch: cannot convert from int to char
```
```