]> git.llucax.com Git - z.facultad/75.00/propuesta.git/blobdiff - propuesta.rst
Formatear materias para imprimir.
[z.facultad/75.00/propuesta.git] / propuesta.rst
index df0cd71d9ee080fe038337fb07f0c7cad162b3ca..d2fa4c3d391556e7847099f1016c16a421ee18fe 100644 (file)
@@ -1,5 +1,4 @@
 
-
 ==========================
 Recolección de basura en D
 ==========================
@@ -15,7 +14,7 @@ Propuesta de Tesis
 :Organización: Departamento de Computación, Facultad de Ingeniería
 :Organización: Universidad de Buenos Aires
 :Fecha: |date|
-:Revisión: 1
+:Revisión: 3
 :Estado: Borrador
 
 
@@ -24,21 +23,19 @@ Propuesta de Tesis
 
 Introducción
 ============
-.. FIXME No me gusta como están redactados estos dos párrafos :S
-
-Los lenguajes modernos tienen una tendencia cada vez más marcada a
-adoptar técnicas cada vez más sofisticadas, haciéndolos más ricos y
+Los lenguajes modernos tienen una tendencia cada vez más marcada
+a adoptar técnicas más sofisticadas, haciéndolos más ricos y
 convirtiéndolos realmente en lenguajes, no en meros preprocesadores que
-convierten de una forma muy directa el código en assembly, permitiendo
+convierten de una forma muy directa el código en *assembly*, permitiendo
 construcciones semánticamente más ricas y permitiendo al programar una
 mayor expresividad para plasmar algoritmos sin detenerse en los detalles
 del *hardware*.
 
 Estos conceptos supuestamente avanzados provienen, en general, de
-lenguajes académicos (muchos de ellos funcionales) que implementan
-estas funcionalidades hace mucho tiempo, pero que para su época o bien
-no tuvieron suficiente difusión en el ambiente empresarial o bien eran
-muy lentos por la baja capacidad de procesamiento de la época o eran
+lenguajes académicos (muchos de ellos funcionales) que implementan estas
+funcionalidades hace mucho tiempo, pero que para su época, o bien no
+tuvieron suficiente difusión en el ambiente empresarial, o bien eran
+muy lentos por la baja capacidad de procesamiento de la época o incluso
 demasiado *revolucionarios* para ser adoptados por programadores que no
 podían ver las ventajas que esos nuevos conceptos proveen.
 
@@ -47,10 +44,10 @@ es uno de los más representativos. Lisp_ introdujo a principio de los
 '60 el concepto de recolección de basura como un mecanismo para alocar
 y liberar recursos de forma automática, pero no fue hasta avanzados los
 '90 que esta técnica se empezó a utilizar en lenguajes de programación
-de uso comercial, cuando fue popularizado por Java_. Incluso luego
-de más de 30 años para Java_ era costosa la recolección de basura,
-lo que sumado a la presencia de una máquina virtual para ejecutar los
-programas producidos condujo a que estos sean notablemente lentos. Aún
+de uso comercial, cuando fue popularizado por Java_. Incluso luego de
+más de 30 años para Java_ era costosa la recolección de basura, lo que
+sumado a la presencia de una máquina virtual para ejecutar los programas
+producidos condujo a que estos lenguajes sean notablemente lentos. Aún
 así Java_ creció y entre las mejoras introducidas hubieron mejoras en
 la recolección de basura. Otros lenguaje de programación populares que
 utilizan alguna forma de recolección de basura son Python_, Ruby_, PHP_
@@ -79,7 +76,7 @@ Lo que podría traducirse como:
   y web. Tal vez es hora de que nazca un nuevo lenguaje de la experiencia
   práctica implementando compiladores.
 
-D_ es un lenguaje de programación con sintáxis tipo C, multiparadigma,
+D_ es un lenguaje de programación con sintaxis tipo C, multiparadigma,
 compilado, con tipado fuerte y estático, con buenas capacidades tanto de
 programación de bajo nivel (*system programming*) como de alto nivel. Y
 este es tal vez el punto más fuerte de D, brindar lo mejor de los 2
