1. Mi Lenguaje de Programación
de Preferencia.
Gilberto Flores Valle
Y00129816
COMP2110 - INTRODUCTION COMPUTER SCIENCE
Universidad Interamericana recinto Bayamón
2.
3. Mi Lenguaje de Programación de
Preferencia
-Introducción
- Java
- Definición.
- Función.
- Ventajas.
- Desventajas
- Ambiente de demanda.
- Conclusión.
- Referencia.
4. Introducción
Cuando queremos empezar en serio a programar la primera pregunta
que se nos viene a la mente es, ¿que lenguaje es mejor?, lo malo es que
no hay una respuesta absoluta a ese cuestionamiento, la razón es que el
elegir un lenguaje de programación depende de distintos factores como
lo es el tipo de programas que queremos realizar, la plataforma para la
cual queremos que sirvan nuestros programas, incluso siendo poco
objetivos también entra el gusto por un lenguaje en especifico según
comencemos a trabajar con los diferentes que existen. Elegí este
lenguaje es debido a que es uno de los mas usados y aprender bien seria
una "herramienta" mas la que podemos contar..
5. 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.
6. 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.
7. 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.
8. 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).
9. 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).
10. • 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>
11. • 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>
12. 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).
13. 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.
14. • 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.
15. 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.
16. 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.
17. 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 el
compilador (no en gran medida), sino tu y tu forma de programar.