viernes, 12 de junio de 2015


PROGRAMACIÓN

Se refiere a idear y ordenar las acciones que se realizarán en el marco de un proyecto; al anuncio de las partes que componen un acto o espectáculo; a la preparación de máquinas para que cumplan con una cierta tarea en un momento determinado; a la elaboración de programas para la resolución de problemas mediante ordenadores; y a la preparación de los datos necesarios para obtener una solución de un problema a través de una calculadora electrónica, por ejemplo.
En la actualidad, la noción de programación se encuentra muy asociada a la creación de aplicaciones informáticas y videojuegos; es el proceso por el cual una persona desarrolla un programa valiéndose de una herramienta que le permita escribir el código (el cual puede estar en uno o varios lenguajes, tales como C++, Java y Python) y de otra que sea capaz de “traducirlo” a lo que se conoce como lenguaje de máquina, el cual puede ser entendido por un microprocesador.

Historia

En sus inicios las computadoras interpretaban sólo instrucciones en un lenguaje específico, del más bajo nivel, conocido como código maquina, siendo éste excesivamente complicado para programar. De hecho sólo consiste en cadenas de números 1 y 0 (sistema binario). Para facilitar el trabajo de programación, los primeros científicos que trabajaban en el área decidieron reemplazar las instrucciones, secuencias de unos y ceros, por palabras o letras provenientes del inglés; las codificaron y crearon así un lenguaje de mayor nivel, que se conoce como Assembly o lenguaje ensamblador. Por ejemplo, para sumar se usa la letra A de la palabra inglesa add (sumar). En realidad escribir en lenguaje ensamblador es básicamente lo mismo que hacerlo en lenguaje máquina, pero las letras y palabras son bastante más fáciles de recordar y entender que secuencias de números binarios. A medida que la complejidad de las tareas que realizaban las computadoras aumentaba, se hizo necesario disponer de un método sencillo para programar. Entonces, se crearon los lenguajes de alto nivel. Mientras que una tarea tan trivial como multiplicar dos números puede necesitar un conjunto de instrucciones en lenguaje ensamblador, en un lenguaje de alto nivel bastará con sólo una. Una vez que se termina de escribir un programa, sea en ensamblador o en algunos lenguajes de alto nivel, es necesario compilarlo, es decir, traducirlo completo a lenguaje máquina. Eventualmente será necesaria otra fase denominada comúnmente link, edición o enlace, durante la cual se anexan al código, generado durante la compilación, los recursos necesarios de alguna biblioteca. En algunos lenguajes de programación, puede no ser requerido el proceso de compilación y enlace, ya que pueden trabajar en modo intérprete. Esta modalidad de trabajo es equivalente pero se realiza instrucción por instrucción, a medida que es ejecutado el programa.


Historia De La Programación- Youtube


Linea De Tiempo

NOVIEMBRE 26 DE 1791: NACE CHARLES BABBAGE, EL CREADOR DE LA MAQUINA ANALITICA 
NOVIEMBRE 26 DE 1791 NACE CHARLES BABBAGE, EL CREADOR DE LA MAQUINA ANALITICA 
NOVIEMBRE 10 DE 1815 NACE ANA LOVELACE, LA PRIMERA PROGRAMADORA 
1833 SE DESCRIBE LA MAQUINA ANALITICA, EN LA CUAL TRABAJO LA PRIMERA PROGRMADORA 
1843 ANA LOVELACE PUBLICA SUS NOTAS LAS CUALES HABLAN SOBRE LA MAQUINA ANLITICA 
1971 SE REFINA SU DISEÑO HASTA LA MUERTE DE CHARLES BABBAGE, (SE REFINA EL DISEÑO DE LA MAQUINA ANALITICA) 
1953 JOHN BACKUS SOMETIÓ UNA PROPUESTA A SUS SUPERIORES EN IBM PARA DESARROLLAR UNA ALTERNATIVA MÁS PRÁCTICA AL LENGUAJE ENSAMBLADOR PARA PROGRAMAR LA COMPUTADORA
CENTRAL IBM 704. 
1956 
ESTO ERA UN COMPILADOR OPTIMIZADO, PORQUE LOS CLIENTES ERAN REACIOS A USAR UN LENGUAJE DE ALTO NIVELA MENOS QUE SU COMPILADOR PUDIERA GENERAR CÓDIGO CUYO DESEMPEÑO FUERA COMPARABLE AL DE UN CÓDIGO HECHO A MANO EN LENGUAJE ENSAMBLADOR. (PRIMER MANUAL PARA
EL LENGUAJE FORTRAN) 
1959 EL PROFESOR JOHN MCCARTHY DEL M.I.T. COMENZÓ A DESARROLLAR LA TEORÍA DE UN LENGUAJE DE DE PROCESAMIENTO DE LISTAS. EN 1959 APARECE PUBLICAMENTE LA PRIMER IMPLEMENTACIÓN LLAMADA
 LISP 1.5EL LISP (O LISP) ES UNA FAMILIA DE LENGUAJES DE PROGRAMACIÓN DE COMPUTADORA DE TIPO FUNCIONAL CON UNA LARGA HISTORIA Y UNA SINTAXIS COMPLETAMENTE ENTRE PARÉNTESI 
