2010-03-15 11 views
29

He leído this question mencionando Code Bubbles y he visto su presentación en video.¿Usarías Code Bubbles?

El video es impresionante, y parece un poco futurista, pero aparentemente es algo real.

Pero eso me hizo pensar ... ¿Un desarrollador realmente usaría esa herramienta?

Nosotros, como desarrolladores, estamos acostumbrados a tratar con archivos de código, la organización de ellos en los directorios, de una manera u otra, algunos IDE común (para aquellos lenguaje que los tiene).

Sería un gran salto usar algo como Code Bubbles, tal como lo proponen.

Yo, personalmente, no estoy seguro de si podría trabajar en ese entorno ... aunque creo que solo necesitaría un poco de ajuste ... pero realmente no veo que mi mente se resuelva.

¿Qué piensas de esto?

+1

¿Alguna idea de cómo puedo tenerlo en mis manos ahora? Parece lo mejor del mundo para lo que necesito hacer :) (Android dev) – Steve

+0

@steve http://www.cs.brown.edu/people/acb/codebubbles_beta_signup.htm – zildjohn01

+0

Ah gracias zild - he encontrado Hace unas semanas. Envié algunos correos, pero no hubo respuesta :) ¡Qué vergüenza! Sería genial en un imac. – Steve

Respuesta

17

Para lenguajes como C# y Java donde la organización real de los archivos y bloques de código (métodos, etc.) es bastante rígida (incluso más en Java que C#), entonces algo que proporcione una "vista" novedosa del código probablemente trabajo. Podrías permitir que la herramienta organizara tu código con una clase por archivo, métodos ordenados por visibilidad, o cualquier estándar de codificación que quisieras, y la herramienta podría manejarlo todo de tal manera que alguien aún pueda acercarse y mirar la "cruda". "archivos y dar sentido a todo.

Sería un problema para un lenguaje como C++ donde se puede hacer básicamente lo que quiera ...

3

Los programadores reales usan editores de texto. :)

No, en serio, me gusta Código burbujas, pero se necesita mucho más que una nueva interfaz gráfica de usuario para mí interruptor.

La idea de vincular código de burbujas juntos y moverlas como grupo parece un poco tonto y probablemente no es útil en escenarios más prácticas.

Creo que todos los programadores, sin embargo, estarían bien para ver gráficamente que sus aplicaciones ocupan espacio en la pantalla, en lugar de ocupar espacio (menos visible) como líneas en un archivo. Solo por eso, creo que es útil como una herramienta de presentación, si no como un entorno de programación.

+3

"Creo que es útil como herramienta de presentación": me vienen a la mente las revisiones de código. – Thilo

+1

Esa fue mi primera vez cuando lo vi. –

+0

"Los programadores reales usan editores de texto" ¿Sigue siendo así? – fastcodejava

0

me veo tratando de trabajar en tal ambiente ya que siempredesarrollar usando mi IDE, algunos papeles en mi escritorio y algunos blocs/vim diferentes abrieron archivos con diferentes fragmentos y pensamientos de diferentes secciones de código/software. No digo que la interfaz tenga que ser exactamente como Code Bubbles, sino algo que capte la idea.

... pero necesito probarlo realmente, y sentirlo. Creo que una combinación de Bubbles y un IDE tradicional de alguna manera es el camino a seguir.

Hecho es: es realmente interesante ver personas inventando cosas para mejorar nuestra forma de trabajar (como Zen Coding en desarrollo web, solo para dar un ejemplo), e incluso si este enfoque falla, algunas ideas pueden tomarse prestadas a otros proyectos.

En serio, lo que espero que suceda en el futuro es el día que voy a utilizar un teclado y una interfaz multitáctil sensible, arrastrando elementos y secciones de código a través de una ide, diseñando y programando al mismo tiempo usando mis manos para dibujar en una pantalla y mi teclado: algo así como un iPad para programar.

(Hay algunos comentarios muy buenos sobre este video de Code Bubbles en youtube, es una buena idea echarle un vistazo).

0

Creo que los cambios en su flujo de trabajo (y por lo tanto la curva de aprendizaje inicial) no serían tan grandes como aparecen inicialmente: Si está utilizando Eclipse (correctamente), ya está navegando con Open Type (por nombre), Abra la jerarquía de llamadas, la jerarquía de tipo abierto, la declaración abierta, etc. Los bloques de código colapsados ​​también parecen ser algo así como un precursor de las burbujas de código.

Estoy de acuerdo con Codeka en que probablemente solo funcionaría para lenguajes "estrictamente organizados" como Java, y no tan bien para cosas como Perl, que dan más libertad al programador para cómo quiere organizar las cosas (a expensas de la herramienta de soporte que puede esperar).

+0

