SlideShare una empresa de Scribd logo
1 de 23
Descargar para leer sin conexión
Aprender a programar
Ramiro Estigarribia Canese
Aprender un Lenguaje
➔ Conocer un vocabulario y una gramática no
equivale a saber un idioma.
➔ Conocer un idioma implica además el hábito de
combinar sus elementos de forma automática para
producir frases que expresen lo que uno quiere
decir.
➔ Conocer las palabras, las sentencias y la sintaxis
del lenguaje Java, no equivalen a saber programar,
pero son condición necesaria para estar en
condiciones de empezar a hacerlo, o de entender
cómo funcionan programas ya hechos.
La computadora
➔ Es un sistema capaz de procesar con rapidez una
gran cantidad de información.
➔ Además, tiene capacidad para comunicarse con el
exterior, recibiendo datos, órdenes y programas
como entrada (por medio del teclado, del ratón, de
un pendrive, etc.), y proporcionando resultados de
distinto tipo como salida (en la pantalla, en el
navegador, en la impresora, en un pendrive, etc.).
Computadoras en Red
➔ Las computadoras tienen la capacidad de
conectarse en red para comunicarse entre sí,
intercambiando mensajes y ficheros, o
compartiendo recursos.
➔ En la actualidad, estas redes tienen cobertura
mundial, y pasan por encima de fronteras, de
continentes, e incluso de marcas y modelos.
Computadoras en todas
partes
➔ Actualmente, están presentes en casi todas partes:
los celulares y gran número de electrodomésticos
incorporan uno o varios procesadores.
➔ La diferencia principal entre estos sistemas y las
computadoras personales, está sobre todo en el
carácter especializado que tienen.
Partes de una Computadora
➔ Procesador o CPU. Es el corazón del ordenador, que
se encarga de realizar las operaciones aritméticas y
lógicas, así como de coordinar el funcionamiento de
todos los demás componentes.
➔ Memoria RAM (Random Access Memory). Es el
componente del computador donde se guardan los
datos y los programas que la CPU está utilizando.
Su contenido se borra cuando se apaga o reinicia.
➔ Disco duro. El disco duro es capaz de mantener la
información –datos y programas– de modo estable,
también con el computador apagado.
¿Qué es un Programa?
➔ Un programa está constituido por un conjunto de
instrucciones que se ejecutan de modo secuencial,
es decir, cada una a continuación de la anterior.
➔ Recientemente, con objeto de disminuir los tiempos
de ejecución de programas críticos por su tamaño o
complejidad, se está haciendo un esfuerzo en
desarrollar programas paralelos, esto es,
programas que se pueden ejecutar
simultáneamente en varios procesadores.
Niveles de los Lenguajes
➔ Las instrucciones que un procesador es
capaz de entender están constituidas por conjuntos
de unos y ceros.
➔ A esto se llama lenguaje binario.
➔ Desde casi los primeros años, se comenzaron a
desarrollar los llamados lenguajes de alto nivel, que
están mucho más cerca del lenguaje natural.
Niveles de los Lenguajes
➔ Los lenguajes de alto nivel son más comprensibles
para el usuario, pero no para el procesador.
➔ Para que éste pueda ejecutarlos es necesario
traducirlos a su propio lenguaje de máquina.
➔ Esta es una tarea que realiza un programa especial
llamado compilador, que traduce el programa a
lenguaje de máquina.
Historia de C y C++
Java evolucionó de C++, el cual evolucionó de C.
El lenguaje C es el trabajo de Dennis Ritchie en los
laboratorios Bell, y se implementó en 1972.
Inicialmente, se hizo muy popular como lenguaje de
desarrollo para el sistema operativo UNIX.
En la actualidad, la mayoría del código para los
sistemas operativos de computadoras/notebooks se
escribe en C++.
En cambio el sistema operativo Android, está basado
en el modelo de Java.
Revolución de Desarrollo
Una revolución se está gestando en la comunidad
del software.
Escribir software de manera rápida, correcta y
económica es aún una meta difícil de alcanzar, en
una época en que la demanda de nuevo y más
poderoso software se encuentra a la alza.
Historia de Java
Sun Microsystems patrocinó en 1991 un proyecto
interno de investigación, el cual desembocó en el
desarrollo de un lenguaje basado en C++.
La idea inicial era facilitar la interacción con
electrodomésticos. En principio tuvo poco éxito.
La popularidad de World Wide Web explotó en 1993
y la gente de Sun se dio cuenta inmediatamente del
potencial de Java para agregar contenido dinámico,
como interactividad y animaciones, a las páginas Web
Esto trajo nueva vida al proyecto.
Java en la actualidad
En la actualidad, Java se utiliza para desarrollar
aplicaciones empresariales a gran escala, para
mejorar la funcionalidad de los servidores Web,
para proporcionar aplicaciones para los dispositivos
domésticos (como teléfonos celulares) y para muchos
otros propósitos.
Entorno de desarrollo Java
Por lo general, los programas en Java pasan a través
de cinco fases: edición, compilación, carga,
verificación y ejecución.
Fase 1:
Creación de un programa
Se escribe un programa en Java utilizando un editor, y
se guarda el programa.
Un nombre de archivo que termina con la extensión .
java indica que éste contiene código fuente en Java.
Existen entornos de desarrollo integrados (IDEs).
Los IDEs proporcionan herramientas que dan soporte
al proceso de desarrollo del software, incluyendo
editores para escribir y editar programas, y
depuradores para localizar errores lógicos.
Los IDEs populares son: Eclipse (www.eclipse.org) y
NetBeans (www.netbeans.org).
Fase 2:
Compilación
El compilador de Java traduce el código fuente en
códigos de bytes que representan las tareas a ejecutar
en la fase de ejecución (fase 5).
La Máquina Virtual de Java (JVM), una parte del JDK y
la base de la plataforma Java, ejecuta los códigos.
Una máquina virtual (VM) es una aplicación de
software que simula a una computadora, pero oculta el
sistema operativo y el hardware.
Si se implementa la misma VM en muchas plataformas
computacionales, las aplicaciones que ejecute se
podrán utilizar en todas esas plataformas.
Fase 3:
Cargar en memoria
El programa debe colocarse en memoria antes de
ejecutarse; a esto se le conoce como cargar.
El cargador de clases toma los archivos .class que
contienen los códigos de bytes del programa y los
transfiere a la memoria principal.
El cargador de clases también carga cualquiera de los
archivos .class que su programa utilice, y que sean
proporcionados por Java.
Fase 4:
Verificación del código
A medida que se cargan las clases, el verificador de
códigos de bytes examina sus códigos de bytes
para asegurar que sean válidos y que no violen las
restricciones de seguridad.
Java implementa una estrecha seguridad para
asegurar que los programas que llegan a través de la
red no dañen sus archivos o su sistema (como
podrían hacerlo los virus de computadora).
Fase 5:
Ejecución
La JVM ejecuta los códigos de bytes del programa,
realizando así las acciones especificadas por el
mismo.
En las primeras versiones de Java, la JVM era tan sólo
un intérprete de códigos de bytes de Java.
Esto hacía que la mayoría de los programas se
ejecutaran con lentitud, ya que la JVM tenía que
interpretar y ejecutar un código de bytes a la vez.
Introducción a la
tecnología de objetos
Crear software en forma rápida, correcta y económica
sigue siendo un objetivo difícil de alcanzar en una
época en que la demanda de software nuevo va en
aumento.
Los objetos y las clases son en esencia componentes
de software reutilizables.
Existen objetos de fecha, objetos de hora, objetos
de audio, objetos de automóviles, objetos de
personas, etcétera.
Sustantivos son objetos
Casi cualquier sustantivo se puede representar de
manera razonable como un objeto de software en
términos de sus atributos (como el nombre, color y
tamaño) y comportamientos (por ejemplo, calcular,
moverse y comunicarse).

