Algunas empresas, como Blizzard, crean software que sigue funcionando bien en futuras versiones de Windows y con versiones de sus otras dependencias de software. Otras empresas (en su mayoría las que no son empresas de software incondicional) a veces escriben software que se rompe con el lanzamiento de un nuevo sistema operativo u otra dependencia de software. ¿Qué saben las empresas de software más exigentes que las demás no? ¿Cuáles son las principales causas de los problemas de compatibilidad con versiones posteriores?

Comentarios

  • ¿Tiene ¿un ejemplo de algo que falló?
  • @Fosco Muchos juegos antiguos, por ejemplo, no se pueden reproducir en computadoras modernas, algunos debido a cambios en el sistema operativo, otros debido a avances en el hardware.
  • @Fosco ‘ he visto muchas cosas por el estilo. Una que me llama especialmente la atención es un juego de misiones israelí llamado Granny X que se negó a funcionar en cualquier cosa que no fuera ‘ t Windows 95 (ni siquiera en Windows 95 ++, también conocido como Windows 98). Otros ejemplos son los programas antiguos de astrología que usaba mi madre, programas educativos para niños, etc.
  • Diablo no ‘ t (o no ‘ t hasta hace poco) funcionaba en vista / 7 sin algunos arreglos. Del mismo modo, los colores se modificaron en StarCraft sin deshabilitar el explorador de shell en 7.

Respuesta

¿Blizzard escribió un software que funcione bien con futuras versiones de Windows (Starcraft todavía funciona en 7, por ejemplo) …

¿O Microsoft escribió «versiones futuras» de software que mira hacia atrás?

Algo como WoW no es exactamente «prospectivo» ya que todavía está en desarrollo activo. Otro software, como Starcraft / Warcraft / Diablo, fue escrito para la época y sigue funcionando porque MS hace todo lo posible para habilitar software antiguo en sistemas nuevos.

Blizzard también tiene la capacidad, y la razón, para actualizar sus juegos antiguos. Títulos muy populares que impulsan su software actual.

Algunos programas usan partes pirateadas / no estándar que no funcionan bien. Configuraciones únicas, que dependen de errores «antiguos» para operar, controladores que no están adaptados a nuevos sistemas, etc.

Comentarios

  • +1 (6 años después …) Este artículo cracked.com/… afirma que mientras hacía Windows 95, Microsoft tenía cientos de pasantes que iban a comprar todo el software que podían encontrar y lo probaban. Si el software no ‘ no funcionó, modificaron Windows hasta que lo hizo. La razón es que, si el software no ‘ no funcionó, los usuarios no ‘ t culparían a XYZ Software Company, sino a Microsoft.
  • Sí … +50 puntos hoy de una respuesta de 6 años. Cha-ching. Y sí, la respuesta sigue siendo cierta, y ‘ es la razón por la que Windows sigue reinando sobre Mac y Linux: compatibilidad con versiones anteriores. No ‘ no tengo confianza en que el software de hace 10 años funcione en una Mac o en Ubuntu … Tengo un nivel razonable de confianza en que funcionará en Windows.

Responder

Varias razones:

  1. Escriben según estándares que continúan siendo compatible con sistemas operativos futuros
  2. Las empresas de sistemas operativos (p. ej., MS) en realidad introducen una gran cantidad de código para admitir software más antiguo
  3. Las grandes empresas de software populares tienden a tener relaciones formales o informales con las empresas de SO, para que puedan ver las cosas antes.

Responder

Aquí está mi experiencia: Muchas Hace años, un producto en el que trabajé comenzó a admitir complementos de terceros. Enviaríamos una solicitud al complemento, al que se suponía que debía responder. El primer parámetro en el complemento era un número que identificaba qué solicitud estábamos realizando. En ese momento, solo había una solicitud . Aún así, documentamos que debe verificar este número, y si era un número que no entendió, no haga nada más que devolver un código de error con el significado «No entiendo esta solicitud». Bastante simple. La primera versión de nuestro lado manejamos esto correctamente Incluso cuando enviamos la primera solicitud (la única que pudimos enviar) verificamos si el complemento respondió «no entiendo» y lo manejó.

Luego agregamos la segunda solicitud. Probado con complementos antiguos esperando que respondieran «No entiendo esta solicitud». Todos los complementos realizaron la acción para la primera solicitud. Eso no es compatible con versiones posteriores 🙁 Estos complementos se enviaron a los clientes y fallarían con un nuevo versión de la aplicación.

Lo que hicimos: poner el software en un contexto en el que la primera solicitud podría realizarse sin daños. Envió una solicitud totalmente diferente.Si la respuesta no fue «no» entiendo, entonces supimos a partir de ese momento que el plugin fue escrito por idiotas y no se hicieron más solicitudes que la que desarrollamos primero.

Respuesta

No puede «garantizar la» compatibilidad con versiones posteriores «, depende de los fabricantes de SO y HW. Lo mejor Lo que puede hacer al escribir software es asegurarse de que no está utilizando funciones obsoletas o trucos no estándar.

Comentarios

  • No usar funciones depricadas o trucos no estándar te llevará bastante lejos. Por ejemplo, Metal Marines, un juego de la era de Windows 3.1 (quizás en realidad Win 32s ) que procesa objetos gráficos fuera de la ventana principal del juego, lanzando misiles a través del escritorio, al obtener un contexto de dispositivo y divertirse con él directamente, todavía funciona en Windows XP y Windows 7. Creo que es un ejemplo asombroso de cómo obtener compatibilidad con versiones anteriores a través del compromiso de Microsoft ‘ con la compatibilidad con versiones anteriores .

Respuesta

Creo que es solo que la escritura de software compatible requiere más esfuerzo. Ya sea que el esfuerzo (= costo) vale la pena, la compatibilidad debe ser evaluada por la empresa de lanzamiento.

Por ejemplo, los esquemas de la base de datos pueden cambiar. Pueden migrarse automáticamente (para una mejor experiencia de usuario) o ignorarse (para un menor esfuerzo de desarrollo) .

Respuesta

Algunos programadores leen la documentación y escriben código que usa el sistema operativo de la forma en que la documentación dice a ellos. Otros programadores escriben código más rápido y depuran cualquier código que no funcione.

Un buen ejemplo sería el código que no puede hacer frente a ventanas que tienen dos dígitos número de versión; no fallará la prueba en Windows 8, pero cuando se usa en Windows 10… ..

Entonces tienes juegos que están escritos para ser lo más rápidos posible , pasando por alto el sistema operativo sin importarle si funcionarán dentro de unos años… ..

Tome un programador que se inclinó a programar trabajando en software Unix en los días en que cada proveedor tiene su propia versión de la unidad, que El programador estará muy acostumbrado a leer los estándares y SÓLO dependiendo de lo que digan los estándares. Como tener que enviar su software en 6 versiones diferentes de Unix le enseña rápidamente a tener cuidado. Compare esto con un programador que aprendió en VB, donde es común simplemente cambiar el código hasta que funcione …… Pero coloque el «programador de tipo Unix» en la misma tarea que el «programador de tipo VB» y, a menudo, la persona que aprendió en VB producirá un resultado que se puede vender mucho más rápido.

Al entrevistar al personal, las personas tienden a elegir personas de ideas afines, por lo que una vez que una empresa tiene su primer personal, el nuevo personal tiende a pensar de la misma manera.

Respuesta

Creo que la principal razón de la falta de compatibilidad hacia adelante sería la escasez de programadores que trabajan y que también son clarividentes.

Comentarios

  • Yo ‘ tengo varios pkunk programadores exactamente por esta razón. Les pago en Pootworms, que es increíblemente barato.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *