1 00:00:00,000 --> 00:00:05,080 ¿Cuántos de vosotros sabéis ya programar en algún lenguaje de programación? 2 00:00:05,960 --> 00:00:06,360 Por favor 3 00:00:06,360 --> 00:00:11,019 Java, C++, C, Visual Basic 4 00:00:11,019 --> 00:00:13,339 ASTI 5 00:00:13,339 --> 00:00:15,519 Vale, muy bien, acuérdate 6 00:00:15,519 --> 00:00:24,399 Bueno, en el mundillo de la programación 7 00:00:24,399 --> 00:00:26,960 ha habido muchos lenguajes, especialmente hoy hay 8 00:00:26,960 --> 00:00:30,019 unos cuantos que están disponibles para aplicaciones generales 9 00:00:30,019 --> 00:00:33,020 Y uno de los que más se utiliza es Java. 10 00:00:33,020 --> 00:00:36,020 Java, el lenguaje Java, es relativamente joven. 11 00:00:36,020 --> 00:00:39,020 Nació por primera vez en el año 90. 12 00:00:39,020 --> 00:00:42,020 Y para que podáis conocer un poquito de esto, 13 00:00:42,020 --> 00:00:45,020 realmente no nació como el lenguaje de Internet, 14 00:00:45,020 --> 00:00:49,020 de páginas biodinámicas, de todas estas cosas que conocemos hasta hoy en día, 15 00:00:49,020 --> 00:00:54,020 sino que nació como un lenguaje pensado para dispositivos electrónicos. 16 00:00:54,020 --> 00:00:57,020 Es decir, cuando el lenguaje se diseñó por primera vez, 17 00:00:57,020 --> 00:01:01,560 Se pensou en utilizar o lenguaje para lavadoras, frigoríficos 18 00:01:01,560 --> 00:01:04,760 E outros dispositivos electrónicos consumibles de casa 19 00:01:04,760 --> 00:01:09,239 En los cuales se podría instalar un pequeno motor 20 00:01:09,239 --> 00:01:10,959 Que ejecutara por namas 21 00:01:10,959 --> 00:01:15,079 E así facilitar a evolución de esos dispositivos, de esas lavadoras 22 00:01:15,079 --> 00:01:19,099 De ese lavavajillas, o frigorífico de cara ao futuro 23 00:01:19,099 --> 00:01:23,040 Para non tener que reinstalar componentes 24 00:01:23,040 --> 00:01:24,599 Sino reinstalar componentes 25 00:01:24,599 --> 00:01:26,819 En el año 90 se inventó este lenguaje 26 00:01:26,819 --> 00:01:28,200 Al principio se llamó OU 27 00:01:28,200 --> 00:01:29,920 OU es 28 00:01:29,920 --> 00:01:31,680 Problems 29 00:01:31,680 --> 00:01:33,959 Mi historia es que 30 00:01:33,959 --> 00:01:35,280 Frente a la ventana 31 00:01:35,280 --> 00:01:37,099 Estaba la persona que estaba trabajando 32 00:01:37,099 --> 00:01:39,959 Estaba buscando idea de como llamarlo 33 00:01:39,959 --> 00:01:40,879 Y entonces 34 00:01:40,879 --> 00:01:42,700 Se inspiró en 35 00:01:42,700 --> 00:01:46,359 Cuando empezaba a surgir 36 00:01:46,359 --> 00:01:47,859 Estaba como lenguaje para internet 37 00:01:47,859 --> 00:01:48,959 En el año 95 38 00:01:48,959 --> 00:01:51,099 Aquí es donde se le dieron las capacidades 39 00:01:51,099 --> 00:01:52,340 Que hoy lo hacen tan interesante 40 00:01:52,340 --> 00:01:54,239 Que son distribuibles 41 00:01:54,239 --> 00:01:54,980 que son 42 00:01:54,980 --> 00:01:57,280 flexibles 43 00:01:57,280 --> 00:02:00,299 que tienen características de seguridad 44 00:02:00,299 --> 00:02:01,959 que permiten utilizarlo en todo el interior 45 00:02:01,959 --> 00:02:08,520 aunque todos estos momentos parecían muy prometedores 46 00:02:08,520 --> 00:02:10,159 realmente hasta el año 97 47 00:02:10,159 --> 00:02:12,300 no aparecía la primera versión del lenguaje 48 00:02:12,300 --> 00:02:13,780 que se podía utilizar comercialmente 49 00:02:13,780 --> 00:02:15,060 la 1.1 50 00:02:15,060 --> 00:02:17,460 y a partir de 1998 51 00:02:17,460 --> 00:02:18,740 con la versión 1.2 52 00:02:18,740 --> 00:02:22,300 surge lo que se conoce hoy en día como Java 2 53 00:02:22,300 --> 00:02:24,060 Java 2 viene del punto 54 00:02:24,060 --> 00:02:26,360 todo lo que utilizamos hoy en día es javado 55 00:02:26,360 --> 00:02:28,280 todas las evoluciones posteriores del engorge 56 00:02:28,280 --> 00:02:30,139 y todas las cosas que se han ido añadiendo 57 00:02:30,139 --> 00:02:32,060 vienen desde el javado 1.2 58 00:02:32,060 --> 00:02:34,419 en 2001 59 00:02:34,419 --> 00:02:35,960 aparecieron los 60 00:02:35,960 --> 00:02:38,379 reptiles aguavíos, ahora hablaremos un poquito de ellos 61 00:02:38,379 --> 00:02:40,479 que es una parte muy importante del lenguaje 62 00:02:40,479 --> 00:02:42,120 que se ha ido a posteriori 63 00:02:42,120 --> 00:02:44,199 y hoy en día, en el 2008 64 00:02:44,199 --> 00:02:45,620 en el año de enero, ha surgido 65 00:02:45,620 --> 00:02:48,580 el javado 1.6 66 00:02:48,580 --> 00:02:49,539 que es la última versión 67 00:02:49,539 --> 00:02:51,979 que si tenéis instalados en vuestro ordenador 68 00:02:51,979 --> 00:02:53,180 Cualquier día 69 00:02:53,180 --> 00:02:54,500 Va a permitir 70 00:02:54,500 --> 00:02:55,819 A realizar la colección 71 00:02:55,819 --> 00:02:58,199 Bueno 72 00:02:58,199 --> 00:03:00,639 ¿Qué cosas se pueden hacer 73 00:03:00,639 --> 00:03:01,520 Con el negocio Java? 74 00:03:02,039 --> 00:03:02,900 Pues es un negocio 75 00:03:02,900 --> 00:03:03,840 De propósito general 76 00:03:03,840 --> 00:03:05,139 Que sirve para hacer muchas cosas 77 00:03:05,139 --> 00:03:05,539 De hecho 78 00:03:05,539 --> 00:03:07,039 Nos sirve para trabajar 79 00:03:07,039 --> 00:03:07,900 Fundamentalmente 80 00:03:07,900 --> 00:03:09,819 En los dos entornos 81 00:03:09,819 --> 00:03:11,599 Que se tienen hoy en día 82 00:03:11,599 --> 00:03:12,939 Las aplicaciones distribuidas 83 00:03:12,939 --> 00:03:14,259 Tanto en los clientes 84 00:03:14,259 --> 00:03:15,539 En los clientes podemos incluir 85 00:03:15,539 --> 00:03:16,960 Código Java en forma de applets 86 00:03:16,960 --> 00:03:18,919 O en forma de aplicaciones gráficas 87 00:03:18,919 --> 00:03:19,439 Por nada más 88 00:03:19,439 --> 00:03:20,300 Escritos en Java 89 00:03:20,300 --> 00:03:21,020 Que funcionan 90 00:03:21,020 --> 00:03:22,520 como en el lado del servidor 91 00:03:22,520 --> 00:03:23,620 en el lado del servidor 92 00:03:23,620 --> 00:03:25,340 aquellos servidores 93 00:03:25,340 --> 00:03:26,139 de ASI web 94 00:03:26,139 --> 00:03:26,560 de ASI 95 00:03:26,560 --> 00:03:27,759 otras aplicaciones 96 00:03:27,759 --> 00:03:28,819 que queremos realizar 97 00:03:28,819 --> 00:03:30,060 o que nos queremos presentar 98 00:03:30,060 --> 00:03:30,840 a través de internet 99 00:03:30,840 --> 00:03:33,199 puede utilizar Java 100 00:03:33,199 --> 00:03:34,539 para implementar 101 00:03:34,539 --> 00:03:35,400 la lógica del negocio 102 00:03:35,400 --> 00:03:35,719 que es 103 00:03:35,719 --> 00:03:36,379 un banco 104 00:03:36,379 --> 00:03:37,240 tiene necesidades 105 00:03:37,240 --> 00:03:38,620 de cuentas monetarias 106 00:03:38,620 --> 00:03:40,360 y hacer transferencias 107 00:03:40,360 --> 00:03:40,819 eso sería 108 00:03:40,819 --> 00:03:41,900 la lógica del negocio 109 00:03:41,900 --> 00:03:43,080 eso se puede hacer 110 00:03:43,080 --> 00:03:43,939 con el lenguaje Java 111 00:03:43,939 --> 00:03:45,379 a través de aplicaciones 112 00:03:45,379 --> 00:03:46,120 de servlets 113 00:03:46,120 --> 00:03:48,060 de páginas activas 114 00:03:48,060 --> 00:03:50,060 de Java Server Pages 115 00:03:50,060 --> 00:03:51,340 o de EJBC 116 00:03:51,340 --> 00:03:53,879 y tambien se puede utilizar 117 00:03:53,879 --> 00:03:55,199 para hacer accesos a base de datos 118 00:03:55,199 --> 00:03:57,780 a través de los APIs de EJBC 119 00:03:57,780 --> 00:03:59,560 que es el de Java 120 00:03:59,560 --> 00:04:00,699 para la base de datos 121 00:04:00,699 --> 00:04:05,360 bueno, que características tiene el lenguaje de Java 122 00:04:05,360 --> 00:04:08,080 que le han hecho explotar en los últimos años 123 00:04:08,080 --> 00:04:09,879 y ser uno de los lenguajes más utilizados 124 00:04:09,879 --> 00:04:11,139 bueno, pues 125 00:04:11,139 --> 00:04:12,659 es un lenguaje orientado a objetos 126 00:04:12,659 --> 00:04:16,319 no es un lenguaje de programación estructural tradicional 127 00:04:16,319 --> 00:04:17,980 sino que todo en Java son objetos 128 00:04:17,980 --> 00:04:20,139 para aquellos que conocen algo de programación orientada a objetos 129 00:04:20,139 --> 00:04:21,860 es un lenguaje muy simple 130 00:04:21,860 --> 00:04:23,379 La sintaxis del lenguaje 131 00:04:23,379 --> 00:04:24,540 Las cosas que tiene el lenguaje 132 00:04:24,540 --> 00:04:25,500 Para trabajar con ellas 133 00:04:25,500 --> 00:04:26,740 Son muy poquitas 134 00:04:26,740 --> 00:04:29,660 No hay cientos de posibles instrucciones 135 00:04:29,660 --> 00:04:30,800 Hay unas cuantas 136 00:04:30,800 --> 00:04:32,579 Y así se utiliza muchísimo 137 00:04:32,579 --> 00:04:33,360 Lo que sí tiene 138 00:04:33,360 --> 00:04:35,399 Es muchas clases en librerías 139 00:04:35,399 --> 00:04:35,879 Es decir 140 00:04:35,879 --> 00:04:37,759 Que muchas cosas que el autor lenguaje 141 00:04:37,759 --> 00:04:39,639 Se meten en el propio lenguaje de programación 142 00:04:39,639 --> 00:04:40,920 En Java 143 00:04:40,920 --> 00:04:42,920 Se implementan como librerías externas 144 00:04:42,920 --> 00:04:44,019 Entonces los programadores de Java 145 00:04:44,019 --> 00:04:45,160 Lo que tienen que hacer 146 00:04:45,160 --> 00:04:46,439 Es saber como funciona el lenguaje 147 00:04:46,439 --> 00:04:47,420 Para las cosas básicas 148 00:04:47,420 --> 00:04:49,379 Y que librerías existen 149 00:04:49,379 --> 00:04:50,779 Que clases de utilidad existen 150 00:04:50,779 --> 00:04:51,959 para poder utilizarlas 151 00:04:51,959 --> 00:04:53,420 nos programas que se quieran 152 00:04:53,420 --> 00:04:56,540 é un lenguaje moi robusto 153 00:04:56,540 --> 00:04:58,500 non teñen cosas que han tenido 154 00:04:58,500 --> 00:05:00,279 outros lenguajes de programación en el pasado 155 00:05:00,279 --> 00:05:02,759 se algúns dos conocéis C ou C++ 156 00:05:02,759 --> 00:05:04,759 habéis estudiado algúns de los lenguajes 157 00:05:04,759 --> 00:05:06,439 sabéis que teñen problemas con cosas como 158 00:05:06,439 --> 00:05:08,100 la gestión de memoria, os punteros 159 00:05:08,100 --> 00:05:09,980 pois Java facilita 160 00:05:09,980 --> 00:05:12,759 no tener que utilizar estos mecanismos 161 00:05:12,759 --> 00:05:14,060 los hace todos internamente 162 00:05:14,060 --> 00:05:16,660 de modo que o lenguaje é moi robusto 163 00:05:16,660 --> 00:05:18,439 é un lenguaje compilado e interpretado 164 00:05:19,000 --> 00:05:20,579 aos que estáis a lo de programación 165 00:05:20,579 --> 00:05:22,300 Interpretar 166 00:05:22,300 --> 00:05:23,860 Debe decir que el código sobre la marcha 167 00:05:23,860 --> 00:05:25,899 Se va leyendo, se va poniendo a funcionar 168 00:05:25,899 --> 00:05:27,839 Compilar debe decir que pasa una etapa previa 169 00:05:27,839 --> 00:05:30,240 En la que se traduce algo que entiende el ordenador 170 00:05:30,240 --> 00:05:32,279 Bueno, pues Java tiene las dos características 171 00:05:32,279 --> 00:05:33,899 Se compila primero 172 00:05:33,899 --> 00:05:36,399 Y luego lo que sale de esa compilación se interpreta 173 00:05:36,399 --> 00:05:37,480 Ahora veremos un poquito como 174 00:05:37,480 --> 00:05:40,180 Las dos características 175 00:05:40,180 --> 00:05:42,120 Más importantes que lo han hecho despegar 176 00:05:42,120 --> 00:05:44,040 Como lenguaje general 177 00:05:44,040 --> 00:05:45,259 Para el internet son 178 00:05:45,259 --> 00:05:48,019 Que es independiente de la plataforma y es portable 179 00:05:48,019 --> 00:05:50,160 Quiere decir que el mismo programa 180 00:05:50,160 --> 00:05:52,339 ha sido compilado unha vez 181 00:05:52,339 --> 00:05:53,860 lo podo llevar a funcionar 182 00:05:53,860 --> 00:05:55,199 en un sistema operativo 183 00:05:55,199 --> 00:05:56,620 en outro sistema operativo 184 00:05:56,620 --> 00:05:57,819 en un tercer sistema operativo 185 00:05:57,819 --> 00:05:59,240 y en los tres funciona 186 00:05:59,240 --> 00:06:00,699 esto es una novedad 187 00:06:00,699 --> 00:06:01,959 porque ningún lenguaje 188 00:06:01,959 --> 00:06:03,000 de programación anterior 189 00:06:03,000 --> 00:06:04,019 a menos que fuera 190 00:06:04,019 --> 00:06:05,079 puramente interpretado 191 00:06:05,079 --> 00:06:06,399 esto podía tener lugar 192 00:06:06,399 --> 00:06:08,019 si utilizáis C o C++ 193 00:06:08,019 --> 00:06:09,579 necesariamente tenéis que 194 00:06:09,579 --> 00:06:10,879 recompilar el código 195 00:06:10,879 --> 00:06:11,759 antes de llevarlo 196 00:06:11,759 --> 00:06:12,879 a otro sistema operativo 197 00:06:12,879 --> 00:06:14,040 pero un programita 198 00:06:14,040 --> 00:06:14,639 escrito en Java 199 00:06:14,639 --> 00:06:15,939 funciona en Windows 200 00:06:15,939 --> 00:06:16,740 funciona en Linux 201 00:06:16,740 --> 00:06:18,100 y funciona en MacOS 202 00:06:18,100 --> 00:06:21,240 tambien es distribuir 203 00:06:21,240 --> 00:06:23,220 está pensado para distribuir 204 00:06:23,220 --> 00:06:24,860 los programas de java por la red 205 00:06:24,860 --> 00:06:27,060 esto hizo que sobre todo a mediados 206 00:06:27,060 --> 00:06:28,879 de los 90 con las 207 00:06:28,879 --> 00:06:31,379 javabins, uno de los mecanismos 208 00:06:31,379 --> 00:06:32,740 que tiene java para distribución 209 00:06:32,740 --> 00:06:34,740 de programas por internet 210 00:06:34,740 --> 00:06:36,839 se implantara java 211 00:06:36,839 --> 00:06:38,600 y se utilizara java dentro de los mercadores 212 00:06:38,600 --> 00:06:41,600 es muy seguro y además es muy eficiente 213 00:06:41,600 --> 00:06:43,079 en ciencia hay mucha discusión 214 00:06:43,079 --> 00:06:45,180 a la vida del pasado de si java 215 00:06:45,180 --> 00:06:47,540 era eficiente o no eficiente frente a otros lenguajes 216 00:06:47,540 --> 00:06:49,779 pero hoy en día el nivel de eficiencia que se consigue 217 00:06:49,779 --> 00:06:50,600 es muy muy bajo 218 00:06:50,600 --> 00:06:54,000 bueno, no sé si se ve muy bien 219 00:06:54,000 --> 00:06:55,759 esto es un poquito 220 00:06:55,759 --> 00:06:57,480 de código Java, es el típico programa 221 00:06:57,480 --> 00:06:59,120 de Word que sube para empezar 222 00:06:59,120 --> 00:07:01,160 espero que tuvierais una idea 223 00:07:01,160 --> 00:07:02,899 de que tipo de cosas se hacen en Java 224 00:07:02,899 --> 00:07:05,180 se ponen clases, se ponen comentarios 225 00:07:05,180 --> 00:07:07,500 como en otros programas, o en otros temas de programación 226 00:07:07,500 --> 00:07:10,019 y se ponen sentencias dentro de métodos 227 00:07:10,019 --> 00:07:12,560 si tuviéramos un programita en Java 228 00:07:12,560 --> 00:07:15,699 los pasos que tenemos que hacer para que esto funcione 229 00:07:15,699 --> 00:07:17,660 Es decir, escribimos un programa 230 00:07:17,660 --> 00:07:19,720 Que es una lista de cosas, una secuencia 231 00:07:19,720 --> 00:07:20,959 De cosas que queremos que pasen 232 00:07:20,959 --> 00:07:23,240 Y queremos que eso se convierta en un programa 233 00:07:23,240 --> 00:07:25,959 Como un ordenador, tengo que realizar una serie de pasos 234 00:07:25,959 --> 00:07:27,860 Lo primero que tengo que hacer 235 00:07:27,860 --> 00:07:29,180 Es compilar el programa Java 236 00:07:29,180 --> 00:07:31,399 Si mi programa, pues que tengo un fichero 237 00:07:31,399 --> 00:07:32,300 Que se llama hola Java 238 00:07:32,300 --> 00:07:35,920 Con el compilador de Java, lo transformo en otra cosa 239 00:07:35,920 --> 00:07:37,319 Esa otra cosa se llama 240 00:07:37,319 --> 00:07:39,699 Un bytecode, una clase intermedia 241 00:07:39,699 --> 00:07:41,740 Eso es lo que luego se va a poder 242 00:07:41,740 --> 00:07:42,980 Ejecutar dentro del ordenador 243 00:07:42,980 --> 00:07:46,579 El fichero que sale de compilar esto se llama 244 00:07:46,579 --> 00:07:47,199 Clash 245 00:07:47,199 --> 00:07:49,000 Mi fichero de código original 246 00:07:49,000 --> 00:07:52,019 El que yo compilo es un Clash 247 00:07:52,019 --> 00:07:54,740 Este Clash yo lo puedo compilar en una maquina 248 00:07:54,740 --> 00:07:55,699 Linux 249 00:07:55,699 --> 00:07:58,399 Y luego me lo llevo a un sistema operativo Windows 250 00:07:58,399 --> 00:08:00,639 O lo dejo en el Windows o lo llevo a MacOS 251 00:08:00,639 --> 00:08:02,360 Y ese mismo fichero va a funcionar 252 00:08:02,360 --> 00:08:03,180 Sin tener que tocarlo 253 00:08:03,180 --> 00:08:06,680 Bueno, para ejecutar el programa 254 00:08:06,680 --> 00:08:09,019 Se ejecunda o se pone en marcha 255 00:08:09,019 --> 00:08:10,100 La maquina virtual de Java 256 00:08:10,100 --> 00:08:11,839 Que podemos hablar un poquito más a continuación 257 00:08:11,839 --> 00:08:13,879 Serían una sintaxis Java 258 00:08:13,879 --> 00:08:16,480 Y lo que yo quiero ejecutar 259 00:08:16,480 --> 00:08:18,360 En ese caso se programita 260 00:08:18,360 --> 00:08:19,920 Lo que sea que haga ese programa 261 00:08:19,920 --> 00:08:21,879 Va a empezar a funcionar en el sistema operativo 262 00:08:21,879 --> 00:08:22,680 En el que yo estoy trabajando 263 00:08:22,680 --> 00:08:25,160 Es decir, que partiendo de un único programa 264 00:08:25,160 --> 00:08:26,300 Y compilándolo una vez 265 00:08:26,300 --> 00:08:29,500 Consigo un único fichero de salida 266 00:08:29,500 --> 00:08:31,680 Que se interpreta en tres sistemas operativos 267 00:08:31,680 --> 00:08:33,960 De manera distinta para ejecutar en un programa 268 00:08:33,960 --> 00:08:35,360 Y que se realice el mismo resultado 269 00:08:35,360 --> 00:08:39,580 Bueno, dos cositas clave 270 00:08:39,580 --> 00:08:41,399 Y pasamos a ver algo más delante 271 00:08:41,399 --> 00:08:43,960 Java es el lenguaje de programador 272 00:08:43,960 --> 00:08:46,720 Es decir, lo que yo tengo que escribir como programador 273 00:08:46,720 --> 00:08:47,720 Para hacer lo que yo quiero 274 00:08:47,720 --> 00:08:50,700 Cuando compilo Java se convierte en una cosa que se llama 275 00:08:50,700 --> 00:08:53,000 By code, es el código intermedio 276 00:08:53,000 --> 00:08:54,100 Esto sería 277 00:08:54,100 --> 00:08:56,279 El resultado de realizar la comparación 278 00:08:56,279 --> 00:08:57,820 La compilación que está preparado 279 00:08:57,820 --> 00:09:00,700 Para ser luego ejecutado en distintos sistemas operativos 280 00:09:00,700 --> 00:09:04,580 Hay otras dos cosillas que seguramente tenéis instaladas 281 00:09:04,580 --> 00:09:06,740 En vuestro ordenador, al menos la última de aquí 282 00:09:06,740 --> 00:09:07,940 Y a lo mejor no lo sabéis 283 00:09:07,940 --> 00:09:10,879 Existe la máquina virtual de Java 284 00:09:10,879 --> 00:09:12,159 Java Virtual Machine 285 00:09:12,159 --> 00:09:13,940 La máquina de Java 286 00:09:13,940 --> 00:09:15,039 Es el intérprete 287 00:09:15,039 --> 00:09:15,879 Es un programita 288 00:09:15,879 --> 00:09:16,659 Escrito 289 00:09:16,659 --> 00:09:17,740 En cada estado operativo 290 00:09:17,740 --> 00:09:18,620 De una manera distinta 291 00:09:18,620 --> 00:09:20,399 Que coge este resultado 292 00:09:20,399 --> 00:09:21,139 De la configuración 293 00:09:21,139 --> 00:09:22,200 Y lo pone a funcionar 294 00:09:22,200 --> 00:09:23,700 Hay máquinas virtuales 295 00:09:23,700 --> 00:09:24,080 De Java 296 00:09:24,080 --> 00:09:25,460 Para distintos estados operativos 297 00:09:25,460 --> 00:09:26,860 Y lo único que tenéis que hacer 298 00:09:26,860 --> 00:09:28,059 Para que en vuestro ordenador 299 00:09:28,059 --> 00:09:29,139 Funcione un programa de Java 300 00:09:29,139 --> 00:09:30,480 Es tener esta máquina 301 00:09:30,480 --> 00:09:30,960 En su momento 302 00:09:30,960 --> 00:09:31,980 ¿Vale? 303 00:09:32,639 --> 00:09:33,379 Por último existe 304 00:09:33,379 --> 00:09:35,539 Un cuarto concepto 305 00:09:35,539 --> 00:09:35,879 Que se llama 306 00:09:35,879 --> 00:09:37,899 El Java Runtime Environment 307 00:09:37,899 --> 00:09:39,000 El entorno de desarrollo 308 00:09:39,000 --> 00:09:40,580 El entorno de ejecución 309 00:09:40,580 --> 00:09:40,980 de Java 310 00:09:40,980 --> 00:09:42,820 tiene la máquina virtual 311 00:09:42,820 --> 00:09:43,220 de Java 312 00:09:43,220 --> 00:09:44,519 y algunas cositas más 313 00:09:44,519 --> 00:09:45,360 que sirven para hacer 314 00:09:45,360 --> 00:09:46,100 que vuestros programas 315 00:09:46,100 --> 00:09:46,779 funcionen bien 316 00:09:46,779 --> 00:09:47,799 por ejemplo 317 00:09:47,799 --> 00:09:49,000 muchos de los juegos 318 00:09:49,000 --> 00:09:49,720 estos que tenemos 319 00:09:49,720 --> 00:09:50,320 de red 320 00:09:50,320 --> 00:09:52,259 son mini programitas 321 00:09:52,259 --> 00:09:52,679 de Java 322 00:09:52,679 --> 00:09:54,080 que se descargan 323 00:09:54,080 --> 00:09:54,720 automáticamente 324 00:09:54,720 --> 00:09:55,279 sin que vosotros 325 00:09:55,279 --> 00:09:55,679 lo sepáis 326 00:09:55,679 --> 00:09:56,340 a vuestro ordenador 327 00:09:56,340 --> 00:09:57,259 y funcionan 328 00:09:57,259 --> 00:09:58,179 en una máquina virtual 329 00:09:58,179 --> 00:09:59,059 que está instalada 330 00:09:59,059 --> 00:09:59,919 en vuestro ordenador 331 00:09:59,919 --> 00:10:00,919 y se arrancan 332 00:10:00,919 --> 00:10:01,399 desde nada 333 00:10:01,399 --> 00:10:04,480 bueno 334 00:10:04,480 --> 00:10:05,919 esto es una perilla 335 00:10:05,919 --> 00:10:06,179 de luz 336 00:10:06,179 --> 00:10:07,100 que no funciona en Java 337 00:10:07,100 --> 00:10:08,500 ¿qué cosas tiene Java 338 00:10:08,500 --> 00:10:09,019 hoy en día? 339 00:10:09,679 --> 00:10:09,779 ¿vale? 340 00:10:09,980 --> 00:10:10,639 Java ha evolucionado 341 00:10:10,639 --> 00:10:11,259 mucho en los últimos 342 00:10:11,259 --> 00:10:11,740 diez años 343 00:10:11,740 --> 00:10:14,279 ¿Qué cosas podéis encontrar y podéis hacer con Java hoy en día? 344 00:10:14,360 --> 00:10:16,679 Bueno, pues, el paquete Java 2 345 00:10:16,679 --> 00:10:20,019 Que es todo lo que existe ahora mismo a nivel de Java 346 00:10:20,019 --> 00:10:22,659 Tiene tres subpartes 347 00:10:22,659 --> 00:10:25,860 Hay tres conjuntos de cosas diferenciadas que podéis hacer con Java 348 00:10:25,860 --> 00:10:28,779 Primero tenéis lo que se llama la Java Standard Edition 349 00:10:28,779 --> 00:10:29,840 La edición estándar 350 00:10:29,840 --> 00:10:31,919 Que sí debe hacer programas normales 351 00:10:31,919 --> 00:10:33,720 Para funcionar en vuestro ordenador 352 00:10:33,720 --> 00:10:35,200 Cosas normales 353 00:10:35,200 --> 00:10:36,679 Existe la Micro Edition 354 00:10:36,679 --> 00:10:37,580 J2M 355 00:10:37,580 --> 00:10:40,919 Este es el conjunto de paquetes 356 00:10:40,919 --> 00:10:43,899 Que corresponde con lo que se intentó hacer por primera vez 357 00:10:43,899 --> 00:10:45,460 Un lenguaje de programación 358 00:10:45,460 --> 00:10:46,259 Y una infraestructura 359 00:10:46,259 --> 00:10:50,200 Para ejecutar programitas en dispositivos muy pequeños 360 00:10:50,200 --> 00:10:51,960 Los teoríficos 361 00:10:51,960 --> 00:10:53,620 Estos que nos anuncian ahora mismo 362 00:10:53,620 --> 00:10:55,220 Que tienen conexión a internet 363 00:10:55,220 --> 00:10:56,919 Tienen este tipo de Java instalado 364 00:10:56,919 --> 00:10:58,460 Pero también la tienen vuestros móviles 365 00:10:58,460 --> 00:11:01,559 Los móviles que corren juegos y que tienen capacidad de Java 366 00:11:01,559 --> 00:11:03,759 Tienen la edición de Java microdisco 367 00:11:03,759 --> 00:11:05,340 Y por último 368 00:11:05,340 --> 00:11:06,000 En la tercera 369 00:11:06,000 --> 00:11:09,019 Categoría de cosas que pueden ser usadas en Java 370 00:11:09,019 --> 00:11:10,419 Que se llama la Enterprise Edition 371 00:11:10,419 --> 00:11:12,159 Que es un conjunto de facilidades 372 00:11:12,159 --> 00:11:14,519 Y de servicios que funcionan 373 00:11:14,519 --> 00:11:15,840 Fundamentalmente para la empresa 374 00:11:15,840 --> 00:11:19,759 Bueno, vamos un poquito más 375 00:11:19,759 --> 00:11:21,139 Sobre cada uno de ellos, brevemente 376 00:11:21,139 --> 00:11:23,700 La edición estándar es la plataforma 377 00:11:23,700 --> 00:11:25,340 Básica de Java, el J2S 378 00:11:25,340 --> 00:11:27,960 Esto permite desarrollar 379 00:11:27,960 --> 00:11:29,379 Aplicaciones y apps 380 00:11:29,379 --> 00:11:30,740 Fundamentalmente, vale? 381 00:11:31,259 --> 00:11:32,220 Podéis notar con esto 382 00:11:32,220 --> 00:11:35,299 Programas distribuidos que trabajan en entorno 383 00:11:35,299 --> 00:11:37,539 Que entran en servidores, es decir, instalar unos programas en Java 384 00:11:37,539 --> 00:11:39,700 En un ordenador que va a actuar de cliente 385 00:11:39,700 --> 00:11:40,460 y otros programas Java 386 00:11:40,460 --> 00:11:40,960 en un lado 387 00:11:40,960 --> 00:11:41,919 que va a actuar en el servidor 388 00:11:41,919 --> 00:11:43,179 y permitir que los dos 389 00:11:43,179 --> 00:11:44,220 se comuniquen a través de la 390 00:11:44,220 --> 00:11:45,000 vale 391 00:11:45,000 --> 00:11:46,840 tiene decenas 392 00:11:46,840 --> 00:11:47,759 o más bien cientos 393 00:11:47,759 --> 00:11:48,480 de librerías 394 00:11:48,480 --> 00:11:49,440 de clases de utilidades 395 00:11:49,440 --> 00:11:50,240 y herramientas 396 00:11:50,240 --> 00:11:51,740 este es el paquete normal 397 00:11:51,740 --> 00:11:52,600 que podéis bajaros 398 00:11:52,600 --> 00:11:53,200 y con el que podéis 399 00:11:53,200 --> 00:11:53,899 empezar a trabajar 400 00:11:53,899 --> 00:11:56,279 para que os hagáis una idea 401 00:11:56,279 --> 00:11:57,299 esto se ve muy bien 402 00:11:57,299 --> 00:11:59,039 esto es todo el conjunto 403 00:11:59,039 --> 00:12:00,279 de cosas que tiene ahora mismo 404 00:12:00,279 --> 00:12:01,559 el paquete estándar de Java 405 00:12:01,559 --> 00:12:03,659 el de Java 2 406 00:12:03,659 --> 00:12:04,679 estándarismo 407 00:12:04,679 --> 00:12:06,220 todas estas librerías 408 00:12:06,220 --> 00:12:07,179 las tenéis disponibles 409 00:12:07,179 --> 00:12:08,980 tenéis servicios de mensajería 410 00:12:08,980 --> 00:12:10,440 de trabajo con XML 411 00:12:10,440 --> 00:12:12,419 de creación de logs 412 00:12:12,419 --> 00:12:14,279 de acceso a base de datos 413 00:12:14,279 --> 00:12:16,440 de acceso a remoto entre aplicaciones 414 00:12:16,440 --> 00:12:19,740 tenéis suerte de interfaces gráficas 415 00:12:19,740 --> 00:12:21,480 como Swing y como AWT 416 00:12:21,480 --> 00:12:23,399 hay muchísimas, muchísimas cosas 417 00:12:23,399 --> 00:12:25,559 que tenéis gratis 418 00:12:25,559 --> 00:12:27,700 sencillamente por utilizar el paquete de desarrollo 419 00:12:27,700 --> 00:12:28,539 o restante de Java 420 00:12:28,539 --> 00:12:31,340 en la dirección micro 421 00:12:31,340 --> 00:12:33,940 la dirección para dispositivos pequeños 422 00:12:33,940 --> 00:12:36,139 es un subconjunto 423 00:12:36,139 --> 00:12:38,039 pequeñito de las funcionalidades de Java 424 00:12:38,039 --> 00:12:40,399 y sirvan para tener todo un edificio 425 00:12:40,399 --> 00:12:42,100 y poder meterlo hasta un dispositivo 426 00:12:42,100 --> 00:12:44,639 como una lavadora o como un móvil 427 00:12:44,639 --> 00:12:46,940 algunas de las tecnologías que soportan 428 00:12:46,940 --> 00:12:49,039 esta parte de Java 429 00:12:49,039 --> 00:12:50,659 que sirve para hacer el trabajo 430 00:12:50,659 --> 00:12:52,320 con dispositivos pequeños 431 00:12:52,320 --> 00:12:53,340 son Bluetooth 432 00:12:53,340 --> 00:12:56,659 hay un conjunto de clases para hacer 433 00:12:56,659 --> 00:12:59,080 televisión, para poder tener esa televisión 434 00:12:59,080 --> 00:13:01,139 que veis en el 435 00:13:01,139 --> 00:13:02,639 frigorífico 436 00:13:02,639 --> 00:13:04,740 la televisión instalada, eso funciona con 437 00:13:04,740 --> 00:13:06,700 Java TV, también tenéis 438 00:13:06,700 --> 00:13:08,659 para temas de seguridad 439 00:13:08,659 --> 00:13:10,620 o en los teléfonos de Java 440 00:13:10,620 --> 00:13:15,279 por último 441 00:13:15,279 --> 00:13:17,340 la tercera gran parte 442 00:13:17,340 --> 00:13:19,360 de Java que es la Enterprise Edition 443 00:13:19,360 --> 00:13:21,419 es un conjunto de especificaciones Java 444 00:13:21,419 --> 00:13:23,360 para aplicaciones empresariales 445 00:13:23,360 --> 00:13:25,720 las empresas tienen muchas veces 446 00:13:25,720 --> 00:13:27,899 grandes necesidades tanto en volumen de datos 447 00:13:27,899 --> 00:13:30,000 como en acceso a información 448 00:13:30,000 --> 00:13:31,159 como en procesamiento 449 00:13:31,159 --> 00:13:33,559 entonces hay un conjunto de utilidades 450 00:13:33,559 --> 00:13:35,320 y de librerías disponibles 451 00:13:35,320 --> 00:13:36,279 para poder hacer esto 452 00:13:36,279 --> 00:13:39,100 ¿qué se entiende en general con una aplicación empresarial? 453 00:13:39,100 --> 00:13:40,860 Pois non é o que necesitamos 454 00:13:40,860 --> 00:13:41,899 Nosotros en casa para resolver 455 00:13:41,899 --> 00:13:44,419 Problemas pequenos, algo complejo 456 00:13:44,419 --> 00:13:46,019 Normalmente distribuído 457 00:13:46,019 --> 00:13:47,879 A gente trabaja a lo mejor desde su casa 458 00:13:47,879 --> 00:13:48,919 Pero se conecta a la empresa 459 00:13:48,919 --> 00:13:50,379 O trabajan dentro de la empresa 460 00:13:50,379 --> 00:13:53,340 É exigente en cuanto a carga de trabajo 461 00:13:53,340 --> 00:13:55,679 Y requiere acceso a base de datos 462 00:13:55,679 --> 00:13:57,440 Esas son cosas que muchas veces 463 00:13:57,440 --> 00:13:59,620 Nosotros necesitamos para nuestra programación habitual 464 00:13:59,620 --> 00:14:01,379 Bueno 465 00:14:01,379 --> 00:14:03,139 Y para esto que nos da Java 466 00:14:03,139 --> 00:14:04,460 Porque nos da muchísimas cosas 467 00:14:04,460 --> 00:14:06,100 No nos voy a contar todas aquí obviamente 468 00:14:06,100 --> 00:14:09,720 pero fundamentalmente nos dá esta parte de dentro 469 00:14:09,720 --> 00:14:11,100 é a tecnologia Java que se llaman 470 00:14:11,100 --> 00:14:13,299 os SJBs, os Enterprise Java Bins 471 00:14:13,299 --> 00:14:14,059 ou 472 00:14:14,059 --> 00:14:17,100 non ten moi boa tradición en español 473 00:14:17,100 --> 00:14:18,759 e que sirven para activar 474 00:14:18,759 --> 00:14:20,860 servicios empresariales, de acceso a datos 475 00:14:20,860 --> 00:14:23,759 de alta disponibilidad 476 00:14:23,759 --> 00:14:24,600 de concluencia 477 00:14:24,600 --> 00:14:26,120 en entornos empresariales 478 00:14:26,120 --> 00:14:27,860 tamén nos dá obtenedores web 479 00:14:27,860 --> 00:14:29,120 para obtener los servicios web 480 00:14:29,120 --> 00:14:30,840 e generar as páginas 481 00:14:30,840 --> 00:14:33,620 dinámicas en caso de que non existamos 482 00:14:33,620 --> 00:14:35,700 por exemplo, con SERP, con JST 483 00:14:35,700 --> 00:14:37,559 ou tamén aplicaciones 484 00:14:37,559 --> 00:14:38,919 que poden correr en el grado de 100 485 00:14:38,919 --> 00:14:40,860 todo isto lo tiene la edición 486 00:14:40,860 --> 00:14:42,320 Enterprise de Java 487 00:14:42,320 --> 00:14:44,419 bueno 488 00:14:44,419 --> 00:14:47,340 dentro de la edición Enterprise de Java 489 00:14:47,340 --> 00:14:49,019 hay muchísimas cosas, por ejemplo 490 00:14:49,019 --> 00:14:51,740 aparte de los SETs y los JSP 491 00:14:51,740 --> 00:14:53,000 son tecnologías de 492 00:14:53,000 --> 00:14:54,980 acceso a internet, tenéis 493 00:14:54,980 --> 00:14:57,480 Java Mail, tenéis mensajería 494 00:14:57,480 --> 00:14:59,860 tenéis acceso a base de datos, hay muchísimas cosas 495 00:14:59,860 --> 00:15:03,259 bueno, espero que 496 00:15:03,259 --> 00:15:05,279 os hagáis una pequeña idea de que es lo que 497 00:15:05,279 --> 00:15:06,580 que el mundillo de Java 498 00:15:06,580 --> 00:15:08,559 lo que no tiene el mundillo de Java 499 00:15:08,559 --> 00:15:10,820 o menos las distribuciones normales de Java 500 00:15:10,820 --> 00:15:13,259 son un entorno de desarrollo 501 00:15:13,259 --> 00:15:14,840 que sea muy amigable 502 00:15:14,840 --> 00:15:16,700 para que la gente que se dedica a programar en Java 503 00:15:16,700 --> 00:15:18,620 pueda tener gran movilidad 504 00:15:18,620 --> 00:15:19,759 si habéis visto al principio 505 00:15:19,759 --> 00:15:22,700 cuando os contaba que tenéis que hacer para que 506 00:15:22,700 --> 00:15:23,919 la programilla de Java funcione 507 00:15:23,919 --> 00:15:26,240 pues hay que escribir una asistencia que se llama Java C 508 00:15:26,240 --> 00:15:29,080 y el nombre del fichero que queréis copiar 509 00:15:29,080 --> 00:15:29,740 y eso se copia 510 00:15:29,740 --> 00:15:32,220 y luego tenéis otro que es Java no se que 511 00:15:32,220 --> 00:15:33,460 y que pone el problema ejecutado 512 00:15:33,460 --> 00:15:37,820 Claro, eso para alguien que se dedique a programar en Java, pues es muy poco. 513 00:15:38,460 --> 00:15:40,960 Necesitamos un buen entorno de desarrollo para trabajar en Java. 514 00:15:41,639 --> 00:15:43,179 En Java hay muchos entornos de desarrollo. 515 00:15:43,519 --> 00:15:46,159 SAAL nos proporciona uno directamente en su página web, 516 00:15:46,820 --> 00:15:50,200 con el resto de las utilidades de Java que nos podemos bajar y probar. 517 00:15:50,500 --> 00:15:51,399 Se llaman NETDIMS. 518 00:15:52,059 --> 00:15:52,940 También nos hay que pago. 519 00:15:53,860 --> 00:15:56,820 Por ejemplo, VisualCafe, BorraJPiter o JPietro. 520 00:15:57,340 --> 00:15:59,080 Pero hay uno que viene del mundillo del software, 521 00:15:59,340 --> 00:16:02,120 que está muy bien y se utiliza cada vez más, que es Eclipse. 522 00:16:02,120 --> 00:16:03,860 pero os voy a contar un poquito 523 00:16:03,860 --> 00:16:05,759 como funciona Eclipse 524 00:16:05,759 --> 00:16:07,100 e que es lo que podes hacer con el 525 00:16:07,100 --> 00:16:09,600 bueno, que sepáis que Eclipse 526 00:16:09,600 --> 00:16:12,519 es una iniciativa bastante reciente 527 00:16:12,519 --> 00:16:14,659 empezó en el año 1929 528 00:16:14,659 --> 00:16:16,659 de hecho era un proyecto de IBM 529 00:16:16,659 --> 00:16:18,539 y hubieron 40 personas trabajando 530 00:16:18,539 --> 00:16:19,360 durante dos años 531 00:16:19,360 --> 00:16:21,159 en formar un entorno de programación 532 00:16:21,159 --> 00:16:23,919 que es una plataforma para entornos de programación 533 00:16:23,919 --> 00:16:25,559 que les salió muy bien 534 00:16:25,559 --> 00:16:26,279 la verdad es que está muy bien 535 00:16:26,279 --> 00:16:30,139 pero en el año 2001 536 00:16:30,139 --> 00:16:32,440 cuando liberaron la primera versión completa 537 00:16:32,440 --> 00:16:34,360 de este entorno, tomaron la decisión 538 00:16:34,360 --> 00:16:35,299 de donar 539 00:16:35,299 --> 00:16:37,399 de hecho donaron el código fuente 540 00:16:37,399 --> 00:16:39,159 con una licencia a la GPL 541 00:16:39,159 --> 00:16:42,159 de modo que ahora está disponible y sigue siendo desarrollado 542 00:16:42,159 --> 00:16:44,120 y mejorado, ya por la comunidad 543 00:16:44,120 --> 00:16:46,139 de desarrolladores de PIRS, ya no sólo por IBM 544 00:16:46,139 --> 00:16:47,879 IBM contribuye 545 00:16:47,879 --> 00:16:50,100 los informadores contribuyen, pero el resto 546 00:16:50,100 --> 00:16:52,000 de la gente que trabaja en software libre 547 00:16:52,000 --> 00:16:53,379 puede también trabajar en PIRS 548 00:16:53,379 --> 00:16:55,159 bueno 549 00:16:55,159 --> 00:16:57,360 ¿qué ventaja tiene PIRS? 550 00:16:57,419 --> 00:17:00,120 si tienes un sistema de capas, no voy a entrar mucho en detalle 551 00:17:00,120 --> 00:17:01,519 É unha plataforma 552 00:17:01,519 --> 00:17:03,940 Para integrar o planejamento de desarrollo 553 00:17:03,940 --> 00:17:05,720 É a dizer, miniquirse podeis tener 554 00:17:05,720 --> 00:17:08,359 Podeis utilizar como un entorno de desarrollo de Java 555 00:17:08,359 --> 00:17:10,539 Pero tamén se utiliza como un entorno de desarrollo de C 556 00:17:10,539 --> 00:17:11,740 Ou de C++ 557 00:17:11,740 --> 00:17:14,299 Ou podeis integrar aí 558 00:17:14,299 --> 00:17:16,440 Cosas como QML e outras tecnologías 559 00:17:16,440 --> 00:17:18,119 De modo que todo está vendido 560 00:17:18,119 --> 00:17:19,180 Dentro da mesma plataforma 561 00:17:19,180 --> 00:17:23,200 Trabaja con un modelo que se chama Plugins 562 00:17:23,200 --> 00:17:24,720 Plugins son como os enxufes 563 00:17:24,720 --> 00:17:26,539 Plugins é enxufen y enxufen 564 00:17:26,539 --> 00:17:27,579 En el que metemos la clavija 565 00:17:27,579 --> 00:17:30,539 Quiere decir que está preparado para que podáis enxufar 566 00:17:30,539 --> 00:17:33,519 Outros módulos dentro del entorno de programación 567 00:17:33,519 --> 00:17:34,759 Y que todo funcione 568 00:17:34,759 --> 00:17:36,180 Con bastante facilidad 569 00:17:36,180 --> 00:17:38,480 Y por último 570 00:17:38,480 --> 00:17:39,880 Y sorprendentemente 571 00:17:39,880 --> 00:17:41,579 Está escrito Java 572 00:17:41,579 --> 00:17:44,720 Es decir, Eclipse es un entorno de salida para Java 573 00:17:44,720 --> 00:17:46,400 Pero a su vez está escrito Java 574 00:17:46,400 --> 00:17:47,779 Tiene una máquina virtual de Java 575 00:17:47,779 --> 00:17:48,720 Y funciona con Java 576 00:17:48,720 --> 00:17:52,519 Todo el código de la propia plataforma está escrito en el lenguaje 577 00:17:52,519 --> 00:17:54,900 Para el que luego sirve como entorno de salida 578 00:17:54,900 --> 00:17:57,259 Bueno, no sé si se ve esto muy bien 579 00:17:57,259 --> 00:17:59,299 Esta es una pinta de 580 00:17:59,299 --> 00:18:00,059 como sería 581 00:18:00,059 --> 00:18:01,680 una de las pantallas 582 00:18:01,680 --> 00:18:03,240 de la aplicación 583 00:18:03,240 --> 00:18:04,339 para hacer desarrollo 584 00:18:04,339 --> 00:18:05,440 luego la comentaremos 585 00:18:05,440 --> 00:18:06,259 un poquito por encima 586 00:18:06,259 --> 00:18:07,359 se parece mucho 587 00:18:07,359 --> 00:18:08,539 a cualquier otro entorno 588 00:18:08,539 --> 00:18:09,039 de desarrollo 589 00:18:09,039 --> 00:18:09,519 que tengáis 590 00:18:09,519 --> 00:18:10,579 pero la característica 591 00:18:10,579 --> 00:18:11,359 fundamental que tiene 592 00:18:11,359 --> 00:18:11,980 es que no tiene 593 00:18:11,980 --> 00:18:12,460 ningún puesto 594 00:18:12,460 --> 00:18:13,900 porque Jbill 595 00:18:13,900 --> 00:18:14,759 o Visual Cafe 596 00:18:14,759 --> 00:18:15,740 que son estas alternativas 597 00:18:15,740 --> 00:18:17,619 son bastante caras 598 00:18:17,619 --> 00:18:19,279 bueno 599 00:18:19,279 --> 00:18:20,319 aquí tenemos 600 00:18:20,319 --> 00:18:20,720 una 601 00:18:20,720 --> 00:18:22,559 donde nos ponemos 602 00:18:22,559 --> 00:18:22,960 sobre el entorno 603 00:18:22,960 --> 00:18:23,779 de trabajo 604 00:18:23,779 --> 00:18:24,180 tenéis 605 00:18:24,180 --> 00:18:26,420 un arbolito 606 00:18:26,420 --> 00:18:27,000 de navegación 607 00:18:27,000 --> 00:18:27,380 que se llama 608 00:18:27,380 --> 00:18:27,980 el FastView 609 00:18:27,980 --> 00:18:29,119 tenéis 610 00:18:29,119 --> 00:18:31,119 tenéis un navegador de recursos, 611 00:18:31,119 --> 00:18:33,119 tenéis listas de propiedades, 612 00:18:33,119 --> 00:18:35,119 listas de tareas, marcadores, 613 00:18:35,119 --> 00:18:37,119 tenéis tambien 614 00:18:37,119 --> 00:18:39,119 listas apiladas, 615 00:18:39,119 --> 00:18:41,119 todas tenen muchas ventanas, abiertas al mismo tiempo, 616 00:18:41,119 --> 00:18:43,119 haciendo distintas cosas sobre ellas, 617 00:18:43,119 --> 00:18:45,119 tenéis un editor de texto, que sea la parte fundamental 618 00:18:45,119 --> 00:18:47,119 donde incluye vuestro código de Java, 619 00:18:47,119 --> 00:18:49,119 unha zona de mensajes, e tambien unha zona 620 00:18:49,119 --> 00:18:51,119 de listas con el editor, 621 00:18:51,119 --> 00:18:53,119 que fíjese que velo está haciendo el editor de Java en un momento. 622 00:18:55,119 --> 00:18:57,119 Bueno, como os he dicho, Java es 623 00:18:57,119 --> 00:19:01,119 É unha plataforma para integrar ou para tener entornos de desarrollo 624 00:19:01,119 --> 00:19:05,119 E outra cosa que fa que, se vos baixáis, é un produto que podes baixar completamente gratuito 625 00:19:05,119 --> 00:19:08,119 É que dá directamente un entorno de desarrollo para o Java 626 00:19:08,119 --> 00:19:12,119 É a dizer, o QIPSY serve para tener muchas cousas, desarrollar moitos lenguajes 627 00:19:12,119 --> 00:19:15,119 Pero já viene preinstalado un entorno de desarrollo para o Java 628 00:19:15,119 --> 00:19:17,119 E se chama JTT 629 00:19:17,119 --> 00:19:19,119 El Java, ou as Javas de Gran Mundo 630 00:19:19,119 --> 00:19:21,119 É un entorno de desarrollo para o Java 631 00:19:21,119 --> 00:19:25,880 Está construído sobre a plataforma de QIPSY 632 00:19:25,880 --> 00:19:26,880 Que cousas tiñe aquí? 633 00:19:26,880 --> 00:19:29,180 Tiene un editor, as tres principales son 634 00:19:29,180 --> 00:19:32,140 El editor de Java, que sirve para crear vostros programas 635 00:19:32,140 --> 00:19:36,059 El compilador, que transforma el código en bytecode para ser ejecutado 636 00:19:36,059 --> 00:19:40,279 Y un depurador, para poder ver que problemas tiene vostro programa antes de ponerlo a punto 637 00:19:40,279 --> 00:19:45,079 Y el único objetivo de esto es que los programadores de Java estén cada vez más contentos 638 00:19:45,079 --> 00:19:48,400 Y la verdad es que los programadores de Java, la gente que es la empresa que trabaja con Java 639 00:19:48,400 --> 00:19:50,700 Cada vez utiliza más Eclipse 640 00:19:50,700 --> 00:19:53,539 Porque es una herramienta muy potente, muy flexible 641 00:19:53,539 --> 00:19:55,480 e que ademais podes modificar 642 00:19:55,480 --> 00:19:56,819 en el caso de propiedades de entidad 643 00:19:56,819 --> 00:19:58,940 bueno 644 00:19:58,940 --> 00:20:01,819 os voy a contar ahora as últimas cositas 645 00:20:01,819 --> 00:20:03,500 que son 4 o 5 cositas 646 00:20:03,500 --> 00:20:05,740 que tiene el editor de Java que son muy buenas 647 00:20:05,740 --> 00:20:07,680 para aquellas personas que sepáis programar 648 00:20:07,680 --> 00:20:09,220 y que hayáis programado con compiladores 649 00:20:09,220 --> 00:20:11,359 o con entornos un poco más primitivos 650 00:20:11,359 --> 00:20:13,420 veréis que este tipo de cosas que tiene aquí 651 00:20:13,420 --> 00:20:15,099 nos facilitan muchísimo la vida 652 00:20:15,099 --> 00:20:16,579 cuando tenemos que programar 653 00:20:16,579 --> 00:20:19,759 el editor da una visión de Java 654 00:20:19,759 --> 00:20:21,200 Java tiene sus características 655 00:20:21,200 --> 00:20:22,480 no hemos aparentado objetos 656 00:20:22,480 --> 00:20:24,839 os objetos ten métodos, ten atributos 657 00:20:24,839 --> 00:20:27,259 ten unha serie de recomendación, de ayuda 658 00:20:27,259 --> 00:20:29,420 todo isto está preparado en el entorno 659 00:20:29,420 --> 00:20:32,039 para facilitar que cuando utilice este programa 660 00:20:32,039 --> 00:20:33,759 lo utilice desde unha perspectiva de forma 661 00:20:33,759 --> 00:20:36,519 tengo visión en el programa de proyectos de Java 662 00:20:36,519 --> 00:20:37,980 veo os paquetes 663 00:20:37,980 --> 00:20:39,380 que son unha das unidades de Java 664 00:20:39,380 --> 00:20:41,859 veo sus clases, sus métodos, sus atributos 665 00:20:41,859 --> 00:20:42,680 sus campos 666 00:20:42,680 --> 00:20:44,819 tengo el editor de Java en el lado derecho 667 00:20:44,819 --> 00:20:47,059 y cositas que puedo hacer 668 00:20:47,059 --> 00:20:49,900 o que me va a hacer el editor 669 00:20:49,900 --> 00:20:51,240 que en otros entornos 670 00:20:51,240 --> 00:20:52,460 es más difícil de encontrar 671 00:20:52,460 --> 00:20:53,400 o que no podéis encontrar 672 00:20:53,400 --> 00:20:54,359 de ninguna de las maneras 673 00:20:54,359 --> 00:20:54,680 son 674 00:20:54,680 --> 00:20:56,099 Java se basa en herencia 675 00:20:56,099 --> 00:20:58,279 herencia es una característica 676 00:20:58,279 --> 00:20:59,180 de algunos lenguajes 677 00:20:59,180 --> 00:21:00,000 de programación 678 00:21:00,000 --> 00:21:00,859 que permite 679 00:21:00,859 --> 00:21:01,740 que una clase 680 00:21:01,740 --> 00:21:02,799 utilice cosas 681 00:21:02,799 --> 00:21:03,380 de otra clase 682 00:21:03,380 --> 00:21:04,400 y se llama la clase padre 683 00:21:04,400 --> 00:21:05,680 bueno, pues 684 00:21:05,680 --> 00:21:06,660 el entorno de GIMS 685 00:21:06,660 --> 00:21:07,220 es directamente 686 00:21:07,220 --> 00:21:08,160 navegador de herencia 687 00:21:08,160 --> 00:21:09,319 de modo que podéis 688 00:21:09,319 --> 00:21:10,160 ir subiendo y bajando 689 00:21:10,160 --> 00:21:11,220 por la jerarquía de herencia 690 00:21:11,220 --> 00:21:12,700 de una manera 691 00:21:12,700 --> 00:21:13,240 más flexible 692 00:21:13,240 --> 00:21:17,539 Java tiene 693 00:21:17,539 --> 00:21:18,440 muchísimas clases 694 00:21:18,440 --> 00:21:19,039 y vosotros podéis 695 00:21:19,039 --> 00:21:19,720 escribir las propias 696 00:21:19,720 --> 00:21:25,720 Cada clase tiene métodos, que son los trocitos de código que cada clase sabe 697 00:21:25,720 --> 00:21:28,720 Y cuando termináis de construir un programa e utilizáis Java 698 00:21:28,720 --> 00:21:31,720 Os dais cuenta de que hay cientos de clases con cientos de métodos 699 00:21:31,720 --> 00:21:35,720 Entonces no siempre es fácil recordar que es lo que queréis hacer y que método queréis elegir 700 00:21:35,720 --> 00:21:40,720 Bueno, pues una cosa que tiene Java es la capacidad en el editor de que directamente os completáis los métodos 701 00:21:40,720 --> 00:21:44,720 Empezáis escribiendo algo que queréis utilizar 702 00:21:44,720 --> 00:21:53,880 Y el editor de Java, para cada una de las clases que estáis utilizando, os propone los métodos que tiene esa clase 703 00:21:53,880 --> 00:21:57,099 Y además os da acceso a la documentación del editor 704 00:21:57,099 --> 00:22:04,180 De modo que podáis seleccionar con el ratón en vez de querer que te crea todo lo que queréis meter en vuestra llamada de retorno 705 00:22:04,180 --> 00:22:09,720 Otra cosa muy chula, para los que también hayáis trabajado con compiladores, es un poquito más antiguo 706 00:22:09,720 --> 00:22:13,819 El compilador es una herramienta que comprueba el código y desea errores 707 00:22:13,819 --> 00:22:14,859 Pero só lo hace 708 00:22:14,859 --> 00:22:15,359 Cuando tú 709 00:22:15,359 --> 00:22:16,000 Espíritamente 710 00:22:16,000 --> 00:22:16,920 Le das al botoncito 711 00:22:16,920 --> 00:22:17,619 De compilar 712 00:22:17,619 --> 00:22:19,200 El entorno de Eclipse 713 00:22:19,200 --> 00:22:20,480 Tiene una capacidad extra 714 00:22:20,480 --> 00:22:20,940 Que es 715 00:22:20,940 --> 00:22:22,400 Que hace el sentido de errores 716 00:22:22,400 --> 00:22:23,819 Directamente en solo 717 00:22:23,819 --> 00:22:24,900 Sin que tú le digas nada 718 00:22:24,900 --> 00:22:26,160 Esto de aquí 719 00:22:26,160 --> 00:22:27,319 Es un error 720 00:22:27,319 --> 00:22:29,140 El método 721 00:22:29,140 --> 00:22:30,079 Típico de Java 722 00:22:30,079 --> 00:22:30,980 Para escribir algo 723 00:22:30,980 --> 00:22:31,480 En pantalla 724 00:22:31,480 --> 00:22:31,839 Es 725 00:22:31,839 --> 00:22:33,099 Print line 726 00:22:33,099 --> 00:22:33,599 ¿Vale? 727 00:22:33,839 --> 00:22:34,740 Ahí le falta una T 728 00:22:34,740 --> 00:22:36,299 Esto funciona como 729 00:22:36,299 --> 00:22:37,740 El editor 730 00:22:37,740 --> 00:22:38,940 Cualquier editor 731 00:22:38,940 --> 00:22:39,940 De un paquete ofimático 732 00:22:39,940 --> 00:22:41,160 Cualquier falta 733 00:22:41,160 --> 00:22:42,119 De ortografía 734 00:22:42,119 --> 00:22:43,500 Es automáticamente 735 00:22:43,500 --> 00:22:44,220 de subrayado 736 00:22:44,220 --> 00:22:45,119 es decir 737 00:22:45,119 --> 00:22:46,079 yo solo viendo esto 738 00:22:46,079 --> 00:22:47,039 sin tener que compilar 739 00:22:47,039 --> 00:22:48,640 veo que tengo 740 00:22:48,640 --> 00:22:49,059 una 741 00:22:49,059 --> 00:22:49,839 palabra 742 00:22:49,839 --> 00:22:50,660 subrayada 743 00:22:50,660 --> 00:22:51,119 y quiere decir 744 00:22:51,119 --> 00:22:51,660 que es un error 745 00:22:51,660 --> 00:22:52,980 y además de eso 746 00:22:52,980 --> 00:22:54,660 me dice 747 00:22:54,660 --> 00:22:55,079 que problema 748 00:22:55,079 --> 00:22:55,440 tengo 749 00:22:55,440 --> 00:22:57,460 tengo aquí 750 00:22:57,460 --> 00:22:58,200 un iconito 751 00:22:58,200 --> 00:22:58,660 que me sirve 752 00:22:58,660 --> 00:22:59,140 para ver 753 00:22:59,140 --> 00:23:00,559 como se podría arreglar 754 00:23:00,559 --> 00:23:01,059 es decir 755 00:23:01,059 --> 00:23:01,980 si yo pincho ahí 756 00:23:01,980 --> 00:23:03,019 me va a mostrar 757 00:23:03,019 --> 00:23:03,519 me va a poder 758 00:23:03,519 --> 00:23:04,579 proponer soluciones 759 00:23:04,579 --> 00:23:05,740 y de hecho 760 00:23:05,740 --> 00:23:06,380 lo que me propone 761 00:23:06,380 --> 00:23:06,900 es una lista 762 00:23:06,900 --> 00:23:08,619 de soluciones 763 00:23:08,619 --> 00:23:09,119 posibles 764 00:23:09,119 --> 00:23:09,619 es decir 765 00:23:09,619 --> 00:23:10,960 cambiará 766 00:23:10,960 --> 00:23:11,660 o cambiará 767 00:23:11,660 --> 00:23:12,160 esto es igual 768 00:23:12,160 --> 00:23:12,660 que el corrector 769 00:23:12,660 --> 00:23:13,380 ortográfico 770 00:23:13,380 --> 00:23:14,220 de cualquier paquete 771 00:23:14,220 --> 00:23:15,440 de diferentes textos 772 00:23:15,440 --> 00:23:15,640 vale? 773 00:23:16,000 --> 00:23:16,779 para la compilación 774 00:23:16,779 --> 00:23:17,740 es muy muy común 775 00:23:17,740 --> 00:23:19,519 incluso te da 776 00:23:19,519 --> 00:23:20,400 una preview 777 00:23:20,400 --> 00:23:21,579 una vista previa 778 00:23:21,579 --> 00:23:22,220 de como va a quedar 779 00:23:22,220 --> 00:23:22,599 el código 780 00:23:22,599 --> 00:23:23,640 una vez lo hayas modificado 781 00:23:23,640 --> 00:23:25,700 otra cosa más 782 00:23:25,700 --> 00:23:26,500 que para los programadores 783 00:23:26,500 --> 00:23:27,019 es muy útil 784 00:23:27,019 --> 00:23:28,259 es tener plantillas de código 785 00:23:28,259 --> 00:23:29,099 esto es 786 00:23:29,099 --> 00:23:30,480 hay determinadas cosas 787 00:23:30,480 --> 00:23:31,119 que se hacen 788 00:23:31,119 --> 00:23:32,380 cientos de veces 789 00:23:32,380 --> 00:23:32,980 vale? 790 00:23:33,519 --> 00:23:34,740 si tenéis una lista 791 00:23:34,740 --> 00:23:35,799 que tenéis que recorrer 792 00:23:35,799 --> 00:23:37,980 escribir un trocito de código 793 00:23:37,980 --> 00:23:38,980 que recorre esa lista 794 00:23:38,980 --> 00:23:39,900 y hacer algo con ella 795 00:23:39,900 --> 00:23:40,819 es una cosa que se hace 796 00:23:40,819 --> 00:23:41,839 cientos de veces 797 00:23:41,839 --> 00:23:43,119 porque tienes 798 00:23:43,119 --> 00:23:43,700 muchas veces 799 00:23:43,700 --> 00:23:44,859 cientos de listas 800 00:23:44,859 --> 00:23:45,400 en su programa 801 00:23:45,400 --> 00:23:46,420 bueno, pues 802 00:23:46,420 --> 00:23:47,960 Eclipse tiene una capacidad 803 00:23:47,960 --> 00:23:48,500 que es tener 804 00:23:48,500 --> 00:23:49,880 una plantilla de código 805 00:23:49,880 --> 00:23:51,259 la plantilla de código 806 00:23:51,259 --> 00:23:51,700 sería 807 00:23:51,700 --> 00:23:53,500 escribir un recorrido 808 00:23:53,500 --> 00:23:54,019 de una lista 809 00:23:54,019 --> 00:23:56,240 de modo que yo escribo 810 00:23:56,240 --> 00:23:56,900 la plantilla 811 00:23:56,900 --> 00:23:57,660 la plantilla 812 00:23:57,660 --> 00:23:58,240 en Java 813 00:23:58,240 --> 00:23:59,220 para recorrer una lista 814 00:23:59,220 --> 00:24:00,220 se hace con una 815 00:24:00,220 --> 00:24:00,940 sentencia por 816 00:24:00,940 --> 00:24:02,880 tengo mi plantilla preparada 817 00:24:02,880 --> 00:24:03,759 y lo único que hace 818 00:24:03,759 --> 00:24:04,299 esta plantilla 819 00:24:04,299 --> 00:24:05,680 es estar lista por ahí 820 00:24:05,680 --> 00:24:06,960 cuando yo la elijo 821 00:24:06,960 --> 00:24:08,900 Eclipse automáticamente 822 00:24:08,900 --> 00:24:09,400 cambia 823 00:24:09,400 --> 00:24:11,759 mi trocito de código 824 00:24:11,759 --> 00:24:13,640 por lo que yo ya he puesto en la plantilla 825 00:24:13,640 --> 00:24:16,099 de modo que 10, 15, 5 826 00:24:16,099 --> 00:24:17,759 líneas de código que tendría que escribir 827 00:24:17,759 --> 00:24:19,140 cientos de veces manualmente 828 00:24:19,140 --> 00:24:21,119 las puedo cocer con el ratón 829 00:24:21,119 --> 00:24:23,799 y ponerlas en su sitio, de modo que el recorrido de la lista 830 00:24:23,799 --> 00:24:24,559 sea siempre el mismo 831 00:24:24,559 --> 00:24:27,839 bueno, esas son algunas 832 00:24:27,839 --> 00:24:29,019 de las facilidades que tiene el editor 833 00:24:29,019 --> 00:24:32,059 si alguna vez os animáis a bajarlo y a probarlo 834 00:24:32,059 --> 00:24:32,779 para aquellos que 835 00:24:32,779 --> 00:24:36,079 os atraiga este método de la programación en Java 836 00:24:36,079 --> 00:24:38,079 pues veréis que tiene muchas otras facilidades 837 00:24:38,079 --> 00:24:40,160 que además se van añadiendo cada día más 838 00:24:40,160 --> 00:24:41,200 sobre la mesa 839 00:24:41,200 --> 00:24:43,160 Pues pongo aquí en la presentación 840 00:24:43,160 --> 00:24:44,940 Los dos entazos principales que necesitáis 841 00:24:44,940 --> 00:24:46,880 Para trabajar con esta tecnología 842 00:24:46,880 --> 00:24:49,420 En la web de Sun 843 00:24:49,420 --> 00:24:52,019 Que es la empresa 844 00:24:52,019 --> 00:24:53,279 Que propuso Java 845 00:24:53,279 --> 00:24:54,559 Como lenguaje de programación 846 00:24:54,559 --> 00:24:57,740 En java.sun.com 847 00:24:57,740 --> 00:24:58,940 Tenéis toda la entrada 848 00:24:58,940 --> 00:25:00,359 A su portal de Java 849 00:25:00,359 --> 00:25:02,519 Necesitáis o podéis descargarle ahí 850 00:25:02,519 --> 00:25:03,700 Fundamentalmente dos cosas 851 00:25:03,700 --> 00:25:05,119 Los más útiles que serían 852 00:25:05,119 --> 00:25:07,880 El entorno de desarrollo de Java 853 00:25:07,880 --> 00:25:09,839 O el motor de proporción de Java 854 00:25:09,839 --> 00:25:11,599 e por último, en Eclipse 855 00:25:11,599 --> 00:25:13,420 para buscar a versión de Eclipse 856 00:25:13,420 --> 00:25:16,299 podéis ir a la dirección de eclipse.org 857 00:25:16,299 --> 00:25:17,619 aquí tenéis versiones 858 00:25:17,619 --> 00:25:19,059 al combinarlo con un código fuente 859 00:25:19,059 --> 00:25:20,599 para distintos modelos de formación 860 00:25:20,599 --> 00:25:23,680 el otro día en el departamento de informática 861 00:25:23,680 --> 00:25:25,519 hicimos la instalación de Eclipse 862 00:25:25,519 --> 00:25:27,480 para una Ubuntu 863 00:25:27,480 --> 00:25:28,960 en un posteo de 5 minutos 864 00:25:28,960 --> 00:25:31,220 porque ya está metido directamente 865 00:25:31,220 --> 00:25:32,480 en el repositorio de paquetes 866 00:25:32,480 --> 00:25:34,339 que podéis instalarlo directamente 867 00:25:34,339 --> 00:25:36,259 o sea que la instalación de este entorno 868 00:25:36,259 --> 00:25:37,359 es muy fácil 869 00:25:37,359 --> 00:25:39,579 y esto es todo, muchas gracias 870 00:25:39,839 --> 00:25:40,500 Aplausos