Lenguajes e Instrucciones

sábado, 20 de febrero de 2010
Para que un microprocesador realice un proceso se le debe de suministrar un algoritmo (Serie de pasos para solucionar un problema) adecuado, el procesador debe de ser capaz de interpretar el algoritmo para eso debe de:

1) Comprender Instrucciones
2) Realizar las operaciones correspondientes

Como el procesador no entiende el algoritmo tal y cual lo planteamos, ahora debemos de transformarlo en un "programa", es decir la ejecución de un lenguaje de programacion, y las operaciones que conducen a expresar un algoritmo en forma de programa se llama programacion.

Tipos de lenguajes


↑↨↑ Lenguaje maquina o de bajo nivel (binario)
Se llaman de bajo nivel porque están muy cercanos al hardware del ordenador. Es necesario conocer a fondo la arquitectura de la maquina para la que se va a programar.
El primer lenguaje de este tipo que se utilizó fue el lenguaje máquina, que consiste en un conjunto de instrucciones en binario, es decir, con ceros y unos, con los cuales se indica al ordenador qué hacer. Este lenguaje es muy complicado y la posibilidad de cometer errores es muy alta, por lo que ya no se utiliza.
Para solventar estas dificultades aparecio el lenguaje ensamblardor, que consiste en asignar una abreviatura a cada instrucción en binario, de forma que sea más fácil recordarla y más difícil equivocarse. Sin embargo, con este lenguaje sigue siendo necesario conocer muy bien el hardware del ordenador.


↑↨↑ Lenguaje de nivel medio (ensamblador)

Lenguajes capaces de puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel.

↑↨↑ De alto nivel

Los lenguajes de alto nivel suelen utilizar términos ingleses del tipo LIST, PRINT u OPEN como comandos que representan una secuencia de decenas o de centenas de instrucciones en lenguaje máquina. Los comandos se introducen desde el teclado, desde un programa residente en la memoria o desde un dispositivo de almacenamiento, y son interceptados por un programa que los traduce a instrucciones en lenguaje máquina.
Los programas traductores son de dos tipos: intérpretes y compiladores. Con un intérprete, los programas que repiten un ciclo para volver a ejecutar parte de sus instrucciones, reinterpretan la misma instrucción cada vez que aparece. Por consiguiente, los programas interpretados se ejecutan con mucha mayor lentitud que los programas en lenguaje máquina. Por el contrario, los compiladores traducen un programa íntegro a lenguaje máquina antes de su ejecución, por lo cual se ejecutan con tanta rapidez como si hubiesen sido escritos directamente en lenguaje máquina.


Pseudocodigo


Pseudo o seudo significa falso, imitacion y codigo es la serie de instrucciones escritas en un lenguaje de programacion, es decir que el seudo coidgo es solo una imitacion de instrucciones reales para las computadoras, con el seudocodigo podemos entender lo que queremos hacer sin necesidad de implementarlo en un lenguaje de programacion, ademas el seudocodigo bien elaborado sirve en cualquier lenguaje de programacion.

Lenguajes de Programación

lunes, 1 de febrero de 2010
Un lenguaje de programación es un idioma artificial diseñado para expresar instrucciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas, sistemas o utilerias que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, resolviendo desde un problema simple hasta uno muy difícil. Está formado de un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.
Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y ´lenguaje informático´. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo el HTML
Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Léxico. Una característica relevante de los lenguajes de programación es precisamente que más de un programador puedan tener un conjunto común de instrucciones que puedan ser comprendidas entre ellos para realizar la construcción del programa de forma colaborativa.
Ejemplos de ellos son C, C++(es lo mismo que C pero con POO), Java, BASIC, Prolog, LISP, Pascal, Delphi, Clipper.

Java

El lenguaje de programación Java, fue diseñado por la compañía Sun Microsystems Inc, con el propósito de crear un lenguaje que pudiera funcionar en Redes computacionales heterogéneas ( redes de computadoras formadas por más de un tipo de computadora, ya sean PC, MAC's, estaciones de trabajo, etc.),y que fuera independiente de la plataforma en la que se vaya a ejecutar. Esto significa que un programa de Java puede ejecutarse en cualquier máquina o plataforma. El lenguaje fue diseñado con las siguientes características en mente:

  • Simple. Elimina la complejidad de los lenguajes como "C" y da paso al contexto de los lenguajes modernos orientados a objetos. Orientado a Objetos. La filosofia de programación orientada a objetos es diferente a la programación convencional.
  • Familiar. Como la mayoría de los programadores están acostumbrados a programar en C o en C++, el sintaxis de Java es muy similar al de estos.
  • Robusto. El sistema de Java maneja la memoria de la computadora por ti. No te tienes que preocupar por apuntadores, memoria que no se esté utilizando, etc. Java realiza todo esto sin necesidad de que uno se lo indique.
  • Seguro. El sistema de Java tiene ciertas politicas que evitan se puedan codificar virus con este lenguaje. Existen muchas restricciones, especialmente para los applets, que limitan lo que se puede y no puede hacer con los recursos críticos de una computadora.
  • Portable. Como el código compilado de Java (conocido como byte code) es interpretado, un programa compilado de Java puede ser utilizado por cualquier computadora que tenga implementado el interprete de Java.
  • Independiente a la arquitectura. Al compilar un programa en Java, el código resultante un tipo de código binario conocido como byte code. Este códido es interpretado por diferentes computadoras de igual manera, solamente hay que implementar un intérprete para cada plataforma. De esa manera Java logra ser un lenguaje que no depende de una arquitectura computacional definida.
  • Multithreaded. Un lenguaje que soporta multiples threads es un lenguaje que puede ejecutar diferentes líneas de código al mismo tiempo.
  • Interpretado. Java corre en máquina virtual, por lo tanto es interpretado.
  • Dinámico. Java no requiere que compiles todas las clases de un programa para que este funcione. Si realizas una modificación a una clase Java se encarga de realizar un Dynamic Bynding o un Dynamic Loading para encontrar las clases.

C/C++

C es un lenguaje de programacion creado en 1972 por Dennis Ritchi en los laboratorios Bell como evolución del anterior es decir el lenguaje B, a su vez basado en BCPI.

Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones.

Se trata de un lenguaje débilmente tipificado de Medio nivel pero con muchas características de bajo nivel. Dispone de las estructuras típicas de los de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajonivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos perifericos. C++ es solamente un parche de C con una programacion orientada a objetos y Java es la recopilacion de las mejores ideas de c, sin embargo ahora lo mas nuevo por Microsoft es C# es decir un lenguaje en plataforma .NET

Estos son los dos lenguajes predominantes dentro de el mundo de la informatica.