viernes, 21 de noviembre de 2008

7.-CODIGO FUENTE

De un programa informático o software que son las instrucciones que deben seguir las computadoras para ejecutar dicho programa. Por tanto el código fuente de un programa esta descrito por completo su funcionamiento. El código fuente de un programa esta escrito por un programador en algún lenguaje de programación pero en este primer caso no es ejecutable por la computadora si no que debe ser traducido a un lenguaje maquina o código objeto que si puede ser ejecutable por el hardware de la computadora.

Interprete

Es un programa informático capaz de analizar y ejecutar otros programas escritos en un lenguaje de alto nivel. Los intérpretes solo realizan la traducción y normal mente no guardan el resultado de dicha traducción. Los programas interpretados suelen ser más lentos que los compilados debidos que la necesidad de traducir mientras se ejecuta pero en cambio son más flexibles como entornos de programación y depuración.

Compilador

Es un programa que traduce los programas fuente escritos en lenguaje de alto nivel a lenguaje maquina. o a otros lenguajes, que puedan ejecutarse tantas veces como quiera. Esto es compilación.

Comparando su actuación con la de un ser humano un compilador equivale a un traductor profesional que a partir de un texto escrito lo traduce a otra lengua, un intérprete seria como un intérprete humano que traduce de viva voz las palabras que oyen sin dejar constancia por escrito.

Código objeto

Se llama código objeto en programación al código resultante de la compilación del código fuente, por lo general esta codificado en código de maquina y distribuido en varios archivos resultantes de la compilación de cada archivo de código fuente. Para obtener un archivo ejecutable.
Lenguaje de programación

Son herramientas que nos permiten crear programas y software. Entre ellos tenemos Delphi, Visual Basic, Pascal, Java, etc.

Una computadora funciona bajo control de un programa el cual debe estar almacenado en la unidad de memoria; tales como el disco duro.

Los lenguajes de programación de una computadora en particular se conoce como código de máquinas o lenguaje de máquinas.
Estos lenguajes codificados en una computadora específica no podrán ser ejecutados en otra computadora diferente.

Para que estos programas funcionen para diferentes computadoras hay que realizar una versión para cada una de ellas, lo que implica el aumento del costo de desarrollo.

Por otra parte, los lenguajes de programación en código de máquina son verdaderamente difíciles de entender para una persona, ya que están compuestos de códigos numéricos sin sentido nemotécnico.

Los lenguajes de programación facilitan la tarea de programación, ya que disponen de formas adecuadas que permiten ser leidas y escritas por personas, a su vez resultan independientes del modelo de computador a utilizar.

Los lenguajes de programación representan en forma simbólica y en manera de un texto los códigos que podrán ser leidos por una persona.

Los lenguajes de programación son independientes de las computadoras a utilizar.
Clasificación de los lenguajes de programación
Los lenguajes de programación se pueden clasificar atendiendo a varios criterios:
• Según el nivel de abstracción
• Según la forma de ejecución
• Según el paradigma de programación que poseen cada uno de ellos
Según su nivel de abstracción
Lenguajes Maquina
Están escritos en lenguajes directamente inteligibles por la maquina (computadora), ya que sus instrucciones son cadenas binarias (0 y 1). Da la posibilidad de cargar (transferir un programa a la memoria) sin necesidad de traducción posterior lo que supone una velocidad de ejecución superior, solo que con poca fiabilidad y dificultad de verificar y poner a punto los programas.
Lenguajes de bajo nivel
Los lenguajes de bajo nivel son lenguajes de programación que se acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel por excelencia es el código máquina. A éste le sigue el lenguaje ensamblador, ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma directa.
Lenguajes de medio nivel
Hay lenguajes de programación que son considerados por algunos expertos como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas características que los acercan a los lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel.
Lenguajes de alto nivel
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés. En BASIC, uno de los lenguajes de alto nivel más conocidos, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si el CONTADOR es igual a 10. Esta forma de trabajar puede dar la sensación de que las computadoras parecen comprender un lenguaje natural; en realidad lo hacen de una forma rígida y sistemática, sin que haya cabida, por ejemplo, para ambigüedades o dobles sentidos.
Según la forma de ejecución
Lenguajes compilados
Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una compilación antes de ejecutar las instrucciones de un problema.
Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).
Al usar un lenguaje compilado (como lo son, por ejemplo, los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se podrá ejecutar mientras haya errores, sino hasta que tras haber compilado el programa, ya no aparecen errores en el código.
Lenguajes interpretados
Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la compilación para utilizarlo en una ejecución futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el procesamiento de los datos. El código objeto no se graba para utilizarlo posteriormente.
La siguiente vez que se utilice una instrucción, se la deberá interpretar otra vez y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo o bucle, cada instrucción del bucle tendrá que volver a ser interpretada en cada ejecución repetida del ciclo, lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo). El intérprete elimina la necesidad de realizar una de compilación después de cada modificación del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una ejecución del código.
Ejemplos de lenguajes de programación
Lenguajes imperativos
• BASIC
• C
• C++
• Java
• C#
• Perl
• unerg
Lenguajes Funcionales
• Puros:
o Haskell
o Miranda
• Híbridos:
o Lisp
o Scheme
o Ocaml
o Standard ML
o ML
o Scala
Lenguajes Lógicos
• Prolog
Lenguajes orientados a objetos
• ActionScript
• Ada
• C++
• C#
• VB.NET
• Visual FoxPro
• Clarion
• Delphi
• Harbour
• Eiffel
• Java
• JavaScript
• Lexico (en castellano)
• Objective-C
• Ocaml
• Oz
• Perl (soporta herencia múltiple)
• PHP (en su versión 5)
• Python
• Ruby
• Smalltalk
• Magik (SmallWorld)
Algunos lenguajes de programación
• ABAP
• ABC
• ActionScript
• Ada
• Afnix
• ALGOL
• AmigaE
• APL
• ASP
• ASP.NET
• AWK
• B
• BASIC
• Batch
• BCPL
• Befunge
• Boo
• C
• C++
• C#
• Caml
• Clipper
• CLIPS
• CLU
• COBOL
• CORAL
• D
• Delphi
• DIV
• Dylan
• Eiffel
• Erlang
• Ensamblador
• Extended ML
• Euphoria
• Fénix
• FISH
• Flow-Matic
• Forth
• FORTRAN
• FP
• Gambas
• GML
• GRAFCET
• Haskell
• H4XX0R
• HTML
• Icon

Definiciones:

Asno: animal domesticado más pequeño que el caballo que se utiliza como bestia de carga y tiro.

Burro: asno, persona de poco entendimiento. Escalera de tijera.

Fumento: persona sin delicadeza o ignorante. Animal de carga.

Pollino: animal o bestia para trabajos forzados.

No hay comentarios: