delphi is a strongly typed high-level programming language, intended to be easy to use and originally based on the earlier object pascal language. pascal was originally developed as a general-purpose language "suitable for expressing the fundamental constructs known at the time in a concise and logical way", and "its implementation was to be efficient and competitive with existing fortran compilers" but without low-level programming facilities or access to hardware. turbo pascal and its descendants, including delphi, support access to hardware and low-level programming, with the facility to incorporate code written in assembly language and other languages. delphi's object orientation features only class- and interface-based polymorphism. metaclasses are first class objects. objects are actually references to the objects (as in java), which delphi implicitly de-references, so there is usually no need to manually allocate memory for pointers to objects or use similar techniques that some other languages need. there are dedicated reference-counted string types, and also null-terminated strings.