Este documento describe los conceptos básicos de la programación y el lenguaje Java. Explica que aprender un lenguaje de programación implica conocer su vocabulario, gramática y habilidad para combinar elementos para expresar soluciones. También describe las partes principales de una computadora, cómo funcionan las redes de computadoras, y los diferentes niveles de lenguajes de programación como el lenguaje de máquina y de alto nivel. Finalmente, resume los pasos del desarrollo en Java que incluyen la escritura del código, compilación, c
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).