1960 CUANDO APARECE EL LENGUAJE ALGOL 6.0 EL PRIMER LENGUAJE ESTRUCTURADO EN BLOQUES. ESTE LENGUAJE FUE MUY POPULAR EN EL SEGUNDO LUSTRO DE LOS 60'S.SU PRINCIPAL CONTRIBUCIÓN ES
SER LA RAIZ DEL ARBOL QUE HA PRODUCIDO LENGUAJES TALES COMO PASCAL, C, C++, Y JAVA 
1960 PYTHON ES UN LENGUAJE DE PROGRAMACIÓN DE ALTO NIVEL CUYA FILOSOFÍA HACE HINCAPIÉ EN UNA SINTAXIS MUY LIMPIA Y QUE FAVOREZCA UN CÓDIGO LEGIBLE.SE TRATA DE UN LENGUAJE DE PROGRAMACIÓN MULTIPARADIGMA YA QUE SOPORTA ORIENTACIÓN A OBJETOS, PROGRAMACIÓN IMPERATIVA Y, EN MENOR MEDIDA, PROGRAMACIÓN FUNCIONAL. ES UN LENGUAJE INTERPRETADO, USA TIPADO DINÁMICO, ES FUERTEMENTE TIPADO Y ES MULTIPLATAFORMA 
1964 POR JOHN GEORGE KEMENY Y THOMAS EUGENE KURTZ EN EL COLEGIO DARTMOUNTH.ES UN LENGUAJE MUY LIMITADO QUE FUE DISEÑADO PARA PERSONAS QUE NO FUERAN DEL ÁREA DE CIENCIAS DE LA COMPUTACIÓN.EL NOMBRE DE BASIC, SIGNIFICA BEGINNERS ALL-PURPOSE SYMBOLIC INSTRUCTION CODE.LOS OCHO PRINCIPIOS DE DISEÑO DE BASIC FUERON: 1.SER FÁCIL DE USAR PARA LOS PRINCIPIANTES. 2. SER UN LENGUAJE DE PROPÓSITO GENERAL. 3. PERMITIR QUE LOS EXPERTOS AÑADIERAN CARACTERÍSTICAS AVANZADAS, MIENTRAS QUE EL LENGUAJE PERMANECÍA SIMPLE PARA LOS PRINCIPIANTES. 4. SER INTERACTIVO. 5. PROVEER MENSAJES DE ERROR CLAROS Y AMIGABLES. 6.
RESPONDER RÁPIDO A LOS PROGRAMAS PEQUEÑOS. 7. NO REQUERIR UN CONOCIMIENTO DEL
 HARDWARE DE LA COMPUTADORA. 8.EL LENGUAJE SE BASO EN FORTRAN Y ALGOL 6.0 (BASIC) 
