From: Hugh Sasse Staff Elec Eng Date: 2000-10-21T01:30:38+09:00 Subject: [ruby-talk:5714] Re: Dynamic languages, SWOT ? On Sat, 21 Oct 2000, Charles Hixson wrote: > Sorry, I feel the need for clarification here. Ruby is strongly typed > AND dynamic. I think from what you say below, I may be using the terms imprecisely. > Weakly typed, statically bound languages are things like > Fortran60. There the language couldn't tell the type of the item upon > which you were operating, so it made assumptions based on the name. OK, I through K [?] as INTEGER, all others FLOAT. > Strongly typed, statically bound languages are like Eiffel and Ada. > The language knows what the type MUST be at compile time (except when All functions, parameters, and variables have types defined at compile time. Yes, I can see that is static. > unusual procedures are invoked). Weakly typed, dynamically bound > languages are ... well, there's assembler. Can't think of anything Perl4? I'm not sure. > else off the top of my head. Strongly typed, dynamically bound > languages are, among others, Ruby, Python, Common Lisp, Smalltalk, ... This is the area I'm thinking about where the typing is not so strong as would ease error detection. OK, types can be dynamic, but for parameters it only make sense for them to be in a subset of the class heirarchy. There is no way to express this constraint in Ruby or Python. I have not really used Lisp or Smalltalk. What I mean is that it is a weakness [in typing?] to allow a parameter to be of *any* class, for example when you know it must be a Numeric or descendent of Numeric. So does this weakness create a different strength which outweighs the inability to type-check at compilation time? I can see that supporting polymorphism is a strength, so that subclasses can be handled, but at the moment there is nothing wrong with passing in superclasses of the originally intended type. > Java seems to sit (un?)comfortably in the center, leaning towards sort > of strongly typed, and sort of dynamically bound. > > -- (c) Charles Hixson > -- Addition of advertisements or hyperlinks to products specifically > prohibited > Hugh hgs@dmu.ac.uk