Aplicaciones de los lenguajes de programación
Generalmente, los distintos lenguajes de programación se desarrollan para áreas de aplicación muy determinadas como pueden ser las aplicaciones científicas, el procesamiento de textos o de datos, la inteligencia artificial o la programación de sistemas. En el caso de las aplicaciones científicas, se trata de manejar números y tablas de números sobre la base del empleo de principios matemáticos y estadísticos.
(p. ej, aproximaciones numéricas a la solución de ecuaciones diferenciales, regresiones, test de tipo estadístico, etc.). Si bien, por lo general, la cantidad de datos y su estructura es pequeña y relativamente sencilla, existen ciertos casos, como, por ejemplo, el flujo de datos transmitidos desde un satélite, que plantean la necesidad de su reducción antes de poder acometer cualquier tipo de análisis de los mismos.
Están caracterizados por la propia complejidad matemática de los problemas a tratar y por tanto los algoritmos empleados deben crearse sobre la base de un profundo conocimiento de los principios matemáticos subyacentes.
Finalmente, los problemas científicos plantean el llamado problema de cota de cálculo, que se refiere al hecho de que este tipo de problemas requieren por lo general mucho más trabajo por parte de la unidad central del procesamiento del ordenador (dado que la mayoría del tiempo se empleará en cálculos aritméticos) que de sus dispositivos de entrada o salida, pues ni la cantidad de datos suministrados para definir el problema ni los necesarios para emitir la solución son excesivamente grandes.
En cuanto al procesamiento de datos, el problema a tratar es fundamentalmente el de la creación, mantenimiento, extracción y compendio de los datos en archivos y registros. Comúnmente, el procesamiento de datos se emplea en las tareas de gestión empresarial y comprende entonces las operaciones relacionadas con las nóminas de los empleados, contabilidad empresarial, facturación de mercancías, inventarios diversos, control de la producción y ventas y demás operaciones de tipo administrativo.
Los archivos de esta clase incluyen, por lo general, gran cantidad de información, cifrándose en varios miles de registros y en varios cientos de caracteres la información albergada en cada uno de ellos, mientras que el tiempo empleado en operaciones aritméticas u otro tipo de procesos suele ser menor que en las aplicaciones científicas, empleándose básicamente en la entrada y salida de los datos (operaciones de búsqueda y localización, de forma periódica, de ciertas informaciones, altas, bajas, modificaciones, etc.).
Esto hace que dichas aplicaciones requieran gran cantidad de espacio para almacenamiento de datos pero el tiempo de utilización de la unidad central de procesamiento es relativamente escaso. Por este motivo, tales aplicaciones hacen uso frecuente del procesamiento por lotes en lugar del tratamiento de tipo interactivo.
Sin embargo, el empleo de los procesos interactivos se aplica también en aquellos casos en los que una operación implica otras muchas interconectadas (como, p. ji., el pedido de un billete de avión que genera la reserva automática, el cobro, etc.), Las aplicaciones de procesamiento de textos constituyen un grupo muy especial en el que la actividad principal consiste en crean modificar, manipular un texto escrito en lenguaje natural en lugar de expresarla información mediante caracteres numéricos. En la actualidad, la tecnología de procesamiento de textos aplica los diversos algoritmos de procesamiento de textos para realizar todas las funciones que lleva a cabo un mecanógrafo cuando prepara un original mecanografiado.
Dichos algoritmos son muy diferentes de los empleados en la resolución de otros tipos de problemas de programación y permiten no sólo trabajar actualmente con lenguajes naturales de ortografía occidental (y todas sus variantes) sino también el empleo de alfabetos tales como el cirílico, el japonés, el arábigo, etc.
Las aplicaciones de lenguaje de programación a la resolución de los problemas asociados con la inteligencia artificial se caracterizan por tratar de emular el proceso que sigue el intelecto humano incluyen por lo tanto algoritmos especiales para juegos (p. ej., el ajedrez), programas para comprender los lenguajes naturales, percepción visual por parte de los ordenadores, programación relacionada con la robótica y la implicada en los llamados sistemas expertos.
Finalmente se encuentran las aplicaciones para la programación de sistemas, cuya función es la de actuar de interfase entre el sistema físico (ordenador) y el operador o programador, incluyendo por ello tanto compiladores, ensambladores e interpretes como diversas rutinas para la entrada y salida de datos y ciertas facilidades de gestión y uso de los recursos que pone el ordenador a su disposición.
Este tipo de aplicaciones se distingue por ser capaz de coordinarla ejecución de diversos programas (que por lo general se verifican de un modo asíncrono) y por la necesidad de poder tratar sucesos impredecibles tales como errores durante la entrada o salida de los datos.
Cabe considerar que las áreas de aplicaciones mencionadas no cubren de un modo exhaustivo la totalidad de las aplicaciones existentes ya que, entre otras, la gestión de las bases de datos ha ido ganando cada ves mayor importancia tanto en las aplicaciones científicas como en las de inteligencia artificial: por su parte, el tratamiento de textos y la inteligencia artificial parecen constituir un binomio indisoluble en lo que a la traducción automática de los lenguajes naturales Se refiere.