Más contenido relacionado

La actualidad más candente

Diapositivas software libre
Diapositivas software libreDiapositivas software libre
Diapositivas software libreAlex Benavides
 
Saberes y tareas del programador
Saberes y tareas del programadorSaberes y tareas del programador
Saberes y tareas del programadorJessica
 
Ensambladores y Compiladores
Ensambladores y CompiladoresEnsambladores y Compiladores
Ensambladores y CompiladoresAndres Pozo
 
los diferentes lenguajes de programación para-la-web
 los diferentes lenguajes de programación para-la-web los diferentes lenguajes de programación para-la-web
los diferentes lenguajes de programación para-la-webolguisf
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje cwuaro1
 
lenguaje de programación
lenguaje de programación lenguaje de programación
lenguaje de programación j3palacios
 
Introducciona a java
Introducciona a javaIntroducciona a java
Introducciona a javaRoaReyes
 
Presentación ejercicio 10 celiz alan
Presentación ejercicio 10 celiz alanPresentación ejercicio 10 celiz alan
Presentación ejercicio 10 celiz alanDavid-Celiz03
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programaciónJSPN
 
Tarea #4 mi lenguaje de programación de preferencia
Tarea #4  mi lenguaje de programación de preferenciaTarea #4  mi lenguaje de programación de preferencia
Tarea #4 mi lenguaje de programación de preferenciatonycyber
 