1968 PASCAL ES UN LENGUAJE DE PROGRAMACIÓN DESARROLLADO POR EL PROFESOR SUIZO NIKLAUS WIRTHENTRE LOS AÑOS 1968/9 Y PUBLICADO EN 1970. SU OBJETIVO ERA CREAR UN LENGUAJE QUE FACILITARA EL APRENDIZAJE DE PROGRAMACIÓN A SUS ALUMNOS, UTILIZANDO LA PROGRAMACIÓN ESTRUCTURADAY ESTRUCTURACIÓN DE DATOS. SIN EMBARGO CON EL TIEMPO SU UTILIZACIÓN EXCEDIÓ
EL ÁMBITO ACADÉMICO PARA CONVERTIRSE EN UNA HERRAMIENTA PARA LA CREACIÓN DE
APLICACIONES DE TODO TIPO.SE NOMBRO ASI POR BLAISE PASCAL 
1972 S 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 CREA "C") 
1972 LA INTENCIÓN DE SU CREACIÓN FUE EL EXTENDER AL EXITOSO LENGUAJE DE PROGRAMACIÓN C CON MECANISMOS QUE PERMITAN LA MANIPULACIÓN DE OBJETOS. EN ESE SENTIDO, DESDE EL PUNTO DE VISTA DE LOS LENGUAJES ORIENTADOS A OBJETOS, EL C++ ES UN LENGUAJE HÍBRIDO, FUE CREADOR POR BJARNE STROUSTRUP. 
1980 LA INTENCIÓN DE SU CREACIÓN FUE EL EXTENDER AL EXITOSO LENGUAJE DE PROGRAMACIÓN C CON MECANISMOS QUE PERMITAN LA MANIPULACIÓN DE OBJETOS. EN ESE SENTIDO, DESDE EL PUNTO DE VISTA DE LOS LENGUAJES ORIENTADOS A OBJETOS, EL C++ ES UN LENGUAJE HÍBRIDO, FUE CREADOR POR BJARNE STROUSTRUP. 
1987 PERL TOMA CARACTERÍSTICAS DEL LENGUAJE C, DEL LENGUAJE INTERPRETADO SHELL (SH), AWK, SED,
 LISP Y, EN UN GRADO INFERIOR, DE MUCHOS OTROS LENGUAJES DE PROGRAMACIÓN.
ESTRUCTURALMENTE, PERL ESTÁ BASADO EN UN ESTILO DE BLOQUES COMO LOS DEL C O AWK, Y FUE AMPLIAMENTE ADOPTADO POR SU DESTREZA EN EL PROCESADO DE TEXTO Y NO TENER NINGUNA DE LAS LIMITACIONES DE LOS OTROS LENGUAJES DE SCRIPT.FUE CREADO POR LARRY WALL 
1990 PYTHON ES UN LENGUAJE DE PROGRAMACIÓN DE ALTO NIVEL CUYA FILOSOFÍA HACE HINCAPIÉ EN UNA SINTAXIS MUY LIMPIA Y QUE FAVOREZCA UN CÓDIGO LEGIBLE.SE TRATA DE UN LENGUAJE DE PROGRAMACIÓN MULTIPARADIGMA YA QUE SOPORTA ORIENTACIÓN A OBJETOS, PROGRAMACIÓN IMPERATIVA Y, EN MENOR MEDIDA, PROGRAMACIÓN FUNCIONAL. ES UN LENGUAJE INTERPRETADO, USA TIPADO DINÁMICO, ES FUERTEMENTE TIPADO Y ES MULTIPLATAFORMA. 
1994 PHP ES UN LENGUAJE DE PROGRAMACIÓN INTERPRETADO, DISEÑADO ORIGINALMENTE PARA LA CREACIÓN DE PÁGINAS WEBDINÁMICAS. ES USADO PRINCIPALMENTE EN INTERPRETACIÓN DEL LADO DEL SERVIDOR (SERVER-SIDE SCRIPTING) PERO ACTUALMENTE PUEDE SER UTILIZADO DESDE UNA INTERFAZ DE LÍNEA DE COMANDOS O EN LA CREACIÓN DE OTROS TIPOS DE PROGRAMAS INCLUYENDO APLICACIONES CON INTERFAZ GRÁFICA USANDO LAS BIBLIOTECAS QT O GTK+.PHP ES UN ACRÓNIMO RECURSIVO
 QUE SIGNIFICA PHP HYPERTEXT PRE-PROCESSOR (INICIALMENTE PHP TOOLS, O, PERSONAL HOME PAGE TOOLS). FUE CREADO ORIGINALMENTE POR RASMUS LERDORF 
