Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Mi lenguaje de programación de preferencia

216 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

Mi lenguaje de programación de preferencia

  1. 1. Mi Lenguaje de Programación de Preferencia. Gilberto Flores Valle Y00129816 COMP2110 - INTRODUCTION COMPUTER SCIENCE Universidad Interamericana recinto Bayamón
  2. 2. Mi Lenguaje de Programación de Preferencia-Introducción- Java- Definición.- Función.- Ventajas.- Desventajas- Ambiente de demanda.- Conclusión.- Referencia.
  3. 3. Introducción Cuando queremos empezar en serio a programar la primera preguntaque se nos viene a la mente es, ¿que lenguaje es mejor?, lo malo es queno hay una respuesta absoluta a ese cuestionamiento, la razón es que elelegir un lenguaje de programación depende de distintos factores comolo es el tipo de programas que queremos realizar, la plataforma para lacual queremos que sirvan nuestros programas, incluso siendo pocoobjetivos también entra el gusto por un lenguaje en especifico segúncomencemos a trabajar con los diferentes que existen. Elegí estelenguaje es debido a que es uno de los mas usados y aprender bien seriauna "herramienta" mas la que podemos contar..
  4. 4. Java• Java es un lenguaje de programación orientado a objetos, desarrollado por Sun Microsystems a principios de los años 90.• El lenguaje en sí mismo toma mucha de su sintaxis de C y C++, pero tiene un modelo de objetos más simple y elimina herramientas de bajo nivel, que suelen inducir a muchos errores, como la manipulación directa de punteros o memoria.• Los pilares en los que se sustenta Java son cinco: la programación orientada a objetos, la posibilidad de ejecutar un mismo programa en diversos sistemas operativos, la inclusión por defecto de soporte para trabajo en red, la opción de ejecutar del codigo en sistemas remotos de manera segura y la facilidad de uso.• Las aplicaciones Java están típicamente compiladas en un bytecode, aunque la compilación en código máquina nativo también es posible.• La implementación original y de referencia del compilador, la máquina virtual y las bibliotecas de clases de Java fueron desarrollados por Sun Microsystems en 1995.• Sun ha controlado las especificaciones, el desarrollo y evolución del lenguaje a través del Java Community Process.
  5. 5. Filosofía• El lenguaje Java se creó con cinco objetivos principales:• Debería usar el paradigma de la programación orientada a objetos.• Debería permitir la ejecución de un mismo programa en múltiples sistemas operativos.• Debería incluir por defecto soporte para trabajo en red.• Debería diseñarse para ejecutar código en sistemas remotos de forma segura.• Debería ser fácil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como C++.• Para conseguir la ejecución de código remoto y el soporte de red, los programadores de Java a veces recurren a extensiones como CORBA (Common Object Request Broker Architecture), Internet Communications Engine o OSGI respectivamente.
  6. 6. Orientado a objetos• Orientado a objetos se refiere a un método de programación y al diseño del lenguaje. Aunque hay muchas interpretaciones para OO, una primera idea es diseñar el software de forma que los distintos tipos de datos que usen estén unidos a sus operaciones.• Los datos y el código (funciones o métodos) se combinan en entidades llamadas objetos.• Un objeto puede verse como un paquete que contiene el “comportamiento” (el código) y el “estado” (datos). El principio es separar aquello que cambia de las cosas que permanecen inalterables.• Cambiar una estructura de datos implica un cambio en el código que opera sobre los mismos, o viceversa. Esta separación en objetos coherentes e independientes ofrece una base más estable para el diseño de un sistema software.• El objetivo es lograr que grandes proyectos sean sencillos de gestionar y manejar, mejorando como consecuencia su calidad y reduciendo el número de proyectos fallidos.• Otra gran promesas de la programación orientada a objetos es la creación de entidades más genéricas (objetos) que permitan la reutilización del software entre proyectos, una de las premisas fundamentales de la Ingeniería del Software.• En este sentido, los objetos podrían verse como piezas reutilizable conduciendo esto finalmente a una reducción drástica del tiempo de desarrollo.
  7. 7. Independencia de la plataforma• La independencia de la plataforma, significa que programas escritos en el lenguaje Java pueden ejecutarse igualmente en cualquier tipo de hardware.• Se compila el código fuente escrito en lenguaje Java, para generar un código conocido como: “Java bytecode”.• El bytecode es ejecutado entonces en la máquina virtual (JVM), un programa escrito en código nativo de la plataforma destino (que es el que entiende su hardware), que interpreta y ejecuta el código.• Tambien se suministran bibliotecas adicionales para acceder a las características de cada dispositivo de forma unificada. Se debe tener presente que, aunque hay una etapa explícita de compilación, el bytecode generado es interpretado o convertido a instrucciones máquina del código nativo por el compilador JIT (Just In Time).
  8. 8. Función• La sintaxis de Java se deriva en gran medida de C++. Pero a diferencia de éste, que combina la sintaxis para programación genérica, estructurada y orientada a objetos, Java fue construido desde el principio para ser completamente orientado a objetos.• Todo en Java es un objeto (salvo algunas excepciones), y todo en Java reside en alguna clase (recordemos que una clase es un molde a partir del cual pueden crearse varios objetos).
  9. 9. • Una función es un elemento del programa creado con la finalidad de realizar una determinada acción. Una función puede ser llamada desde otra.• En JavaScript, las funciones se definen en la cabecera del documento HTML. Su sintaxis es:• function nombreFunción([parámetros]) {• acciones• }• Veamos un ejemplo: el siguiente script es una función que toma los valores de un formulario, y devuelve en un cuadro de texto del mismo el valor de la primera casilla elevado a la potencia de la segunda:• <script>• function potencia() {• var i=0;• var resul=1;• if(document.c á lculo.elevado.value==0)• document.c á lculo.resultado.value=resul;• else• {• resul=document.c á lculo.base.value;• for(i=1;i<document.c á lculo.elevado.value;i++)• resul=resul*document.c á lculo.base.value;• }• document.c á lculo.resultado.value=resul;• }• </script>
  10. 10. • Importante: las funciones siempre irán situadas en la cabecera del documento HTML.• Se debe recordar cómo se accede a los diferentes elementos de un documento HTML . Primero, document , después los nombres de los distintos elementos que existen en ese elemento:• -Cálculo: es el valor que se le ha dado al atributo "name" del formulario.• -Resultado, base, elevado: es el valor que se le ha dado al atributo "name" de una de las cajas de texto del formulario.• Veamos la parte HTML de este documento:• <form name="cálculo">• Número: <input type="text" name="base">• Potencia: <input type="text" name="elevado">• Resultado: <input type="text" name="resultado">• <input type="button" name="poten" Value="Calcular potencia" onClick="potencia()">• </form>
  11. 11. Recolector de Basura• En Java el problema de las fugas de memoria se evita en gran medida gracias a la recolección de basura (o automatic garbage collector).• Cuando no quedan referencias a un objeto, el recolector de basura de Java borra el objeto, liberando así la memoria que ocupaba previniendo posibles fugas (ejemplo: un objeto creado y únicamente usado dentro de un método sólo tiene entidad dentro de éste; al salir del método el objeto es eliminado).
  12. 12. Ventajas• El JDK es una herramienta libre de licencias (sin costo), creada por Sun.- Está respaldado por un gran número de proveedores.• Debido a que existen diferentes productos de Java, hay más de un proveedor de servicios.• Es independiente de la plataforma de desarrollo.• Existen dentro de su librería clases gráficas como awt y swing, las cuales permiten crear objetos gráficos comunes altamente configurables y con una arquitectura independiente de la plataforma.• El conocimiento sobre tecnología Java está en alto crecimiento en el mercado.• Se puede acceder a bases de datos fácilmente con JDBC, independientemente de la plataforma utilizada.o El manejo de las bases de datos es uniforme, es decir transparente y simple.
  13. 13. • Existen las herramientas Crystal Reports o herramientas libres como iText que los genera en formato pdf.o La API que utilizan estas herramientas en Java, es la más recomendable para generar reportes en Web.• 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.• Seguro. El sistema de Java tiene ciertas políticas 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.• Multithreaded. Un lenguaje que soporta multiples threads es un lenguaje que puede ejecutar diferentes líneas de código al mismo tiempo.• Java corre en máquina virtual, por lo tanto es interpretado.• 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.• Java puede funcionar como una aplicación sola o como un "applet", que es un pequeño programa hecho en Java. Los applets de Java se pueden "pegar" a una página de Web (HTML), y con esto puedes tener un programa que cualquier persona que tenga un browser compatible podrá usar.
  14. 14. Desventajas• Hay diferentes tipos de soporte técnico para la misma herramienta, por lo que el análisis de la mejor opción se dificulta.• Java tuvo su época de ser lento, pero eso ya es historia, hoy en día puede correr a la misma velocidad que cualquier otra aplicación• Para manejo a bajo nivel deben usarse métodos nativos, lo que limita la portabilidad.
  15. 15. Ambiente de demanda.• Sun Microsystem, como creador del lenguaje de programación Java y de la plataforma JDK, mantiene fuertes políticas para mantener una especificación del lenguaje(3) así como de la máquina virtual(4) a través del JCP. Es debido a este esfuerzo que se mantiene un estándar de facto.• Son innumerables las compañías que desarrollan aplicaciones para Java y/o están volcadas con esta tecnología:• La industria de la telefonía movíl está fuertemente influenciada por la tecnología Java.• Los entornos de desarrollo Netbeans y Eclipse ha tomado un lugar importante entre la comunidad de desarrolladores Java.• La fundación Apache tiene también una presencia importante en el desarrollo de bibliotecas y componentes de servidor basados en Java.• IBM, BEA, IONA, ORACLE,... son empresas con grandes intereses y productos creados en y para Java.• Banca, Recursos Naturales, Ingenieria, Comunicaciones, etc.
  16. 16. Conclusión• Existen muchos lenguajes de programación, todo esta en el que desemos aprender y podamos dominar, si logramos aprender varios idiomas sera para beneficio nuestro. Java, solamente es uno de ellos.Nota: Lo que define la velocidad de tu aplicación no es el lenguaje ni elcompilador (no en gran medida), sino tu y tu forma de programar.
  17. 17. Referencias• http://www.qualitrain.com.mx/objeIndirecto/javavsvbasic.htm• www.monografias.com/trabajos/lengprog/lengprog.shtml• http://en.wikipedia.org/wiki/Java_%28programming_language%29

×