sábado, 9 de marzo de 2013

INTRODUCCIÓN A LA PROGRAMACION



PROGRAMACION 

La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. El propósito de la programación es crear programas que exhiban un comportamiento deseado.Programar no involucra necesariamente otras tareas tales como el análisis y diseño de la aplicación (pero sí el diseño del código), aunque sí suelen estar fusionadas en el 
desarrollo de pequeñas aplicaciones.

Lenguaje de programación

Un lenguaje de programación es un idioma artificial diseñado para expresar procesos que pueden ser llevadas a cabo por máquinas como las computadoras.
Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.
También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:
·         El desarrollo lógico del programa para resolver un problema en particular.
·         Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).
·         Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
·         Prueba y depuración del programa.
·         Desarrollo de la documentación.


Características de 

los lenguajes de programación


Las computadoras calculan eléctricamente por medio de pulsos de corriente y voltajes que representan formasde comunicación por demás ajenas al lenguaje humanos. Así pues, el medio que permite entablar lacomunicación con

las máquinas se conoce como “lenguaje de programación”.

Aún con su corta duración, la historia de la computación electrónica ha producido varios cientos de lenguajes de programación ampliamente reconocidos y utilizados. Al principio se acercaban mucho al lenguaje propio de las computadoras (ceros y unos), pero se han ido transformando para acercarse más a las lenguas humanas como el inglés o bien a formas gráficas mas expresivas y sintéticas. Entre más cercano a la computadora es un lenguaje se le denomina de bajo nivel, lo contrario es de alto nivel. Existen cinco generaciones de lenguajes de programación, en donde cada uno mejora a sus predecesores en cuanto a las facilidades que otorga al programador.

1.Lenguaje máquina.
2. Lenguajes ensambladores.
3. Lenguajes de alto nivel.
4. Lenguajes de muy alto nivel
.5. Lenguajes naturales

 Lenguaje Máquina

El lenguaje máquina, el de más bajo nivel, representa datos e instrucciones con dígitos binarios (0s y 1s), y el elemento ejecutor es la circuitería misma de la computadora. Al principio de la comunicación electrónica cada máquina tenía su propio lenguaje, y los programadores tenían sistemas rudimentarios para combinar números que representaran instrucciones simples como SUMAR y COMPARAR. Los métodos de programación en este lenguaje son tediosos e imprácticos,por lo que la comunidad del cómputo se movió rápidamente para desarrollar lenguajes ensambladores. 

Lenguaje de alto nivel.

La investigación sobre los lenguajes de alto nivel se inicia en 1945, con el ingeniero alemán Konrad Zuse, pero hasta el inicio de los 1960 que se generaliza su uso,transformando radicalmente la actividad de la programación. Estos lenguajes se asemejan más a la lengua humana, particularmente el inglés, con menos detallados y con menos declaraciones describen tareas más complejas para la computadora. Como resultado, los programadores logran trabajos de mayor alcance y con menos esfuerzo. Obviamente se requiere de un traductor de las declaraciones simbólicas de un lenguaje de alto nivel al lenguaje máquina ejecutable por la computadora,estos traductores se llaman compiladores (el primero se desarrollo en 1952). Existen compiladores para cada lenguaje y cada máquina, pero una ventaja de los lenguajes de alto nivel es que se pueden trasladar de una máquina a otra con pocas o nulas modificaciones.Entre los lenguajes de esta generación se encuentran los de propósito general como BASIC, FORTRAN y COBOL que han sido muy populares. Además se encuentran Pascal, Cy sus derivados.


Visual C# 



Microsoft Visual C# 2005 es un lenguaje de programación diseñado para crear una amplia gama de aplicaciones que se ejecutan en .NET Framework. C# es simple, eficaz, con seguridad de tipos y orientado a objetos. Con sus diversas innovaciones, C# permite desarrollar aplicaciones rápidamente y mantiene la expresividad y elegancia de los lenguajes de tipo C.Visual Studio admite Visual C# con un editor de código completo, plantillas de proyecto, diseñadores, asistentes para código, un depurador eficaz y fácil de usar, además de otras herramientas. La biblioteca de clases .NET Framework ofrece acceso a una amplia gama de servicios de sistema operativo y a otras clases útiles y adecuadamente diseñadas que aceleran el ciclo de desarrollo de manera significativa.

Características principales de C#


A continuación enumeramos las principales características que definen al lenguaje de programación C#. Algunas de estas características no son propias del lenguaje, sino de la plataforma .NET, aunque se listan aquí ya que tienen una implicación directa en el lenguaje.




-Sencillez de uso


