Habrá alguna vez macOS 11?

La respuesta es «no».

Demasiada gente, tanto dentro como fuera de Apple, no ha seguido históricamente las directrices de desarrollo de aplicaciones de Apple.

Esto incluye un montón de archivos de cabecera y bibliotecas suministradas por Apple, además de los productos de Apple.

Si se tratara sólo de productos de Apple, Apple podría asumir ese coste de una sola vez, y simplemente aumentar el número de la versión principal.

Si se tratara sólo de las bibliotecas suministradas por Apple (un «framework» es una biblioteca más los archivos de cabecera para las bibliotecas), entonces Apple podría asumir un coste de una sola vez algo mayor, actualizar las bibliotecas, y simplemente aumentar el número de la versión principal.

Una vez que llegas a los frameworks, empiezas a tener problemas en el marco de tiempo de 5-6 años.

Actualizar un error en un archivo de cabecera tarda entre 5-6 años antes de que puedas eliminarlo por completo.

La razón de esto es que el código que utilizaba ese archivo de cabecera ya ha sido compilado a código binario, y actualizar el archivo de cabecera no arreglará el código que ya está compilado.

Puedes arreglar las librerías suministradas por Apple, porque sólo tienes que actualizarlas, y porque -a no ser que alguien haya sido un idiota en alguna parte- son todas librerías compartidas -el antiguo código ya compilado simplemente funciona con las nuevas librerías.

Así que tienes que esperar 5-6 años en un cambio de archivo de cabecera antes de sacar el viejo código malo del archivo de cabecera, y la gente ya no está usando las partes que estás obsoletas.

Incluso esperando 5-6 años, tiendes a romper algunas cosas, como los plugins de Adobe Photoshop, que tienen a la gente gritando muy fuerte en sus líneas de soporte técnico.

Aunque se supone que empresas como Adobe prueban sus productos que aún funcionan en la versión actual del SO en las builds de desarrollo del mismo, y actualizan sus productos antes de que llegue a ser un problema para sus clientes.

Resulta que las empresas no gastan dinero en trabajos de desarrollo que mantengan en funcionamiento los productos que ya te han vendido, porque eso no les hace ganar más dinero: sólo ganan dinero cuando compras nuevos productos.

Es por eso que los teléfonos android no reciben actualizaciones de software: nadie gana dinero con ello.

Lo que, por supuesto, nos lleva al quid del problema.

Demasiada gente ha escrito código que compara sólo el número de versión menor del SO, y hace diferentes llamadas de software.

Y no compararon el número de versión mayor, que es la 10,

Y así, si pasas de la 10.13.6 (Mac OS High Sierra) to 11.1.1 (Mac OS Whatever)?

1 is less than 13.

No one checks to see if 11 is larger than 10.

And everything explodes.

OMFG! Someone is trying to run my software on Mac OS X Cheetah! Auuuuuuugggggvhhhhhhhhh! ← head exploding

So the answer is “no”.

Too many programmers have F’ed-up over the years, and they are still happily F-ing-up today.