SlideShare una empresa de Scribd logo
1 de 18
Mi Lenguaje de Programación
      de Preferencia.
             Gilberto Flores Valle
                 Y00129816
     COMP2110 - INTRODUCTION COMPUTER SCIENCE
 Universidad Interamericana recinto Bayamón
Mi Lenguaje de Programación de
            Preferencia

-Introducción
- Java
- Definición.
- Función.
- Ventajas.
- Desventajas
- Ambiente de demanda.
- Conclusión.
- Referencia.
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..
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.
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.
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.
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).
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).
•   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>
• 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>
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).
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.
•   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.
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.
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.
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.
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

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

C1 java introduccion
C1 java introduccionC1 java introduccion
C1 java introduccion
 
Java de erlin
Java de erlinJava de erlin
Java de erlin
 
FPJUCE - Capitulo1
FPJUCE - Capitulo1FPJUCE - Capitulo1
FPJUCE - Capitulo1
 
Conceptos Fundamentales de POO
Conceptos Fundamentales de POOConceptos Fundamentales de POO
Conceptos Fundamentales de POO
 
Ut
UtUt
Ut
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCF
 
Curso Java Avanzado 0 Conceptos Basicos
Curso Java Avanzado   0 Conceptos BasicosCurso Java Avanzado   0 Conceptos Basicos
Curso Java Avanzado 0 Conceptos Basicos
 
CUESTIONARIO JAVA
CUESTIONARIO JAVACUESTIONARIO JAVA
CUESTIONARIO JAVA
 
java,conceptos basicos
java,conceptos basicosjava,conceptos basicos
java,conceptos basicos
 
Java basico
Java basicoJava basico
Java basico
 
Curso Java Inacap
Curso Java InacapCurso Java Inacap
Curso Java Inacap
 
Test Programación Orientada a Objetos
Test Programación Orientada a  ObjetosTest Programación Orientada a  Objetos
Test Programación Orientada a Objetos
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Java basico
Java basicoJava basico
Java basico
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Java kaime conpre
Java kaime conpreJava kaime conpre
Java kaime conpre
 
Java kaime con
Java kaime conJava kaime con
Java kaime con
 
Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
 

Destacado (20)

Guía2
Guía2Guía2
Guía2
 
Speech
Speech Speech
Speech
 
CD-SonderVÖ-Neuheiten Juni 2011 (Im Vertrieb der NAXOS Deutschland GmbH)
CD-SonderVÖ-Neuheiten Juni 2011 (Im Vertrieb der NAXOS Deutschland GmbH)CD-SonderVÖ-Neuheiten Juni 2011 (Im Vertrieb der NAXOS Deutschland GmbH)
CD-SonderVÖ-Neuheiten Juni 2011 (Im Vertrieb der NAXOS Deutschland GmbH)
 
Elementos del esquema corporal
Elementos del esquema corporalElementos del esquema corporal
Elementos del esquema corporal
 
La sociedad del conocimiento y la información
La sociedad del conocimiento y la informaciónLa sociedad del conocimiento y la información
La sociedad del conocimiento y la información
 
Country Club Bar Area
Country Club Bar AreaCountry Club Bar Area
Country Club Bar Area
 
Presentacion
PresentacionPresentacion
Presentacion
 
Slide 5 a
Slide 5 aSlide 5 a
Slide 5 a
 
Usabilidade Conceitos Centrais
Usabilidade Conceitos CentraisUsabilidade Conceitos Centrais
Usabilidade Conceitos Centrais
 
Propuesta de juego para imagen corporal
Propuesta de juego para imagen corporalPropuesta de juego para imagen corporal
Propuesta de juego para imagen corporal
 
Portais Corporativos Gestao do Conhecimento e a Industria Automobilistica
Portais Corporativos Gestao do Conhecimento e a Industria AutomobilisticaPortais Corporativos Gestao do Conhecimento e a Industria Automobilistica
Portais Corporativos Gestao do Conhecimento e a Industria Automobilistica
 
T shirt
T shirtT shirt
T shirt
 
