28 votos

¿Qué es la "expresión" problema?

Tengo una idea aproximada acerca de lo que es esto, pero si alguien tiene una explicación de la expresión " problema de que ellos piensan que es conciso e intuitiva, me encantaría escuchar de ti.

30voto

Daniel Velkov Puntos 9244

Ver esta conferencia.

La idea es que su programa es una combinación de un tipo de datos y las operaciones sobre él. El problema pide una aplicación que permite añadir nuevos casos del tipo y de las nuevas operaciones sin la necesidad de recompilación de los antiguos módulos y mantener estático el tipo de seguridad(no yesos o tipo en tiempo de ejecución de cheques).

Es interesante notar que en los lenguajes de programación funcional es fácil añadir nuevas operaciones, pero difícil añadir los casos para el tipo de datos. Mientras que en un lenguaje OO es al revés. Esta es una de las grandes diferencias conceptuales entre los dos paradigmas de programación.

6voto

Calmarius Puntos 2626

La idea detrás de este problema es que el texto es de 1 dimensiones. Incluso si usted tiene las líneas y columnas, en general, leer, palabra por palabra, línea por línea. Así lo hace el compilador.

Y intenta representar algún tipo de 2 o más dimensiones de los datos en ella. Por ejemplo, una tabla en la fila-el alcalde de la orden se parece a esto:

((A, B, C), (D, E, F), (G, H, I))

En esta representación, es muy fácil para agregar una nueva fila al final, sin tocar el resto:

((A, B, C), (D, E, F), (G, H, I), (J, K, L))

Pero la suma de las columnas es un poco problemático, debe tocar la pantalla es de 4 lugares diferentes:

((A, B, C, M), (D, E, F, N), (G, H, I, O), (J, K, L, P))

Generalmente se ejecuta en este problema en la práctica, cuando se trata de clases abstractas: es muy fácil agregar un nuevo subtipo de virus como un módulo nuevo, pero cuando se agrega un nuevo método abstracto, tendrás que tocar todos los módulos y agregar; usted necesita para hacer lo mismo en muchos lugares. Normalmente se hacen abstracciones para proteger contra estas cosas repetitivas.

No hay solución a este problema tan largo como el uso de 1D representación.

La solución a este problema sería un editor que permite modificar estos de la tabla de las cosas como una mesa real y no como texto (en una hoja de Excel, como ver, donde que convenientemente se puede agregar nuevas columnas y filas).

1voto

Jared Updike Puntos 3946

Hay también este artículo sobre cómo solucionar el problema con Clojure, sin embargo el problema se presenta en Java por lo que debería de hacer sentido, incluso si usted no sabe Clojure, especialmente con la ayuda de los pequeños gráficos.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X