Lo mismo para vim (y emacs, me imagino): saltas alrededor de la base de código usando ctags o cscope. Esto es solo una interfaz gráfica de usuario hábil.Voy a esperar (muy, muy con paciencia) para que vim comience a administrar ventanas divididas en el estilo de xmonad o awesome. – Wang

0

Usaría burbujas de código por muchas razones, pero una que realmente me entusiasmó es la depuración. Me gusta la idea de que cuando entras en una función abre una nueva burbuja para esa función, para que puedas revisar el código que llamó a la función y al mismo tiempo ver la función en sí misma, creo que es una buena productividad.

Gat

2

Definitivamente, voy a descargarlo y probarlo para usarlo cuando esté disponible. Parece una idea clara que podría acelerar la depuración, revisiones de código y algunos tipos de desarrollo. Además, las preguntas frecuentes sobre las burbujas del código dicen que son compatibles con la visualización de archivos completos en forma de burbujas grandes y desplazables, por lo que puedes desencadenar la metáfora de la burbuja cuando sea necesario.

Probablemente el mayor problema fuera de mi cabeza es que no creo que haya soporte para nada más que Java. Pasé la mayor parte de mi tiempo en C, y el soporte en múltiples idiomas es crítico si quieren que esta idea realmente despegue.

5

Pensé que era un concepto impresionantemente innovador, ¡estoy ansioso por probarlo!

Aparte de la brillante idea de ver código independientemente de los archivos en los que está almacenado, lo que encontré más interesante fue la barra tipo "minimapa" que mostraba una miniatura de su diseño de burbuja y le permitía desplazarse o posiciona tu "escritorio" sobre un área en particular.

¡Esta es la forma en que los escritorios virtuales deberían implementarse a nivel del sistema operativo!

1

¡Absolutamente! La estructura del archivo no afecta la vista de burbuja, por lo que técnicamente podría utilizar los medios tradicionales para organizar los archivos fuente de los proyectos. Donde esto realmente ayuda es navegando por un código ya arraigado. Una visita obligada para aprender el código de otra persona. También se presta bien para mantener limpio el código, muchos objetos y funciones pequeños y concisos.

26

Lo usaría en un abrir y cerrar de ojos. Siempre quiero trabajar de esa manera de todos modos.

Solo pienso en cosas en términos de una estructura de directorios cuando las creo por primera vez: después de eso, siempre quiero trabajar por tren de pensamiento más que por archivo.

1

Creo que se ve bien, pero para mí, parece que sería más útil al depurar/entrar en el código. No tener el IDE para abrir todo el archivo de código y simplemente crear una pequeña burbuja de código es algo genial.

0

No puedo decir si me quedaré con esto a largo plazo, pero ciertamente me gustaría pasar unos meses trabajando en ese entorno.

Aquí hay algunas ideas GUI realmente interesantes: es un video inspirador.

1

Creo que Code Bubbles abre ideas para toda la metáfora del escritorio de GUI, no solo la programación.

Gran parte de lo que hacemos es jerárquico. Imagina escribir un documento de proyecto. ¿Tiene encabezados? Subtítulos? Imagine la construcción de la Tabla de contenidos (ToC), luego haga clic en cada título/subtítulo para obtener una ventana separada donde colocar el contenido. Puede tener múltiples subsecciones abiertas al mismo tiempo, en diferentes burbujas. Siempre puede dividir la pantalla de un procesador de textos moderno para lograr lo mismo, pero me gustaría poder mover las partes a ventanas separadas para poder organizarlas de la manera que desee, en lugar de solo confiar en la aplicación para "mosaico" las ventanas secundarias para mí. Code-Bubbles-as-desktop lo permitiría.

Imagine que está trabajando, colaborativamente, en ese documento. Hace clic en un subtítulo en el ToC y comienza a trabajar en él. Alguien más hace clic en otro y comienza a trabajar en él. Puede usar el bloqueo tradicional para evitar que otra persona se meta con lo que está haciendo y viceversa. Sí, sé sobre EtherPad. Lo he usado Me vuelve loco

He estado pensando en hacer un sistema de composición de documentos/programas basado en wiki, donde se crean encabezados en el documento principal, cada uno de ellos enlaza con el contenido real de esos títulos. Diferentes partes aparecerían en diferentes ventanas, que podría organizar como mejor le parezca. Code-Bubbles-as-desktop es, sin dudas, una solución más elegante.

