jueves, 8 de octubre de 2015

paradigma de programacion






Un paradigma define un conjunto de reglas, patrones y estilos de programación que son usados por     un grupo de lenguajes de programación

• Paradigma funcional
• Paradigma lógico
• Paradigma imperativo
• Paradigma orientado a objetos Paradigma funcional
 • La computación se realiza mediante la evaluación de expresiones


Paradigma funcional 

• La computación se realiza mediante la evaluación de expresiones
• Definición de funciones
• Funciones como datos primitivos
• Valores sin efectos laterales, no existe la asignación
• Programación declarativa
• Lenguajes: LISP, Scheme, Haskell




Paradigma funcional 
• La computación se realiza mediante la evaluación de expresiones 
• Definición de funciones 
• Funciones como datos primitivos 
• Valores sin efectos laterales, no existe la asignación 
• Programación declarativa 
• Lenguajes: LISP, Scheme, Haskell



Paradigma imperativo 
• Definición de procedimientos 
• Definición de tipos de datos 
• Chequeo de tipos en tiempo de compilación 
• Cambio de estado de variables 
• Pasos de ejecución de un proceso



Paradigma orientado a objetos 
• Definición de clases y herencia 
• Objetos como abstracción de datos y procedimientos 
• Polimorfismo y chequeo de tipos en tiempo de ejecución 
• Ejemplo en Java



 AQUÍ LES DEJO UN PEQUEÑO VÍDEO QUE RESUME MEJOR LOS PARADIGMAS DE PROGRAMACIÓN


miércoles, 7 de octubre de 2015

CONCEPTOS FUNDAMENTALES DE LA POO


JAVA
Java es un lenguaje de programación orientado a objetos que se popularizó a partir del lanzamiento de su primera versión comercial de amplia difusión, la JDK 1.0 en 1996. Actualmente es uno de los lenguajes más usados para la programación en todo el mundo.

Características de Java

      ·         Simple
 Reduce en un 50% los errores más comunes de programación en lenguajes como C y  C++  al eliminar aritmética de punteros, referencias, necesidad de liberar memoria.
      ·         Robusto
 Java realiza verificaciones en busca de problemas tanto en tiempo de compilación com  en tiempo de ejecución.
     ·         Arquitectura neutral
 El código compilado tiene un formato independiente de la arquitectura de la máquina en  que se ejecutará.
     ·         Seguro
 No usa punteros para prevenir el acceso ilegal a la memoria.
     ·         Interpretado
 Requiere un runtime (JRE) para ser ejecutado, lo que lo hace 10 veces más lento que un  programa C compilado.
     ·         Orientado a objetos
  Soporta las tres características propias del paradigma de la orientación a objeto               encapsulamiento, herencia y polimorfismo

    ·         Distribuido
  Se ha construido con extensas capacidades de interconexión TCP/IP, presenta librerías     con protocolos http y ftp para obtener información a través de la red.


JDK
Java Development Kit o (JDK), es un software que provee herramientas de desarrollo para la creación de programas en java. Puede instalarse en una computadora local o en una unidad de red.





En los sistemas Windows sus variables de entorno son
     ·         JAVAPATH: es un path completo del directorio donde está instalado el JDK.
           ·         CLASSPATH: son las librerias o clases de usuario.
           ·         PATH: variable donde se agrega la ubicación de JDK

Los programas más importantes que se incluyen son:

          ·         Appletviewer: es un visor de applet para generar sus vistas previas.
          ·         Javac: es el compilador de JAVA.
          ·         java: es el intérprete de JAVA.
          ·         javadoc: genera la documentación de las clases java de un programa.
El JDK tiene el compilador que permite convertir código fuente en bytecode, es decir, el código "maquina" de la máquina virtual de Java.


MVJ
Una Máquina virtual Java (en inglés Java Virtual Machine, JVM) es un programa nativo, es decir, ejecutable en una plataforma específica, capaz de interpretar y ejecutar instrucciones expresadas en un código binario especial (el Java bytecode), el cual es generado por el compilador del lenguaje Java.

La JVM es una de las piezas fundamentales de la plataforma Java. Básicamente se sitúa en un nivel superior al Hardware del sistema sobre el que se pretende ejecutar la aplicación, y este actúa como un puente que entiende tanto el bytecode, como el sistema sobre el que se pretende ejecutar. Así, cuando se escribe una aplicación Java, se hace pensando que será ejecutada en una máquina virtual Java en concreto, siendo ésta la que en última instancia convierte de código bytecode a código nativo del dispositivo final.

La gran ventaja de la máquina virtual java es aportar portabilidad al lenguaje de manera que desde Sun Microsystems se han creado diferentes máquinas virtuales java para diferentes arquitecturas y así un programa .class escrito en un Windows puede ser interpretado en un entorno Linux. Tan solo es necesario disponer de dicha máquina virtual para dichos entornos. De ahí el famoso axioma que sigue a Java, "escríbelo una vez, ejecútalo en cualquier parte", o "Write once, run anywhere".


JRE
(Java Runtime Environment) un conjunto de utilidades que permite la ejecución de programas java, En su forma más complicada, el entorno en tiempo de ejecución de Java está conformado por una Máquina Virtual de Java o JVM, un conjunto de Java y otros componentes innecesarios para que una aplicación escrita en lenguaje c++ pueda ser ejecutada. El JRE actúa como un "intermediario" entre el sistema y Java.

La JVM es el programa que interpreta el código Java mientras que las librerías de clases estándar son las que implementan el API de Java. Ambas JVM y API deben ser consistentes entre sí, de ahí que sean distribuidas de modo conjunto.

Un usuario sólo necesita el JRE para ejecutar las aplicaciones desarrolladas en lenguaje Java, mientras que para desarrollar nuevas aplicaciones en dicho lenguaje es necesario un entorno de desarrollo, denominado JDK, que además del JRE (mínimo imprescindible) incluye, entre otros, un compilador para Java.

martes, 29 de septiembre de 2015

Hola a todos y bienvenidos a nuestro nuevo blog donde todos aprenderemos un poquito mas de programación

TALLER DE PROGRAMACIÓN
El objetivo de la asignatura es integrar conocimientos adquiridos en asignaturas previas de programación e incorporar conocimientos avanzados para la construcción de sistema de software de mediano y gran parte aplicado a conceptos de orientación de objetos. El programa de la asignatura se puede leer aquí.

OBJETIVOS:

  • Con la realización de este blog buscamos aprender  mas y dar a conocer una pequeña parte del amplio mundo de la programación  
  • Otro objetivo de este blog es el trabajo en equipo y la estimulante que cada integrante e interés por el blog.
  • en este blog podrás encontrar códigos imágenes y conceptos precisos sobre lo que es programación orientado a objetos. 
  • Profundizar en el uso de herramientas conceptuales para el análisis y diseño de sistema orientado a objetos.
  • Aplicar una metodología básica para el uso de dicha herramienta.
  • poner en evidencias problemas que aseguren en la construcción de sistema de software y plantear herramientas para su solución.
  • Introducir un lenguaje de programación orientado a objetos adecuado al objeto de la asignatura.