Los diferentes lenguajes de programación para la web
Los diferentes lenguajes de programación para la webLos diferentes lenguajes de programación para la web
Los diferentes lenguajes de programación para la webCartagena, Bolivar
 
Programacion
ProgramacionProgramacion
ProgramacionDAYIS14
 
Programacion :)
Programacion :)Programacion :)
Programacion :)fuquencia
 
Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)YJGG
 
Lenguaje de-programacion-java script-1
Lenguaje de-programacion-java script-1Lenguaje de-programacion-java script-1
Lenguaje de-programacion-java script-1Oscar Correa
 

La actualidad más candente (19)

Diapositivas software libre
Diapositivas software libreDiapositivas software libre
Diapositivas software libre
 
Saberes y tareas del programador
Saberes y tareas del programadorSaberes y tareas del programador
Saberes y tareas del programador
 
Ensambladores y Compiladores
Ensambladores y CompiladoresEnsambladores y Compiladores
Ensambladores y Compiladores
 
los diferentes lenguajes de programación para-la-web
 los diferentes lenguajes de programación para-la-web los diferentes lenguajes de programación para-la-web
los diferentes lenguajes de programación para-la-web
 
Javayphp
JavayphpJavayphp
Javayphp
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
EXAMEN2
 EXAMEN2 EXAMEN2
EXAMEN2
 
lenguaje de programación
lenguaje de programación lenguaje de programación
lenguaje de programación
 
Traductores bajo-nivel
Traductores bajo-nivelTraductores bajo-nivel
Traductores bajo-nivel
 
Introducciona a java
Introducciona a javaIntroducciona a java
Introducciona a java
 
Presentación ejercicio 10 celiz alan
Presentación ejercicio 10 celiz alanPresentación ejercicio 10 celiz alan
Presentación ejercicio 10 celiz alan
 
Guia1 java
Guia1 javaGuia1 java
Guia1 java
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Tarea #4 mi lenguaje de programación de preferencia
Tarea #4  mi lenguaje de programación de preferenciaTarea #4  mi lenguaje de programación de preferencia
Tarea #4 mi lenguaje de programación de preferencia
 
Los diferentes lenguajes de programación para la web
Los diferentes lenguajes de programación para la webLos diferentes lenguajes de programación para la web
Los diferentes lenguajes de programación para la web
 
Programacion
ProgramacionProgramacion
Programacion
 
Programacion :)
Programacion :)Programacion :)
Programacion :)
 
Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)
 
Lenguaje de-programacion-java script-1
Lenguaje de-programacion-java script-1Lenguaje de-programacion-java script-1
Lenguaje de-programacion-java script-1
 

Similar a Aprender programación Java

Curso de java_basico
Curso de java_basicoCurso de java_basico
Curso de java_basicoSaviotec
 
Java kaime conpre
Java kaime conpreJava kaime conpre
Java kaime conprejtk1
 
Java kaime con
Java kaime conJava kaime con
Java kaime conjtk1
 
Java basico 2
Java basico 2Java basico 2
Java basico 2jtk1
 
Java basico 2
Java basico 2Java basico 2
Java basico 2jtk1
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCFmikaelsorai
 
Introducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - JavaIntroducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - JavaFacultad de Ciencias y Sistemas
 
