Re: what is a "typed" OO language?

adaworks_at_sbcglobal.net
Date: 03/01/05


Date: Tue, 01 Mar 2005 02:55:27 GMT


"Tian" <wangtianthu@gmail.com> wrote in message
news:1109618700.089810.241910@g14g2000cwa.googlegroups.com...
> I still have another question, which language is
NOT typed?
>
Ultimately every programming language is typed at
some level of abstraction.

However, the type system may be dynamic instead of
static. Further,
the effects of the type system may be hidden from
the programmer.

For example, Lisp is typed, but the programmer can
usually ignore the
concerns for typing. Smalltalk is especially
nice in the convenience of
its type system. Python, Ruby and, to some
extend, Perl, are helpful
in letting the programmer ignore strict type
safety.

Even when a data item is dynamically typed, at the
programming level of
abstraction, it eventually needs to be represented
in the underlying hardware.
At that point, if it is a floating-point number,
it needs to behave as one. If
it is an integer, it needs to have integer
properties. If it is a string, the
representation of a string is required.

So, typing is a kind of abstraction. A class is
simply a special kind of type.
The important idea is "levels of abstraction."
The appropriate question is
"What language represents data at a level of
abstraction that allows the
programmer to ignore the underlying type system?"

If you are looking for a language with a
convenient type abstraction model,
that is fun for programming, allows you to build
really entertaining applications,
and type safety is not a factor, consider
Smalltalk.

Richard Riehle



Relevant Pages

  • Re: Unsigned Indexing (was: some other sad story)
    ... It is at the source level where the higher abstraction is useful. ... transcend the language as much as possible, ... expert speaker of a human language--an expert programmer also ... have some "signedness abstraction" imposed on them by some higher ...
    (comp.programming)
  • Re: Obstacles for Tcl/Tk commercial application development ?
    ... language, if variable X is declared as integer it will remain so forever ... Except for integer overflows, this has nothing to do with static vs ... Integer overflows can't happen on a correct static type system either. ... Or maybe I'm just a better programmer. ...
    (comp.lang.tcl)
  • Re: Type safety on wikipedia
    ... > Even with unchecked conversion Ada has the 'Valid attribute, ... > the programmer to determine if the result of an unchecked conversion is ... A type-safe language has a type system with these two properties: ...
    (comp.lang.ada)
  • Re: More static type fun.
    ... abstraction boundaries by this extension itself. ... If there is a language extension that allows me "change the function ... > works well with basically unchanged Common Lisp programs. ... matter whether the type system is dynamic or static. ...
    (comp.lang.lisp)
  • Re: PLOT: A non-parenthesized, infix Lisp!
    ... but not on the side of types safety (strong typing). ... programmer uses types as a tool. ... Which language are we talking about? ... about its type system. ...
    (comp.lang.misc)