C# elimina muchos elementos añadidos por otros lenguajes y que facilitan su uso y compresión, como por ejemplo ficheros de cabecera, o ficheros fuentes IDL1 .12. Es por ello que se dice que C# es auto contenido. Además, no se incorporan al lenguaje elementos poco útiles, como por ejemplo macros, herencia múltiple u operadores diferentes al operador de acceso a métodos (operador punto) para acceder a miembros de espacios de nombres.



-Modernidad


Al ser C# un lenguaje de última generación, incorpora elementos que se ha demostrado a lo largo del tiempo que son muy útiles para el programador, como tipos decimales o
Booleanos, un tipo básico
String, así como una instrucción que permita recorrer colecciones con facilidad (instrucción foreach). Estos elementos hay que simularlos en otros lenguajes como C++ o Java.
-Orientado a objetos

C# como lenguaje de última generación, y de propósito general, es orientado a objetos. C# no permite la inclusión de funciones ni variables globales que no estén incluidos en una definición de tipos, por lo que la orientación a objetos es más pura y clara que en otros lenguajes como C++. Además, C# soporta todas las características del paradigma de la programación orientada a objetos, como son la Encapsulación, la herencia Y el polimorfismo.


-Orientado a componentes



La propia sin taxis de C# incluye elementos propios del diseño de componentes que otros lenguajes tienen que simular. La sintaxis de C# incluye por ejemplo formas de definir
Propiedades, eventos o atributos.


-Recolección de basura

Como ya se comentó, todo lenguaje incluido en la plataforma .NET tiene a su disposición el recolector de basura del CLR. Esto implica que no es necesario incluir instrucciones de destrucción de objetos en el lenguaje.

-Seguridad de tipos

 C# incluye mecanismos de control de acceso a tipos de datos, lo que garantiza que no se produzcan errores difíciles de detectar como una acceso a memoria de ningún objeto, por ejemplo. Para ello, el lenguaje provee de una serie de normas de sintaxis, como por ejemplo no realizar conversiones entre tipos que no sean compatibles. Además, no se pueden usar variables no inicializadas previamente, y en el acceso atablas se hace una comprobación de rangos para que no se excedan ninguno de los índices de la misma. 

Compilador

Un compilador es un programa informático que traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente que la máquina será capaz de interpretar. Usualmente el segundo lenguaje es lenguaje de máquina, pero también puede ser un código intermedio (bytecode), o simplemente texto. Este proceso de traducción se conoce como compilación.


Intérprete 

En ciencias de la computación, intérprete o interpretador es un programa informático capaz de analizar ejecutar otros programas, escritos en un lenguaje de alto nivel. Los intérpretes se diferencian de los compiladores en que mientras estos traducen un programa desde su descripción en un lenguaje de programación al código de máquina del sistema, los intérpretes sólo realizan la traducción a medida que sea necesaria, típica mente, instrucción por instrucción, y normalmente no guardan el resultado de dicha traducción.
Usando un intérprete, un solo archivo fuente puede producir resultados iguales incluso en sistemas sumamente diferentes (ej. una PC y un PlayStation 3). Usando un compilador, un solo archivo fuente puede producir resultados iguales solo si es compilado a distintos ejecutables específicos a cada sistema.
Los programas interpretados suelen ser más lentos que los compilados debido a la necesidad de traducir el programa mientras se ejecuta, pero a cambio son más flexibles como entornos de programación y depuración (lo que se traduce, por ejemplo, en una mayor facilidad para reemplazar partes enteras del programa o añadir módulos completamente nuevos), y permiten ofrecer al programa interpretado un entorno no dependiente de la máquina donde se ejecuta el intérprete, sino del propio intérprete (lo que se conoce comúnmente como máquina virtual).
Para mejorar el desempeño, algunas implementaciones de programación de lenguajes de programación pueden interpretar o compilar el código fuente original en una más compacta forma intermedia y después traducir eso al código de máquina (ej. Perl, Python, MATLAB, y Ruby). Algunos aceptan los archivos fuente guardados en esta representación intermedia (ej. Python, UCSD Pascal y Java).
Comparando su actuación con la de un ser humano, un compilador equivale a un traductor profesional que, a partir de un texto, prepara otro independiente traducido a otra lengua, mientras que un intérprete corresponde al intérprete humano, que traduce de viva voz las palabras que oye, sin dejar constancia por escrito.
En la actualidad, uno de los entornos más comunes de uso de los intérpretes informáticos es Internet, debido a la posibilidad que estos tienen de ejecutarse independientemente de la plataforma.
Bibliografias
- wikipedia enciclopedia libre
-