Parece haber un gran desacuerdo sobre lo que constituye el poder lingüístico. ¿Es brevedad, legibilidad, adaptabilidad o simplemente la integridad de Turing? Creo que todos estos factores entran en juego, por lo que quizás la mejor manera de verlo es en términos de estadísticas. Sí, estoy hablando de RPG de lápiz y papel, aquí.
La idea es que cada idioma tenga (aproximadamente) el mismo número de "puntos", que se pueden distribuir arbitrariamente en varias categorías. Para fines de discusión, digamos que los únicos factores son brevedad, legibilidad y flexibilidad. Un lenguaje puede ser extremadamente conciso y flexible, pero en consecuencia muy difícil de leer; o muy legible y flexible, pero extremadamente detallado.
(Podría decirse que la cantidad de puntos que un idioma tiene que distribuir está definida por la habilidad del diseñador e implementador, pero supongamos que todos los diseñadores de idiomas son igualmente buenos en lo que hacen).
Cuando un diseñador de idiomas decide aumentar la fuerza de un idioma en una categoría, lógicamente le quita una fracción de esa fuerza potencial a todas las demás categorías. Es por eso que a menudo se dice que el diseño del lenguaje de programación se trata de compensaciones. Desde este punto de vista, el poder general de un idioma aún no es definible, y tenemos que volver al método probado y verdadero de categorizar idiomas en función de sus fortalezas relativas. ¿No es satisfactorio? Demasiado.
Puede argumentar de dos maneras: que un lenguaje poderoso es uno con una distribución relativamente uniforme de puntos (jack of all trades, master of none), o con tantos puntos como sea posible en un área sin dejar a otros desatendidos (especialista). No existe el lenguaje del "hombre renacentista", con dominio perfecto en numerosos campos. Y si esa es su definición del lenguaje más poderoso posible, entonces simplemente no tiene suerte.
Para leer más, este artículo (por coincidencia también de Paul Graham, que parece tener opiniones encontradas) toca la idea de que, aunque sea difícil determinar cómo , los lenguajes de programación varían en potencia. Él argumenta de manera bastante persuasiva que es muy fácil ver cómo un lenguaje es menos poderoso que el preferido (le falta la característica X), pero es muy difícil ver cómo un lenguaje realmente más poderoso es, de hecho, es básicamente equivalente al lenguaje X, pero con un montón de otras cosas arrojadas. Te dejo con una cita de ese periódico:
Por inducción, los únicos programadores en condiciones de ver todas las diferencias de poder entre los distintos idiomas son aquellos que entienden el más poderoso. (Esto es probablemente lo que Eric Raymond quiso decir con Lisp para hacerte un mejor programador). No puedes confiar en las opiniones de los demás, debido a la paradoja de Blub: están satisfechos con el lenguaje que usan, porque dicta el cómo piensan sobre los programas.