1.2.6. Editores

Un editor es un programa del sistema que sirve para introducir textos en una computadora  mediante la terminal de video, así que se partirá de que esta es su función primordial: servir de canal de entrada de textos, datos y programas fuente, que normalmente residirían en un disco duro de la computadora hasta que se decida borrarlos o transferirlos a una memoria USB o disco de respaldo.   

En el diseño de un editor existen dos frentes que hay que considerar: la comunicación con el usuario y la liga con el sistema de archivos de la máquina. Los objetivos de la primera interfaz son permitir que el usuario pueda crear, manipular y borrar información en forma fácil y sin tener que preocuparse de los detalles físicos de operación de la memoria o los discos, mientras que los de la segunda función consisten en lograr que la gran cantidad de operaciones lógicas y físicas requeridas para interactuar con los sistemas de archivos y de entrada/salida de la computadora se lleve a cabo rápidamente y eficazmente, consumiendo la menor cantidad de recursos posible para que el tiempo de respuesta no se degrade.

Funciones

  • Creación de un archivo que contendrá texto
  • Facilidades para manipular el archivo, que incluyen, entre otras cosas:
    • Agregar texto a un archivo mediante el teclado de la terminal.
    • Capacidad de borrar caracteres o palabras, renglones completos y grupo de ellos.
    • Capacidad de insertar caracteres, palabras o renglones en medio de texto a existente.
    • Capacidad de buscar en el texto algún subtexto en particular y, posiblemente, cambiarlo por algún otro.
    • Capacidad de desplegar en pantalla cualquier porción del texto, determinada por número de renglón, numero de página, contenido de renglón, etc.
    • Capacidad de copiar porciones de texto a otros lugares dentro de ese archivo o de algún otro, así como la acción inversa: traer texto de otros archivos para integrarlo al actual.
    • Combinación de varios archivos en uno solo y su inversa.
    • Creación de ventanas para tener acceso a contenidos de diferentes archivos en forma simultánea.
    • Facilidades de edición, entre las que se incluyen paginación, notas al pie, índices, subtítulos y portadas, alineación del margen derecho y, en algunos casos, búsqueda (y corrección) de errores tipográficos y ortográficos.
    • Eliminación de un archivo.

Existe una gran diversidad de editores, que van desde los más elementales (que no cubren todas las funciones recién expuestas) hasta verdaderos sistemas completos de edición, o de ayuda para creación de programas en algún lenguaje específico de programación, que detectan cierto tipo de errores léxicos y sintácticos al momento de creación del programa.  Por ejemplo en un lenguaje compilado, si  hay errores de sintaxis, el editor toma el control y muestra al usuario la línea del programa que contiene el error, junto con el diagnósticos apropiado.

Los primeros editores eran de un tipo conocido como editores de línea en los que la ventana mostraba solo uno o pocos renglones de texto y las modificaciones deseadas no se aplicaban directamente sobre ellos, si no que era forzoso describirlas antes mediante instrucciones especiales; esto hacia bastante complicada la labor de moverse  a lo largo y ancho de las páginas que componen el texto.

En términos generales, el diseño de un editor representa un esfuerzo considerable de ingeniería de software, y son muchos los recursos técnicos y teóricos que deben intervenir en su elaboración, y esta es una las razones por las que la venta de este tipo de sistemas ha tenido un gran auge.