Sin embargo el paradigma sin clases está comenzando a popularizarse y ya ha sido implementado en lenguajes de programación como JavaScript, Pauscal, Cecil, NewtonScript, Ío, MOO, REBOL, Squeak y varios otros.
De esta forma, partiendo de lo que conforma a un objeto original (propiedades y métodos) se reutilizan sus funciones creando una instancia del mismo en distintas partes del programa donde se necesite.
Los entusiastas de la programación basada en prototipos a menudo argumentan que los lenguajes basados en clases animan un modelo del desarrollo que se centra primero en la taxonomía y las relaciones entre las clases.
Como tal, muchos sistemas basados en prototipos animan la alteración de prototipos durante tiempo de ejecución, mientras que solamente muy pocos sistemas orientados a objeto, basados en clase (como el primer sistema orientados al objetos dinámicos, Smalltalk) permiten que las clases sean alteradas durante la ejecución de un programa.
La instancia resultante heredará todos los métodos y propiedades que se han definido en la clase, que actúa como una especie de plantilla a partir de la cual se pueden construir objetos con tipo similares.
Por lo general, estas preocupaciones se refieren a: la corrección, la seguridad, la previsibilidad, la eficiencia y la falta de familiaridad del programador.
Para el lenguaje mismo, mucho tiempo de desarrollo se destinó a desarrollar, compilar e interpretar las técnicas para mejorar el rendimiento de los sistemas basados en prototipos frente a los sistemas basados en clases.
En Pauscal es posible crear prototipos que son generalmente utilizados para crear variables de procedimientos, un simple ejemplo es: Como se puede apreciar, el prototipo no es un procedimiento o función real, es una representación de estos que puede ser utilizada para crear variables de procedimientos, en casos más complejos, métodos para objetos o "esqueletos" para Apis.