Comment Not too big of a surprise (Score 1) 709
While high-level abstractions like .NET and Java are splendid modern tools, nothing teaches you the fundamentals of how a computer thinks and works like a line-by-line BASIC program. Two reasons off-hand:
a) The leap to assembly language is natural and easily understood.
b) The leap in the reverse direction, to functional languages, is mostly a simple matter of wrapping blocks in headers and return statements.
If you start in a language with these two attributes, you're already 1 - 2 years into a collegiate computer science degree.