Obviamente, esto se puede hacer con la programación, ya que un programa es poco más que un documento complejo, muy preciso, con un público objetivo extremadamente quisquilloso. Los programas son, por lo general, extremadamente jerárquicos. Tal como están las cosas, cuando estoy programando, estoy usando Vim o Eclipse. Ambos tienen la capacidad de "colapsar" secciones de código que no estoy viendo, lo que me da una combinación de descripción general de alto nivel y código real. Lo mismo se lograría en Code Bubbles haciendo que una burbuja muestre las definiciones de su método y otras burbujas que contengan los contenidos del método. Todos ellos se "tejen" juntos antes de alimentarlo al compilador.

Además, cuando estoy programando, normalmente "realizo" un método o función al poner en pseudocódigo de alto nivel en comentarios, luego seguir y completar el código del programa que implementa cada parte de pseudocódigo. Esos comentarios de pseudocódigo podrían proporcionar las piezas de ToC, que abrirían burbujas para contener el código real. El sistema necesitaría "tejer" las piezas juntas en el documento principal. Eso funcionaría, independientemente del lenguaje de programación que esté usando.

¿Está mi interés en la Programación de Alfabetización claramente?

Llevemos esto al siguiente nivel. Usted está usando una tableta o netbook. Tienes mucho menos espacio en pantalla para trabajar. Oh, mira, mira eso; las burbujas son relativamente pequeñas Usa la "barra de contexto" en la parte superior para encontrar la burbuja que estás buscando y la burbuja puede tomar la pantalla. Ahora, tiene una forma de componer documentos (incluidos programas) que funciona en dispositivos más pequeños y con restricciones de tamaño.

Probablemente sea una ilusión, pero estoy pensando que este podría ser un nuevo paradigma significativo, no solo para la programación sino para toda la GUI. Yo ciertamente lo usaría.

+0

Entonces, básicamente, al igual que la web funciona. –

6

Piénsalo de esta manera ...Lo que sería más fácil:

(1.) Tener código de burbujas en el que se puede ver una cadena de funciones que son llamadas entre sí todos en una sola vista simultánea

-O-

(2 .) ¿Tabula constantemente hacia adelante y hacia atrás entre esas funciones, distribuidas en 6 o 7 archivos de código fuente, en un único editor de texto?

¿Usaría burbujas de código? Si MS no sale con un equivalente de VS en los próximos años, de repente podría desarrollar un gran interés en convertirse en un desarrollador de Java.

+0

Para Visual Studio 2015 puede probar mi nueva extensión de Canvas de tareas para ver funciones de diferentes clases en una vista. –

3

Para aquellos de ustedes que estén interesados, Microsoft Research también está haciendo algo similar para Visual Studio. Se llama Code Canvas.

Puede obtener más información y ver un video aquí: http://blogs.msdn.com/b/kaelr/archive/2009/03/26/code-canvas.aspx

En cuanto a la pregunta original, he firmado para la beta tan pronto como me enteré de Código burbujas. Creo que tiene algunas ideas realmente buenas y me gustaría probarlas. Incluso si resulta no ser tan útil como dicen, estoy seguro de que algunos de esos conceptos evolucionarán para ser utilizados por muchos programadores.

+0

Han lanzado [Debugger Canvas] (http://msdn.microsoft.com/en-us/devlabs/hh227299), que creo que es el producto de esta investigación. Aquí hay un [video de youtube] (http://www.youtube.com/watch?v=3p9XUwIlhJg]) si no desea instalar Silverlight. – antitoxic

0

Estoy más entusiasmado con Code Bubbles de lo que he estado acerca de un nuevo concepto en mucho tiempo. Desde hace algunos años, he estado esperando que la comunidad de códigos empiece a pensar en bases de datos de códigos, no en archivos de códigos. Creo que la metáfora del archivo ha paralizado nuestro pensamiento e influenciado nuestras herramientas de la manera incorrecta.

Por ejemplo, ¿por qué hay incluso una cuestión de si las pruebas unitarias deberían ir en el mismo archivo que el código de producción? Por supuesto, van de la mano, pero generalmente los hacemos separados porque no queremos que las pruebas se empaqueten en .jar. Estamos dejando que las herramientas de compilación nos obliguen a rebotar entre estos artefactos artificiales llamados archivos. Queda por ver si Code Bubbles es una mejor metáfora, pero cualquier cosa que nos libre de la metáfora del archivo tiene que ser algo bueno.

Acabo de descubrir Code Bubbles y me entusiasmé al descubrir la versión beta. No puedo esperar para ver esto por mí mismo.

0

Mi impresión de la demostración fue que pude ver cómo ese enfoque sería útil para programas grandes. Sin embargo, en los 14 años que he estado programando para ganarme la vida, solo he escrito un programa tan grande una vez (heredé un par más).

Eso fue cuando tenía 22 años, y me arrepentí de hacerlo tan monolítico durante los próximos seis años hasta que se retiró. Fue un problema constante de mantenimiento, porque nadie más que yo realmente entendió todo el asunto.