Lenguajes de programacion rivas maldonado
Lenguajes de programacion  rivas maldonadoLenguajes de programacion  rivas maldonado
Lenguajes de programacion rivas maldonadoRAUL Velez
 
C1 intro java
C1 intro javaC1 intro java
C1 intro javaalenco
 
My programming language 04 05-2014
My programming language 04 05-2014My programming language 04 05-2014
My programming language 04 05-2014Neptuno Networks
 
10 lenguajes de programacion
10 lenguajes de programacion10 lenguajes de programacion
10 lenguajes de programacionChristian Morales
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaSantiago Sora
 

Similar a Aprender programación Java (20)

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
 
Java basico
Java basicoJava basico
Java basico
 
Java basico
Java basicoJava basico
Java basico
 
Java kaime conpre
Java kaime conpreJava kaime conpre
Java kaime conpre
 
Java kaime con
Java kaime conJava kaime con
Java kaime con
 
Java basico 2
Java basico 2Java basico 2
Java basico 2
 
Java basico 2
Java basico 2Java basico 2
Java basico 2
 
Aprendiendo Java SCF
Aprendiendo Java SCFAprendiendo Java SCF
Aprendiendo Java SCF
 
Guia 1 java
Guia 1 javaGuia 1 java
Guia 1 java
 
Lenguaje Java
Lenguaje JavaLenguaje Java
Lenguaje Java
 
Introducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - JavaIntroducción a la progrogramación orientada a objetos - Java
Introducción a la progrogramación orientada a objetos - Java
 
Lenguajes de programacion rivas maldonado
Lenguajes de programacion  rivas maldonadoLenguajes de programacion  rivas maldonado
Lenguajes de programacion rivas maldonado
 
C1 intro java
C1 intro javaC1 intro java
C1 intro java
 
My programming language 04 05-2014
My programming language 04 05-2014My programming language 04 05-2014
My programming language 04 05-2014
 
Manual de Java.pdf
Manual de  Java.pdfManual de  Java.pdf
Manual de Java.pdf
 
Manual de Java.pdf
Manual de  Java.pdfManual de  Java.pdf
Manual de Java.pdf
 
10 lenguajes de programacion
10 lenguajes de programacion10 lenguajes de programacion
10 lenguajes de programacion
 
Desarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.javaDesarrollo.de.aplicaciones.con.java
Desarrollo.de.aplicaciones.con.java
 
Entornos de desarrollo
Entornos de desarrolloEntornos de desarrollo
Entornos de desarrollo
 

Más de Ramiro Estigarribia Canese

8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdfRamiro Estigarribia Canese
 

Más de Ramiro Estigarribia Canese (20)

8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf
 
Principios que Guían la Práctica
Principios que Guían la PrácticaPrincipios que Guían la Práctica
Principios que Guían la Práctica
 
CSS - Hojas de Estilo en Cascada.pdf
CSS -  Hojas de Estilo en Cascada.pdfCSS -  Hojas de Estilo en Cascada.pdf
CSS - Hojas de Estilo en Cascada.pdf
 
Python conceptos básicos
Python   conceptos básicosPython   conceptos básicos
Python conceptos básicos
 
Diseño de WebApps
Diseño de WebAppsDiseño de WebApps
Diseño de WebApps
 
Diseño basado en patrones
Diseño basado en patronesDiseño basado en patrones
Diseño basado en patrones
 
Servicios web
Servicios webServicios web
Servicios web
 
Especificaciones de los procesadores
Especificaciones de los procesadoresEspecificaciones de los procesadores
Especificaciones de los procesadores
 
Lenguaje de programación awk
Lenguaje de programación awkLenguaje de programación awk
Lenguaje de programación awk
 
Bases de datos con PHP y PDO
Bases de datos con PHP y PDOBases de datos con PHP y PDO
Bases de datos con PHP y PDO
 
Bases de datos con PHP y Mysqli
Bases de datos con PHP y MysqliBases de datos con PHP y Mysqli
Bases de datos con PHP y Mysqli
 
Interfaz de usuario
Interfaz de usuarioInterfaz de usuario
Interfaz de usuario
 
Variables del sistema en php
Variables del sistema en phpVariables del sistema en php
Variables del sistema en php
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
 
