-.. Introducción al trabajo, objetivos, alcance, limitaciones y organización
- del documento.
- ESTADO: TERMINADO, CORREGIDO
-
-
.. _intro:
Introducción
acotando tal vez un poco el alcance de estos avances dado que ese lenguaje
tiene características muy particulares (*tipado* estático, corre sobre una
máquina virtual muy rica en cuanto a información de tipos, etc.) no
-disponibles en otros lenguajes. Sin embargo los lenguajes funcionales y con
+disponibles en otros lenguajes. Sin embargo los lenguajes funcionales y/o con
*tipado* dinámico siguieron teniendo un nivel de investigación y desarrollo
importante, dado que fueron concebidos en su mayoría con la recolección de
basura como parte del diseño.
Probablemente los lenguajes en los cuales es más difícil aplicar los avances
-que se desprendieron de Java_ o de las otras categoría de lenguajes con más
-avances en recolección de basura sean los de más bajo nivel (como C y C++), en
+que se desprendieron de Java_ o de las otras categorías de lenguajes con más
+avances en recolección de basura sean los de más bajo nivel, como C y C++, en
los cuales se da lo inverso en cuanto a disponibilidad de información en
tiempo de ejecución, sumado a la permisividad de estos lenguajes para realizar
manipulación de memoria directamente y trabajar a muy bajo nivel. De la mano
Una categoría de lenguaje que ha quedado prácticamente vacante es un término
intermedio entre los lenguajes de muy alto nivel (como Java_, Python_,
-Haskell_, etc.). El lenguaje de programación D_ está en esta categoría y,
-a pesar de haber sido diseñado con soporte de recolección de basura, al ser un
-lenguaje relativamente nuevo, ha tenido muy poco desarrollo en ese área. El
-lenguaje tiene todas las limitaciones de lenguajes de bajo nivel como C y C++
-pero esas limitaciones suelen estar más aisladas, y provee un poco más de
-información que puede ser aprovechada por un recolector de la que suelen
-proveer los demás lenguajes de estas características. Esto presenta una
-oportunidad única en cuanto a investigación y desarrollo de recolectores que
-se ajusten a estas características.
+Haskell_, etc.) y los de muy bajo nivel (como C y C++). El lenguaje de
+programación D_ está en esta categoría y, a pesar de haber sido diseñado con
+soporte de recolección de basura, al ser un lenguaje relativamente nuevo, ha
+tenido muy poco desarrollo en ese área. El lenguaje tiene todas las
+limitaciones de lenguajes de bajo nivel como C y C++, pero esas limitaciones
+suelen estar más aisladas, y provee un poco más de información que puede ser
+aprovechada por un recolector de la que suelen proveer los demás lenguajes de
+estas características. Esto presenta una oportunidad única en cuanto
+a investigación y desarrollo de recolectores que se ajusten a estas
+características.
D_, investigando el estado del arte en recolección de basura y haciendo un
análisis de viabilidad de los algoritmos principales para optar por el que
mejor se ajuste a D_. Una parte muy importante de este análisis es participar
-de la comunidad del lenguaje y sus diseñadores para poder desarrollar una
-mejora que sea aceptada y pueda ser utilizada por el lenguaje. Por lo tanto el
-algoritmo o mejora que "mejor se ajuste a D_" estará supeditado en gran parte
-a los requerimientos más urgentes de los usuarios de D_.
+de la comunidad del lenguaje para poder desarrollar una mejora que sea
+aceptada y utilizada por dicha comunidad. Por lo tanto el algoritmo o mejora
+que "mejor se ajuste a D_" estará supeditado en gran parte a los
+requerimientos más urgentes de los usuarios de D_.
El alcance de este trabajo se limita a los siguientes puntos:
* Explorar los problemas del recolector de basura actual.
-* Evaluar cuales de estos problemas son de mayor importancia para la
+* Evaluar cuáles de estos problemas son de mayor importancia para la
comunidad de usuarios de D_.
* Analizar la viabilidad de algoritmos y optimizaciones para solucionar
o minimizar el o los problemas de mayor importancia.
Organización
----------------------------------------------------------------------------
-Este trabajo se encuentra dividido en 7 capítulos que se describen
+Este trabajo se encuentra dividido en 6 capítulos que se describen
a continuación:
1. :ref:`intro`: breve descripción del problema a tratar, presentando
y describe el estado del arte.
4. :ref:`dgc`: explica los problemas particulares que presenta el
lenguaje para la recolección de basura, describe el diseño
- e implementación del recolector actual y presenta sus principales
- deficiencias.
-5. :ref:`analisis`: realiza un recorrido por los algoritmos presentados
- en :ref:`gc` analizando su viabilidad para aplicarse en D_.
-6. :ref:`solucion`: propone una solución a los problemas encontrados en
- :ref:`dgc` en base al análisis hecho en :ref:`analisis`.
-7. :ref:`conclusion`: describe los resultados del trabajo, proponiendo
- trabajos futuros y relacionados.
-
+ e implementación del recolector actual, presenta sus principales
+ deficiencias y analiza la viabilidad de diferentes soluciones.
+5. :ref:`solucion`: propone una solución a los problemas principales
+ encontrados y define un banco de pruebas para analizar los resultados de
+ las modificaciones hechas.
+6. :ref:`conclusion`: describe las conclusiones alcanzadas en base a los
+ resultados del trabajo, analizando puntos pendientes, mostrando trabajos
+ relacionados y proponiendo trabajos futuros.
.. include:: links.rst
-.. vim: set ts=3 sts=3 sw=3 et tw=78 :
+.. vim: set ts=3 sts=3 sw=3 et tw=78 spelllang=es :