A high-level programming language is one that lets you design your solution in a way that represents the real-world problem as closely as possible. Assembly is low-level because its code does not resemble the real-world problem at all, and is rather just a long list of instructions.

An Object Oriented language, however, has high-level features because it allows you to design your program in a way resembling the problem - you can define code that represents the elements and objects involved in your problem. This is called providing layers of abstraction, or abstraction mechanisms.

High-level languages are not always as efficient as the more direct Assembly language, but this depends mostly on the compiler, optimizer and language design. High-level languages lack efficiency because they achieve things in a more roundabout way - the abstraction mechanisms often have overheads in terms of efficiency.

Programs written in high level languages MAY be less (time) efficient than programs written in assembler due to the overheads of abstraction mechanisms. It is important to note, however, that PROGRAMMING LANGUAGES DO NOT EXECUTE PROGRAMS, so to talk of this as a language feature is not strictly meaningful, let alone correct.

Efficiency is relative to a given semantics.

The speed of programs depends on the compilation and excution systems ('the system'), and on the style and of skill of programming. For example, it is possible to write Lisp programs for numerical computation that outperform FORTRAN programs, except where the FORTRAN programs are seriously optimised.

OTOH, it is possible (even easy) to write horribly inefficient assembler (for all values of efficient) unless you know what you are doing. Today's optimising compilers are typically better than most humans. After years of research...Compilers have the advantage that a lot of knowledge about efficiency is put in one place, available to you, sir, for only a few hundred dollars!! (USD only, send only cheques or international money orders)

High level languages seriously win-out in terms of cost-efficiency of development, as development is typically (ceteris paribus) quicker, cheaper, and the final product costs less to maintain.

Log in or register to write something here or to contact authors.