Professional Documents
Culture Documents
Introduccin a la programacin.
Caso prctico
La evolucin de Internet y de las nuevas tecnologas, as como las
diferentes posibilidades para establecer nuevas lneas de negocio
para la empresa BK Programacin, han hecho que Ada haya
decidido abrir una va de innovacin. Para ello, su empresa deber
realizar el desarrollo de sus aplicaciones a travs de lenguajes y
tcnicas de programacin modernos, aunque con una eficiencia y
flexibilidad contrastadas.
Estas innovaciones, junto a la predisposicin para adaptarse y evolucionar que BK Programacin est
potenciando en todas sus reas, repercutirn en una mayor capacidad de respuesta ante las
necesidades de sus posibles clientes. En definitiva, conseguir mayor competitividad.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 1/49
25/9/2017 PROG01_Contenidos
1.- Introduccin.
Cuntas acciones de las que has realizado hoy, crees que estn relacionadas con la
programacin? Hagamos un repaso de los primeros instantes del da: te ha despertado
la alarma de tu telfono mvil o radio-despertador, has preparado el desayuno utilizando
el microondas, mientras desayunabas has visto u odo las ltimas noticias a travs de tu
receptor de televisin digital terrestre, te has vestido y puede que hayas utilizado el
ascensor para bajar al portal y salir a la calle, etc. Quiz no es necesario que
continuemos ms para darnos cuenta de que casi todo lo que nos rodea, en alguna
medida, est relacionado con la programacin, los programas y el tratamiento de algn
tipo de informacin.
En esta primera unidad realizaremos un recorrido por los conceptos fundamentales de la programacin de
aplicaciones. Iniciaremos nuestro camino conociendo con qu vamos a trabajar, qu tcnicas podemos emplear y
qu es lo que pretendemos conseguir. Continuando con el anlisis de las diferentes formas de programacin
existentes, identificaremos qu fases conforman el desarrollo de un programa, avanzaremos detallando las
caractersticas relevantes de cada uno de los lenguajes de programacin disponibles, para posteriormente, realizar
una visin general del lenguaje de programacin Java. Finalmente, tendremos la oportunidad de conocer con qu
herramientas podramos desarrollar nuestros programas, escogiendo entre una de ellas para ponernos manos a la
obra utilizando el lenguaje Java.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 2/49
25/9/2017 PROG01_Contenidos
Caso prctico
Ada conoce bien lo que significa tener que llevar a cabo el proceso
completo de creacin de software y sabe que, en ocasiones, no se
le da la importancia que debera a las fases iniciales de este
proceso. Quiere que Juan, que desarrolla programas casi sin
darse cuenta, recuerde las ventajas que aporta un buen anlisis
inicial de los problemas a solucionar y que no aborde el desarrollo
de sus programas sentndose directamente ante el ordenador a
teclear cdigo.
Juan le comenta a Ada y a Mara: La verdad es que cuando conoces bien un lenguaje de
programacin crees que puedes hacer cualquier programa directamente sobre el ordenador, pero al final
te das cuenta de que deberas haberte parado a planificar tu trabajo. Muchas veces tienes que volver
atrs, recodificar y en ocasiones, rehacer gran parte del programa porque lo que tienes no est bien
planteado.
Mara, que permanece atenta a lo que dicen Ada y Juan, quiere aprender bien desde el principio y
tendr la ventaja de tener a su lado a dos expertos.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 3/49
25/9/2017 PROG01_Contenidos
Resolucin de problemas
Pensamos en
una o varias Diseo o desarrollo de algoritmos: procedimiento paso a
posibles paso para solucionar el problema dado.
soluciones.
Aplicamos la
Resolucin del algoritmo elegido en la computadora:
solucin que
consiste en convertir el algoritmo en programa, ejecutarlo y
estimamos ms
comprobar que soluciona verdaderamente el problema.
adecuada.
Para conseguirlo, cuando afrontemos la construccin de la solucin tendremos que tener en cuenta los siguientes
conceptos:
1. Abstraccin: se trata de realizar un anlisis del problema para descomponerlo en problemas ms pequeos
y de menor complejidad, describiendo cada uno de ellos de manera precisa. Divide y vencers, esta suele
ser considerada una filosofa general para resolver problemas y de aqu que su nombre no slo forme parte
del vocabulario informtico, sino que tambin se utiliza en muchos otros mbitos.
2. Encapsulacin: consiste en ocultar la informacin para poder implementarla de diferentes maneras sin que
esto influya en el resto de elementos.
3. Modularidad: estructuraremos cada parte en mdulos independientes, cada uno de ellos tendr su funcin
correspondiente.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 4/49
25/9/2017 PROG01_Contenidos
Algoritmo: secuencia ordenada de pasos, descrita sin ambigedades, que conducen a la solucin de un
problema dado.
Los lenguajes de programacin son slo un medio para expresar el algoritmo y el ordenador un procesador para
ejecutarlo. El diseo de los algoritmos ser una tarea que necesitar de la creatividad y conocimientos de las
tcnicas de programacin. Estilos distintos, de distintos programadores a la hora de obtener la solucin del
problema, darn lugar a algoritmos diferentes, igualmente vlidos.
En esencia, todo problema se puede describir por medio de un algoritmo y las caractersticas fundamentales que
stos deben cumplir son:
Pero cuando los problemas son complejos, es necesario descomponer stos en subproblemas ms simples y, a su
vez, en otros ms pequeos. Estas estrategias reciben el nombre de diseo descendente o diseo
modular (top-down design). Este sistema se basa en el lema divide y vencers.
Para representar grficamente los algoritmos que vamos a disear, tenemos a nuestra disposicin diferentes
herramientas que ayudarn a describir su comportamiento de una forma precisa y genrica, para luego poder
codificarlos con el lenguaje que nos interese. Entre otras tenemos:
Diagramas de flujo: Esta tcnica utiliza smbolos grficos para la representacin del algoritmo. Suele
utilizarse en las fases de anlisis.
Pseudocdigo: Esta tcnica se basa en el uso de palabras clave en lenguaje natural, constantes,
variables, otros objetos, instrucciones y estructuras de programacin que expresan de forma escrita la
solucin del problema. Es la tcnica ms utilizada actualmente.
Tablas de decisin: En una tabla son representadas las posibles condiciones del problema con sus
respectivas acciones. Suele ser una tcnica de apoyo al pseudocdigo cuando existen situaciones
condicionales complejas.
Debes conocer
A continuacin te ofrecemos dos enlaces muy interesantes:
En el primer vdeo puedes ver los elementos grficos fundamentales que se utilizan para la
generacin de diagramas de flujo.
En el segundo vdeo se realiza la construccin de un diagrama de flujo con una herramienta
grfica y su transformacin a pseudocdigo.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 5/49
25/9/2017 PROG01_Contenidos
Autoevaluacin
Rellena los huecos con los conceptos adecuados:
A los pasos que permiten resolver el problema, escritos en un lenguaje de programacin, para que
puedan ser ejecutados en el ordenador y as obtener la solucin, se les denomina: .
Enviar
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 6/49
25/9/2017 PROG01_Contenidos
Caso prctico
Ada comenta con Juan y Mara los distintos enfoques para el desarrollo
En primer plano una mesa
de programas que han existido a lo largo de la historia de la
de reunin sobre la que hay
programacin, destacando que todos van a tener que renovar su forma
un telfono de sobremesa.
de pensar, si quieren comenzar a utilizar un lenguaje moderno que les
En segundo plano, dos
permita construir programas adaptados a las nuevas necesidades de sus
personas se dan la mano.
clientes.
Representan el acuerdo
entre la empresa y el
cliente despus de una
reunin.
Cuntas formas existen de hacer las cosas? Supongo que estars pensando:
varias o incluso, muchas. Pero cuando se establece un patrn para la creacin
de aplicaciones nos estamos acercando al significado de la palabra
paradigma.
El paradigma representa un enfoque particular o filosofa para la construccin de software. Cada uno tendr sus
ventajas e inconvenientes, ser ms o menos apropiado, pero no es correcto decir que exista uno mejor que los
dems.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 7/49
25/9/2017 PROG01_Contenidos
Como habrs podido apreciar, existen mltiples paradigmas, incluso puede haber lenguajes de programacin que
no se clasifiquen nicamente dentro de uno de ellos. Un lenguaje como Smalltalk es un lenguaje basado en el
paradigma orientado a objetos. El lenguaje de programacin Scheme, en cambio, soporta slo programacin
funcional. Python, soporta mltiples paradigmas.
Para saber ms
Te proponemos el siguiente enlace en el que encontrars informacin adicional sobre los diferentes
paradigmas de programacin.
Cul es el objetivo que se busca con la aplicacin de los diferentes enfoques? Fundamentalmente, reducir la
dificultad para el mantenimiento de las aplicaciones, mejorar el rendimiento del programador y, en general, mejorar
la productividad y calidad de los programas.
Autoevaluacin
En qu paradigma de programacin podramos enmarcar el lenguaje de programacin Java?
Programacin Estructurada.
Programacin Declarativa.
Programacin Orientada a Objetos.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 8/49
25/9/2017 PROG01_Contenidos
Caso prctico
Juan pregunta a Ada cmo van a realizar todo el proceso de
produccin, y duda si el utilizar un nuevo lenguaje supondr
cambiar drsticamente los mtodos aprendidos en el pasado.
Ada le contesta sentndose a su lado: No te preocupes Mara, se trata de adaptar conocimientos que
ya tienes y aprender algunos otros.
Sea cual sea el estilo que escojamos a la hora de automatizar una determinada tarea, debemos realizar el proceso
aplicando un mtodo a nuestro trabajo. Es decir, sabemos que vamos a dar solucin a un problema, aplicando una
filosofa de desarrollo y lo haremos dando una serie de pasos que deben estar bien definidos.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 9/49
25/9/2017 PROG01_Contenidos
a. Anlisis
La respuesta a la primera pregunta se identifica con los resultados deseados o las salidas del problema. La
respuesta a la segunda pregunta indicar qu datos se proporcionan o las entradas del problema.
En esta fase debemos aprender a analizar la documentacin de la empresa , investigar, observar todo lo que
rodea el problema y recopilar cualquier informacin til.
Ejercicio resuelto
Vamos a ilustrar esta fase realizando el anlisis del siguiente problema:
Est claro que las entradas de datos en este problema se reducen al radio del crculo, pero piensa qu
salidas de datos ofrecer la solucin?
b. Diseo
Consiste en plantear la aplicacin como una nica operacin global, e ir descomponindola en operaciones
ms sencillas, detalladas y especficas. En cada nivel de refinamiento, las operaciones identificadas se
asignan a mdulos separados.
Hay que tener en cuenta que antes de pasar a la implementacin del algoritmo, hemos de asegurarnos que
tenemos una solucin adecuada. Para ello, todo diseo requerir de la realizacin de la prueba o traza del
programa. Este proceso consistir en un seguimiento paso a paso de las instrucciones del algoritmo
utilizando datos concretos. Si la solucin aportada tiene errores, tendremos que volver a la fase de anlisis
para realizar las modificaciones necesarias o tomar un nuevo camino para la solucin. Slo cuando el
algoritmo cumpla los requisitos y objetivos especificados en la fase de anlisis se pasar a la fase de
implementacin.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 10/49
25/9/2017 PROG01_Contenidos
4.2.- Implementacin.
Si la fase de resolucin del problema requiere un especial cuidado en la
realizacin del anlisis y el posterior diseo de la solucin, la fase de
implementacin cobra tambin una especial relevancia. Llevar a la realidad
nuestro algoritmo implicar cubrir algunas etapas ms que se detallan a
continuacin.
a. Codificacin o construccin
Cuando realizamos la traduccin del algoritmo al lenguaje de programacin debemos tener en cuenta las
reglas gramaticales y la sintaxis de dicho lenguaje. Obtendremos entonces el cdigo fuente, lo que
normalmente conocemos por programa.
Pero para que nuestro programa comience a funcionar, antes debe ser traducido a un lenguaje que la
mquina entienda. Este proceso de traduccin puede hacerse de dos formas, compilando o interpretando el
cdigo del programa.
Compilador: programa informtico que realiza la traduccin. Recibe el cdigo fuente, realiza un anlisis
lexicogrfico, semntico y sintctico, genera un cdigo intermedio no optimizado, optimiza dicho cdigo y
finalmente, genera el cdigo objeto para una plataforma especfica.
Intrprete: programa informtico capaz de analizar y ejecutar otros programas, escritos en un lenguaje
de alto nivel. Los intrpretes se diferencian de los compiladores en que mientras estos traducen un
programa desde su descripcin en un lenguaje de programacin al cdigo de mquina del sistema, los
intrpretes slo realizan la traduccin a medida que sea necesaria, tpicamente, instruccin por
instruccin, y normalmente no guardan el resultado de dicha traduccin.
Una vez traducido, sea a travs de un proceso de compilacin o de interpretacin, el programa podr ser ejecutado.
Para esta etapa es necesario implantar la aplicacin en el sistema donde va a funcionar, debe ponerse en
marcha y comprobar si su funcionamiento es correcto. Utilizando diferentes datos de prueba se ver si el
programa responde a los requerimientos especificados, si se detectan nuevos errores, si stos son bien
gestionados y si la interfaz es amigable. Se trata de poner a prueba nuestro programa para ver su respuesta
en situaciones difciles.
Mientras se detecten errores y stos no se subsanen no podremos avanzar a la siguiente fase. Una vez
corregido el programa y testeado se documentar mediante:
Autoevaluacin
Rellena los huecos con los conceptos adecuados:
En la fase de codificacin, hemos de tener en cuenta la del lenguaje para obtener el
cdigo fuente o programa. Posteriormente, ste deber ser o
para que pueda ser ejecutado posteriormente.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 11/49
25/9/2017 PROG01_Contenidos
Enviar
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 12/49
25/9/2017 PROG01_Contenidos
4.3.- Explotacin.
Cuando el programa ya est instalado en el sistema y est siendo de utilidad Dos clientes, ante un porttil,
para los usuarios, decimos que se encuentra en fase de explotacin. estn mirando la pantalla. Ilustra
la situacin de explotacin de
Peridicamente ser necesario realizar evaluaciones y, si es necesario, llevar a
una aplicacin.
cabo modificaciones para que el programa se adapte o actualice a nuevas
necesidades, pudiendo tambin corregirse errores no detectados anteriormente.
Este proceso recibe el nombre de mantenimiento del software.
Ser imprescindible aadir una documentacin adecuada que facilite al programador la comprensin, uso y
modificacin de dichos programas.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 13/49
25/9/2017 PROG01_Contenidos
Caso prctico
Mara le pregunta a Juan: Juan, qu ocurre cuando terminas un
programa? Se entrega al cliente y ya est? La verdad es que los
programas que he hecho han sido para uso propio y no s cmo
termina el proceso con los clientes.
Sean cuales sean las fases en las que realicemos el proceso de desarrollo de software, y casi independientemente
de l, siempre se debe aplicar un modelo de ciclo de vida.
Ciclo de vida del software: es una sucesin de estados o fases por las cuales pasa un software a lo
largo de su "vida".
Existen varios tipos de ciclos de vida del software, a continuacin te mostramos un resumen de los ms
importantes.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 14/49
25/9/2017 PROG01_Contenidos
Autoevaluacin
Entre los distintos tipos de ciclo de vida del software, los modelos incremental y en cascada son
modelos del tipo evolutivo.
Verdadero. Falso.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 15/49
25/9/2017 PROG01_Contenidos
Caso prctico
Ada y Juan estn recordando lo complejos que eran algunos
Aparece una programadora ante
lenguajes de programacin, Ada comenta: Cuando yo empec
un ordenador personal de la poca
en esto, haba relativamente pocos lenguajes de programacin y
de los aos ochenta, con las
no permitan hacer programas como los que ahora desarrollamos.
manos en el teclado.
Juan indica que l conoce las caractersticas generales de algunos
lenguajes, pero que le gustara saber algo ms sobre los que
hubo, hay y habr.
Como hemos visto, en todo el proceso de resolucin de un problema mediante la creacin de software, despus del
anlisis del problema y del diseo del algoritmo que pueda resolverlo, es necesario traducir ste a un lenguaje que
exprese claramente cada uno de los pasos a seguir para su correcta ejecucin. Este lenguaje recibe el nombre de
lenguaje de programacin.
Gramtica del lenguaje: Reglas aplicables al conjunto de smbolos y palabras especiales del lenguaje
de programacin para la construccin de sentencias correctas.
Sintaxis: Son las posibles combinaciones de los smbolos y palabras especiales. Est relacionada con
la forma de los programas.
Semntica: Es el significado de cada construccin del lenguaje, la accin que se llevar a cabo.
Hay que tener en cuenta que pueden existir sentencias sintcticamente correctas, pero
Primer plano de la
semnticamente incorrectas. Por ejemplo, Un avestruz dio un zarpazo a su cuidador est
cabeza de un
bien construida sintcticamente, pero es evidente que semnticamente no.
avestruz.
Una caracterstica relevante de los lenguajes de programacin es, precisamente, que ms
de un programador pueda usar un conjunto comn de instrucciones que sean
comprendidas entre ellos. A travs de este conjunto se puede lograr la construccin de un
programa de forma colaborativa.
Los lenguajes de programacin pueden ser clasificados en funcin de lo cerca que estn
del lenguaje humano o del lenguaje de los computadores. El lenguaje de los computadores
son cdigos binarios, es decir, secuencias de unos y ceros. Detallaremos seguidamente las
caractersticas principales de los lenguajes de programacin.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 16/49
25/9/2017 PROG01_Contenidos
A continuacin, se muestran algunos cdigos binarios equivalentes a las operaciones de suma, resta y movimiento
de datos en lenguaje mquina.
Algunas operaciones en
lenguaje mquina.
SUMAR 00101101
RESTAR 00010011
MOVER 00111010
Dada la complejidad y dificultades que ofreca este lenguaje, fue sustituido por otros ms sencillos y fciles utilizar.
No obstante, hay que tener en cuenta que todos los programas para poder ser ejecutados, han de traducirse
siempre al lenguaje mquina que es el nico que entiende la computadora.
Para saber ms
Como recordatorio, te proponemos el siguiente enlace sobre cmo funciona el sistema binario.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 17/49
25/9/2017 PROG01_Contenidos
Autoevaluacin
Rellena los huecos con los conceptos adecuados:
En el lenguaje mquina de algunos procesadores, la combinacin 00101101 equivale a la operacin de
.
Enviar
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 18/49
25/9/2017 PROG01_Contenidos
Mnemotcnico: son palabras especiales, que sustituyen largas secuencias de ceros y unos, utilizadas
para referirse a diferentes operaciones disponibles en el juego de instrucciones que soporta cada
mquina en particular.
En ensamblador, cada instruccin (mnemotcnico) se corresponde a una instruccin del procesador. En la siguiente
tabla se muestran algunos ejemplos.
Algunas operaciones y su
mnemotcnico en lenguaje
Ensamblador.
MULTIPLICAR MUL
DIVIDIR DIV
MOVER MOV
En el siguiente grfico puedes ver parte de un programa escrito en lenguaje ensamblador. En color rojo se ha
resaltado el cdigo mquina en hexadecimal, en magenta el cdigo escrito en ensamblador y en azul, las
direcciones de memoria donde se encuentra el cdigo.
Todo programa escrito en lenguaje ensamblador necesita de un intermediario, que realice la traduccin de cada una
de las instrucciones que componen su cdigo al lenguaje mquina correspondiente. Este intermediario es el
programa ensamblador. El programa original escrito en lenguaje ensamblador constituye el cdigo fuente y el
programa traducido al lenguaje mquina se conoce como programa objeto que ser directamente ejecutado por la
computadora.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 19/49
25/9/2017 PROG01_Contenidos
Pero un programa que est escrito en un lenguaje de alto nivel tambin tiene que traducirse a un cdigo que pueda
utilizar la mquina. Los programas traductores que pueden realizar esta operacin se llaman compiladores.
Compilador: Es un programa cuya funcin consiste en traducir el cdigo fuente de un programa escrito
en un lenguaje de alto nivel a lenguaje mquina. Al proceso de traduccin se le conoce con el nombre de
compilacin.
El compilador realizar la traduccin y adems informar de los posibles errores. Una vez subsanados, se generar
el programa traducido a cdigo mquina, conocido como cdigo objeto. Este programa an no podr ser ejecutado
hasta que no se le aadan los mdulos de enlace o bibliotecas, durante el proceso de enlazado. Una vez finalizado
el enlazado, se obtiene el cdigo ejecutable.
Autoevaluacin
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 20/49
25/9/2017 PROG01_Contenidos
Los lenguajes interpretados generan programas de menor tamao que los Primer plano de las manos de dos
generados por un compilador, al no guardar el programa traducido a cdigo pianistas interpretando una
mquina. Pero presentan el inconveniente de ser algo ms lentos, ya que han partitura.
de ser traducidos durante su ejecucin. Por otra parte, necesitan disponer en
la mquina del programa intrprete ejecutndose, algo que no es necesario en
el caso de un programa compilado, para los que slo es necesario tener el
programa ejecutable para poder utilizarlo.
A medio camino entre los lenguajes compilados y los interpretados, existen los lenguajes que podemos denominar
pseudo-compilados o pseudo-interpretados, es el caso del Lenguaje Java. Java puede verse como compilado e
interpretado a la vez, ya que su cdigo fuente se compila para obtener el cdigo binario en forma de bytecodes, que
son estructuras parecidas a las instrucciones mquina, con la importante propiedad de no ser dependientes de
ningn tipo de mquina (se detallarn ms adelante). La Mquina Virtual Java se encargar de interpretar este
cdigo y, para su ejecucin, lo traducir a cdigo mquina del procesador en particular sobre el que se est
trabajando.
Debes conocer
Puedes entender por qu Java es un lenguaje compilado e interpretado a travs del siguiente esquema.
Autoevaluacin
En Java el cdigo fuente es compilado, obtenindose el cdigo binario en forma de bytecodes.
Pero, Cul es la extensin del archivo resultante?
Extensin .obj.
Extensin .class.
Extensin .Java.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 21/49
25/9/2017 PROG01_Contenidos
Caso prctico
Ada indica a Juan y Mara que el lenguaje elegido para sus
Una llave dorada vuela hacia su
desarrollos va a ser Java. La flexibilidad, facilidad de aprendizaje,
cerradura.
similitud con algunos lenguajes que ya conocen y su capacidad
para adaptarse a cualquier plataforma, hacen que sea ideal para
producir las nuevas aplicaciones de BK Programacin.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 22/49
25/9/2017 PROG01_Contenidos
Antes de que apareciera Java, el lenguaje C era uno de los ms extendidos por su versatilidad. Pero cuando los
programas escritos en C aumentaban de volumen, su manejo comenzaba a complicarse. Mediante las tcnicas de
programacin estructurada y programacin modular se conseguan reducir estas complicaciones, pero no era
suficiente.
Fue entonces cuando la Programacin Orientada a Objetos (POO) entra en escena, aproximando notablemente la
construccin de programas al pensamiento humano y haciendo ms sencillo todo el proceso. Los problemas se
dividen en objetos que tienen propiedades e interactan con otros objetos, de este modo, el programador puede
centrarse en cada objeto para programar internamente los elementos y funciones que lo componen.
Debes conocer
Obtn una descripcin detallada de las caractersticas reseadas anteriormente a travs del siguiente
artculo:
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 23/49
25/9/2017 PROG01_Contenidos
Pero no fue hasta 1995 cuando pas a llamarse Java, dndose a conocer al pblico como lenguaje de
programacin para computadores. Java pasa a ser un lenguaje totalmente independiente de la plataforma y a la vez
potente y orientado a objetos. Esa filosofa y su facilidad para crear aplicaciones para redes TCP/IP ha hecho que
sea uno de los lenguajes ms utilizados en la actualidad.
El factor determinante para su expansin fue la incorporacin de un intrprete Java en la versin 2.0 del navegador
Web Netscape Navigator, lo que supuso una gran revuelo en Internet. A principios de 1997 apareci Java 1.1que
proporcion sustanciales mejoras al lenguaje. Java 1.2, ms tarde rebautizado como Java 2, naci a finales de
1998.
El principal objetivo del lenguaje Java es llegar a ser el nexo universal que conecte a los usuarios con la
informacin, est sta situada en el ordenador local, en un servidor Web, en una base de datos o en cualquier otro
lugar.
Para el desarrollo de programas en lenguaje Java es necesario utilizar un entorno de desarrollo denominado JDK
(Java Development Kit), que provee de un compilador y un entorno de ejecucin (JRE Java Run Environment)
para los bytecodes generados a partir del cdigo fuente. Al igual que las diferentes versiones del lenguaje han
incorporado mejoras, el entorno de desarrollo y ejecucin tambin ha sido mejorado sucesivamente.
Java 2 es la tercera versin del lenguaje, pero es algo ms que un lenguaje de programacin, incluye los siguientes
elementos:
Esquema en el que se
muestran los elementos que
conforman la plataforma de
desarrollo Java 2. En el nivel
inferior aparece el hardware, el
sistema operativo se encuentra
sobre l. Interactuando con
ambos, la mquina virtual java
y el sistema de ejecucin. A su
derecha, la API. Ms arriba, los
bytecodes resultantes y sobre
stos, actan las herramientas
Actualmente hay tres ediciones de la plataforma Java 2:
(compilador y otros), para
J2SE: Entorno de Sun relacionado con laobtener
creacinfinalmente en el y
de aplicaciones applets en lenguaje Java.
extremo superior, el cdigo
J2EE: Pensada para la creacin de aplicaciones Java empresariales y del lado del servidor.
J2ME: Pensada para la creacin de aplicaciones fuente.
Java para dispositivos mviles.
Para saber ms
Si deseas conocer ms sobre los orgenes del lenguaje Java, aqu te ofrecemos ms informacin:
Historia de Java
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 24/49
25/9/2017 PROG01_Contenidos
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 25/49
25/9/2017 PROG01_Contenidos
Por simplificar un poco las cosas, un programa en Java ser como una representacin teatral en la que debemos
preparar primero cada personaje, definir sus caractersticas y qu va a saber hacer. Cuando esta fase est
terminada, la obra se desarrollar sacando personajes a escena y hacindoles interactuar.
Al emplear los conceptos de la Programacin Orientada a Objetos (POO), Java incorpora las tres caractersticas
propias de este paradigma: encapsulacin, herencia y polimorfismo. Los patrones o tipos de objetos
se denominan clases y los objetos que utilizan estos patrones o pertenecen a dichos tipos, se identifican con el
nombre de instancias. Pero, no hay que alarmarse, estos conceptos se vern ms adelante en sucesivas
unidades.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 26/49
25/9/2017 PROG01_Contenidos
a. Independencia: Los programas escritos en Java pueden ser ejecutados en cualquier tipo de hardware. El
cdigo fuente es compilado, generndose el cdigo conocido como Java Bytecode (instrucciones mquina
simplificadas que son especficas de la plataforma Java), el bytecode ser interpretado y ejecutado en la
Mquina Virtual Java (MVJ o JVM Java Virtual Machine) que es un programa escrito en cdigo nativo de
la plataforma destino entendible por el hardware. Con esto se evita tener que realizar un programa diferente
para cada CPU o plataforma.
Por tanto, la parte que realmente es dependiente del sistema es la Mquina Virtual Java, as como las
libreras o bibliotecas bsicas que permiten acceder directamente al hardware de la mquina.
b. Trabajo en red: Esta capacidad del lenguaje ofrece mltiples posibilidades para la comunicacin va TCP/IP.
Para poder hacerlo existen libreras que permiten el acceso y la interaccin con protocolos como http,
ftp, etc., facilitando al programador las tareas del tratamiento de la informacin a travs de redes.
Autoevaluacin
Qu elemento es imprescindible para que una aplicacin escrita en Java pueda ejecutarse en un
ordenador?
Que disponga de conexin a Internet y del hardware adecuado.
Que tenga instalado un navegador web y conexin a Internet.
Que tenga la Mquina Virtual Java adecuada instalada.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 27/49
25/9/2017 PROG01_Contenidos
Y en tercer lugar, Java no permite la apertura de ficheros en la mquina local, tampoco permite ejecutar
ninguna aplicacin nativa de una plataforma e impide que se utilicen otros ordenadores como puente, es
decir, nadie puede utilizar nuestra mquina para hacer peticiones o realizar operaciones con otra.
b. Simplicidad: Aunque Java es tan potente como C o C++, es bastante ms sencillo. Posee una curva de
aprendizaje muy rpida y, para alguien que comienza a programar en este lenguaje, le resulta relativamente
fcil comenzar a escribir aplicaciones interesantes.
Si has programado alguna vez en C o C++ encontrars que Java te pone las cosas ms fciles, ya que se
han eliminado: la aritmtica de punteros, los registros, la definicin de tipos, la gestin de memoria, etc.
Con esta simplificacin se reduce bastante la posibilidad de cometer errores comunes en los programas. Un
programador experimentado en C o C++ puede cambiar a este lenguaje rpidamente y obtener resultados en
muy poco espacio de tiempo.
Muy relacionado con la simplicidad que aporta Java est la incorporacin de un elemento muy til como es el
Recolector de Basura (Garbage collector). Permite al programador liberarse de la gestin de la memoria y
hace que ciertos bloques de memoria puedan reaprovecharse, disminuyendo el nmero de huecos libres
( fragmentacin de memoria).
Cuando realicemos programas, crearemos objetos, haremos que stos interaccionen, etc. Todas estas
operaciones requieren de uso de memoria del sistema, pero la gestin de sta ser realizada de manera
transparente al programador. Todo lo contrario que ocurra en otros lenguajes. Podremos crear tantos objetos
como solicitemos, pero nunca tendremos que destruirlos. El entorno de Java borrar los objetos cuando
determine que no se van a utilizar ms. Este proceso es conocido como recoleccin de basura.
Autoevaluacin
Rellena los huecos con los conceptos adecuados:
En Java se ha simplificado la gestin de memoria a travs de la eliminacin de la Aritmtica de
, por lo que la incorporacin del Garbage Collector evita que se produzca un
crecimiento de los huecos libres en memoria, que recibe el nombre de
de memoria.
Enviar
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 28/49
25/9/2017 PROG01_Contenidos
Una vez escrito el cdigo fuente (archivos con extensin .Java), ste es precompilado generndose los cdigos de
bytes, Bytecodes o Java Bytecodes (archivos con extensin .class) que sern interpretados directamente por la
Maquina Virtual Java y traducidos a cdigo nativo de la plataforma sobre la que se est ejecutando el programa.
Bytecode: Son un conjunto de instrucciones en lenguaje mquina que no son especficas a ningn
procesador o sistema de cmputo. Un intrprete de cdigo de bytes (bytecodes) para una plataforma
especfica ser quien los ejecute. A estos intrpretes tambin se les conoce como Mquinas Virtuales
Java o intrpretes Java de tiempo de ejecucin.
En el proceso de precompilacin, existe un verificador de cdigos de bytes que se asegurar de que se cumplen
las siguientes condiciones:
Para que un bytecode pueda ser ejecutado en cualquier plataforma, es imprescindible que dicha plataforma
cuente con el intrprete adecuado, es decir, la mquina virtual especfica para esa plataforma. En general, la
Mquina Virtual Java es un programa de reducido tamao y gratuito para todos los sistemas operativos.
Esquema general de la
arquitectura de un programa
ejecutndose en una Mquina
Virtual Java. El archivo con el
cdigo fuente (extensin .java) es
compilado mediante javac.exe,
obtenindose los bytecodes
(extensin .class). Finalmente,
mediante el intrprete java.exe
se ejecutarn los bytecodes en la
plataforma especfica.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 29/49
25/9/2017 PROG01_Contenidos
Caso prctico
Juan celebra que BK Programacin vaya a desarrollar sus
Sala repleta de asistentes,
programas en un lenguaje como Java. En algunas ocasiones ha
escuchando una ponencia de un
asistido a congresos y ferias de exposiciones de software en las que
programador en un congreso.
ha podido intercambiar impresiones con compaeros de profesin
sobre los diferentes lenguajes que utilizan en sus proyectos. Una
gran mayora destacaba lo fcil y potente que es programar en
Java.
Ada responde sonriendo: Manos a la obra! Mara, preparada? Vamos a echarle un vistazo a este
fragmento de cdigo...
Hasta ahora, hemos descrito el lenguaje de programacin Java, hemos hecho un recorrido por su historia y nos
hemos instruido sobre su filosofa de trabajo, pero te preguntars Cundo empezamos a desarrollar programas?
Qu elementos forman parte de un programa en Java? Qu se necesita para programar en este lenguaje?
Podemos crear programas de diferente tipo?
No te impacientes, cada vez estamos ms cerca de comenzar la experiencia con el lenguaje de programacin Java.
Iniciaremos nuestro camino conociendo cuales son los elementos bsicos de un programa Java, la forma en que
debemos escribir el cdigo y los tipos de aplicaciones que pueden crearse en este lenguaje.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 30/49
25/9/2017 PROG01_Contenidos
Vamos a analizar cada uno de los elementos que aparecen en dicho grfico:
public class Clase_Principal: Todos los programas han de incluir una clase como esta. Es una clase general en la
que se incluyen todos los dems elementos del programa. Entre otras cosas, contiene el mtodo o funcin main()
que representa al programa principal, desde el que se llevar a cabo la ejecucin del programa. Esta clase puede
contener a su vez otras clases del usuario, pero slo una puede ser public. El nombre del fichero .Java que contiene
el cdigo fuente de nuestro programa, coincidir con el nombre de la clase que estamos describiendo en estas
lneas.
Recomendacin
Icono de iDevice
Ten en cuenta que Java distingue entre maysculas y minsculas. Si le das a la clase principal el
nombre PrimerPrograma, el archivo .Java tendr como identificador PrimerPrograma.Java, que es
totalmente diferente a primerprograma.Java. Adems, para Java los elementos PrimerPrograma y
primerprograma seran considerados dos clases diferentes dentro del cdigo fuente.
public static void main (String[] args): Es el mtodo que representa al programa principal, en l se podrn
incluir las instrucciones que estimemos oportunas para la ejecucin del programa. Desde l se podr hacer
uso del resto de clases creadas. Todos los programas Java tienen un mtodo main.
Comentarios: Los comentarios se suelen incluir en el cdigo fuente para realizar aclaraciones, anotaciones
o cualquier otra indicacin que el programador estime oportuna. Estos comentarios pueden introducirse de
dos formas, con // y con /* */. Con la primera forma estaramos estableciendo una nica lnea completa de
comentario y, con la segunda, con /* comenzaramos el comentario y ste no terminara hasta que no
insertramos */.
Bloques de cdigo: son conjuntos de instrucciones que se marcan mediante la apertura y cierre de llaves {
}. El cdigo as marcado es considerado interno al bloque.
Punto y coma: aunque en el ejemplo no hemos incluido ninguna lnea de cdigo que termine con punto y
coma, hay que hacer hincapi en que cada lnea de cdigo ha de terminar con punto y coma (;). En caso de
no hacerlo, tendremos errores sintcticos.
Autoevaluacin
public static void main (String[] args) es la clase general del programa.
Verdadero. Falso.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 31/49
25/9/2017 PROG01_Contenidos
As mismo, junto a JDK se incluye una implementacin del entorno de ejecucin Java, el JRE (Java Runtime
Environment) para ser utilizado por el JDK. El JRE incluye la Mquina Virtual de Java (MVJ JVM Java Virtual
Machine), bibliotecas de clases y otros ficheros que soportan la ejecucin de programas escritos en el lenguaje de
programacin Java.
Debes conocer
Para poder utilizar JDK y JRE es necesario realizar la descarga e instalacin de stos. Puedes seguir
los pasos del proceso a continuacin:
Para poder desarrollar nuestros primeros programas en Java slo necesitaremos un editor de texto plano y los
elementos que acabamos de instalar a travs de Java SE.
Autoevaluacin
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 32/49
25/9/2017 PROG01_Contenidos
Podemos desarrollar programas escritos en Java mediante un editor de textos y a travs del JRE
podremos ejecutarlos.
Verdadero. Falso.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 33/49
25/9/2017 PROG01_Contenidos
Una biblioteca de clases es un conjunto de clases de programacin orientada a objetos. Esas clases contienen
mtodos que son tiles para los programadores. En el caso de Java cuando descargamos el JDK obtenemos la
biblioteca de clases API. Utilizar las clases y mtodos de las APIs de Java reduce el tiempo de desarrollo de los
programas. Tambin, existen diversas bibliotecas de clases desarrolladas por terceros que contienen componentes
reutilizables de software, y estn disponibles a travs de la Web.
Para saber ms
Si quieres acceder a la informacin oficial sobre la API de Java, te proponemos el siguiente enlace (est
en Ingls).
Autoevaluacin
Indica qu no es la API de Java:
Un entorno integrado de desarrollo.
Un conjunto de bibliotecas de clases.
Una parte del JDK, incluido en el Java SE.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 34/49
25/9/2017 PROG01_Contenidos
Debes conocer
En la siguiente animacin aprenders como configurar la variable PATH en Windows.
Para saber ms
Si deseas conocer ms sobre la configuracin de variables de entorno en sistemas Windows y Linux, te
proponemos los siguientes enlaces:
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 35/49
25/9/2017 PROG01_Contenidos
La variable CLASSPATH: esta variable de entorno establece dnde buscar las clases o biblitecas de la API de Java,
as como las clases creadas por el usuario. Es decir, los ficheros .class que se obtienen una vez compilado el
cdigo fuente de un programa escrito en Java. Es posible que en dicha ruta existan directorios y ficheros
comprimidos en los formatos zip o jar que pueden ser utilizados directamente por el JDK, conteniendo en su interior
archivos con extensin class.
Si no existe la variable CLASSPATH debes crearla, para modificar su contenido sigue el mismo mtodo que hemos
empleado para la modificacin del valor de la variable PATH, anteriormente descrito. Ten en cuenta que la ruta que
debes incluir ser el lugar donde se instal el JDK hasta su directorio lib.
Autoevaluacin
Qu variable de sistema o de entorno debemos configurar correctamente para que podamos
compilar directamente desde la lnea de comandos nuestros programas escritos en lenguaje
Java?
CLASSPATH.
PATH.
Javac.exe.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 36/49
25/9/2017 PROG01_Contenidos
Javac archivo.Java
El resultado de la compilacin ser un archivo con el mismo nombre que el En tono fucsia, dos ruedas
archivo Java pero con la extensin class. Esto ya es el archivo con el cdigo en dentadas encajan para hacer
forma de bytecode. Es decir con el cdigo precompilado. Si en el cdigo fuente funcionar un mecanismo.
de nuestro programa figuraran ms de una clase, veremos como al realizar la
compilacin se generarn tantos archivos con extensin .class como clases
tengamos. Adems, si estas clases tenan mtodo main podremos ejecutar
dichos archivos por separado para ver el funcionamiento de dichas clases.
Para que el programa pueda ser ejecutado, siempre y cuando est incluido en
su interior el mtodo main, podremos utilizar el interprete incluido en el kit de
desarrollo.
Java archivo.class
Ejercicio resuelto
Vamos a llevar a la prctica todo lo que hemos estado detallando a travs de la creacin, compilacin
y ejecucin de un programa sencillo escrito en Java.
Observa el cdigo que se muestra ms abajo, seguro que podrs entender parte de l. Cpialo en un
editor de texto, respetando las maysculas y las minsculas. Puedes guardar el archivo con
extensin .Java en la ubicacin que prefieras. Recuerda que el nombre de la clase principal (en el
cdigo de ejemplo MiModulo) debe ser exactamente igual al del archivo con extensin .Java, si tienes
esto en cuenta la aplicacin podr ser compilada correctamente y ejecutada.
/**
* La clase MiModulo implementa una aplicacin que
* simplemente imprime "Mdulo profesional - Programacin" en pantalla.
*/
class MiModulo {
Accede a la lnea de comandos y teclea, en la carpeta donde has guardado el archivo Java, el
comando para compilarlo: Javac MiModulo.Java
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 37/49
25/9/2017 PROG01_Contenidos
Finalmente, para realizar la ejecucin del programa debes utilizar la siguiente sentencia:
Java MiModulo.Java
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 38/49
25/9/2017 PROG01_Contenidos
Aplicaciones grficas:
Aquellas que utilizan las clases con capacidades grficas, como Swing que es la biblioteca para la
interfaz grfica de usuario avanzada de la plataforma Java SE.
Incluyen las instrucciones import, que indican al compilador de Java que las clases del paquete
Javax.swing se incluyan en la compilacin.
Applets:
Son programas incrustados en otras aplicaciones, normalmente una pgina web que se muestra en
un navegador. Cuando el navegador carga una web que contiene un applet, ste se descarga en el
navegador web y comienza a ejecutarse. Esto nos permite crear programas que cualquier usuario
puede ejecutar con tan solo cargar la pgina web en su navegador.
Se pueden descargar de Internet y se observan en un navegador. Los applets se descargan junto con
una pgina HTML desde un servidor web y se ejecutan en la mquina cliente.
No tienen acceso a partes sensibles (por ejemplo: no pueden escribir archivos), a menos que uno
mismo le d los permisos necesarios en el sistema.
No tienen un mtodo principal.
Son multiplataforma y pueden ejecutarse en cualquier navegador que soporte Java.
Servlets:
Son componentes de la parte del servidor de Java EE, encargados de generar respuestas a las
peticiones recibidas de los clientes.
Los servlets, al contrario de los applets, son programas que estn pensados para trabajar en el lado
del servidor y desarrollar aplicaciones Web que interacten con los clientes.
Midlets:
Son aplicaciones creadas en Java para su ejecucin en sistemas de propsito simple o dispositivos
mviles. Los juegos Java creados para telfonos mviles son midlets.
Son programas creados para dispositivos embebidos (se dedican a una sola actividad), ms
especficamente para la mquina virtual Java MicroEdition (Java ME).
Generalmente son juegos y aplicaciones que se ejecutan en telfonos mviles.
Autoevaluacin
Un Applet es totalmente seguro ya que no puede acceder, en ningn caso, a zonas sensibles del
sistema. Es decir, no podra borrar o modificar nuestros archivos.
Verdadero. Falso.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 39/49
25/9/2017 PROG01_Contenidos
Caso prctico
Ada, Juan y Mara estn navegando por Internet buscando
Programador chateando frente al
informacin sobre herramientas que les faciliten trabajar en Java.
ordenador.
Ada aconseja utilizar alguno de los entornos de desarrollo integrado
existentes, ya que las posibilidades y rapidez que ofrecen,
aumentaran la calidad y reduciran el tiempo requerido para
desarrollar sus proyectos.
En los comienzos de Java la utilizacin de la lnea de comandos era algo habitual. El programador escriba el
cdigo fuente empleando un editor de texto bsico, seguidamente, pasaba a utilizar un compilador y con l obtena
el cdigo compilado. En un paso posterior, necesitaba emplear una tercera herramienta para el ensamblado del
programa. Por ltimo, poda probar a travs de la lnea de comandos el archivo ejecutable. El problema surga
cuando se produca algn error, lo que provocaba tener que volver a iniciar el proceso completo.
Estas circunstancias hacan que el desarrollo de software no estuviera optimizado. Con el paso del tiempo, se
fueron desarrollando aplicaciones que incluan las herramientas necesarias para realizar todo el proceso de
programacin de forma ms sencilla, fiable y rpida. Para cada lenguaje de programacin existen mltiples
entornos de desarrollo, cada uno con sus ventajas e inconvenientes. Dependiendo de las necesidades de la
persona que va a programar, la facilidad de uso o lo agradable que le resulte trabajar con l, se elegir entre unos u
otros entornos.
Para el lenguaje de programacin Java existen mltiples alternativas, siendo los principales entornos de desarrollo
NetBeans (que cuenta con el apoyo de la empresa Sun), Eclipse y JCreator. Los dos primeros son gratuitos, con
soporte de idiomas y multiplataforma (Windows, Linux, MacOS).
Y cul ser con el que vamos a trabajar? El entorno que hemos seleccionado llevar a cabo nuestros desarrollos de
software en este mdulo profesional ser NetBeans, al haber sido construido por la misma compaa que cre
Java, ser de cdigo abierto y ofrecer capacidades profesionales. Aunque, no te preocupes, tambin haremos un
recorrido por otros entornos destacables.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 40/49
25/9/2017 PROG01_Contenidos
9.1.- Qu son?
Son aplicaciones que ofrecen la posibilidad de llevar a cabo el proceso completo de Muestra una carpeta y
desarrollo de software a travs de un nico programa. Podremos realizar las labores de unas herramientas
edicin, compilacin, depuracin, deteccin de errores, correccin y ejecucin de para simbolizar un
programas escritos en Java o en otros lenguajes de programacin, bajo un entorno grfico IDE.
(no mediante lnea de comandos). Junto a las capacidades descritas, cada entorno aade
otras que ayudan a realizar el proceso de programacin, como por ejemplo: cdigo fuente
coloreado, plantillas para diferentes tipos de aplicaciones, creacin de proyectos, etc.
Hay que tener en cuenta que un entorno de desarrollo no es ms que una fachada para el
proceso de compilacin y ejecucin de un programa. Qu quiere decir eso? Pues que si
tenemos instalado un IDE y no tenemos instalado el compilador, no tenemos nada.
Para saber ms
Si deseas conocer algo ms sobre lo que son los Entornos Integrados de Desarrollo (IDE) accede a las
definiciones que te proponemos a continuacin:
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 41/49
25/9/2017 PROG01_Contenidos
NetBeans
Eclipse
BlueJ
Jgrasp
Jcreator LE
IntelliJ IDEA
Jbuilder
Jcreator
JDeveloper
Debes conocer
Cada uno de los entornos nombrados ms arriba posee caractersticas que los hacen diferentes unos de
otros, pero para tener una idea general de la versatilidad y potencia de cada uno de ellos, accede a la
siguiente tabla comparativa:
Pero, cul o cules son los ms utilizados por la comunidad de programadores Una figura aparece en el
Java? El puesto de honor se lo disputan entre Eclipse, IntelliJ IDEA y NetBeans. primer puesto de un podium,
En los siguientes epgrafes haremos una descripcin de NetBeans y Eclipse, para junto a un trofeo.
posteriormente desarrollar los puntos claves del entorno NetBeans.
Para saber ms
Si quieres conocer la situacin actual de uso y comparar los diferentes entornos integrados de desarrollo
para el lenguaje de programacin Java, puedes ampliar datos en el siguiente artculo:
Para acceder a los lugares de Internet donde obtener los diferentes entornos integrados de desarrollo,
puedes utilizar la lista que te ofrecemos en este enlace:
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 42/49
25/9/2017 PROG01_Contenidos
Autoevaluacin
Cul de los siguientes entornos slo est soportado en la plataforma Windows?
Eclipse.
Intellij IDEA.
Jcreator.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 43/49
25/9/2017 PROG01_Contenidos
El origen de este entorno hay que buscarlo en un proyecto realizado por estudiantes de la Repblica Checa. Fue el
primer IDE creado en lenguaje Java. Un tiempo ms tarde, se form una compaa que sera comprada en 1999 por
Sun Microsystems (quien haba creado el lenguaje Java). Poco despus, Sun decidi que el producto sera libre y
de cdigo abierto y naci Netbeans como IDE de cdigo abierto para crear aplicaciones Java.
NetBeans lleva tiempo pugnando con Eclipse por convertirse en la plataforma ms importante para crear
aplicaciones en Java. Hoy en da es un producto en el que participan decenas de empresas con Sun a la cabeza.
Sigue siendo software libre y ofrece las siguientes posibilidades:
Escribir cdigo en C, C++, Ruby, Groovy, Javascript, CSS y PHP adems de Java.
Permitir crear aplicaciones J2EE gracias a que incorpora servidores de aplicaciones Java (actualmente
Glassfish y Tomcat)
Crear aplicaciones Swing de forma sencilla, al estilo del Visual Studio de Microsoft.
Crear aplicaciones JME para dispositivos mviles.
La ltima versin lanzada en 2011 es la NetBeans 7.0. Logotipo del IDE NetBeans 7.0.
para Java.
La plataforma NetBeans permite que las aplicaciones sean desarrolladas a
partir de un conjunto de componentes de software llamados mdulos. Un
mdulo es un archivo Java que contiene clases de Java escritas para
interactuar con las APIs de NetBeans y un archivo especial (manifest file) que lo identifica como mdulo.
Las aplicaciones construidas a partir de mdulos pueden ser extendidas agregndole nuevos mdulos. Debido a
que los mdulos pueden ser desarrollados independientemente, las aplicaciones basadas en esta plataforma
pueden ser extendidas fcilmente por cualquiera que desarrolle tambin software.
Cada mdulo provee una funcin bien definida, tales como el soporte de Java, edicin, o soporte para el sistema de
control de versiones. NetBeans contiene todos los mdulos necesarios para el desarrollo de aplicaciones Java en
una sola descarga, permitiendo a la persona que va a realizar el programa comenzar a trabajar inmediatamente.
Para saber ms
Encuentra ms informacin sobre esta plataforma en los enlaces que te proponemos a continuacin:
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 44/49
25/9/2017 PROG01_Contenidos
Para llevar a cabo las operaciones descritas en el paso 1, te ofrecemos la posibilidad de descargar cada una de las
partes por separado, o bien, en conjunto, a travs de los siguientes enlaces:
Descarga nicamente NetBeans si tienes ya instalado el JDK. (Esta versin an no incluye lenguaje Espaol)
Debes conocer
Para aprender cmo realizar la instalacin completa, JDK y NetBeans, en sus ltimas versiones es
importante que sigas las indicaciones que se muestran en el siguiente artculo:
Para saber ms
Si eres de los que le gusta la accin, ms que leer los tutoriales, en este vdeo podrs seguir el proceso
de descarga e instalacin de NetBeans bajo las plataformas Windows y Linux.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 45/49
25/9/2017 PROG01_Contenidos
Para comenzar a describir el aspecto del entorno, es necesario crear un nuevo proyecto accediendo al men File -
New Project, indicaremos el tipo de aplicacin que vamos a crear.
Debes conocer
Para continuar con la creacin de nuestro proyecto y la descripcin del aspecto del entorno, accede a la
siguiente presentacin:
Cuando trabajemos con NetBeans, nuestros proyectos harn uso de clases para poder desarrollar las
operaciones de nuestros programas. Estas clases se agruparn en paquetes y en la siguiente
presentacin puedes aprender cmo se gestionan a travs del entorno:
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 46/49
25/9/2017 PROG01_Contenidos
Una de las ventajas que ofrece este entorno es poder examinar nuestros proyectos a travs de la vista Archivos.
Esta vista nos ensea la realidad de los archivos del proyecto, la carpeta build contiene los archivos compilados
(.class), la carpeta src el cdigo fuente y el resto, son archivos creados por Netbeans para comprobar la
configuracin del proyecto o los archivos necesarios para la correcta interpretacin del cdigo en otros sistemas (en
cualquier caso no hay que borrarlos). Para activar esta vista, selecciona en el men principal Windows - Files.
Autoevaluacin
Rellena los huecos con los conceptos adecuados:
En NetBeans, los archivos .class de un proyecto estn alojados en la carpeta y los .Java en
la carpeta .
Enviar
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 47/49
25/9/2017 PROG01_Contenidos
Aparece una
seal rural Autora: barraquito from Santa Cruz de Tenerife, Canary Islands, Spain Anotaciones
de diferentes Licencia: CC-by-sa hechas con un
caminos Procedencia: http://commons.wikimedia.org/wiki/File:Cruce_de_caminos- bolgrafo sobre
fabricada en El_Hierro.jpg un cuaderno.
madera.
Primer plano
Autora: Desconocido. Hoja con
de la cabeza
Licencia: Dominio Pblico. smbolos
de un
Procedencia: http://commons.wikimedia.org/wiki/File:OstrichHead.JPG binarios.
avestruz.
Fragmento
de cdigo
escrito en
ensamblador
con su
equivalente
en
hexadecimal
y las
direcciones
de memoria
donde est
alojado. En Uomo
Autora: German, usuario espaol de Wikipedia
color rojo se Vitruviano de
Licencia: Dominio pblico
ha resaltado Leonardo Da
Procedencia: http://commons.wikimedia.org/wiki/File:Codigo_de_maquina.png
el cdigo Vinci.
mquina en
hexadecimal,
en magenta
el cdigo
escrito en
ensamblador
y en azul, las
direcciones
de memoria
donde se
encuentra el
cdigo.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 48/49
25/9/2017 PROG01_Contenidos
Varios bloques
Logotipo del Autora: Robpatrik
Lego
lenguaje Licencia: CC BY-NC-SA
interconectados
Java Procedencia: http://www.flickr.com/photos/alkalinezoo/3595562784/
entre s.
Estructura
metlica
Sala repleta compuesta por
de nodos
asistentes, circulares de
escuchando diferentes
Autora: Ziko van Dijk
una tamaos,
Licencia: CC-by-sa
ponencia de interconectados
Procedencia: http://commons.wikimedia.org/wiki/File:2010-11-14_orr_ob_08.JPG
un y en el centro
programador de cada uno de
en un ellos, una
congreso. esfera de cristal
de diferentes
colores.
Muestra una
Una figura
carpeta y
aparece en el
unas Autora: Sasa Stefanovic
primer puesto
herramientas Licencia: GNU/GPL
de un podium,
para Procedencia: http://commons.wikimedia.org/wiki/File:Exquisite-kcontrol.png
junto a un
simbolizar un
trofeo.
IDE.
Logotipo del
Autora: netbeans.org Logotipo del
IDE
Licencia: Copyright (cita), se autoriza el uso sin restricciones. IDE NetBeans
NetBeans
Procedencia: http://netbeans.org 7.0. para Java.
para Java.
Sobre la
areana de
una playa de
Maldivas, Visin a travs
pueden del entorno
verse varias NetBeans de
Autora: Nevit Dilmen
huellas las carpetas
Licencia: GNU Free Documentation License.
caminando que contienen
Procedencia: http://commons.wikimedia.org/wiki/File:Maldives_00147.JPG
hacia los archivos
nosotros. Al .java y .class de
fondo las un proyecto.
aguas
cristalinas
del mar.
https://www.edu.xunta.es/fpadistancia/pluginfile.php/284946/mod_resource/content/1/PROG01/PROG01_Web/index.html 49/49