To my understanding, the so-called "strong-typing" feature is one big
benefit of the Delphi object pascal language.
As stated by wikipedia:
Most generally, "strong typing" implies that the programming language places
severe restrictions on the intermixing that is permitted to occur, preventing
the compiling or running of source code which uses data in what is considered
to be an invalid way. For instance, an addition operation may not be used with
an integer and string values; a procedure which operates upon linked lists may
not be used upon numbers. However, the nature and strength of these
restrictions is highly variable.
Some Delphi users may find this is a limitation of the language, in
comparison with other "fashionable" script idioms (like Python, Javascript of
Ruby). For me, runtime strong typing (alla Python or Ruby) is not true strong
typing. Simon Stuart just
proposed a smartstring
kind of string, which is in fact a
weakstring
type. As far as I understood his point, he wanted to
get rid of all the warnings emitted by Unicode-version of the Delphi compiler,
about explicit string
conversion.
In fact, I use to go in the opposite direction. For wide projects,
strong-typing is one of the big benefit of using Delphi (like other main
"serious" languages like Java, C, C++, Ada or C#).