From: Clemens Hintze Date: 2001-01-15T22:40:02+09:00 Subject: [ruby-talk:9335] Re: 101 Misconceptions About Dynamic Languages >>>>> "Patrick" == Patrick Logan writes: (...) >> Ehrm ... could you please show me an example *without* using >> typecasts, how you would pass in "any damn thing" to a function >> in C++? Patrick> Not without typecasts, but typecast is part of the C++ Patrick> language. And since that essentially puts you on the Patrick> bare metal, you can mess up the entire process with a Patrick> misplaced typecast. Then C++ is strongly typed! If you write programs without typecasts, find the compiler complaining, put a typecast blindly, then you cannot expect things work well. I have found some colleagues of mine acting like that ever and ever again :-( In my experience, typecasts are seldom really necessary. Most often in C++ projects I've seen typecasts, they have hidden or tried to overcome some design flaws. I would say typecasts are type violations!!! That means when using the strong typesystem of C++ you cannot achieve your goal, you use typecasts that C++ provide to help you to come out of that misere. That means you *violate* C++'s typesystem/checking *on*purpose*. While you doing this, you are -- of course -- totally responsible for the results then! C++ only offer those possibilities to violate his own typesystem on your heart contents. But in that sense, C++ also offer pointers! You can do this as well in Ruby! Easiest, if writing own Ruby classes in C! Mistakes here are mirrored on the upper level too! In comp.lang.misc I had asked folks about opinion/understanding what strongly typed/typechecked, typesafety means. I could many valuable answers. But I still have the impression that there are different understandings for these terms. For me, most often, calling a language strong typed without typechecking is senseless, IMHO. Others have other opinions, of course. :-) Patrick> -- Patrick Logan mailto:patrickdlogan@home.com \cle