@@ -124,7 +121,7 @@ Programación Genérica
 .. [#dtypeof] ``typeof`` permite especificar un tipo
    inferido de una expresión. Más información en
    http://www.digitalmars.com/d/declaration.html#typeof
-.. [#difexpr] Las *expresiones ``if``* permiten la compilación condicinal
+.. [#difexpr] Las *expresiones ``if``* permiten la compilación condicional
    basada en las características de un tipo. Esto se realiza en favor
    a una técnica utilizada en C++ de realizar *pattern matching*
    sobre los parámetros de las plantillas. Más información en
@@ -194,7 +191,7 @@ Programación de Alto Nivel
 
 Programación Orientada a Objetos
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-- Obejetos *pesadas* (polimórficos).
+- Objetos *pesadas* (polimórficos).
 - Interfaces.
 - Sobrecarga de operadores (con tipos de retorno covariantes [#dcovariant]_).
 - Clases anidadas.
@@ -260,7 +257,7 @@ de los algoritmos a representar y como tal, nos impide desarrollar una
 mayor abstracción.
 
 Muchas veces se aduce también que la recolección de basura impide
-el desarrollo de programas eficientes. Si bien es inegable que la
+el desarrollo de programas eficientes. Si bien es innegable que la
 recolección de basura impone una carga extra, ésta es, en la mayoría
 de los casos, imperceptible. Incluso algunos algoritmos de recolección
 de basura pueden aumentar la eficiencia en casos determinados, como
@@ -286,7 +283,7 @@ difícil la búsqueda de errores.
 Problema
 ========
 Como se ha visto, D_ es un lenguaje de programación muy completo,
-pero aún tiene algúnos aspectos inconclusos. Su recolector de basura
+pero aún tiene algunos aspectos inconclusos. Su recolector de basura
 está en un estado de evolución muy temprana. Se trata de un marcado y
 barrido (*mark and sweep*) conservativo que, en ciertas circunstancias,
 no se comporta como es debido, ya que revisa toda la memoria del programa
@@ -373,7 +370,7 @@ será:
 - Elegir un conjunto de las mejores soluciones halladas e implementarlas.
   Las soluciones que necesiten modificaciones en el lenguaje serán
   implementadas modificando el compilador libre de D_ GDC_, que
-  también será utilizado como plataforma principal de desarollo y
+  también será utilizado como plataforma principal de desarrollo y
   prueba (debido a la disponibilidad completa del código fuente y
   la libertad de usarlo y modificarlo libremente). De todas formas,
   siempre se priorizarán las modificaciones al *frontend* [#frontend]_
@@ -382,7 +379,7 @@ será:
   el *frontend* publicado por DigitalMars_, como DMD_.
 - Realizar pruebas sobre aplicaciones lo más variadas y reales posible
   sobre todas las soluciones implementadas, de manera de determinar de
-  forma fehasible las ventajas de unas y otras en cuanto a latencia,
+  forma fehaciente las ventajas de unas y otras en cuanto a latencia,
   consumo de memoria, consumo de procesador, tiempos de pausa, etc.
 - Presentar las conclusiones obtenidas del análisis y las pruebas
   realizadas, tanto en el ámbito académico de la facultad como a la
@@ -399,7 +396,7 @@ será:
 
 Alcance
 -------
-Las ténicas de recolección de basura que se analizarán en este trabajo
+Las técnicas de recolección de basura que se analizarán en este trabajo
 incluirán, pero no se limitarán a:
 
 - Conteo de referencia (*reference counting*).
@@ -476,17 +473,10 @@ Confección de la Tesis                       240 hs Sep 2007 Dic 2007
 Confección del material para la exposición    52 hs Nov 2007 Dic 2007
 ========================================== ======== ======== ========
 
-.. note::
-   Tanto las horas de esfuerzo como las fechas de inicio y fin son
-   tentativas y por lo tanto aproximadas. Debido a la finalización de la
-   cursada al término del primer cuatrimestre de 2007, la dedicación
-   aumentará considerablemente durante el segundo cuatrimestre de 2007 (por
-   ello la diferencia de horas entre ambos períodos).
-
-
-.. FIN DOCUMENTO
 
+.. ============== FIN DOCUMENTO ===========
 
+.. Macros:
 .. |date| date:: %e de %B de %Y
 
 .. Links: