
On 5/10/05, Bulat Ziganshin
Hello Sebastian,
Tuesday, May 10, 2005, 8:39:23 PM, you wrote:
SS> I think that runtime error
messages given in terms of VALUES instead of compile-time error messages given in terms of TYPES are easier to understand for novice. also, strict regulations on datatypes are needed for professional program development, but will be just needless complication for learning concept of programming itself. even for mathematician Ruby will be a good choice
SS> I disagree. SS> Types is a very important concept and I think that should be SS> emphasized in the first lecture. If one goes through types _and_ SS> values from the very beginning a strongly typed language will be of SS> the same aid to beginners as it is to experts.
imvho, exposing types to non-professionals is like exposing light theory to a kid which just want to draw a picture. values are just enough to these peoples
Why? A value has a type, that's very natural and also important. It's more like teaching someone who wants to paint what types of paint exist and how they work together. I strongly oppose the idea that one should hide fundamental concepts to newbies, I think that will lead to extreme difficulties later on. Even in untyped languages you need a concept of types. You WILL need to say something like "'apple + 5' won't work because they have different _types_ of values", so why not use a language which enforces this concept in practice? I think it's better to enforce things like this to the newbie, once they have a good understanding of types _then_ they might be able to use an untyped language responsibly, but until they do I think it's fine for the compiler to instruct them when they make a misstake instead of simply getting some weird runtime error. You don't need to expose some of the more advanced type-system hacks, but simply ignoring something so fundamental such as types is in my opinion not very helpful. I really see no validity in the standpoint that untyped languages are better to teach to the newbie. /S -- Sebastian Sylvan +46(0)736-818655 UIN: 44640862