Bootstrap menues, contenedores y formularios
Bootstrap   menues, contenedores y formulariosBootstrap   menues, contenedores y formularios
Bootstrap menues, contenedores y formularios
 
Estructuras de control en bash
Estructuras de control en bashEstructuras de control en bash
Estructuras de control en bash
 
Visual studio code
Visual studio codeVisual studio code
Visual studio code
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Herramienta cacti
Herramienta cactiHerramienta cacti
Herramienta cacti
 
Monitoreo de datacenter
Monitoreo de datacenterMonitoreo de datacenter
Monitoreo de datacenter
 

Último

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 

Último (13)

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 

Aprender programación Java

  • 1. Aprender a programar Ramiro Estigarribia Canese
  • 2. Aprender un Lenguaje ➔ Conocer un vocabulario y una gramática no equivale a saber un idioma. ➔ Conocer un idioma implica además el hábito de combinar sus elementos de forma automática para producir frases que expresen lo que uno quiere decir. ➔ Conocer las palabras, las sentencias y la sintaxis del lenguaje Java, no equivalen a saber programar, pero son condición necesaria para estar en condiciones de empezar a hacerlo, o de entender cómo funcionan programas ya hechos.
  • 3. La computadora ➔ Es un sistema capaz de procesar con rapidez una gran cantidad de información. ➔ Además, tiene capacidad para comunicarse con el exterior, recibiendo datos, órdenes y programas como entrada (por medio del teclado, del ratón, de un pendrive, etc.), y proporcionando resultados de distinto tipo como salida (en la pantalla, en el navegador, en la impresora, en un pendrive, etc.).
  • 4. Computadoras en Red ➔ Las computadoras tienen la capacidad de conectarse en red para comunicarse entre sí, intercambiando mensajes y ficheros, o compartiendo recursos. ➔ En la actualidad, estas redes tienen cobertura mundial, y pasan por encima de fronteras, de continentes, e incluso de marcas y modelos.
  • 5. Computadoras en todas partes ➔ Actualmente, están presentes en casi todas partes: los celulares y gran número de electrodomésticos incorporan uno o varios procesadores. ➔ La diferencia principal entre estos sistemas y las computadoras personales, está sobre todo en el carácter especializado que tienen.
  • 6. Partes de una Computadora ➔ Procesador o CPU. Es el corazón del ordenador, que se encarga de realizar las operaciones aritméticas y lógicas, así como de coordinar el funcionamiento de todos los demás componentes. ➔ Memoria RAM (Random Access Memory). Es el componente del computador donde se guardan los datos y los programas que la CPU está utilizando. Su contenido se borra cuando se apaga o reinicia. ➔ Disco duro. El disco duro es capaz de mantener la información –datos y programas– de modo estable, también con el computador apagado.
  • 7. ¿Qué es un Programa? ➔ Un programa está constituido por un conjunto de instrucciones que se ejecutan de modo secuencial, es decir, cada una a continuación de la anterior. ➔ Recientemente, con objeto de disminuir los tiempos de ejecución de programas críticos por su tamaño o complejidad, se está haciendo un esfuerzo en desarrollar programas paralelos, esto es, programas que se pueden ejecutar simultáneamente en varios procesadores.
  • 8. Niveles de los Lenguajes ➔ Las instrucciones que un procesador es capaz de entender están constituidas por conjuntos de unos y ceros. ➔ A esto se llama lenguaje binario. ➔ Desde casi los primeros años, se comenzaron a desarrollar los llamados lenguajes de alto nivel, que están mucho más cerca del lenguaje natural.
  • 9. Niveles de los Lenguajes ➔ Los lenguajes de alto nivel son más comprensibles para el usuario, pero no para el procesador. ➔ Para que éste pueda ejecutarlos es necesario traducirlos a su propio lenguaje de máquina. ➔ Esta es una tarea que realiza un programa especial llamado compilador, que traduce el programa a lenguaje de máquina.
  • 10. Historia de C y C++ Java evolucionó de C++, el cual evolucionó de C. El lenguaje C es el trabajo de Dennis Ritchie en los laboratorios Bell, y se implementó en 1972. Inicialmente, se hizo muy popular como lenguaje de desarrollo para el sistema operativo UNIX. En la actualidad, la mayoría del código para los sistemas operativos de computadoras/notebooks se escribe en C++. En cambio el sistema operativo Android, está basado en el modelo de Java.
  • 11. Revolución de Desarrollo Una revolución se está gestando en la comunidad del software. Escribir software de manera rápida, correcta y económica es aún una meta difícil de alcanzar, en una época en que la demanda de nuevo y más poderoso software se encuentra a la alza.
  • 12. Historia de Java Sun Microsystems patrocinó en 1991 un proyecto interno de investigación, el cual desembocó en el desarrollo de un lenguaje basado en C++. La idea inicial era facilitar la interacción con electrodomésticos. En principio tuvo poco éxito. La popularidad de World Wide Web explotó en 1993 y la gente de Sun se dio cuenta inmediatamente del potencial de Java para agregar contenido dinámico, como interactividad y animaciones, a las páginas Web Esto trajo nueva vida al proyecto.
  • 13. Java en la actualidad En la actualidad, Java se utiliza para desarrollar aplicaciones empresariales a gran escala, para mejorar la funcionalidad de los servidores Web, para proporcionar aplicaciones para los dispositivos domésticos (como teléfonos celulares) y para muchos otros propósitos.
  • 14. Entorno de desarrollo Java Por lo general, los programas en Java pasan a través de cinco fases: edición, compilación, carga, verificación y ejecución.
  • 15.
  • 16.
  • 17. Fase 1: Creación de un programa Se escribe un programa en Java utilizando un editor, y se guarda el programa. Un nombre de archivo que termina con la extensión . java indica que éste contiene código fuente en Java. Existen entornos de desarrollo integrados (IDEs). Los IDEs proporcionan herramientas que dan soporte al proceso de desarrollo del software, incluyendo editores para escribir y editar programas, y depuradores para localizar errores lógicos. Los IDEs populares son: Eclipse (www.eclipse.org) y NetBeans (www.netbeans.org).
  • 18. Fase 2: Compilación El compilador de Java traduce el código fuente en códigos de bytes que representan las tareas a ejecutar en la fase de ejecución (fase 5). La Máquina Virtual de Java (JVM), una parte del JDK y la base de la plataforma Java, ejecuta los códigos. Una máquina virtual (VM) es una aplicación de software que simula a una computadora, pero oculta el sistema operativo y el hardware. Si se implementa la misma VM en muchas plataformas computacionales, las aplicaciones que ejecute se podrán utilizar en todas esas plataformas.
  • 19. Fase 3: Cargar en memoria El programa debe colocarse en memoria antes de ejecutarse; a esto se le conoce como cargar. El cargador de clases toma los archivos .class que contienen los códigos de bytes del programa y los transfiere a la memoria principal. El cargador de clases también carga cualquiera de los archivos .class que su programa utilice, y que sean proporcionados por Java.
  • 20. Fase 4: Verificación del código A medida que se cargan las clases, el verificador de códigos de bytes examina sus códigos de bytes para asegurar que sean válidos y que no violen las restricciones de seguridad. Java implementa una estrecha seguridad para asegurar que los programas que llegan a través de la red no dañen sus archivos o su sistema (como podrían hacerlo los virus de computadora).
  • 21. Fase 5: Ejecución La JVM ejecuta los códigos de bytes del programa, realizando así las acciones especificadas por el mismo. En las primeras versiones de Java, la JVM era tan sólo un intérprete de códigos de bytes de Java. Esto hacía que la mayoría de los programas se ejecutaran con lentitud, ya que la JVM tenía que interpretar y ejecutar un código de bytes a la vez.
  • 22. Introducción a la tecnología de objetos Crear software en forma rápida, correcta y económica sigue siendo un objetivo difícil de alcanzar en una época en que la demanda de software nuevo va en aumento. Los objetos y las clases son en esencia componentes de software reutilizables. Existen objetos de fecha, objetos de hora, objetos de audio, objetos de automóviles, objetos de personas, etcétera.
  • 23. Sustantivos son objetos Casi cualquier sustantivo se puede representar de manera razonable como un objeto de software en términos de sus atributos (como el nombre, color y tamaño) y comportamientos (por ejemplo, calcular, moverse y comunicarse).