Discusión:Tipo de dato abstracto

Contenido de la página no disponible en otros idiomas.
De Wikipedia, la enciclopedia libre

Textualmente tienen en la definición de TDA:

"El proceso de abstracción presenta dos aspectos complementarios.

1. Descartar los aspectos relevantes del objeto. 2. Ignorar los aspectos irrelevantes del mismo (la irrelevancia depende del nivel de abstracción, ya que si se pasa a niveles más concretos, es posible que ciertos aspectos pasen a ser relevantes)..."

Personalmente pienso que en la primera de ellas debe haber un error en la palabra "Descartar", es posible que hayan querido escribir "Destacar".

Sin más que decir, quedo de ustedes si fuera yo el equivocado.

Atentamente,

Ing. Aquiles Alejandro Barreto Marcano. e-mail: aquilesbarreto@cantv.net

Corregido, gracias. Le recomiento la lectura de Wikipedia:Cómo se edita una página y espero se anime a reslizar directamente sus mejoras. --Ascánder 16:24 7 nov, 2004 (CET)

Errores conceptuales[editar]

En la redacción actual del artículo hay un montón de errores de concepto y está enmarañado en su explicación.

En particular, un tipo de dato abstracto es un concepto a caballo entre las ciencias de la computación y la matemática (ya que esta última es el formalismo de la primera), fundamental e inherente a estas, y que no procede relacionar con ningún paradigma de programación.

Por otro lado, respecto a la historia, yo lo único que pude encontrar sobre John Guttag es que se doctoró en 1975 (no 74) y que elaboró una disertación sobre la especificación y aplicación a programar tipos de dato abstractos, por lo que el concepto ya existía en la comunidad científica y, a pesar de que no he podido obtener una copia de la tesis, Barbara Liskov y Stephen Zilles publicaron un año antes (antes de terminar CLU) sobre programar con tipos de dato abstractos. Por tanto, Guttag habría sabido del concepto con anterioridad a la publicación de su tesis, y de su posterior artículo en 1977 en las Communications of the ACM[1]​, en el que cita a Liskov por los tipos de dato abstractos.[2]​ y que podría considerarse entonces como una de las publicaciones pioneras (al menos hasta donde he sido capaz de encontrar yo). Guttag podría haberse citado su tesis u otro artículo, si hubiese sido él el pionero del concepto, pero citando él a Liskov no debería de quedar duda respecto a esto (y también en wikien se reconoce a Liskov este mérito).

Además, los ejemplos utilizados en el artículo mezclan conceptos de orientación a objetos y de programación estructurada con el modelo matemático al que debería de referirse el artículo, y que tan solo pueden llevar a una mayor confusión por parte del lector, ya que incluso el lector experimentado podría tener dificultad discirniendo afirmaciones falaces de aquellas que sí hubieran de pertenecer al artículo. Junto a los ejemplos, continúa reiterándose la aplicación de conceptos propios de la orientación a objetos (como la encapsulación) o aplicadas directamente a un lenguaje particular como es Java, sin distinguir cuánto de esto no forma parte, y sin contraponerlo a lo que debiera de ser la descripción formal del concepto del artículo, sin todas estas simplificaciones o símiles a otros conceptos.

Por lo tanto, estoy elaborando otra versión de este artículo (actualmente disponible en mi página de usuario en Usuario:Santhy/Tipo de dato abstracto, fuertemente inspirado en el de wikipedia en inglés para sustituir el contenido actual de este, y mejorarlo en calidad, al menos evitando el solapamiento de conceptos, que para mi, es la base del artículo.

Me gustaría conocer vuestras opiniones, y si me estoy equivocando flagrantemente enviadme un aviso a mi discusión, que mis intenciones son las de mejorar la calidad de este fantástico proyecto. Espero que esto no me convierta en un Wikipedia:Wikidragón... :-)

Un saludo, --Usuario:Santhy (disc.contrib.) 16:57 9 ene 2016 (UTC)[responder]

Por cierto, que no lo he dicho antes, mi versión del artículo está en Usuario:Santhy/Tipo de dato abstracto. --Usuario:Santhy (disc.contrib.) 01:00 10 ene 2016 (UTC)[responder]

Referencias de lo anterior

  1. Guttag, John (Junio de 1977). «Abstract data types and the development of data structures» [Tipos de dato abstractos y el desarrollo de estructuras de datos]. Communications of the ACM 20 (6): 396-404. doi:10.1145/359605.359618. Consultado el 09-01-2016. 
  2. Liskov, Barbara; Zilles, Stephen. «Programming with abstract data types» [Programando con tipos de dato abstractos]. Proceedings of the ACM SIGPLAN sympossium on Very high level languages: 50-59. doi:10.1145/800233.807045. Consultado el 09-01-2016. 

TDAs vs Estructuras de Datos[editar]

Hay una dualidad interesante entre TDAs y Estructuras de Datos.

Es util listar TDAs y luego también hacer referencia a Estructuras de Datos que las representan. Soy nuevo en Wikipedia así que todavía tengo que investigar cómo sería para listarlas. Pero es util que uno pueda obtener ejemplos de cada uno y sus implementaciones respectivas.

Por ejemplo para el TDA lista tengo varias implementaciones:

  • arreglo dinámico (ej: ArrayList)
  • lista enlazada
  • otros (en algunos casos se podrían usar árboles para implementar listas)

Esto es similar con otros TDAs como Diccionarios y otros. Sabioverde (discusión) 04:05 20 ago 2022 (UTC)[responder]