¿Cómo pueden dos personas programar en c ++ al mismo tiempo? (Como Google docs)

La respuesta es crear un repositorio y usar una herramienta de control de versiones E, g: Subversion / Microsoft Visual Sourcesafe, etc. Cuando dos personas están editando un documento al mismo tiempo en Google Docs, tienen una copia local del archivo real, no la archivo en sí. Los cambios de ambos usuarios se fusionarán (suponiendo que ambos se estén editando en línea y no fuera de línea). Nunca lo he hecho yo mismo, pero el propietario / administrador principal del archivo puede elegir aceptar / descartar los cambios como en Word.

Dicho esto, cuando se utiliza una herramienta de control de versiones / repositorio para el código fuente, cuando se “verifican” los cambios, se combinan con el archivo existente en el servidor (copia real). Cuando dos usuarios se registran simultáneamente (hablando francamente, este comportamiento simultáneo es una ilusión, ya que siempre hay milisegundos de diferencia si no segundos o minutos), los cambios se fusionan. Podría haber problemas de combinación, etc., pero eso depende de la herramienta que esté utilizando (como Subversion, Visual Source Safe, GitHub), etc.

Lo que pidió es una rutina en las empresas donde el desarrollo de software es la actividad principal. Los sistemas de control de versiones han existido por un tiempo y son muy sofisticados.

Esto es posible mediante el uso de software de control de versiones como TFS, ClearCase, SVN. El software mantiene el archivo original en el servidor. Quien edite el archivo (o archivo de programa), obtiene la copia local en su máquina, al mismo tiempo que otras personas también pueden obtener la copia local en su máquina.

Cuando una persona guarda los cambios, el archivo original se actualiza en el servidor. La otra persona tiene que actualizar / sincronizar su archivo local con el servidor para obtener los últimos cambios. Durante este proceso, las personas también tienen muchos conflictos que deben resolver manualmente y, finalmente, guardar en el servidor.

Pero no se recomienda editar el mismo archivo al mismo tiempo por diferentes personas debido a conflictos (incluso con el software de control de versiones).

Supongo que está pensando en una versión remota de la programación de pares, en lugar de compartir el control de versión típico.

Hay algunas herramientas especializadas para idiomas específicos en la web, pero algo que funciona bastante bien es simplemente compartir una sesión de Emacs a través de un túnel SSH.

Cree una cuenta de usuario única, “emparejada” en la que ambos puedan iniciar sesión en una máquina y luego iniciar Emacs. El segundo usuario utiliza Emacsclient sobre SSH. Esto funciona para cualquier número de usuarios simultáneos, pero no hay ninguna responsabilidad para quién edita qué.

Por lo general, también iniciarás algún tipo de programa de chat de video junto con eso para discutir lo que estás haciendo.

Respondiste tu pregunta … usando Google Docs …

[También hay un editor, hecho para archivos de texto, búsqueda rápida en Google, codificación colaborativa y hay algunos que no son web que entiendo (simplemente no recuerdo los nombres).]

Siempre puede copiar texto de Google docs y ejecutarlo a través de un compilador.

editor de texto en línea – colaborar

gracias por A2A.

En primer lugar, no es muy bueno hacer una codificación en tiempo real en el mismo archivo. Puede crear confusión entre los desarrolladores y romper la consistencia del flujo de codificación. Si aún desea hacerlo, hay un sitio llamado código compartido donde puede compartir la URL con sus socios de codificación y puede codificar en tiempo real. Creo que hay un montón de sitios disponibles haciendo lo mismo.

Probablemente no sea una buena idea. Ambos realizarán cambios en el código, y en cualquier momento uno de ustedes podría querer probar sus propios cambios.

Y esperaría que sus propios cambios funcionaran como se esperaba. Este puede no ser el caso si alguien más está haciendo cambios que pueden afectar la forma en que funciona su código.

La manera honrada es fusionar los cambios de código después de que todos hayan terminado y resolver los conflictos que surjan en el código o en la lógica después de la prueba.