Un algoritmo: Es una secuencia ordenada de pasos que conducen a la
solución de un problema. Los algoritmos tienen tres características fundamentales:
1) Son precisos, es decir, deben indicar el orden de realización de los pasos. 2) Están bien definidos, es decir, si se sigue el algoritmo dos veces usando los mismos datos, debe proporcionar la misma solución. 3) Son finitos, esto es, deben completarse en un número determinado de pasos.
Los lenguajes de programación:
Podemos definir un lenguaje de programación como un conjunto de símbolos que se combinan de acuerdo con una sintaxis bien definida para posibilitar la transmisión de instrucciones a la CPU. tres clasificaciones: La primera, según la época del lenguaje y el paradigma (o estilo) de programación que permite. La segunda, atendiendo al nivel de abstracción del lenguaje, distinguirá entre lenguajes de bajo nivel y de alto nivel. La tercera, según el proceso de traducción a código máquina, distinguirá entre lenguajes interpretados, compilados y ensamblados.
la programación declarativa o la funcional
Ensambladores Se llaman ensambladores los programas encargados de traducir los programas escritos en ensamblador a código binario. El compilador es un programa que traduce el código de alto nivel a código binario. El programa escrito en lenguaje de alto nivel se denomina programa fuente o código fuente. El programa traducido a código binario se llama programa objeto o código objeto Intérpretes El intérprete es un programa que traduce el código de alto nivel a código binario, pero, a diferencia del compilador, lo hace en tiempo de ejecución. javaScript es un ejemplo de lenguaje interpretado. Máquinas virtuales Una máquina virtual es un programa informático que emula a un ordenador y puede ejecutar programas como si fuese un ordenador real. La máquina virtual puede emular un ordenador real o ficticio Clasificación : Máquinas virtuales de sistema Las máquinas virtuales de sistema, también llamadas máquinas virtuales de hardware, permiten a la máquina física "dividirse" entre varias máquinas virtuales, cada una ejecutando su propio sistema operativo. Estas máquinas virtuales permiten a varios sistemas operativos distintos pueden coexistir sobre el mismo hardware, completamente aisladas unas de otras, si bien compartirán los recursos de la máquina física. Esto permite reducir el coste total de las instalaciones necesarias para mantener los mismos servicios, dado que hay un ahorro considerable en hardware, energía, mantenimiento, espacio, etc. Máquinas virtuales de proceso: Una máquina virtual de proceso, a veces llamada "máquina virtual de aplicación", se ejecuta como un proceso normal dentro de un sistema operativo y soporta un solo proceso. La máquina se inicia automáticamente cuando se lanza el proceso que se desea ejecutar y se detiene para cuando éste finaliza. Su objetivo es el de proporcionar un entorno de ejecución independiente de la plataforma de hardware y del sistema operativo, que oculte los detalles de la plataforma subyacente y permita que un programa se ejecute siempre de la misma forma sobre cualquier plataforma. Herramientas para desarrollar con Java: La biblioteca de clases estándar de Java. La JVM o máquina virtual Java (java) El compilador de java (javac) Un desensamblador de clases (javap) Un depurador de consola (jdb) El generador automático de documentación (javadoc) Un visor de applets (appletviewer)