Juegos adaptados
Juegos adaptadosJuegos adaptados
Juegos adaptados
 
Currículum vitae
Currículum vitaeCurrículum vitae
Currículum vitae
 
Cascavel temperatura
Cascavel temperaturaCascavel temperatura
Cascavel temperatura
 
Impress 2
Impress 2Impress 2
Impress 2
 
Herramientas manuales
Herramientas manualesHerramientas manuales
Herramientas manuales
 
Propuesta didáctica
Propuesta didácticaPropuesta didáctica
Propuesta didáctica
 
Contenidos teoricos
Contenidos teoricosContenidos teoricos
Contenidos teoricos
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 

Similar a Mi lenguaje de programación de preferencia

Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaJacob
 
POOI- Unidad 1.pdf
POOI- Unidad 1.pdfPOOI- Unidad 1.pdf
POOI- Unidad 1.pdfWillGuzman3
 
Mi lenguaje de programacion de preferencia
Mi lenguaje de programacion de preferenciaMi lenguaje de programacion de preferencia
Mi lenguaje de programacion de preferenciaNelson Rivera
 
10 lenguajes de programacion
10 lenguajes de programacion10 lenguajes de programacion
10 lenguajes de programacionChristian Morales
 
My programming language 04 05-2014
My programming language 04 05-2014My programming language 04 05-2014
My programming language 04 05-2014Neptuno Networks
 
Conceptos de programación orientada a objeto
Conceptos de programación orientada a objetoConceptos de programación orientada a objeto
Conceptos de programación orientada a objetoJJ
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basicoSaviotec
 
Diapositivas software libre
Diapositivas software libreDiapositivas software libre
Diapositivas software libreAlex Benavides
 
Introducción a java
Introducción a javaIntroducción a java
Introducción a javawaldinelly
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidadRaelyx Cordero
 
Trabajo java
Trabajo javaTrabajo java
Trabajo javaamec0612
 
Características de 10 lenguajes de programación
Características de 10 lenguajes de programaciónCaracterísticas de 10 lenguajes de programación
Características de 10 lenguajes de programaciónAlexa Chisaguano
 

Similar a Mi lenguaje de programación de preferencia (20)

Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
POOI- Unidad 1.pdf
POOI- Unidad 1.pdfPOOI- Unidad 1.pdf
POOI- Unidad 1.pdf
 
todo sobre java
todo sobre javatodo sobre java
todo sobre java
 
Mi lenguaje de programacion de preferencia
Mi lenguaje de programacion de preferenciaMi lenguaje de programacion de preferencia
Mi lenguaje de programacion de preferencia
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
10 lenguajes de programacion
10 lenguajes de programacion10 lenguajes de programacion
10 lenguajes de programacion
 
My programming language 04 05-2014
My programming language 04 05-2014My programming language 04 05-2014
My programming language 04 05-2014
 
Net Beans
Net BeansNet Beans
Net Beans
 
Java basico
Java basicoJava basico
Java basico
 
Conceptos de programación orientada a objeto
Conceptos de programación orientada a objetoConceptos de programación orientada a objeto
Conceptos de programación orientada a objeto
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
 
Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basico
 
Diapositivas software libre
Diapositivas software libreDiapositivas software libre
Diapositivas software libre
 
Introducción a java
Introducción a javaIntroducción a java
Introducción a java
 
1.introduccion java
1.introduccion java1.introduccion java
1.introduccion java
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 
Trabajo java
Trabajo javaTrabajo java
Trabajo java
 
Características de 10 lenguajes de programación
Características de 10 lenguajes de programaciónCaracterísticas de 10 lenguajes de programación
Características de 10 lenguajes de programación
 
IDEs y Frameworks mas utilizados
IDEs y Frameworks mas utilizadosIDEs y Frameworks mas utilizados
IDEs y Frameworks mas utilizados
 
Framework
FrameworkFramework
Framework
 

Último

Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 

Último (20)

Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 

Mi lenguaje de programación de preferencia

  • 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.
  • 18. 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