1995 RUBY ES UN LENGUAJE DE PROGRAMACIÓN INTERPRETADO, REFLEXIVO Y ORIENTADO A OBJETOS, CREADO POR EL PROGRAMADOR JAPONÉS YUKIHIRO "MATZ" MATSUMOTO, QUIEN COMENZÓ A TRABAJAR EN RUBY EN 1993 
2001 ES UN LENGUAJE DE PROGRAMACIÓN ORIENTADO A OBJETOS DESARROLLADO Y ESTANDARIZADO POR MICROSOFT COMO PARTE DE SU PLATAFORMA .NET, QUE DESPUÉS FUE APROBADO COMO UN ESTÁNDAR POR LA ECMA E ISO.SU SINTAXIS BÁSICA DERIVA DE C/C++ Y UTILIZA EL MODELO DE OBJETOS DE LA PLATAFORMA.NET, SIMILAR AL DE JAVA AUNQUE INCLUYE MEJORAS DERIVADAS DE OTROS LENGUAJES (ENTRE ELLOS DELPHI).LA CREACIÓN DEL NOMBRE DEL LENGUAJE, C, PROVIENE DE DIBUJAR DOS SIGNOS POSITIVOS ENCIMA DE LOS DOS SIGNOS POSITIVOS DE "C++", QUERIENDO DAR UNA IMAGEN DE SALTO EVOLUTIVO, DEL MISMO MODO QUE OCURRIÓ CON EL PASO DE C A C++ 

Objetivos De La Programación

La programación debe perseguir la obtención de programas de calidad. Para ello se establece una serie de factores que determinan la calidad de un programa. Algunos de los factores de calidad más importantes son los siguientes:
·         Correctitud. Un programa es correcto si hace lo que debe hacer tal y como se estableció en las fases previas a su desarrollo. Para determinar si un programa hace lo que debe, es muy importante especificar claramente qué debe hacer el programa antes de su desarrollo y, una vez acabado, compararlo con lo que realmente hace.
·         Claridad. Es muy importante que el programa sea lo más claro y legible posible, para facilitar tanto su desarrollo como su posterior mantenimiento. Al elaborar un programa se debe intentar que su estructura sea sencilla y coherente, así como cuidar el estilo de programación. De esta forma se ve facilitado el trabajo del programador, tanto en la fase de creación como en las fases posteriores de corrección de errores, ampliaciones, modificaciones, etc
·         Eficiencia. Se trata de que el programa, además de realizar aquello para lo que fue creado (es decir, que sea correcto), lo haga gestionando de la mejor forma posible los recursos que utiliza. Normalmente, al hablar de eficiencia de un programa, se suele hacer referencia al tiempo que tarda en realizar la tarea para la que ha sido creado y a la cantidad de memoria que necesita, pero hay otros recursos que también pueden ser de consideración para mejorar la eficiencia de un programa, dependiendo de su naturaleza (espacio en disco que utiliza, tráfico en la red que genera, etc.).
·         Portabilidad. Un programa es portable cuando tiene la capacidad de poder ejecutarse en una plataforma, ya sea hardware o software, diferente a aquélla en la que se desarrolló. La portabilidad es una característica muy deseable para un programa, ya que permite, por ejemplo, a un programa que se ha elaborado para el sistema GNU/Linux ejecutarse también en la familia de sistemas operativos Windows. Esto permite que el programa pueda llegar a más usuarios más fácilmente.

Realizado Por:
Andres Esteban Gonzalez Llorente
Livan Osmaider Vergara Doria
Jhon Omar Cuestas Lopez 
Jose Antonio Cervantes Bolivar
Yenilson Viloria Cavadia



Jose Antonio Cervantes Bolivar------https://www.mindomo.com/




Andres Esteban Gonzalez Llorente https://www.gliffy.com/

Jhon Omar Cuestas Lopez creately.com/



  Livan Osmaider Vergara Doria   https://bubbl.us/


Yenilson Viloria Cavadia-- MindMeister