WEBVTT

1
00:00:02.670 --> 00:00:05.340
<00:00:02.670>Thank <00:00:02.870>you. <00:00:03.070>Thank <00:00:03.270>you <00:00:03.469>very <00:00:03.670>much. <00:00:03.870>Well, <00:00:04.070>uh,

2
00:00:06.050 --> 00:00:10.750
<00:00:06.050>next <00:00:06.205>week <00:00:06.361>we <00:00:06.516>celebrate <00:00:06.672>Java <00:00:06.827>21. <00:00:06.983>It's, <00:00:07.138>uh, <00:00:07.294>it's, <00:00:07.449>uh,

3
00:00:11.300 --> 00:00:14.790
<00:00:11.300>numbers <00:00:11.766>21 <00:00:12.233>versions. <00:00:12.700>Uh,

4
00:00:15.180 --> 00:00:17.790
<00:00:15.180>it's <00:00:15.355>been <00:00:15.530>quite <00:00:15.705>a <00:00:15.879>while, <00:00:16.055>Java <00:00:16.230>being <00:00:16.405>out <00:00:16.580>there,

5
00:00:18.210 --> 00:00:22.670
<00:00:18.210>and <00:00:18.350>for <00:00:18.490>those <00:00:18.630>that <00:00:18.770>were <00:00:18.910>thinking <00:00:19.050>Java <00:00:19.190>was, <00:00:19.330>uh, <00:00:19.470>slowly <00:00:19.610>dying,

6
00:00:23.080 --> 00:00:27.990
<00:00:23.080>definitely <00:00:23.235>no, <00:00:23.391>Java <00:00:23.546>is <00:00:23.702>more <00:00:23.857>alive <00:00:24.013>than <00:00:24.168>ever. <00:00:24.324>And, <00:00:24.479>uh,

7
00:00:28.410 --> 00:00:32.790
<00:00:28.410>we <00:00:28.550>are <00:00:28.690>going <00:00:28.830>to <00:00:28.970>see <00:00:29.110>features <00:00:29.250>that <00:00:29.390>are <00:00:29.530>coming <00:00:29.670>that, <00:00:29.810>uh,

8
00:00:32.810 --> 00:00:37.550
<00:00:32.810>are <00:00:32.926>still <00:00:33.043>there, <00:00:33.160>but, <00:00:33.276>uh, <00:00:33.393>the <00:00:33.510>power <00:00:33.626>of <00:00:33.743>the <00:00:33.860>community <00:00:33.976>behind, <00:00:34.093>um, <00:00:34.210>Java.

9
00:00:38.010 --> 00:00:41.550
<00:00:38.010>But <00:00:38.150>I <00:00:38.290>want <00:00:38.430>to <00:00:38.570>start <00:00:38.710>with <00:00:38.849>a <00:00:38.989>number <00:00:39.129>that <00:00:39.269>it <00:00:39.410>is

10
00:00:41.850 --> 00:00:43.190
33%.

11
00:00:44.720 --> 00:00:49.300
<00:00:44.720>And <00:00:44.875>this <00:00:45.031>number <00:00:45.186>is <00:00:45.342>exactly <00:00:45.497>the <00:00:45.653>number <00:00:45.808>of <00:00:45.964>production <00:00:46.120>environments

12
00:00:49.630 --> 00:00:51.260
<00:00:49.630>still <00:00:50.096>on <00:00:50.563>Java <00:00:51.030>eight.

13
00:00:52.050 --> 00:00:56.630
<00:00:52.050>Java <00:00:52.250>eight <00:00:52.449>has <00:00:52.650>well <00:00:52.849>few <00:00:53.050>years <00:00:53.250>already. <00:00:53.449>Uh,

14
00:00:57.130 --> 00:01:01.880
<00:00:57.130>but <00:00:57.305>we <00:00:57.480>see <00:00:57.655>that <00:00:57.830>companies <00:00:58.005>are <00:00:58.180>not <00:00:58.355>moving <00:00:58.530>to,

15
00:01:02.100 --> 00:01:06.800
<00:01:02.100>uh, <00:01:02.300>new <00:01:02.500>releases. <00:01:02.700>So <00:01:02.900>it, <00:01:03.100>they <00:01:03.300>are, <00:01:03.500>um,

16
00:01:07.220 --> 00:01:09.880
<00:01:07.220>in <00:01:07.500>a <00:01:07.780>safe <00:01:08.060>approach, <00:01:08.340>let's <00:01:08.620>say.

17
00:01:10.980 --> 00:01:15.680
<00:01:10.980>But <00:01:11.120>let's <00:01:11.260>think <00:01:11.400>about <00:01:11.540>what <00:01:11.680>it <00:01:11.820>is <00:01:11.960>safe <00:01:12.100>here, <00:01:12.240>because, <00:01:12.380>uh,

18
00:01:15.780 --> 00:01:18.840
<00:01:15.780>we <00:01:16.013>could <00:01:16.246>think <00:01:16.480>that <00:01:16.713>safe <00:01:16.946>is, <00:01:17.180>um,

19
00:01:19.270 --> 00:01:24.240
<00:01:19.270>because <00:01:19.410>they <00:01:19.550>are <00:01:19.690>avoiding <00:01:19.830>the <00:01:19.970>process <00:01:20.110>of <00:01:20.250>migrating <00:01:20.390>and <00:01:20.530>moving <00:01:20.670>to

20
00:01:24.240 --> 00:01:27.320
<00:01:24.240>a <00:01:24.440>new <00:01:24.640>version. <00:01:24.839>But, <00:01:25.039>uh, <00:01:25.240>on <00:01:25.440>the <00:01:25.640>contrary,

21
00:01:28.210 --> 00:01:33.140
<00:01:28.210>staying <00:01:28.326>on <00:01:28.443>this <00:01:28.560>old <00:01:28.676>version <00:01:28.793>means <00:01:28.910>you <00:01:29.026>are <00:01:29.143>suffering <00:01:29.260>from <00:01:29.376>a <00:01:29.493>lot <00:01:29.610>of

22
00:01:33.770 --> 00:01:36.630
<00:01:33.770>bugs <00:01:34.050>that <00:01:34.330>are <00:01:34.610>in <00:01:34.890>those <00:01:35.170>releases.

23
00:01:37.850 --> 00:01:42.030
<00:01:37.850>CVS <00:01:38.024>not <00:01:38.199>covered <00:01:38.375>that <00:01:38.550>are <00:01:38.725>industrial <00:01:38.899>releases <00:01:39.074>and, <00:01:39.250>uh,

24
00:01:42.300 --> 00:01:43.590
<00:01:42.300>lack <00:01:42.880>of <00:01:43.461>performance.

25
00:01:44.250 --> 00:01:48.310
<00:01:44.250>So <00:01:44.425>the <00:01:44.600>newer <00:01:44.775>versions <00:01:44.950>are <00:01:45.125>have <00:01:45.300>they <00:01:45.475>have, <00:01:45.650>uh,

26
00:01:48.850 --> 00:01:53.840
<00:01:48.850>better <00:01:49.024>performance. <00:01:49.199>So <00:01:49.375>one <00:01:49.550>thing <00:01:49.725>that <00:01:49.899>we <00:01:50.074>could, <00:01:50.250>um,

27
00:01:54.910 --> 00:01:59.810
<00:01:54.910>use <00:01:55.026>in <00:01:55.143>order <00:01:55.259>to <00:01:55.376>justify <00:01:55.493>that <00:01:55.610>we <00:01:55.726>don't <00:01:55.843>migrate <00:01:55.960>is <00:01:56.076>to <00:01:56.193>be <00:01:56.310>safe.

28
00:02:01.130 --> 00:02:04.970
<00:02:01.130>Probably <00:02:01.363>is <00:02:01.596>not <00:02:01.830>that <00:02:02.063>safe. <00:02:02.296>Let's <00:02:02.530>see.

29
00:02:08.130 --> 00:02:12.550
<00:02:08.130>I'm <00:02:08.229>here <00:02:08.329>to <00:02:08.430>talk <00:02:08.530>to <00:02:08.630>you <00:02:08.729>to <00:02:08.829>talk <00:02:08.930>to <00:02:09.030>you <00:02:09.130>about <00:02:09.229>the <00:02:09.329>features <00:02:09.430>coming <00:02:09.530>from

30
00:02:12.900 --> 00:02:16.230
<00:02:12.900>Java <00:02:13.100>11, <00:02:13.300>uh, <00:02:13.500>l <00:02:13.700>t <00:02:13.900>s <00:02:14.100>to <00:02:14.300>Java,

31
00:02:16.230 --> 00:02:17.910
<00:02:16.230>21 <00:02:16.696>L <00:02:17.163>t <00:02:17.630>s.

32
00:02:18.850 --> 00:02:23.150
<00:02:18.850>I'm <00:02:19.049>going <00:02:19.250>to <00:02:19.450>cover <00:02:19.650>only <00:02:19.850>those <00:02:20.049>features, <00:02:20.250>uh,

33
00:02:23.260 --> 00:02:27.830
<00:02:23.260>that <00:02:23.415>are <00:02:23.571>in <00:02:23.726>final <00:02:23.882>stage. <00:02:24.037>So <00:02:24.193>not <00:02:24.348>on <00:02:24.504>preview, <00:02:24.660>um,

34
00:02:28.250 --> 00:02:31.190
<00:02:28.250>and <00:02:28.716>covering <00:02:29.183>the, <00:02:29.650>uh,

35
00:02:32.380 --> 00:02:35.470
<00:02:32.380>most <00:02:32.613>relevant, <00:02:32.846>at <00:02:33.079>least <00:02:33.313>for <00:02:33.546>me, <00:02:33.780>uh,

36
00:02:36.230 --> 00:02:39.510
<00:02:36.230>features <00:02:36.579>for <00:02:36.929>those <00:02:37.280>releases. <00:02:37.630>Again,

37
00:02:39.600 --> 00:02:41.390
<00:02:39.600>let's <00:02:39.950>celebrate <00:02:40.299>the <00:02:40.650>next <00:02:41.000>Tuesday.

38
00:02:41.970 --> 00:02:45.670
<00:02:41.970>We <00:02:42.109>are <00:02:42.250>going <00:02:42.390>to <00:02:42.530>have <00:02:42.670>Java <00:02:42.810>21 <00:02:42.950>as <00:02:43.090>the <00:02:43.230>final, <00:02:43.370>uh,

39
00:02:45.740 --> 00:02:47.510
<00:02:45.740>release <00:02:47.140>released.

40
00:02:49.050 --> 00:02:52.950
<00:02:49.050>So <00:02:49.283>I'm <00:02:49.516>Jonathan <00:02:49.750>Villa, <00:02:49.983>I'm <00:02:50.216>Java <00:02:50.450>champion,

41
00:02:54.090 --> 00:02:57.470
<00:02:54.090>and <00:02:54.230>I <00:02:54.370>have <00:02:54.510>a <00:02:54.650>long <00:02:54.790>time <00:02:54.930>relationship <00:02:55.070>with <00:02:55.210>the <00:02:55.350>Java <00:02:55.490>community.

42
00:02:57.960 --> 00:02:59.860
<00:02:57.960>First <00:02:58.310>because <00:02:58.660>I've <00:02:59.010>been, <00:02:59.360>uh,

43
00:02:59.960 --> 00:03:03.940
<00:02:59.960>one <00:03:00.087>of <00:03:00.214>the <00:03:00.341>leaders <00:03:00.469>of <00:03:00.596>the <00:03:00.723>Barcelona <00:03:00.850>Java <00:03:00.978>user <00:03:01.105>group <00:03:01.232>since <00:03:01.360>2012.

44
00:03:04.920 --> 00:03:09.900
<00:03:04.920>And <00:03:05.027>also, <00:03:05.135>uh, <00:03:05.243>co-founder <00:03:05.350>of <00:03:05.458>J <00:03:05.566>B <00:03:05.673>C <00:03:05.781>and <00:03:05.889>Conf <00:03:05.996>and <00:03:06.104>W <00:03:06.212>C <00:03:06.320>N.

45
00:03:10.390 --> 00:03:13.500
<00:03:10.390>Those <00:03:10.545>are <00:03:10.701>conferences <00:03:10.856>that <00:03:11.012>we <00:03:11.167>host <00:03:11.323>in <00:03:11.478>Barcelona <00:03:11.634>every <00:03:11.790>year.

46
00:03:15.610 --> 00:03:18.940
<00:03:15.610>I've <00:03:15.785>been <00:03:15.960>developer, <00:03:16.135>as <00:03:16.310>is <00:03:16.485>was <00:03:16.660>said <00:03:16.835>before, <00:03:17.010>uh,

47
00:03:19.710 --> 00:03:22.860
<00:03:19.710>since <00:03:19.850>the <00:03:19.990>first <00:03:20.130>release <00:03:20.270>of <00:03:20.410>the <00:03:20.550>Secret <00:03:20.690>of <00:03:20.830>the <00:03:20.970>Mon <00:03:21.110>Island.

48
00:03:23.480 --> 00:03:25.100
<00:03:23.480>So <00:03:23.946>30 <00:03:24.413>years <00:03:24.880>ago.

49
00:03:25.560 --> 00:03:29.900
<00:03:25.560>And <00:03:25.715>I've <00:03:25.871>used <00:03:26.026>several <00:03:26.182>languages <00:03:26.337>coming <00:03:26.493>from <00:03:26.648>Pascal <00:03:26.804>and <00:03:26.960>Sea

50
00:03:30.330 --> 00:03:33.820
<00:03:30.329>because <00:03:30.529>I <00:03:30.730>had <00:03:30.929>a <00:03:31.130>boss <00:03:31.329>that <00:03:31.529>said, <00:03:31.730>uh,

51
00:03:33.850 --> 00:03:38.460
<00:03:33.850>that <00:03:34.005>not <00:03:34.161>move <00:03:34.316>to <00:03:34.472>Windows <00:03:34.627>because <00:03:34.783>Windows <00:03:34.938>is <00:03:35.094>a <00:03:35.250>temporary

52
00:03:38.740 --> 00:03:41.580
<00:03:38.740>solution <00:03:38.895>and <00:03:39.051>it <00:03:39.206>will <00:03:39.362>die, <00:03:39.517>uh, <00:03:39.673>in <00:03:39.828>a <00:03:39.984>few <00:03:40.140>years,

53
00:03:42.820 --> 00:03:45.900
<00:03:42.820>probably <00:03:43.053>he's <00:03:43.286>not <00:03:43.519>a <00:03:43.753>good, <00:03:43.986>um, <00:03:44.220>forecaster.

54
00:03:46.600 --> 00:03:49.300
<00:03:46.600>So <00:03:46.775>apart <00:03:46.950>from <00:03:47.125>that, <00:03:47.299>I <00:03:47.475>moved <00:03:47.650>to <00:03:47.825>Delphi. <00:03:48.000>Okay.

55
00:03:49.660 --> 00:03:53.820
<00:03:49.660>I <00:03:49.747>don't <00:03:49.835>know <00:03:49.922>how <00:03:50.010>many <00:03:50.097>of <00:03:50.185>you <00:03:50.272>have <00:03:50.359>used <00:03:50.447>Delphi <00:03:50.535>in <00:03:50.622>the <00:03:50.710>past, <00:03:50.797>and <00:03:50.885>it <00:03:50.972>was, <00:03:51.060>uh,

56
00:03:54.040 --> 00:03:55.140
<00:03:54.040>an <00:03:54.535>amazing <00:03:55.029>language,

57
00:03:56.000 --> 00:03:59.260
<00:03:56.000>but <00:03:56.200>I've <00:03:56.400>also <00:03:56.600>used <00:03:56.800>Golan <00:03:57.000>in <00:03:57.200>last <00:03:57.400>year,

58
00:03:59.880 --> 00:04:04.180
<00:03:59.880>and <00:04:00.035>now <00:04:00.191>I <00:04:00.346>work <00:04:00.502>as <00:04:00.657>a <00:04:00.813>developer <00:04:00.968>advocate <00:04:01.124>for <00:04:01.280>Sonar.

59
00:04:04.680 --> 00:04:07.660
<00:04:04.680>You <00:04:04.820>want <00:04:04.960>to <00:04:05.100>follow <00:04:05.240>me? <00:04:05.380>You <00:04:05.520>here <00:04:05.660>have <00:04:05.800>the <00:04:05.940>Twitter <00:04:06.080>handle,

60
00:04:08.120 --> 00:04:13.020
<00:04:08.120>but <00:04:08.213>also <00:04:08.306>you <00:04:08.400>can <00:04:08.493>scan <00:04:08.586>this <00:04:08.680>QR <00:04:08.773>code <00:04:08.866>and <00:04:08.960>you <00:04:09.053>will <00:04:09.146>have <00:04:09.240>more <00:04:09.333>information <00:04:09.426>about <00:04:09.520>me.

61
00:04:15.080 --> 00:04:17.500
<00:04:15.080>And <00:04:15.255>yeah, <00:04:15.430>I <00:04:15.605>work <00:04:15.780>for <00:04:15.955>Sonar, <00:04:16.130>but <00:04:16.305>what <00:04:16.480>Sonar,

62
00:04:17.720 --> 00:04:21.300
<00:04:17.720>so <00:04:17.895>probably <00:04:18.070>some <00:04:18.245>of <00:04:18.420>you <00:04:18.595>already <00:04:18.770>know <00:04:18.945>it, <00:04:19.120>uh,

63
00:04:21.490 --> 00:04:24.260
<00:04:21.490>because <00:04:21.840>of <00:04:22.190>SonarCube, <00:04:22.540>uh, <00:04:22.890>product,

64
00:04:25.080 --> 00:04:29.940
<00:04:25.080>but <00:04:25.173>Sonar <00:04:25.266>is <00:04:25.359>or <00:04:25.453>tends <00:04:25.546>to <00:04:25.640>be <00:04:25.733>the <00:04:25.826>home <00:04:25.919>of <00:04:26.013>Clean <00:04:26.106>code <00:04:26.200>helping <00:04:26.293>companies <00:04:26.386>in <00:04:26.479>order

65
00:04:30.080 --> 00:04:30.980
<00:04:30.080>to, <00:04:30.890>uh,

66
00:04:30.980 --> 00:04:35.500
<00:04:30.980>with <00:04:31.107>tools <00:04:31.234>and <00:04:31.361>methodologies <00:04:31.489>in <00:04:31.616>order <00:04:31.743>to <00:04:31.870>fulfill <00:04:31.998>this <00:04:32.125>clean <00:04:32.252>code <00:04:32.380>concept.

67
00:04:36.480 --> 00:04:36.810
Uh,

68
00:04:36.810 --> 00:04:41.660
<00:04:36.810>they <00:04:36.937>have <00:04:37.064>Sonar <00:04:37.191>Link <00:04:37.319>as <00:04:37.446>a <00:04:37.573>free <00:04:37.700>plugin <00:04:37.828>for <00:04:37.955>ideas <00:04:38.082>in <00:04:38.210>most

69
00:04:41.660 --> 00:04:45.180
<00:04:41.659>of <00:04:41.787>the <00:04:41.914>ideas, <00:04:42.041>and <00:04:42.169>it <00:04:42.296>will <00:04:42.423>analyze <00:04:42.550>your <00:04:42.678>code <00:04:42.805>as <00:04:42.932>you <00:04:43.059>type,

70
00:04:45.760 --> 00:04:48.740
<00:04:45.760>and <00:04:45.887>you <00:04:46.014>will <00:04:46.141>see <00:04:46.269>which <00:04:46.396>are <00:04:46.523>the <00:04:46.650>issues <00:04:46.778>they <00:04:46.905>are, <00:04:47.032>you're <00:04:47.159>introducing.

71
00:04:49.160 --> 00:04:51.740
<00:04:49.159>And <00:04:49.626>it's <00:04:50.093>fine, <00:04:50.559>uh,

72
00:04:51.960 --> 00:04:54.780
<00:04:51.960>not <00:04:52.099>only <00:04:52.239>because <00:04:52.380>it <00:04:52.520>will <00:04:52.659>help <00:04:52.799>you <00:04:52.940>to <00:04:53.080>fix <00:04:53.219>those <00:04:53.359>issues,

73
00:04:55.160 --> 00:05:00.100
<00:04:55.159>but <00:04:55.276>because <00:04:55.393>it <00:04:55.510>will <00:04:55.626>help <00:04:55.743>you <00:04:55.859>to <00:04:55.976>learn, <00:04:56.093>uh, <00:04:56.210>because <00:04:56.326>it <00:04:56.443>has, <00:04:56.559>uh,

74
00:05:01.150 --> 00:05:05.780
<00:05:01.150>great <00:05:01.257>information <00:05:01.365>about <00:05:01.473>why <00:05:01.580>is <00:05:01.688>that <00:05:01.796>an <00:05:01.903>issue <00:05:02.011>and <00:05:02.119>the <00:05:02.226>ways <00:05:02.334>to <00:05:02.442>fix <00:05:02.549>it.

75
00:05:07.040 --> 00:05:11.300
<00:05:07.040>And <00:05:07.156>even <00:05:07.273>more <00:05:07.390>links <00:05:07.506>if <00:05:07.623>you <00:05:07.740>want <00:05:07.856>to <00:05:07.973>explore <00:05:08.090>more <00:05:08.206>about <00:05:08.323>the <00:05:08.440>issue.

76
00:05:12.040 --> 00:05:13.820
<00:05:12.040>But <00:05:12.320>also, <00:05:12.600>you <00:05:12.880>can <00:05:13.160>download <00:05:13.440>and,

77
00:05:13.920 --> 00:05:18.660
<00:05:13.920>and <00:05:14.047>use <00:05:14.174>free <00:05:14.301>SonarCube <00:05:14.429>on-premise <00:05:14.556>if <00:05:14.683>you <00:05:14.810>want <00:05:14.938>to <00:05:15.065>scan <00:05:15.192>several <00:05:15.320>projects.

78
00:05:19.600 --> 00:05:23.220
<00:05:19.600>And <00:05:19.727>if <00:05:19.854>you <00:05:19.981>want <00:05:20.109>to <00:05:20.236>go <00:05:20.363>to <00:05:20.490>a, <00:05:20.618>a <00:05:20.745>hosted <00:05:20.872>solution, <00:05:21.000>it,

79
00:05:23.450 --> 00:05:28.220
<00:05:23.450>then <00:05:23.550>you <00:05:23.650>can <00:05:23.750>use <00:05:23.849>Sonar <00:05:23.950>Cloud <00:05:24.050>that <00:05:24.150>it <00:05:24.250>is <00:05:24.349>free <00:05:24.450>for <00:05:24.550>open <00:05:24.650>source. <00:05:24.750>Several, <00:05:24.849>uh,

80
00:05:28.220 --> 00:05:32.740
<00:05:28.220>foundations <00:05:28.395>are <00:05:28.570>using <00:05:28.745>it, <00:05:28.920>Apache <00:05:29.095>Foundation, <00:05:29.270>eclipse <00:05:29.445>Foundation. <00:05:29.620>Um,

81
00:05:33.320 --> 00:05:36.220
<00:05:33.320>so <00:05:33.447>you <00:05:33.574>can <00:05:33.701>use <00:05:33.829>it <00:05:33.956>too <00:05:34.083>for <00:05:34.210>your, <00:05:34.338>uh, <00:05:34.465>open <00:05:34.592>source <00:05:34.719>project.

82
00:05:36.560 --> 00:05:37.580
<00:05:36.560>If <00:05:36.743>you <00:05:36.927>want <00:05:37.110>to <00:05:37.294>know <00:05:37.478>more,

83
00:05:37.610 --> 00:05:40.740
<00:05:37.610>just <00:05:37.750>please <00:05:37.890>go <00:05:38.030>to <00:05:38.170>sono <00:05:38.310>source.com <00:05:38.450>or <00:05:38.590>just <00:05:38.730>simply <00:05:38.870>pinging <00:05:39.010>me,

84
00:05:40.760 --> 00:05:43.340
<00:05:40.760>and <00:05:40.900>I <00:05:41.039>will <00:05:41.180>be <00:05:41.320>more <00:05:41.460>than <00:05:41.599>glad <00:05:41.740>to <00:05:41.880>talk <00:05:42.020>about <00:05:42.159>this.

85
00:05:44.520 --> 00:05:47.700
<00:05:44.520>But <00:05:44.753>let's <00:05:44.986>talk <00:05:45.219>about <00:05:45.453>today's <00:05:45.686>presentation. <00:05:45.919>Well,

86
00:05:47.700 --> 00:05:52.380
<00:05:47.700>basically <00:05:47.875>I'm <00:05:48.050>going <00:05:48.224>to <00:05:48.400>give <00:05:48.575>you <00:05:48.750>a <00:05:48.925>brief <00:05:49.099>description

87
00:05:52.800 --> 00:05:53.980
<00:05:52.800>of <00:05:53.154>what's <00:05:53.508>out <00:05:53.862>there.

88
00:05:54.720 --> 00:05:59.590
<00:05:54.720>So <00:05:54.895>which <00:05:55.070>are <00:05:55.245>the <00:05:55.420>different <00:05:55.595>JD <00:05:55.770>case <00:05:55.945>versions <00:05:56.120>that

89
00:05:59.590 --> 00:06:04.550
<00:05:59.590>are <00:05:59.745>used <00:05:59.901>in <00:06:00.056>production? <00:06:00.212>What's <00:06:00.367>an <00:06:00.523>L <00:06:00.678>T <00:06:00.834>ss? <00:06:00.990>Uh,

90
00:06:05.050 --> 00:06:05.883
<00:06:05.050>it <00:06:05.424>seems <00:06:05.799>obvious,

91
00:06:06.010 --> 00:06:10.830
<00:06:06.010>but <00:06:06.137>I've <00:06:06.264>seen <00:06:06.391>that <00:06:06.519>there <00:06:06.646>are <00:06:06.773>some <00:06:06.900>misunderstandings <00:06:07.028>about <00:06:07.155>what's <00:06:07.282>an <00:06:07.409>L

92
00:06:10.950 --> 00:06:13.470
<00:06:10.950>T <00:06:11.183>Ss <00:06:11.416>and <00:06:11.650>a <00:06:11.883>lot <00:06:12.116>of <00:06:12.349>mm,

93
00:06:13.900 --> 00:06:18.590
<00:06:13.900>knowledge <00:06:14.055>that <00:06:14.211>have <00:06:14.366>been <00:06:14.522>lost <00:06:14.677>on <00:06:14.833>the <00:06:14.988>way. <00:06:15.144>And, <00:06:15.299>uh,

94
00:06:19.190 --> 00:06:22.550
<00:06:19.190>I <00:06:19.290>think, <00:06:19.390>well, <00:06:19.490>I <00:06:19.590>think <00:06:19.690>it, <00:06:19.790>it <00:06:19.890>can <00:06:19.990>be <00:06:20.090>interesting <00:06:20.190>for, <00:06:20.290>for <00:06:20.390>some <00:06:20.490>of <00:06:20.590>you,

95
00:06:22.840 --> 00:06:27.430
<00:06:22.840>definitely <00:06:22.940>it <00:06:23.039>was <00:06:23.140>for <00:06:23.239>me <00:06:23.340>in <00:06:23.440>order <00:06:23.539>to <00:06:23.640>investigate <00:06:23.739>it. <00:06:23.840>So <00:06:23.940>it <00:06:24.039>was <00:06:24.140>fun. <00:06:24.239>Uh,

96
00:06:28.090 --> 00:06:30.150
<00:06:28.090>so <00:06:28.323>I <00:06:28.556>want <00:06:28.789>to <00:06:29.023>share <00:06:29.256>it. <00:06:29.489>Um,

97
00:06:30.410 --> 00:06:34.470
<00:06:30.410>and <00:06:30.565>then <00:06:30.721>I <00:06:30.876>will <00:06:31.032>cover <00:06:31.187>different <00:06:31.343>features <00:06:31.498>for <00:06:31.654>Java <00:06:31.810>11,

98
00:06:34.900 --> 00:06:38.870
<00:06:34.900>Java <00:06:35.099>17, <00:06:35.299>and <00:06:35.500>Java <00:06:35.700>21. <00:06:35.900>Remember <00:06:36.099>next <00:06:36.299>Tuesday,

99
00:06:39.100 --> 00:06:41.590
<00:06:39.100>it's <00:06:39.450>the <00:06:39.800>final <00:06:40.150>release. <00:06:40.500>Finally,

100
00:06:41.830 --> 00:06:45.670
<00:06:41.830>I <00:06:41.957>will <00:06:42.084>give <00:06:42.211>you <00:06:42.339>some <00:06:42.466>conclusions <00:06:42.593>and <00:06:42.720>references <00:06:42.848>that <00:06:42.975>I <00:06:43.102>think, <00:06:43.229>uh,

101
00:06:45.930 --> 00:06:50.580
<00:06:45.930>are <00:06:46.163>very, <00:06:46.396>uh, <00:06:46.630>well, <00:06:46.863>uh, <00:06:47.096>very <00:06:47.330>helpful,

102
00:06:51.200 --> 00:06:51.440
uh,

103
00:06:51.440 --> 00:06:56.220
<00:06:51.440>in <00:06:51.567>order <00:06:51.694>to <00:06:51.821>to <00:06:51.949>know <00:06:52.076>more <00:06:52.203>about <00:06:52.330>the <00:06:52.458>Java <00:06:52.585>ecosystem <00:06:52.712>and <00:06:52.840>the

104
00:06:56.220 --> 00:07:00.980
<00:06:56.220>different <00:06:56.375>versions <00:06:56.531>L <00:06:56.686>T <00:06:56.842>S <00:06:56.997>S <00:06:57.153>vendors <00:06:57.308>and <00:06:57.464>supports. <00:06:57.620>So,

105
00:07:01.280 --> 00:07:04.420
<00:07:01.280>uh, <00:07:01.455>just <00:07:01.630>take <00:07:01.804>a <00:07:01.979>look <00:07:02.155>at <00:07:02.330>them. <00:07:02.505>Uh, <00:07:02.679>also,

106
00:07:04.600 --> 00:07:09.340
<00:07:04.600>you <00:07:04.727>can <00:07:04.854>check <00:07:04.981>the <00:07:05.109>slides <00:07:05.236>right <00:07:05.363>now <00:07:05.490>if <00:07:05.618>you <00:07:05.745>scan <00:07:05.872>this <00:07:06.000>QR

107
00:07:09.760 --> 00:07:14.420
<00:07:09.760>or <00:07:09.842>if <00:07:09.924>you <00:07:10.007>go <00:07:10.089>to <00:07:10.171>the <00:07:10.254>link <00:07:10.336>that <00:07:10.418>you <00:07:10.501>will <00:07:10.583>see <00:07:10.665>in <00:07:10.748>every <00:07:10.830>slide, <00:07:10.912>you <00:07:10.995>can <00:07:11.077>go <00:07:11.159>there,

108
00:07:14.550 --> 00:07:19.020
<00:07:14.550>check, <00:07:14.750>uh, <00:07:14.950>explore, <00:07:15.150>um, <00:07:15.350>click <00:07:15.550>the <00:07:15.750>links, <00:07:15.950>whatever.

109
00:07:20.880 --> 00:07:22.340
<00:07:20.880>So <00:07:21.537>let's <00:07:22.193>start.

110
00:07:24.540 --> 00:07:28.640
<00:07:24.540>So <00:07:24.715>according <00:07:24.890>to <00:07:25.065>New <00:07:25.240>Relic, <00:07:25.415>J <00:07:25.590>B <00:07:25.765>m, <00:07:25.940>uh,

111
00:07:28.710 --> 00:07:31.600
<00:07:28.710>ecosystem <00:07:29.176>report <00:07:29.643>in <00:07:30.109>2023,

112
00:07:34.230 --> 00:07:39.050
<00:07:34.230>it, <00:07:34.346>there <00:07:34.463>is, <00:07:34.580>um, <00:07:34.696>a <00:07:34.813>situation <00:07:34.930>that, <00:07:35.046>to <00:07:35.163>be <00:07:35.280>honest, <00:07:35.396>I <00:07:35.513>didn't <00:07:35.630>expect.

113
00:07:40.510 --> 00:07:45.420
<00:07:40.510>So <00:07:40.710>from <00:07:40.909>past <00:07:41.110>years, <00:07:41.310>Oracle <00:07:41.510>Optium <00:07:41.710>were, <00:07:41.909>uh,

114
00:07:45.730 --> 00:07:48.900
<00:07:45.730>massively <00:07:46.010>used <00:07:46.290>as <00:07:46.570>the <00:07:46.850>JD <00:07:47.130>case,

115
00:07:50.830 --> 00:07:55.720
<00:07:50.830>but <00:07:51.109>apparently <00:07:51.390>now <00:07:51.669>Amazon <00:07:51.950>reto <00:07:52.229>is,

116
00:07:56.260 --> 00:07:56.740
uh,

117
00:07:56.740 --> 00:08:01.640
<00:07:56.740>the <00:07:56.915>J <00:07:57.090>D <00:07:57.265>K <00:07:57.440>distribution <00:07:57.615>most <00:07:57.790>used <00:07:57.965>in <00:07:58.140>production,

118
00:08:02.440 --> 00:08:06.680
<00:08:02.440>followed <00:08:02.673>by <00:08:02.906>Oracle, <00:08:03.140>then <00:08:03.373>Optium, <00:08:03.606>red <00:08:03.840>Hat,

119
00:08:06.780 --> 00:08:08.560
<00:08:06.780>and <00:08:07.246>others <00:08:07.713>like <00:08:08.179>Azure.

120
00:08:09.340 --> 00:08:13.680
<00:08:09.340>So <00:08:09.619>definitely <00:08:09.900>people <00:08:10.179>are <00:08:10.460>taking <00:08:10.739>decisions

121
00:08:14.260 --> 00:08:16.440
<00:08:14.260>are <00:08:14.726>checking <00:08:15.193>those, <00:08:15.659>uh,

122
00:08:16.640 --> 00:08:21.080
<00:08:16.640>J <00:08:16.756>D <00:08:16.873>K <00:08:16.990>vendors <00:08:17.106>in <00:08:17.223>order <00:08:17.340>to <00:08:17.456>find <00:08:17.573>which <00:08:17.690>is, <00:08:17.806>uh, <00:08:17.923>the <00:08:18.039>best,

123
00:08:21.700 --> 00:08:26.480
<00:08:21.700>uh, <00:08:21.827>J <00:08:21.954>D <00:08:22.081>K <00:08:22.209>for <00:08:22.336>them. <00:08:22.463>It's <00:08:22.590>not <00:08:22.718>only <00:08:22.845>about <00:08:22.972>Oracle <00:08:23.099>or,

124
00:08:26.480 --> 00:08:27.360
<00:08:26.480>or <00:08:26.876>even <00:08:27.272>adopting,

125
00:08:27.980 --> 00:08:32.720
<00:08:27.980>you <00:08:28.120>need <00:08:28.260>to <00:08:28.400>check <00:08:28.540>because <00:08:28.680>different <00:08:28.820>vendors <00:08:28.960>offer <00:08:29.100>different <00:08:29.240>time <00:08:29.380>support,

126
00:08:32.990 --> 00:08:37.200
<00:08:32.990>different <00:08:33.223>features. <00:08:33.456>Um, <00:08:33.690>even <00:08:33.923>they <00:08:34.156>have, <00:08:34.390>uh,

127
00:08:37.820 --> 00:08:41.180
<00:08:37.820>um, <00:08:38.170>features <00:08:38.520>that <00:08:38.870>are, <00:08:39.220>um,

128
00:08:41.730 --> 00:08:46.060
<00:08:41.730>only <00:08:41.870>for <00:08:42.010>those <00:08:42.150>ADKs <00:08:42.289>obviously, <00:08:42.430>but <00:08:42.570>they <00:08:42.710>are <00:08:42.850>increasing <00:08:42.990>the, <00:08:43.130>uh,

129
00:08:46.090 --> 00:08:49.060
<00:08:46.090>performance <00:08:46.370>and, <00:08:46.650>and <00:08:46.930>even <00:08:47.210>they, <00:08:47.490>um,

130
00:08:49.570 --> 00:08:52.740
<00:08:49.570>they <00:08:49.850>offer <00:08:50.130>JDK <00:08:50.410>for <00:08:50.690>different, <00:08:50.970>uh,

131
00:08:53.490 --> 00:08:57.880
<00:08:53.490>operative <00:08:53.665>systems <00:08:53.840>that <00:08:54.015>can <00:08:54.190>help <00:08:54.365>you <00:08:54.540>on <00:08:54.715>your <00:08:54.890>production.

132
00:08:58.060 --> 00:08:59.760
<00:08:58.060>So <00:08:58.526>definitely <00:08:58.993>it's, <00:08:59.459>uh,

133
00:09:00.040 --> 00:09:04.840
<00:09:00.040>interesting <00:09:00.147>to <00:09:00.255>pay <00:09:00.363>attention <00:09:00.470>and <00:09:00.578>which <00:09:00.686>is <00:09:00.793>the <00:09:00.901>J <00:09:01.009>D <00:09:01.116>K <00:09:01.224>vendor <00:09:01.332>that <00:09:01.439>you're

134
00:09:04.840 --> 00:09:07.440
<00:09:04.840>using, <00:09:05.015>and <00:09:05.190>if <00:09:05.365>it's <00:09:05.540>the <00:09:05.715>right <00:09:05.890>one <00:09:06.065>for <00:09:06.240>you,

135
00:09:09.630 --> 00:09:13.880
<00:09:09.630>just <00:09:09.830>considering <00:09:10.030>that <00:09:10.230>the <00:09:10.430>J <00:09:10.630>D <00:09:10.830>K <00:09:11.030>vendors

136
00:09:14.270 --> 00:09:18.580
<00:09:14.270>support <00:09:14.550>is <00:09:14.829>not <00:09:15.110>the <00:09:15.390>same, <00:09:15.670>uh,

137
00:09:18.760 --> 00:09:23.180
<00:09:18.760>across <00:09:18.915>the <00:09:19.071>different <00:09:19.226>versions. <00:09:19.382>So <00:09:19.537>we <00:09:19.693>see <00:09:19.848>that, <00:09:20.004>for <00:09:20.160>instance,

138
00:09:23.650 --> 00:09:28.110
<00:09:23.650>Reto <00:09:23.883>has <00:09:24.116>longer <00:09:24.350>support <00:09:24.583>in <00:09:24.816>Java <00:09:25.050>11.

139
00:09:28.810 --> 00:09:31.390
<00:09:28.810>It <00:09:29.043>has <00:09:29.276>similar <00:09:29.510>support <00:09:29.743>in <00:09:29.976>Java <00:09:30.209>17,

140
00:09:31.850 --> 00:09:36.240
<00:09:31.850>but <00:09:32.050>has <00:09:32.250>longer <00:09:32.450>support <00:09:32.650>in <00:09:32.850>Java <00:09:33.050>21. <00:09:33.250>Oracle,

141
00:09:37.180 --> 00:09:41.640
<00:09:37.180>uh, <00:09:37.413>well <00:09:37.646>has <00:09:37.880>similar, <00:09:38.113>uh, <00:09:38.346>support <00:09:38.579>than,

142
00:09:42.140 --> 00:09:47.000
<00:09:42.140>uh, <00:09:42.373>Tein <00:09:42.606>Eclipse, <00:09:42.840>uh, <00:09:43.073>Optium, <00:09:43.306>but <00:09:43.540>has,

143
00:09:47.700 --> 00:09:51.920
<00:09:47.700>uh, <00:09:47.933>lower <00:09:48.166>support <00:09:48.400>in <00:09:48.633>other, <00:09:48.866>uh, <00:09:49.100>versions.

144
00:09:52.060 --> 00:09:56.880
<00:09:52.060>So <00:09:52.187>definitely <00:09:52.314>you <00:09:52.441>need <00:09:52.569>to <00:09:52.696>check <00:09:52.823>which <00:09:52.950>is <00:09:53.078>the <00:09:53.205>right <00:09:53.332>burden <00:09:53.459>vendor,

145
00:09:57.740 --> 00:09:59.320
<00:09:57.740>and, <00:09:58.440>uh, <00:09:59.140>well,

146
00:09:59.790 --> 00:10:04.520
<00:09:59.790>just <00:09:59.897>to <00:10:00.005>know <00:10:00.113>which <00:10:00.220>is <00:10:00.328>the <00:10:00.436>support <00:10:00.543>that <00:10:00.651>you're <00:10:00.759>expecting <00:10:00.866>and <00:10:00.974>which <00:10:01.082>are <00:10:01.189>the

147
00:10:04.880 --> 00:10:08.040
<00:10:04.880>features <00:10:05.007>that <00:10:05.134>you <00:10:05.261>are <00:10:05.389>going <00:10:05.516>to <00:10:05.643>get, <00:10:05.770>and <00:10:05.898>even <00:10:06.025>the <00:10:06.152>different <00:10:06.280>commercial,

148
00:10:08.040 --> 00:10:11.760
<00:10:08.040>commercial <00:10:08.167>support <00:10:08.294>that <00:10:08.421>you <00:10:08.549>can, <00:10:08.676>you <00:10:08.803>can <00:10:08.930>buy <00:10:09.058>if <00:10:09.185>you <00:10:09.312>want <00:10:09.439>to.

149
00:10:13.420 --> 00:10:14.790
<00:10:13.420>Regarding <00:10:14.036>the, <00:10:14.653>the,

150
00:10:15.050 --> 00:10:18.430
<00:10:15.050>the <00:10:15.400>JK <00:10:15.750>distribution <00:10:16.099>regarding <00:10:16.449>versions,

151
00:10:19.470 --> 00:10:22.350
<00:10:19.470>I <00:10:19.645>started <00:10:19.820>showing, <00:10:19.995>which <00:10:20.170>is <00:10:20.345>the <00:10:20.520>number <00:10:20.695>of, <00:10:20.870>uh,

152
00:10:23.530 --> 00:10:26.960
<00:10:23.530>production <00:10:23.810>environments <00:10:24.089>in <00:10:24.370>Java, <00:10:24.650>eight <00:10:24.930>33%,

153
00:10:28.550 --> 00:10:32.130
<00:10:28.550>but <00:10:28.783>in <00:10:29.016>Java <00:10:29.250>11, <00:10:29.483>it's <00:10:29.716>uh, <00:10:29.949>56%.

154
00:10:33.960 --> 00:10:37.960
<00:10:33.960>So <00:10:34.100>there's <00:10:34.240>a <00:10:34.380>lot <00:10:34.520>of <00:10:34.660>people <00:10:34.800>not <00:10:34.940>yet <00:10:35.080>in <00:10:35.220>the <00:10:35.360>latest

155
00:10:38.830 --> 00:10:41.600
<00:10:38.830>Java, <00:10:39.063>l <00:10:39.296>t <00:10:39.530>s <00:10:39.763>version, <00:10:39.996>Java <00:10:40.230>17.

156
00:10:42.900 --> 00:10:47.470
<00:10:42.900>So <00:10:43.027>there <00:10:43.154>is <00:10:43.281>a <00:10:43.409>lot <00:10:43.536>of <00:10:43.663>work <00:10:43.790>or <00:10:43.918>a <00:10:44.045>lot <00:10:44.172>of <00:10:44.300>environments

157
00:10:48.180 --> 00:10:52.630
<00:10:48.180>that <00:10:48.380>definitely <00:10:48.579>will <00:10:48.780>take <00:10:48.979>advantage <00:10:49.180>of <00:10:49.380>new <00:10:49.579>features,

158
00:10:52.740 --> 00:10:54.430
<00:10:52.740>back <00:10:53.440>fixes, <00:10:54.140>uh,

159
00:10:54.500 --> 00:10:58.230
<00:10:54.500>performance <00:10:54.733>if <00:10:54.966>they <00:10:55.200>move <00:10:55.433>to <00:10:55.666>newer <00:10:55.900>versions.

160
00:10:58.900 --> 00:11:03.750
<00:10:58.900>Even <00:10:59.074>if <00:10:59.250>you <00:10:59.425>run <00:10:59.600>older <00:10:59.775>Java <00:10:59.949>code <00:11:00.125>with <00:11:00.300>newer

161
00:11:04.510 --> 00:11:09.230
<00:11:04.510>J <00:11:04.617>D <00:11:04.725>K, <00:11:04.833>you <00:11:04.940>will <00:11:05.048>get <00:11:05.156>a <00:11:05.263>lot <00:11:05.371>of <00:11:05.479>benefit <00:11:05.586>too, <00:11:05.694>just <00:11:05.802>for <00:11:05.910>performance.

162
00:11:10.010 --> 00:11:14.090
<00:11:10.010>Uh, <00:11:10.243>so, <00:11:10.476>um, <00:11:10.710>it <00:11:10.943>definitely, <00:11:11.176>it's, <00:11:11.410>uh,

163
00:11:14.160 --> 00:11:16.850
<00:11:14.160>it's <00:11:14.393>important <00:11:14.626>to <00:11:14.860>consider <00:11:15.093>to <00:11:15.326>move, <00:11:15.560>uh,

164
00:11:16.990 --> 00:11:20.850
<00:11:16.990>to <00:11:17.145>the <00:11:17.301>next <00:11:17.456>healthier <00:11:17.612>version <00:11:17.767>that <00:11:17.923>you <00:11:18.078>can, <00:11:18.234>it's <00:11:18.390>not,

165
00:11:20.990 --> 00:11:24.490
<00:11:20.990>I'm <00:11:21.130>not <00:11:21.270>saying <00:11:21.410>you <00:11:21.550>need <00:11:21.690>to <00:11:21.830>be, <00:11:21.970>uh, <00:11:22.110>on <00:11:22.250>the <00:11:22.390>wave,

166
00:11:24.630 --> 00:11:27.850
<00:11:24.630>so <00:11:24.785>constantly <00:11:24.941>moving <00:11:25.096>to <00:11:25.252>the <00:11:25.407>new <00:11:25.563>L <00:11:25.718>t <00:11:25.874>s <00:11:26.030>version,

167
00:11:28.310 --> 00:11:32.890
<00:11:28.310>but <00:11:28.449>definitely <00:11:28.589>considering <00:11:28.729>the <00:11:28.869>migration <00:11:29.010>to <00:11:29.150>a <00:11:29.290>new <00:11:29.430>J <00:11:29.569>D <00:11:29.709>K,

168
00:11:33.350 --> 00:11:37.930
<00:11:33.350>uh, <00:11:33.477>as <00:11:33.604>part <00:11:33.731>of <00:11:33.859>your <00:11:33.986>backlog. <00:11:34.113>As <00:11:34.240>you <00:11:34.368>can <00:11:34.495>see <00:11:34.622>here, <00:11:34.750>well,

169
00:11:37.930 --> 00:11:42.610
<00:11:37.930>we <00:11:38.046>have <00:11:38.163>Java <00:11:38.280>eight. <00:11:38.396>The <00:11:38.513>first <00:11:38.630>L <00:11:38.746>t <00:11:38.863>s <00:11:38.979>that <00:11:39.096>will <00:11:39.213>have, <00:11:39.329>well,

170
00:11:42.670 --> 00:11:45.770
<00:11:42.670>I'm <00:11:42.949>here <00:11:43.229>considering <00:11:43.510>temu <00:11:43.790>only, <00:11:44.069>um,

171
00:11:46.560 --> 00:11:51.250
<00:11:46.560>support <00:11:46.715>until <00:11:46.871>2026, <00:11:47.026>but <00:11:47.182>Java <00:11:47.337>11 <00:11:47.493>will <00:11:47.648>finish <00:11:47.804>next <00:11:47.959>year.

172
00:11:51.630 --> 00:11:56.000
<00:11:51.630>So <00:11:51.785>it <00:11:51.941>means <00:11:52.096>that <00:11:52.252>most <00:11:52.407>of, <00:11:52.563>uh, <00:11:52.718>the <00:11:52.874>production <00:11:53.030>environments,

173
00:11:56.780 --> 00:12:00.970
<00:11:56.780>uh, <00:11:57.013>more <00:11:57.246>than <00:11:57.480>half <00:11:57.713>in <00:11:57.946>Java <00:11:58.180>11,

174
00:12:01.350 --> 00:12:02.730
<00:12:01.350>but <00:12:01.764>more <00:12:02.178>than <00:12:02.592>third,

175
00:12:03.290 --> 00:12:08.090
<00:12:03.290>a <00:12:03.430>third <00:12:03.569>on <00:12:03.709>Java <00:12:03.849>eight <00:12:03.990>are <00:12:04.130>going <00:12:04.270>to <00:12:04.410>lose <00:12:04.550>support <00:12:04.689>in

176
00:12:08.110 --> 00:12:13.080
<00:12:08.110>two <00:12:08.265>years, <00:12:08.421>more <00:12:08.576>or <00:12:08.732>less. <00:12:08.887>So <00:12:09.043>it's, <00:12:09.198>it's <00:12:09.354>something <00:12:09.510>that,

177
00:12:13.180 --> 00:12:15.320
<00:12:13.180>uh, <00:12:13.530>it's <00:12:13.880>important <00:12:14.229>to <00:12:14.579>consider

178
00:12:17.110 --> 00:12:20.530
<00:12:17.110>for <00:12:17.285>those <00:12:17.460>56% <00:12:17.635>that <00:12:17.810>are <00:12:17.985>still <00:12:18.160>in <00:12:18.335>Java <00:12:18.510>11,

179
00:12:20.760 --> 00:12:22.690
<00:12:20.760>they <00:12:20.960>are <00:12:21.160>going <00:12:21.360>to <00:12:21.560>lose <00:12:21.760>support <00:12:21.960>next <00:12:22.160>year

180
00:12:24.430 --> 00:12:28.730
<00:12:24.430>for <00:12:24.630>Java <00:12:24.829>17 <00:12:25.030>support <00:12:25.229>ends <00:12:25.430>in <00:12:25.630>three <00:12:25.829>years

181
00:12:29.660 --> 00:12:34.640
<00:12:29.660>more <00:12:29.800>or <00:12:29.939>less, <00:12:30.079>and <00:12:30.219>Java <00:12:30.360>21 <00:12:30.500>will <00:12:30.640>finish <00:12:30.780>the <00:12:30.920>support <00:12:31.060>in,

182
00:12:34.900 --> 00:12:38.960
<00:12:34.900>uh, <00:12:35.007>around <00:12:35.115>five <00:12:35.223>years. <00:12:35.330>So <00:12:35.438>it's <00:12:35.546>important, <00:12:35.653>at <00:12:35.761>least <00:12:35.869>to <00:12:35.976>move <00:12:36.084>to <00:12:36.192>Java <00:12:36.300>17,

183
00:12:39.150 --> 00:12:44.120
<00:12:39.150>that <00:12:39.243>we <00:12:39.336>will, <00:12:39.430>you <00:12:39.523>will <00:12:39.616>have <00:12:39.709>few <00:12:39.803>years <00:12:39.896>still <00:12:39.990>with <00:12:40.083>support, <00:12:40.176>but <00:12:40.270>then <00:12:40.363>move <00:12:40.456>to, <00:12:40.550>uh,

184
00:12:44.270 --> 00:12:48.440
<00:12:44.270>Java <00:12:44.425>21. <00:12:44.581>It's <00:12:44.736>important <00:12:44.892>to <00:12:45.047>know, <00:12:45.203>uh, <00:12:45.358>this <00:12:45.514>support, <00:12:45.670>uh,

185
00:12:49.030 --> 00:12:52.840
<00:12:49.030>lifecycle, <00:12:49.230>uh, <00:12:49.430>in <00:12:49.630>order <00:12:49.829>to, <00:12:50.030>to <00:12:50.230>migrate <00:12:50.430>to

186
00:12:54.380 --> 00:12:55.280
<00:12:54.380>the <00:12:54.785>right <00:12:55.189>version,

187
00:12:58.550 --> 00:13:02.160
<00:12:58.550>I've <00:12:58.783>talked <00:12:59.016>about <00:12:59.250>support <00:12:59.483>L <00:12:59.716>t <00:12:59.949>s,

188
00:13:03.690 --> 00:13:07.710
<00:13:03.690>but <00:13:03.797>it's, <00:13:03.905>is <00:13:04.013>it <00:13:04.120>clear <00:13:04.228>what <00:13:04.336>it <00:13:04.443>is? <00:13:04.551>An <00:13:04.659>L <00:13:04.766>t <00:13:04.874>s? <00:13:04.982>Well, <00:13:05.090>it,

189
00:13:07.790 --> 00:13:10.190
<00:13:07.790>l <00:13:08.023>t <00:13:08.256>s <00:13:08.490>stands <00:13:08.723>for <00:13:08.956>long-term <00:13:09.189>support,

190
00:13:11.650 --> 00:13:15.510
<00:13:11.650>but <00:13:11.805>basically <00:13:11.961>it's <00:13:12.116>a <00:13:12.272>marketing <00:13:12.427>concept. <00:13:12.583>So <00:13:12.738>Oracle <00:13:12.894>define <00:13:13.050>it,

191
00:13:16.460 --> 00:13:21.190
<00:13:16.460>and <00:13:16.660>then <00:13:16.860>every <00:13:17.060>vendor <00:13:17.260>is <00:13:17.460>trying <00:13:17.660>to <00:13:17.860>align

192
00:13:22.090 --> 00:13:26.670
<00:13:22.090>to <00:13:22.265>those, <00:13:22.440>uh, <00:13:22.615>to <00:13:22.790>that <00:13:22.965>definition <00:13:23.140>of <00:13:23.315>long-term <00:13:23.490>support.

193
00:13:27.530 --> 00:13:32.270
<00:13:27.530>But <00:13:27.657>the <00:13:27.784>content <00:13:27.911>for <00:13:28.039>this <00:13:28.166>L <00:13:28.293>t <00:13:28.420>S <00:13:28.548>depends <00:13:28.675>on <00:13:28.802>every, <00:13:28.930>uh,

194
00:13:32.370 --> 00:13:36.990
<00:13:32.370>vendor. <00:13:32.525>As <00:13:32.681>we've <00:13:32.836>seen, <00:13:32.992>different <00:13:33.147>vendors <00:13:33.303>are <00:13:33.458>offering <00:13:33.614>different, <00:13:33.770>uh,

195
00:13:37.450 --> 00:13:42.390
<00:13:37.450>length <00:13:37.605>of <00:13:37.761>support <00:13:37.916>for, <00:13:38.072>uh, <00:13:38.227>each <00:13:38.383>l <00:13:38.538>t <00:13:38.694>s. <00:13:38.850>Uh,

196
00:13:43.170 --> 00:13:46.990
<00:13:43.170>now <00:13:43.325>the <00:13:43.481>cadence <00:13:43.636>has <00:13:43.792>moved <00:13:43.947>to, <00:13:44.103>uh, <00:13:44.258>two <00:13:44.414>years. <00:13:44.569>Well,

197
00:13:46.990 --> 00:13:51.270
<00:13:46.990>from <00:13:47.117>Java <00:13:47.244>17 <00:13:47.371>to <00:13:47.499>two <00:13:47.626>years <00:13:47.753>before <00:13:47.880>that <00:13:48.008>it <00:13:48.135>was <00:13:48.262>three <00:13:48.390>years.

198
00:13:51.810 --> 00:13:52.643
<00:13:51.810>But <00:13:52.559>again,

199
00:13:52.660 --> 00:13:57.590
<00:13:52.660>it's <00:13:52.767>an <00:13:52.875>article <00:13:52.983>definition <00:13:53.090>that <00:13:53.198>a <00:13:53.306>lot <00:13:53.413>of <00:13:53.521>vendors <00:13:53.629>are <00:13:53.736>being <00:13:53.844>aligned <00:13:53.952>to <00:13:54.060>it,

200
00:13:58.670 --> 00:14:00.090
<00:13:58.670>but <00:13:59.096>it's <00:13:59.522>not <00:13:59.948>mandatory.

201
00:14:00.270 --> 00:14:04.860
<00:14:00.270>So <00:14:00.386>you <00:14:00.503>could <00:14:00.620>find <00:14:00.736>a <00:14:00.853>vendor <00:14:00.970>that <00:14:01.086>it <00:14:01.203>is <00:14:01.319>not <00:14:01.436>aligning <00:14:01.553>to <00:14:01.670>this

202
00:14:04.860 --> 00:14:06.620
<00:14:04.860>definition <00:14:05.326>of <00:14:05.793>long-term <00:14:06.260>support,

203
00:14:07.640 --> 00:14:11.220
<00:14:07.640>or <00:14:07.795>they <00:14:07.951>have <00:14:08.106>their <00:14:08.262>own <00:14:08.417>long-term <00:14:08.573>support <00:14:08.728>definition <00:14:08.884>that <00:14:09.040>doesn't

204
00:14:12.430 --> 00:14:14.140
<00:14:12.430>align <00:14:13.130>with <00:14:13.829>Oracles.

205
00:14:14.850 --> 00:14:19.780
<00:14:14.850>Even <00:14:15.005>a <00:14:15.161>Azure <00:14:15.316>has <00:14:15.472>a <00:14:15.627>different <00:14:15.783>approach. <00:14:15.938>So <00:14:16.094>they <00:14:16.250>obviously,

206
00:14:19.780 --> 00:14:23.340
<00:14:19.780>they <00:14:19.887>have <00:14:19.995>l <00:14:20.103>t <00:14:20.210>s <00:14:20.318>to <00:14:20.426>be <00:14:20.533>aligned <00:14:20.641>because <00:14:20.749>it's <00:14:20.856>like <00:14:20.964>a <00:14:21.072>marketing <00:14:21.180>thing,

207
00:14:23.560 --> 00:14:28.060
<00:14:23.560>but <00:14:23.687>also <00:14:23.814>they <00:14:23.941>have <00:14:24.069>M <00:14:24.196>T <00:14:24.323>Ss, <00:14:24.450>so <00:14:24.578>medium <00:14:24.705>term <00:14:24.832>support. <00:14:24.959>Uh,

208
00:14:29.240 --> 00:14:33.460
<00:14:29.240>so <00:14:29.395>they, <00:14:29.551>they <00:14:29.706>define <00:14:29.862>the <00:14:30.017>rules <00:14:30.173>differently <00:14:30.328>between <00:14:30.484>the <00:14:30.640>vendors

209
00:14:34.640 --> 00:14:37.660
<00:14:34.640>for <00:14:34.795>how <00:14:34.951>long <00:14:35.106>an <00:14:35.262>L <00:14:35.417>T <00:14:35.573>S <00:14:35.728>has <00:14:35.884>support. <00:14:36.040>Well,

210
00:14:37.660 --> 00:14:42.220
<00:14:37.660>usually <00:14:37.800>in <00:14:37.939>between <00:14:38.079>six <00:14:38.219>and <00:14:38.360>seven <00:14:38.500>years, <00:14:38.640>depending <00:14:38.780>on <00:14:38.920>the <00:14:39.060>vendor,

211
00:14:42.320 --> 00:14:46.780
<00:14:42.320>you <00:14:42.420>will <00:14:42.520>find <00:14:42.620>a <00:14:42.720>length <00:14:42.820>and <00:14:42.920>vendor <00:14:43.020>and <00:14:43.120>the <00:14:43.220>version <00:14:43.320>you <00:14:43.420>will <00:14:43.520>have <00:14:43.620>a <00:14:43.720>different

212
00:14:46.780 --> 00:14:47.613
length.

213
00:14:48.080 --> 00:14:52.260
<00:14:48.080>And <00:14:48.235>which <00:14:48.391>is <00:14:48.546>the <00:14:48.702>impact <00:14:48.857>of <00:14:49.013>lts <00:14:49.168>s <00:14:49.324>in <00:14:49.480>your,

214
00:14:53.210 --> 00:14:58.020
<00:14:53.210>uh, <00:14:53.443>development <00:14:53.676>where <00:14:53.910>obviously <00:14:54.143>every <00:14:54.376>new <00:14:54.610>version

215
00:14:59.120 --> 00:15:04.110
<00:14:59.120>has <00:14:59.295>lot <00:14:59.470>of <00:14:59.645>bugs <00:14:59.820>fixed. <00:14:59.995>So <00:15:00.170>that's <00:15:00.345>one <00:15:00.520>point,

216
00:15:04.570 --> 00:15:07.390
<00:15:04.570>uh, <00:15:04.850>regarding <00:15:05.130>migrating <00:15:05.410>from <00:15:05.690>each <00:15:05.970>version,

217
00:15:08.060 --> 00:15:12.020
<00:15:08.060>they <00:15:08.339>can <00:15:08.619>have <00:15:08.900>performance <00:15:09.180>improvement. <00:15:09.459>Yeah,

218
00:15:12.020 --> 00:15:16.220
<00:15:12.020>definitely <00:15:12.300>they <00:15:12.579>have <00:15:12.860>new <00:15:13.140>features <00:15:13.420>that's,

219
00:15:16.240 --> 00:15:17.073
<00:15:16.240>that's <00:15:16.614>for <00:15:16.989>sure.

220
00:15:18.480 --> 00:15:23.470
<00:15:18.480>And <00:15:18.620>also <00:15:18.760>they <00:15:18.900>can <00:15:19.040>have <00:15:19.180>some <00:15:19.320>vulnerabilities <00:15:19.460>fixed <00:15:19.600>every <00:15:19.740>four <00:15:19.880>months

221
00:15:23.500 --> 00:15:26.030
<00:15:23.500>open, <00:15:23.780>J <00:15:24.060>D <00:15:24.340>K <00:15:24.620>reports, <00:15:24.900>CCBs,

222
00:15:26.050 --> 00:15:30.950
<00:15:26.050>and <00:15:26.177>how <00:15:26.304>they <00:15:26.431>fix <00:15:26.559>them <00:15:26.686>and <00:15:26.813>how <00:15:26.940>they <00:15:27.068>backport <00:15:27.195>those <00:15:27.322>cvs <00:15:27.449>to

223
00:15:30.950 --> 00:15:32.110
<00:15:30.950>the <00:15:31.472>different <00:15:31.994>versions.

224
00:15:33.410 --> 00:15:37.710
<00:15:33.410>But <00:15:33.565>also <00:15:33.721>you <00:15:33.876>can <00:15:34.032>find <00:15:34.187>commercial <00:15:34.343>support <00:15:34.498>on <00:15:34.654>LTSS <00:15:34.810>mainly.

225
00:15:38.410 --> 00:15:43.080
<00:15:38.410>So <00:15:38.643>definitely <00:15:38.876>it's <00:15:39.110>important <00:15:39.343>to <00:15:39.576>be <00:15:39.810>updated

226
00:15:43.500 --> 00:15:48.030
<00:15:43.500>in <00:15:43.640>terms <00:15:43.780>of <00:15:43.920>the <00:15:44.060>Java <00:15:44.200>version <00:15:44.340>because <00:15:44.480>all <00:15:44.620>of <00:15:44.760>these <00:15:44.900>things,

227
00:15:48.690 --> 00:15:50.950
<00:15:48.690>uh, <00:15:49.040>apply <00:15:49.390>to <00:15:49.740>every <00:15:50.090>version,

228
00:15:51.970 --> 00:15:56.670
<00:15:51.970>but <00:15:52.170>having <00:15:52.370>longer <00:15:52.570>end <00:15:52.770>commercial <00:15:52.970>support <00:15:53.170>is <00:15:53.370>something

229
00:15:56.980 --> 00:15:59.750
<00:15:56.980>that <00:15:57.180>impacts <00:15:57.380>definitely <00:15:57.580>in <00:15:57.780>an <00:15:57.980>L <00:15:58.180>t <00:15:58.380>s.

230
00:16:00.010 --> 00:16:04.390
<00:16:00.010>That's <00:16:00.126>why <00:16:00.243>it's <00:16:00.360>important <00:16:00.476>to <00:16:00.593>at <00:16:00.710>least <00:16:00.826>be <00:16:00.943>on <00:16:01.060>one <00:16:01.176>of <00:16:01.293>the <00:16:01.410>ltss.

231
00:16:06.580 --> 00:16:11.450
<00:16:06.580>Now <00:16:06.687>that <00:16:06.795>we <00:16:06.903>have <00:16:07.010>clear, <00:16:07.118>uh, <00:16:07.226>when <00:16:07.333>Java <00:16:07.441>21 <00:16:07.549>is <00:16:07.656>going <00:16:07.764>to <00:16:07.872>be <00:16:07.980>released,

232
00:16:12.780 --> 00:16:17.360
<00:16:12.780>how <00:16:12.907>many <00:16:13.034>environments <00:16:13.161>are <00:16:13.289>there, <00:16:13.416>in <00:16:13.543>which <00:16:13.670>versions <00:16:13.798>and <00:16:13.925>in <00:16:14.052>which <00:16:14.180>vendors?

233
00:16:19.200 --> 00:16:21.900
<00:16:19.200>And <00:16:19.375>now <00:16:19.550>we <00:16:19.725>know <00:16:19.900>what's <00:16:20.075>an <00:16:20.250>L <00:16:20.425>T <00:16:20.600>S,

234
00:16:23.940 --> 00:16:28.410
<00:16:23.940>let's <00:16:24.080>discover <00:16:24.220>which <00:16:24.360>are <00:16:24.500>the <00:16:24.640>features <00:16:24.780>for <00:16:24.920>each <00:16:25.060>of <00:16:25.200>the <00:16:25.340>Java

235
00:16:28.610 --> 00:16:33.330
<00:16:28.610>versions. <00:16:28.737>We <00:16:28.864>are <00:16:28.991>going <00:16:29.119>to <00:16:29.246>start <00:16:29.373>with <00:16:29.500>Java <00:16:29.628>11, <00:16:29.755>and <00:16:29.882>I've, <00:16:30.010>uh,

236
00:16:33.730 --> 00:16:38.570
<00:16:33.730>selected <00:16:33.905>seven <00:16:34.080>features, <00:16:34.255>new <00:16:34.430>string <00:16:34.605>methods, <00:16:34.780>new <00:16:34.955>file <00:16:35.130>methods,

237
00:16:39.370 --> 00:16:43.650
<00:16:39.370>a <00:16:39.497>new <00:16:39.624>method <00:16:39.751>to, <00:16:39.879>uh, <00:16:40.006>convert, <00:16:40.133>uh, <00:16:40.260>a <00:16:40.388>collection <00:16:40.515>to <00:16:40.642>an <00:16:40.770>array,

238
00:16:44.480 --> 00:16:49.260
<00:16:44.480>the <00:16:44.607>not <00:16:44.734>predicate <00:16:44.861>method, <00:16:44.989>a <00:16:45.116>new <00:16:45.243>HTT <00:16:45.370>P <00:16:45.498>client <00:16:45.625>that <00:16:45.752>covers, <00:16:45.880>uh,

239
00:16:49.650 --> 00:16:54.180
<00:16:49.650>HTTP <00:16:49.805>1.2 <00:16:49.961>running <00:16:50.116>Java <00:16:50.272>files <00:16:50.427>directly <00:16:50.583>on <00:16:50.738>the <00:16:50.894>command <00:16:51.050>line.

240
00:16:54.480 --> 00:16:59.300
<00:16:54.480>And <00:16:54.635>T <00:16:54.791>L <00:16:54.946>S <00:16:55.102>1.3 <00:16:55.257>support <00:16:55.413>this <00:16:55.568>Java <00:16:55.724>11. <00:16:55.880>Uh,

241
00:16:59.300 --> 00:17:02.060
<00:16:59.300>according <00:16:59.474>to, <00:16:59.650>uh, <00:16:59.824>the <00:17:00.000>open <00:17:00.175>J <00:17:00.349>D <00:17:00.525>k, <00:17:00.699>uh,

242
00:17:03.280 --> 00:17:07.700
<00:17:03.280>box <00:17:03.560>system <00:17:03.839>and <00:17:04.119>the <00:17:04.399>cvs, <00:17:04.680>uh,

243
00:17:09.910 --> 00:17:12.680
<00:17:09.910>four <00:17:10.376>monthly <00:17:10.843>report, <00:17:11.310>uh,

244
00:17:14.930 --> 00:17:19.870
<00:17:14.930>it <00:17:15.070>solves <00:17:15.210>more <00:17:15.350>than <00:17:15.490>500 <00:17:15.630>bucks <00:17:15.770>bucks <00:17:15.910>and <00:17:16.050>also <00:17:16.190>more <00:17:16.330>than

245
00:17:19.930 --> 00:17:22.630
<00:17:19.930>100 <00:17:20.396>cvs. <00:17:20.863>So <00:17:21.330>definitely

246
00:17:24.140 --> 00:17:28.480
<00:17:24.140>people <00:17:24.315>in <00:17:24.490>Java <00:17:24.665>eight <00:17:24.840>are <00:17:25.015>suffering <00:17:25.190>from <00:17:25.365>all <00:17:25.540>those

247
00:17:29.430 --> 00:17:33.480
<00:17:29.430>bags <00:17:29.585>and <00:17:29.741>CBEs <00:17:29.896>if <00:17:30.052>they <00:17:30.207>have <00:17:30.363>not <00:17:30.518>been <00:17:30.674>ported <00:17:30.830>back,

248
00:17:33.480 --> 00:17:38.360
<00:17:33.480>ported <00:17:33.607>to <00:17:33.734>Java <00:17:33.861>eight. <00:17:33.989>So <00:17:34.116>let's, <00:17:34.243>uh, <00:17:34.370>continue <00:17:34.498>with, <00:17:34.625>well, <00:17:34.752>what's, <00:17:34.880>uh,

249
00:17:38.360 --> 00:17:43.120
<00:17:38.360>the <00:17:38.459>new <00:17:38.560>Java <00:17:38.659>H <00:17:38.760>T <00:17:38.860>P <00:17:38.959>client <00:17:39.060>with <00:17:39.159>the <00:17:39.260>previous <00:17:39.360>one <00:17:39.459>was <00:17:39.560>basically <00:17:39.659>covering <00:17:39.760>H

250
00:17:43.200 --> 00:17:44.160
<00:17:43.200>TT <00:17:43.632>P <00:17:44.064>1.1,

251
00:17:45.210 --> 00:17:48.430
<00:17:45.210>and <00:17:45.410>it <00:17:45.610>was <00:17:45.810>working <00:17:46.010>only <00:17:46.210>on <00:17:46.410>blocking <00:17:46.610>mode.

252
00:17:50.200 --> 00:17:54.580
<00:17:50.200>So <00:17:50.355>they <00:17:50.511>created <00:17:50.666>a <00:17:50.822>new <00:17:50.977>one <00:17:51.133>that <00:17:51.288>now <00:17:51.444>is <00:17:51.600>supporting

253
00:17:55.530 --> 00:18:00.140
<00:17:55.530>HTTP <00:17:55.685>one <00:17:55.841>to <00:17:55.996>two. <00:17:56.152>And <00:17:56.307>it <00:17:56.463>also <00:17:56.618>allows, <00:17:56.774>uh, <00:17:56.930>non-blocking,

254
00:18:00.600 --> 00:18:01.500
<00:18:00.600>uh, <00:18:01.410>behavior.

255
00:18:02.690 --> 00:18:07.580
<00:18:02.690>It's <00:18:02.797>very <00:18:02.905>easy <00:18:03.013>just <00:18:03.120>simply <00:18:03.228>using <00:18:03.336>HTT <00:18:03.443>P <00:18:03.551>request <00:18:03.659>and <00:18:03.766>H <00:18:03.874>T <00:18:03.982>T <00:18:04.090>P

256
00:18:07.580 --> 00:18:10.290
<00:18:07.580>client <00:18:08.280>with <00:18:08.980>builders,

257
00:18:10.870 --> 00:18:14.330
<00:18:10.870>and <00:18:11.025>you <00:18:11.181>create <00:18:11.336>the <00:18:11.492>request <00:18:11.647>with <00:18:11.803>the <00:18:11.958>U <00:18:12.114>R <00:18:12.270>i,

258
00:18:14.590 --> 00:18:17.970
<00:18:14.590>the <00:18:14.730>headers <00:18:14.870>and <00:18:15.010>the <00:18:15.149>method <00:18:15.290>that <00:18:15.429>you <00:18:15.570>are <00:18:15.709>going <00:18:15.850>to <00:18:15.990>use.

259
00:18:18.990 --> 00:18:20.210
<00:18:18.990>And <00:18:19.264>then <00:18:19.539>with <00:18:19.813>the <00:18:20.088>client,

260
00:18:20.630 --> 00:18:24.210
<00:18:20.630>you <00:18:20.830>send <00:18:21.030>that <00:18:21.230>request <00:18:21.430>and <00:18:21.630>obtain <00:18:21.830>a <00:18:22.030>response.

261
00:18:24.440 --> 00:18:27.090
<00:18:24.440>It's <00:18:24.790>very <00:18:25.140>easy <00:18:25.490>and, <00:18:25.840>uh,

262
00:18:29.620 --> 00:18:31.950
<00:18:29.620>very <00:18:29.820>fast <00:18:30.020>to <00:18:30.219>develop <00:18:30.419>with <00:18:30.620>this <00:18:30.820>new <00:18:31.020>approach.

263
00:18:33.930 --> 00:18:38.830
<00:18:33.930>For <00:18:34.023>each <00:18:34.116>of <00:18:34.210>the <00:18:34.303>features <00:18:34.396>that <00:18:34.490>I'm <00:18:34.583>going <00:18:34.676>to <00:18:34.770>show <00:18:34.863>you <00:18:34.956>will <00:18:35.050>find <00:18:35.143>the <00:18:35.236>G <00:18:35.330>E

264
00:18:38.870 --> 00:18:39.790
<00:18:38.870>p, <00:18:39.697>um,

265
00:18:40.210 --> 00:18:44.910
<00:18:40.210>on <00:18:40.350>top <00:18:40.490>link <00:18:40.630>that <00:18:40.770>you <00:18:40.910>can <00:18:41.050>click <00:18:41.190>and <00:18:41.330>explore <00:18:41.470>exactly <00:18:41.610>the

266
00:18:45.270 --> 00:18:47.870
<00:18:45.270>official <00:18:45.503>definition <00:18:45.736>of <00:18:45.970>those. <00:18:46.203>For <00:18:46.436>those, <00:18:46.670>uh,

267
00:18:48.310 --> 00:18:51.630
<00:18:48.310>features <00:18:48.426>that <00:18:48.543>are <00:18:48.659>not <00:18:48.776>covered <00:18:48.893>by <00:18:49.010>A <00:18:49.126>G <00:18:49.243>E <00:18:49.360>P, <00:18:49.476>I <00:18:49.593>am, <00:18:49.710>uh,

268
00:18:51.700 --> 00:18:55.710
<00:18:51.700>linking <00:18:51.840>to <00:18:51.980>the <00:18:52.120>back <00:18:52.260>system, <00:18:52.400>uh, <00:18:52.540>of <00:18:52.680>open <00:18:52.820>J <00:18:52.960>D <00:18:53.100>K,

269
00:18:55.720 --> 00:19:00.350
<00:18:55.720>where <00:18:55.895>they <00:18:56.070>describe <00:18:56.245>the <00:18:56.420>new <00:18:56.595>feature <00:18:56.770>in <00:18:56.945>Java <00:18:57.120>11.

270
00:19:00.930 --> 00:19:05.470
<00:19:00.930>So <00:19:01.037>before <00:19:01.145>Java <00:19:01.253>11, <00:19:01.360>we <00:19:01.468>needed <00:19:01.576>to <00:19:01.683>do, <00:19:01.791>uh, <00:19:01.899>compilation <00:19:02.006>and <00:19:02.114>then <00:19:02.222>an <00:19:02.330>execution.

271
00:19:06.450 --> 00:19:08.430
<00:19:06.450>And <00:19:06.730>now <00:19:07.010>with, <00:19:07.290>uh, <00:19:07.570>Java <00:19:07.850>11,

272
00:19:08.650 --> 00:19:13.630
<00:19:08.650>we <00:19:08.777>can <00:19:08.904>directly <00:19:09.031>use <00:19:09.159>Java <00:19:09.286>in <00:19:09.413>order <00:19:09.540>to <00:19:09.668>run <00:19:09.795>a <00:19:09.922>Java <00:19:10.050>script.

273
00:19:14.050 --> 00:19:14.883
Um,

274
00:19:16.030 --> 00:19:20.710
<00:19:16.030>it <00:19:16.170>will <00:19:16.310>compile <00:19:16.450>and <00:19:16.590>it <00:19:16.730>will <00:19:16.870>run <00:19:17.010>the, <00:19:17.149>the <00:19:17.290>Java <00:19:17.430>file.

275
00:19:23.320 --> 00:19:28.180
<00:19:23.320>New <00:19:23.495>changes <00:19:23.669>on <00:19:23.845>string <00:19:24.020>methods <00:19:24.195>is <00:19:24.370>blank <00:19:24.544>in <00:19:24.720>order

276
00:19:28.240 --> 00:19:32.860
<00:19:28.240>to <00:19:28.367>check <00:19:28.494>if <00:19:28.621>it <00:19:28.749>only, <00:19:28.876>if <00:19:29.003>it's <00:19:29.130>empty <00:19:29.258>or <00:19:29.385>only <00:19:29.512>contains, <00:19:29.640>uh,

277
00:19:33.120 --> 00:19:36.700
<00:19:33.120>spaces <00:19:33.399>lines <00:19:33.679>in <00:19:33.959>order <00:19:34.239>to, <00:19:34.520>uh,

278
00:19:37.600 --> 00:19:42.060
<00:19:37.600>return <00:19:37.740>a <00:19:37.879>collection, <00:19:38.020>a <00:19:38.159>list <00:19:38.300>of, <00:19:38.439>um, <00:19:38.580>of <00:19:38.719>the <00:19:38.860>different <00:19:39.000>lines,

279
00:19:42.920 --> 00:19:47.060
<00:19:42.920>uh, <00:19:43.153>using <00:19:43.386>the <00:19:43.620>new <00:19:43.853>line, <00:19:44.086>uh, <00:19:44.320>characters,

280
00:19:47.740 --> 00:19:50.820
<00:19:47.740>a <00:19:47.973>strip <00:19:48.206>that <00:19:48.440>will <00:19:48.673>remove <00:19:48.906>the, <00:19:49.140>uh,

281
00:19:51.040 --> 00:19:55.620
<00:19:51.040>spaces <00:19:51.167>in <00:19:51.294>front <00:19:51.421>and <00:19:51.549>on <00:19:51.676>the <00:19:51.803>back, <00:19:51.930>strip <00:19:52.058>bleeding <00:19:52.185>and <00:19:52.312>strip <00:19:52.440>trailing.

282
00:19:55.920 --> 00:20:00.740
<00:19:55.920>If <00:19:56.013>you <00:19:56.106>want <00:19:56.200>to <00:19:56.293>remove <00:19:56.386>the <00:19:56.480>front <00:19:56.573>spaces <00:19:56.666>or <00:19:56.760>the <00:19:56.853>back <00:19:56.946>spaces <00:19:57.040>and <00:19:57.133>repeat <00:19:57.226>in <00:19:57.320>order

283
00:20:00.800 --> 00:20:03.190
<00:20:00.800>to <00:20:01.500>repeat, <00:20:02.200>uh,

284
00:20:03.950 --> 00:20:06.390
<00:20:03.950>n <00:20:04.300>times <00:20:04.650>the <00:20:05.000>same <00:20:05.350>string

285
00:20:08.490 --> 00:20:10.430
<00:20:08.490>for <00:20:08.840>new <00:20:09.190>file, <00:20:09.540>uh, <00:20:09.890>methods.

286
00:20:10.970 --> 00:20:15.070
<00:20:10.970>Now <00:20:11.077>we <00:20:11.185>have <00:20:11.293>the <00:20:11.400>right <00:20:11.508>string <00:20:11.616>and <00:20:11.723>the <00:20:11.831>red <00:20:11.939>string <00:20:12.046>directly <00:20:12.154>from <00:20:12.262>the <00:20:12.370>file,

287
00:20:15.410 --> 00:20:19.990
<00:20:15.410>and <00:20:15.517>it <00:20:15.625>will <00:20:15.733>return <00:20:15.840>a <00:20:15.948>file. <00:20:16.056>So <00:20:16.163>it's <00:20:16.271>in <00:20:16.379>order <00:20:16.486>to <00:20:16.594>reduce <00:20:16.702>also <00:20:16.810>purposity,

288
00:20:20.770 --> 00:20:21.750
<00:20:20.770>and <00:20:21.064>now <00:20:21.358>it's, <00:20:21.652>uh,

289
00:20:21.750 --> 00:20:26.510
<00:20:21.750>easier <00:20:21.983>collection <00:20:22.216>to <00:20:22.450>an <00:20:22.683>array <00:20:22.916>before <00:20:23.150>we

290
00:20:26.510 --> 00:20:30.670
<00:20:26.510>needed <00:20:26.665>to, <00:20:26.821>uh, <00:20:26.976>use, <00:20:27.132>uh, <00:20:27.287>collectors. <00:20:27.443>And <00:20:27.598>now <00:20:27.754>it's, <00:20:27.910>uh,

291
00:20:30.670 --> 00:20:35.110
<00:20:30.670>simply <00:20:30.810>to <00:20:30.950>array <00:20:31.090>and <00:20:31.230>that's <00:20:31.370>it. <00:20:31.510>It <00:20:31.650>will <00:20:31.790>return <00:20:31.930>an <00:20:32.070>array.

292
00:20:36.960 --> 00:20:39.540
<00:20:36.960>The <00:20:37.193>not <00:20:37.426>predicate <00:20:37.660>method, <00:20:37.893>well, <00:20:38.126>it's, <00:20:38.360>uh,

293
00:20:39.740 --> 00:20:43.420
<00:20:39.740>exactly <00:20:39.940>the <00:20:40.140>opposite <00:20:40.340>of, <00:20:40.540>uh, <00:20:40.740>being <00:20:40.940>a <00:20:41.140>predicate.

294
00:20:43.640 --> 00:20:47.720
<00:20:43.640>So <00:20:43.780>if <00:20:43.920>we <00:20:44.060>want <00:20:44.200>to <00:20:44.340>filter, <00:20:44.480>uh, <00:20:44.620>those <00:20:44.760>that <00:20:44.900>are <00:20:45.040>not,

295
00:20:48.860 --> 00:20:53.840
<00:20:48.860>uh, <00:20:49.000>uh, <00:20:49.139>an <00:20:49.280>expression, <00:20:49.419>then <00:20:49.560>we <00:20:49.699>can <00:20:49.840>use <00:20:49.979>the <00:20:50.120>predicate. <00:20:50.260>No,

296
00:20:53.910 --> 00:20:57.360
<00:20:53.910>it's <00:20:54.085>very, <00:20:54.260>very <00:20:54.435>easy. <00:20:54.610>Also <00:20:54.785>a <00:20:54.960>very, <00:20:55.135>very <00:20:55.310>important,

297
00:20:59.710 --> 00:21:04.090
<00:20:59.710>and <00:20:59.850>it <00:20:59.990>also <00:21:00.130>covers <00:21:00.270>T <00:21:00.410>L <00:21:00.550>s <00:21:00.690>1.3, <00:21:00.830>but <00:21:00.970>not <00:21:01.110>completely.

298
00:21:05.000 --> 00:21:08.090
<00:21:05.000>Some <00:21:05.127>of <00:21:05.254>the <00:21:05.381>features <00:21:05.509>here <00:21:05.636>are <00:21:05.763>the <00:21:05.890>list <00:21:06.018>of <00:21:06.145>the <00:21:06.272>features <00:21:06.400>covered,

299
00:21:08.910 --> 00:21:10.370
<00:21:08.910>and <00:21:09.567>there's <00:21:10.224>no,

300
00:21:12.000 --> 00:21:14.810
<00:21:12.000>there's <00:21:12.200>no <00:21:12.400>need <00:21:12.600>on <00:21:12.800>modifica <00:21:13.000>modifying <00:21:13.200>the <00:21:13.400>code,

301
00:21:14.840 --> 00:21:18.330
<00:21:14.840>just <00:21:14.980>only <00:21:15.120>adding <00:21:15.260>a <00:21:15.399>new <00:21:15.540>protocol. <00:21:15.679>As <00:21:15.820>you <00:21:15.959>can <00:21:16.100>see <00:21:16.240>here,

302
00:21:18.570 --> 00:21:22.570
<00:21:18.570>T <00:21:18.725>L <00:21:18.881>SS <00:21:19.036>B <00:21:19.192>1.3, <00:21:19.347>and <00:21:19.503>that's <00:21:19.658>it. <00:21:19.814>So <00:21:19.970>no,

303
00:21:23.990 --> 00:21:27.530
<00:21:23.990>no <00:21:24.145>need <00:21:24.301>to <00:21:24.456>change <00:21:24.612>your <00:21:24.767>code <00:21:24.923>and <00:21:25.078>it <00:21:25.234>will, <00:21:25.390>uh,

304
00:21:28.280 --> 00:21:31.770
<00:21:28.280>support <00:21:28.513>t <00:21:28.746>l <00:21:28.980>s <00:21:29.213>1.3. <00:21:29.446>Not <00:21:29.680>completely.

305
00:21:31.770 --> 00:21:33.610
<00:21:31.770>There <00:21:31.970>are <00:21:32.170>few <00:21:32.370>things <00:21:32.570>that <00:21:32.770>are <00:21:32.970>not <00:21:33.170>covered

306
00:21:36.200 --> 00:21:41.160
<00:21:36.200>regarding <00:21:36.433>Java <00:21:36.666>17. <00:21:36.900>Well, <00:21:37.133>in <00:21:37.366>this <00:21:37.600>case,

307
00:21:41.470 --> 00:21:46.260
<00:21:41.470>I've <00:21:41.820>selected <00:21:42.170>13 <00:21:42.520>features <00:21:42.870>coming

308
00:21:46.260 --> 00:21:49.940
<00:21:46.260>from <00:21:46.610>the <00:21:46.960>different <00:21:47.310>intermediate <00:21:47.660>versions,

309
00:21:52.060 --> 00:21:56.440
<00:21:52.060>and <00:21:52.340>it <00:21:52.620>fixes <00:21:52.899>around <00:21:53.179>50 <00:21:53.460>CBEs

310
00:21:57.020 --> 00:21:58.680
<00:21:57.020>and <00:21:57.370>more <00:21:57.720>than <00:21:58.070>500 <00:21:58.420>bucks.

311
00:22:00.420 --> 00:22:04.220
<00:22:00.420>And <00:22:00.620>coming <00:22:00.820>from <00:22:01.020>Java <00:22:01.220>12, <00:22:01.420>we <00:22:01.620>have, <00:22:01.820>again,

312
00:22:04.720 --> 00:22:09.300
<00:22:04.720>the <00:22:04.860>string <00:22:05.000>new <00:22:05.140>methods. <00:22:05.280>There's <00:22:05.420>a <00:22:05.560>new <00:22:05.700>method <00:22:05.840>two <00:22:05.980>for <00:22:06.120>file,

313
00:22:10.260 --> 00:22:14.980
<00:22:10.260>a <00:22:10.435>new <00:22:10.610>team <00:22:10.785>collector, <00:22:10.960>compact <00:22:11.135>number <00:22:11.310>formatting <00:22:11.485>that <00:22:11.660>gives,

314
00:22:15.720 --> 00:22:19.220
<00:22:15.720>uh, <00:22:15.953>human <00:22:16.186>reading, <00:22:16.420>uh, <00:22:16.653>format <00:22:16.886>to <00:22:17.120>numbers.

315
00:22:20.250 --> 00:22:22.600
<00:22:20.250>With <00:22:20.716>Java <00:22:21.183>14, <00:22:21.650>uh,

316
00:22:23.220 --> 00:22:27.720
<00:22:23.220>we <00:22:23.420>have <00:22:23.620>helpful <00:22:23.820>null, <00:22:24.020>uh, <00:22:24.220>pointer <00:22:24.420>exceptions, <00:22:24.620>uh,

317
00:22:27.730 --> 00:22:32.520
<00:22:27.730>where <00:22:27.870>we <00:22:28.010>have <00:22:28.150>information <00:22:28.290>about <00:22:28.430>which <00:22:28.570>was <00:22:28.710>the <00:22:28.850>variable <00:22:28.990>that <00:22:29.130>was

318
00:22:32.520 --> 00:22:36.120
<00:22:32.520>causing <00:22:32.753>the <00:22:32.986>null <00:22:33.220>pointer <00:22:33.453>exception <00:22:33.686>expression <00:22:33.920>switch.

319
00:22:36.540 --> 00:22:40.520
<00:22:36.540>So <00:22:36.773>now <00:22:37.006>we <00:22:37.240>can <00:22:37.473>have <00:22:37.706>switch, <00:22:37.940>uh,

320
00:22:40.870 --> 00:22:45.080
<00:22:40.870>used <00:22:40.977>as <00:22:41.085>an <00:22:41.193>expression, <00:22:41.300>so <00:22:41.408>directly <00:22:41.516>we <00:22:41.623>can <00:22:41.731>assign <00:22:41.839>a <00:22:41.946>variable <00:22:42.054>to <00:22:42.162>the, <00:22:42.270>uh,

321
00:22:45.840 --> 00:22:50.400
<00:22:45.840>returned <00:22:45.947>value <00:22:46.055>of <00:22:46.163>a <00:22:46.270>switch. <00:22:46.378>And <00:22:46.486>then <00:22:46.593>we <00:22:46.701>don't <00:22:46.809>need <00:22:46.916>to <00:22:47.024>use <00:22:47.132>the <00:22:47.240>brake,

322
00:22:50.980 --> 00:22:54.800
<00:22:50.980>uh, <00:22:51.260>command <00:22:51.540>in <00:22:51.820>order <00:22:52.100>to, <00:22:52.380>uh,

323
00:22:56.150 --> 00:22:58.170
<00:22:56.150>to <00:22:56.500>avoid <00:22:56.850>that. <00:22:57.200>This, <00:22:57.550>uh,

324
00:22:58.190 --> 00:23:02.970
<00:22:58.190>two <00:22:58.317>different <00:22:58.444>conditions <00:22:58.571>have <00:22:58.699>been <00:22:58.826>executed <00:22:58.953>because <00:22:59.080>we <00:22:59.208>forgot <00:22:59.335>to <00:22:59.462>add, <00:22:59.590>uh,

325
00:23:03.370 --> 00:23:05.570
<00:23:03.370>a <00:23:03.719>break <00:23:04.070>from <00:23:04.419>Java <00:23:04.770>15.

326
00:23:05.870 --> 00:23:10.570
<00:23:05.870>We <00:23:06.010>will <00:23:06.149>have <00:23:06.290>text <00:23:06.429>blocks <00:23:06.570>in <00:23:06.709>order <00:23:06.850>to <00:23:06.989>have <00:23:07.129>multi-line, <00:23:07.270>uh,

327
00:23:11.080 --> 00:23:12.610
<00:23:11.080>text <00:23:12.456>variables,

328
00:23:13.410 --> 00:23:16.270
<00:23:13.410>the <00:23:13.690>new <00:23:13.970>Z <00:23:14.250>GC <00:23:14.530>garbage <00:23:14.810>collector,

329
00:23:18.600 --> 00:23:19.980
<00:23:18.600>and <00:23:19.014>from <00:23:19.428>Java <00:23:19.842>16,

330
00:23:20.480 --> 00:23:25.060
<00:23:20.480>we <00:23:20.620>are <00:23:20.760>going <00:23:20.900>to <00:23:21.040>have <00:23:21.180>another <00:23:21.320>human <00:23:21.460>readable <00:23:21.600>format <00:23:21.740>for <00:23:21.880>dates.

331
00:23:26.360 --> 00:23:29.220
<00:23:26.360>Uh, <00:23:26.709>another <00:23:27.060>method <00:23:27.409>directly, <00:23:27.760>uh,

332
00:23:29.590 --> 00:23:34.140
<00:23:29.590>converting <00:23:29.730>a <00:23:29.870>stream <00:23:30.010>to <00:23:30.149>a <00:23:30.290>list <00:23:30.429>without <00:23:30.570>using <00:23:30.709>co, <00:23:30.850>uh, <00:23:30.990>collectors,

333
00:23:34.960 --> 00:23:39.340
<00:23:34.960>the <00:23:35.160>interaction <00:23:35.360>of <00:23:35.560>records <00:23:35.760>that <00:23:35.960>are <00:23:36.160>data <00:23:36.360>handlers,

334
00:23:40.160 --> 00:23:40.890
uh,

335
00:23:40.890 --> 00:23:45.880
<00:23:40.890>that <00:23:41.123>will <00:23:41.356>give <00:23:41.590>several <00:23:41.823>features <00:23:42.056>that <00:23:42.290>before

336
00:23:45.940 --> 00:23:49.000
<00:23:45.940>we <00:23:46.115>needed <00:23:46.290>to <00:23:46.465>create. <00:23:46.640>So <00:23:46.815>now <00:23:46.990>it's, <00:23:47.165>uh, <00:23:47.340>again,

337
00:23:49.320 --> 00:23:52.480
<00:23:49.320>reducing <00:23:49.600>the <00:23:49.879>verbosity <00:23:50.159>and <00:23:50.439>also, <00:23:50.720>uh,

338
00:23:52.760 --> 00:23:56.000
<00:23:52.760>incrementing <00:23:53.110>the <00:23:53.460>security <00:23:53.810>because, <00:23:54.160>uh,

339
00:23:56.110 --> 00:23:58.560
<00:23:56.110>it's <00:23:56.459>introducing <00:23:56.810>in <00:23:57.159>mutability <00:23:57.510>in,

340
00:23:58.780 --> 00:24:03.480
<00:23:58.780>in <00:23:58.907>these <00:23:59.034>elements <00:23:59.161>and <00:23:59.289>pattern <00:23:59.416>matching, <00:23:59.543>for <00:23:59.670>instance <00:23:59.798>of, <00:23:59.925>so <00:24:00.052>now <00:24:00.180>again,

341
00:24:03.720 --> 00:24:08.720
<00:24:03.720>reducing <00:24:03.860>purposity, <00:24:04.000>because <00:24:04.140>we <00:24:04.280>can <00:24:04.420>have <00:24:04.560>in <00:24:04.700>one <00:24:04.840>single <00:24:04.980>line, <00:24:05.120>um,

342
00:24:09.980 --> 00:24:14.390
<00:24:09.980>uh, <00:24:10.260>the, <00:24:10.540>uh, <00:24:10.820>casting <00:24:11.100>and, <00:24:11.380>uh,

343
00:24:15.190 --> 00:24:18.070
<00:24:15.190>checking <00:24:15.423>for <00:24:15.656>the <00:24:15.890>inheritance <00:24:16.123>of <00:24:16.356>an <00:24:16.590>object,

344
00:24:18.860 --> 00:24:22.750
<00:24:18.860>Java <00:24:19.060>17 <00:24:19.260>with <00:24:19.459>seal <00:24:19.659>classes <00:24:19.860>where <00:24:20.060>we <00:24:20.260>define

345
00:24:24.180 --> 00:24:28.630
<00:24:24.180>well <00:24:24.320>the <00:24:24.460>boundaries <00:24:24.600>of <00:24:24.740>a <00:24:24.880>class, <00:24:25.020>let's <00:24:25.160>say, <00:24:25.300>who <00:24:25.440>can, <00:24:25.580>um,

346
00:24:30.440 --> 00:24:32.300
<00:24:30.440>extend <00:24:30.906>or <00:24:31.373>implement, <00:24:31.840>uh,

347
00:24:32.580 --> 00:24:37.010
<00:24:32.580>a <00:24:32.813>class <00:24:33.046>and <00:24:33.280>avoiding <00:24:33.513>that <00:24:33.746>any <00:24:33.980>others

348
00:24:37.590 --> 00:24:42.010
<00:24:37.590>can <00:24:37.717>do <00:24:37.844>it. <00:24:37.971>So, <00:24:38.099>uh, <00:24:38.226>well, <00:24:38.353>we <00:24:38.480>will <00:24:38.608>see <00:24:38.735>in <00:24:38.862>a <00:24:38.990>second.

349
00:24:43.510 --> 00:24:47.810
<00:24:43.510>So, <00:24:43.617>recording, <00:24:43.725>uh, <00:24:43.833>regarding <00:24:43.940>the <00:24:44.048>new <00:24:44.156>a <00:24:44.263>p <00:24:44.371>i <00:24:44.479>methods <00:24:44.586>coming <00:24:44.694>from <00:24:44.802>Java <00:24:44.910>12,

350
00:24:48.430 --> 00:24:51.330
<00:24:48.430>we <00:24:48.710>have <00:24:48.990>indent <00:24:49.270>and <00:24:49.550>transform <00:24:49.830>indent.

351
00:24:51.680 --> 00:24:56.290
<00:24:51.680>It's <00:24:51.807>obvious <00:24:51.934>in <00:24:52.061>order <00:24:52.189>to <00:24:52.316>introduce <00:24:52.443>spaces <00:24:52.570>on <00:24:52.698>the <00:24:52.825>left <00:24:52.952>l <00:24:53.080>transform

352
00:24:56.400 --> 00:24:57.770
<00:24:56.400>that <00:24:56.708>now <00:24:57.016>for <00:24:57.324>a <00:24:57.633>string,

353
00:24:58.430 --> 00:25:03.130
<00:24:58.430>it <00:24:58.585>accepts <00:24:58.741>a <00:24:58.896>function <00:24:59.052>that <00:24:59.207>will <00:24:59.363>be <00:24:59.518>executed <00:24:59.674>for <00:24:59.830>that

354
00:25:03.130 --> 00:25:06.570
<00:25:03.130>string <00:25:03.330>in <00:25:03.530>order <00:25:03.730>to <00:25:03.930>return <00:25:04.130>a <00:25:04.330>transformed <00:25:04.530>value

355
00:25:08.030 --> 00:25:08.863
<00:25:08.030>for <00:25:08.779>files,

356
00:25:08.990 --> 00:25:13.930
<00:25:08.990>we <00:25:09.106>have <00:25:09.223>mismatch <00:25:09.340>that <00:25:09.456>will <00:25:09.573>check <00:25:09.690>if <00:25:09.806>two <00:25:09.923>different <00:25:10.040>files <00:25:10.156>are <00:25:10.273>the <00:25:10.390>same,

357
00:25:14.670 --> 00:25:17.970
<00:25:14.670>and <00:25:14.845>on <00:25:15.020>otherwise <00:25:15.195>it <00:25:15.370>will <00:25:15.545>return <00:25:15.720>the <00:25:15.895>first <00:25:16.070>character.

358
00:25:18.680 --> 00:25:21.020
<00:25:18.680>That <00:25:19.146>is <00:25:19.613>different, <00:25:20.080>again,

359
00:25:21.460 --> 00:25:26.100
<00:25:21.460>reducing <00:25:21.693>and <00:25:21.926>making <00:25:22.160>things <00:25:22.393>more <00:25:22.626>consistent <00:25:22.860>because

360
00:25:26.130 --> 00:25:28.260
<00:25:26.130>everybody <00:25:26.410>will <00:25:26.690>use <00:25:26.970>the <00:25:27.250>same <00:25:27.530>approach.

361
00:25:29.840 --> 00:25:34.430
<00:25:29.840>The <00:25:29.995>team <00:25:30.151>collector <00:25:30.306>in <00:25:30.462>this <00:25:30.617>case <00:25:30.773>is <00:25:30.928>a <00:25:31.084>collector <00:25:31.240>that

362
00:25:34.980 --> 00:25:39.310
<00:25:34.980>uses <00:25:35.180>two <00:25:35.380>collectors <00:25:35.580>and <00:25:35.780>a <00:25:35.980>merge <00:25:36.180>function. <00:25:36.380>Basically,

363
00:25:39.690 --> 00:25:43.870
<00:25:39.690>all <00:25:39.817>the <00:25:39.944>elements <00:25:40.071>will <00:25:40.199>be <00:25:40.326>passed <00:25:40.453>through <00:25:40.580>the <00:25:40.708>first <00:25:40.835>collector <00:25:40.962>and <00:25:41.090>again,

364
00:25:44.130 --> 00:25:45.550
<00:25:44.130>to <00:25:44.556>the <00:25:44.982>second <00:25:45.408>collector,

365
00:25:46.930 --> 00:25:51.590
<00:25:46.930>and <00:25:47.046>the <00:25:47.163>result <00:25:47.280>of <00:25:47.396>those <00:25:47.513>collectors <00:25:47.630>are <00:25:47.746>going <00:25:47.863>to <00:25:47.980>be <00:25:48.096>used <00:25:48.213>in <00:25:48.330>the

366
00:25:51.640 --> 00:25:55.430
<00:25:51.640>merge <00:25:51.815>function. <00:25:51.990>In <00:25:52.165>this <00:25:52.340>case, <00:25:52.515>it's <00:25:52.690>a <00:25:52.865>direct <00:25:53.040>usage,

367
00:25:56.100 --> 00:26:00.430
<00:25:56.100>easy <00:25:56.227>one, <00:25:56.354>it's <00:25:56.481>in <00:25:56.609>order <00:25:56.736>to <00:25:56.863>calculate <00:25:56.990>the <00:25:57.118>average <00:25:57.245>of <00:25:57.372>a <00:25:57.500>list.

368
00:26:01.090 --> 00:26:04.310
<00:26:01.090>So <00:26:01.264>with <00:26:01.439>those <00:26:01.615>two <00:26:01.790>collectors, <00:26:01.965>one <00:26:02.139>collector <00:26:02.314>is <00:26:02.490>summing,

369
00:26:05.050 --> 00:26:06.350
<00:26:05.050>the <00:26:05.342>other <00:26:05.635>collector <00:26:05.927>is <00:26:06.219>counting,

370
00:26:07.450 --> 00:26:10.870
<00:26:07.450>and <00:26:07.650>then <00:26:07.850>the <00:26:08.050>merge <00:26:08.250>function <00:26:08.450>is <00:26:08.650>dividing, <00:26:08.850>uh,

371
00:26:11.890 --> 00:26:16.270
<00:26:11.890>the <00:26:12.123>sum <00:26:12.356>by <00:26:12.590>the <00:26:12.823>count, <00:26:13.056>very <00:26:13.290>easy.

372
00:26:16.810 --> 00:26:19.150
<00:26:16.810>And <00:26:17.159>again, <00:26:17.510>it's <00:26:17.860>also, <00:26:18.210>uh,

373
00:26:19.670 --> 00:26:24.300
<00:26:19.670>reducing <00:26:19.950>varsity <00:26:20.230>and <00:26:20.510>consi <00:26:20.790>incrementing <00:26:21.070>consistency,

374
00:26:24.370 --> 00:26:25.740
<00:26:24.370>because <00:26:24.986>with <00:26:25.603>this,

375
00:26:25.890 --> 00:26:30.140
<00:26:25.890>everybody <00:26:26.030>is <00:26:26.170>going <00:26:26.310>to <00:26:26.450>use <00:26:26.590>the <00:26:26.730>same <00:26:26.870>approach <00:26:27.010>to <00:26:27.150>the <00:26:27.290>same

376
00:26:30.570 --> 00:26:35.520
<00:26:30.570>problem. <00:26:30.850>Regarding <00:26:31.129>the <00:26:31.409>compact <00:26:31.689>number <00:26:31.970>formatting,

377
00:26:35.790 --> 00:26:39.640
<00:26:35.790>well, <00:26:36.023>it's, <00:26:36.256>uh, <00:26:36.490>in <00:26:36.723>order <00:26:36.956>to, <00:26:37.190>again,

378
00:26:40.230 --> 00:26:41.840
<00:26:40.230>consistency <00:26:40.930>and <00:26:41.630>ity.

379
00:26:42.060 --> 00:26:46.560
<00:26:42.060>So <00:26:42.187>in <00:26:42.314>some <00:26:42.441>cases <00:26:42.569>that <00:26:42.696>we <00:26:42.823>need <00:26:42.950>to <00:26:43.078>put <00:26:43.205>on <00:26:43.332>screen <00:26:43.460>or

380
00:26:46.960 --> 00:26:49.840
<00:26:46.960>whatever, <00:26:47.240>um, <00:26:47.520>a <00:26:47.800>human <00:26:48.080>readable <00:26:48.360>number,

381
00:26:51.710 --> 00:26:56.680
<00:26:51.710>then <00:26:51.826>we <00:26:51.943>needed <00:26:52.060>to <00:26:52.176>transform <00:26:52.293>1000 <00:26:52.410>into <00:26:52.526>one <00:26:52.643>K. <00:26:52.760>If <00:26:52.876>we <00:26:52.993>are <00:26:53.110>using,

382
00:26:57.200 --> 00:26:58.400
<00:26:57.200>I <00:26:57.470>don't <00:26:57.740>know, <00:26:58.010>money <00:26:58.280>or

383
00:27:01.440 --> 00:27:03.730
<00:27:01.440>basically <00:27:02.140>money, <00:27:02.840>uh,

384
00:27:04.270 --> 00:27:08.970
<00:27:04.270>and <00:27:04.377>also <00:27:04.485>if <00:27:04.593>you <00:27:04.700>want <00:27:04.808>to <00:27:04.916>be <00:27:05.023>more <00:27:05.131>human <00:27:05.239>readable <00:27:05.346>and <00:27:05.454>you <00:27:05.562>want <00:27:05.670>to

385
00:27:08.970 --> 00:27:11.930
<00:27:08.970>convert <00:27:09.436>2000 <00:27:09.903>into <00:27:10.370>2000,

386
00:27:12.150 --> 00:27:16.290
<00:27:12.150>so <00:27:12.325>instead <00:27:12.500>of <00:27:12.675>everybody <00:27:12.850>doing <00:27:13.025>their <00:27:13.200>changes <00:27:13.375>with <00:27:13.550>this,

387
00:27:16.750 --> 00:27:19.810
<00:27:16.750>we <00:27:16.925>are <00:27:17.100>going <00:27:17.275>to <00:27:17.450>have <00:27:17.625>exactly <00:27:17.800>the <00:27:17.975>same, <00:27:18.150>uh,

388
00:27:20.910 --> 00:27:24.770
<00:27:20.910>and <00:27:21.143>in <00:27:21.376>a <00:27:21.610>less <00:27:21.843>ity <00:27:22.076>way, <00:27:22.310>again,

389
00:27:25.400 --> 00:27:28.730
<00:27:25.400>more <00:27:25.680>consistent <00:27:25.960>because <00:27:26.240>everybody <00:27:26.520>should <00:27:26.800>do,

390
00:27:28.750 --> 00:27:33.570
<00:27:28.750>should <00:27:28.850>use <00:27:28.950>the <00:27:29.050>same <00:27:29.150>approach <00:27:29.250>in <00:27:29.350>order <00:27:29.450>to <00:27:29.550>give <00:27:29.650>a <00:27:29.750>solution <00:27:29.850>for <00:27:29.950>the <00:27:30.050>same <00:27:30.150>problem

391
00:27:36.570 --> 00:27:40.820
<00:27:36.570>With, <00:27:36.697>uh, <00:27:36.824>no <00:27:36.951>pointer <00:27:37.079>exceptions, <00:27:37.206>well, <00:27:37.333>it's <00:27:37.460>been, <00:27:37.588>it's <00:27:37.715>been <00:27:37.842>a, <00:27:37.970>a,

392
00:27:40.980 --> 00:27:45.780
<00:27:40.980>a <00:27:41.107>problem <00:27:41.234>in <00:27:41.361>the <00:27:41.489>past <00:27:41.616>where <00:27:41.743>you <00:27:41.870>had, <00:27:41.998>uh, <00:27:42.125>lines <00:27:42.252>with, <00:27:42.380>uh,

393
00:27:45.780 --> 00:27:49.140
<00:27:45.780>different, <00:27:46.129>uh, <00:27:46.480>elements, <00:27:46.830>objects, <00:27:47.180>uh,

394
00:27:49.150 --> 00:27:53.780
<00:27:49.150>being <00:27:49.290>taken <00:27:49.430>into <00:27:49.570>consideration. <00:27:49.710>And <00:27:49.850>when <00:27:49.990>you <00:27:50.130>received <00:27:50.270>annu <00:27:50.410>pointer <00:27:50.550>exception,

395
00:27:53.880 --> 00:27:57.620
<00:27:53.880>you <00:27:54.055>knew <00:27:54.230>the <00:27:54.405>line <00:27:54.580>that <00:27:54.755>was <00:27:54.930>causing <00:27:55.105>that <00:27:55.280>issue,

396
00:27:58.240 --> 00:28:02.380
<00:27:58.240>but <00:27:58.367>you <00:27:58.494>didn't <00:27:58.621>know, <00:27:58.749>you <00:27:58.876>didn't <00:27:59.003>know, <00:27:59.130>um, <00:27:59.258>which <00:27:59.385>was <00:27:59.512>the <00:27:59.640>variable.

397
00:28:02.680 --> 00:28:07.500
<00:28:02.680>So <00:28:02.787>with <00:28:02.895>the <00:28:03.003>example <00:28:03.110>on <00:28:03.218>the <00:28:03.326>top, <00:28:03.433>if <00:28:03.541>that <00:28:03.649>gives <00:28:03.756>a <00:28:03.864>no <00:28:03.972>pointer <00:28:04.080>exception,

398
00:28:07.600 --> 00:28:11.020
<00:28:07.600>we <00:28:07.727>don't <00:28:07.854>know <00:28:07.981>if <00:28:08.109>it's <00:28:08.236>A, <00:28:08.363>B <00:28:08.490>or <00:28:08.618>C <00:28:08.745>who <00:28:08.872>is <00:28:09.000>null.

399
00:28:12.950 --> 00:28:15.490
<00:28:12.950>So <00:28:13.150>in <00:28:13.350>order <00:28:13.550>to <00:28:13.750>help <00:28:13.950>us <00:28:14.150>to, <00:28:14.350>uh,

400
00:28:16.790 --> 00:28:19.180
<00:28:16.790>to <00:28:17.256>fix <00:28:17.723>issues <00:28:18.190>faster,

401
00:28:19.760 --> 00:28:23.460
<00:28:19.760>or <00:28:19.900>at <00:28:20.040>least <00:28:20.180>to <00:28:20.320>know <00:28:20.460>the <00:28:20.600>information <00:28:20.740>to <00:28:20.879>fix <00:28:21.020>them <00:28:21.160>faster,

402
00:28:24.920 --> 00:28:29.500
<00:28:24.920>now, <00:28:25.060>uh, <00:28:25.200>we <00:28:25.340>will <00:28:25.480>have <00:28:25.620>the <00:28:25.760>same <00:28:25.900>no <00:28:26.040>pointer <00:28:26.180>exception, <00:28:26.320>but,

403
00:28:30.400 --> 00:28:30.720
uh,

404
00:28:30.720 --> 00:28:35.420
<00:28:30.720>it <00:28:30.827>will <00:28:30.935>contain <00:28:31.043>the <00:28:31.150>description <00:28:31.258>of <00:28:31.366>which <00:28:31.473>is <00:28:31.581>the <00:28:31.689>field <00:28:31.796>that <00:28:31.904>is <00:28:32.012>causing <00:28:32.120>the

405
00:28:36.550 --> 00:28:39.060
<00:28:36.550>field <00:28:36.899>because <00:28:37.250>the <00:28:37.600>object, <00:28:37.950>uh,

406
00:28:39.060 --> 00:28:43.420
<00:28:39.060>that <00:28:39.200>it <00:28:39.340>is <00:28:39.480>causing <00:28:39.620>the <00:28:39.760>null <00:28:39.899>pointer <00:28:40.040>exception <00:28:40.179>on <00:28:40.320>Java <00:28:40.460>14,

407
00:28:43.760 --> 00:28:45.580
<00:28:43.760>we <00:28:44.110>needed <00:28:44.460>to <00:28:44.810>enable <00:28:45.160>this.

408
00:28:46.040 --> 00:28:50.980
<00:28:46.040>So <00:28:46.180>it <00:28:46.320>was <00:28:46.460>disabled <00:28:46.600>by <00:28:46.740>default <00:28:46.879>with, <00:28:47.020>uh, <00:28:47.159>this, <00:28:47.300>uh, <00:28:47.440>property.

409
00:28:51.800 --> 00:28:56.300
<00:28:51.800>But <00:28:51.975>from <00:28:52.149>Java <00:28:52.325>15, <00:28:52.500>this <00:28:52.675>is <00:28:52.850>true <00:28:53.024>by <00:28:53.200>default.

410
00:28:59.770 --> 00:29:04.580
<00:28:59.770>Also, <00:28:59.897>we <00:29:00.024>have <00:29:00.151>coming <00:29:00.279>from <00:29:00.406>Java <00:29:00.533>14, <00:29:00.660>the <00:29:00.788>switch <00:29:00.915>expression. <00:29:01.042>So <00:29:01.170>it's,

411
00:29:05.280 --> 00:29:09.240
<00:29:05.280>I, <00:29:05.407>I <00:29:05.534>think <00:29:05.661>it's, <00:29:05.789>this <00:29:05.916>code <00:29:06.043>is <00:29:06.170>self-explanatory. <00:29:06.298>So <00:29:06.425>on <00:29:06.552>the <00:29:06.680>left,

412
00:29:09.500 --> 00:29:13.870
<00:29:09.500>we <00:29:09.627>have <00:29:09.754>a <00:29:09.881>switch, <00:29:10.009>uh, <00:29:10.136>that, <00:29:10.263>uh, <00:29:10.390>we <00:29:10.518>use <00:29:10.645>in <00:29:10.772>order <00:29:10.900>to,

413
00:29:14.290 --> 00:29:15.123
uh,

414
00:29:15.770 --> 00:29:20.670
<00:29:15.770>to <00:29:15.897>have <00:29:16.024>how <00:29:16.151>many <00:29:16.279>letters <00:29:16.406>are <00:29:16.533>in <00:29:16.660>each <00:29:16.788>day <00:29:16.915>of <00:29:17.042>the <00:29:17.170>week.

415
00:29:21.610 --> 00:29:26.460
<00:29:21.610>In <00:29:21.765>this <00:29:21.921>case, <00:29:22.076>we <00:29:22.232>could <00:29:22.387>miss <00:29:22.543>the <00:29:22.698>break <00:29:22.854>on <00:29:23.010>the

416
00:29:27.280 --> 00:29:31.980
<00:29:27.280>Sunday <00:29:27.455>part, <00:29:27.629>and <00:29:27.805>definitely <00:29:27.980>the <00:29:28.155>result <00:29:28.330>would <00:29:28.504>be, <00:29:28.680>uh,

417
00:29:31.980 --> 00:29:36.150
<00:29:31.980>different <00:29:32.180>and <00:29:32.380>it <00:29:32.580>would <00:29:32.780>be <00:29:32.980>hard <00:29:33.180>to <00:29:33.380>get,

418
00:29:36.360 --> 00:29:41.320
<00:29:36.360>which <00:29:36.467>is <00:29:36.575>the, <00:29:36.683>which <00:29:36.790>is <00:29:36.898>the <00:29:37.006>error. <00:29:37.113>And <00:29:37.221>also <00:29:37.329>we <00:29:37.436>need <00:29:37.544>to <00:29:37.652>have, <00:29:37.760>uh,

419
00:29:41.820 --> 00:29:46.120
<00:29:41.820>in <00:29:41.947>this <00:29:42.074>case <00:29:42.201>an <00:29:42.329>intermediate <00:29:42.456>variable <00:29:42.583>that <00:29:42.710>it <00:29:42.838>is <00:29:42.965>assigned <00:29:43.092>every <00:29:43.220>time.

420
00:29:46.780 --> 00:29:51.600
<00:29:46.780>And <00:29:46.907>then, <00:29:47.034>uh, <00:29:47.161>having <00:29:47.289>breaks <00:29:47.416>and <00:29:47.543>then <00:29:47.670>doing <00:29:47.798>what <00:29:47.925>it's, <00:29:48.052>uh, <00:29:48.180>doing.

421
00:29:52.060 --> 00:29:56.400
<00:29:52.060>In <00:29:52.176>this <00:29:52.293>case, <00:29:52.409>we <00:29:52.526>could <00:29:52.643>even <00:29:52.760>directly, <00:29:52.876>so <00:29:52.993>on <00:29:53.110>the, <00:29:53.226>on <00:29:53.343>the <00:29:53.460>right,

422
00:29:56.540 --> 00:30:00.720
<00:29:56.540>I'm <00:29:56.773>using <00:29:57.006>the <00:29:57.240>same, <00:29:57.473>uh, <00:29:57.706>intermediate <00:29:57.940>variable,

423
00:30:00.720 --> 00:30:02.760
<00:30:00.720>just <00:30:00.920>to <00:30:01.120>make <00:30:01.320>it <00:30:01.520>clear. <00:30:01.720>But <00:30:01.920>we <00:30:02.120>could,

424
00:30:02.940 --> 00:30:07.280
<00:30:02.940>we <00:30:03.047>could <00:30:03.155>simply <00:30:03.263>remove <00:30:03.370>that <00:30:03.478>intermediate <00:30:03.586>variable <00:30:03.693>and <00:30:03.801>use <00:30:03.909>it <00:30:04.016>in <00:30:04.124>the <00:30:04.232>print <00:30:04.340>line.

425
00:30:08.760 --> 00:30:10.380
<00:30:08.760>We <00:30:09.040>would <00:30:09.320>get <00:30:09.600>rid <00:30:09.879>of, <00:30:10.160>uh,

426
00:30:10.680 --> 00:30:14.060
<00:30:10.680>use <00:30:10.855>useless <00:30:11.030>intermediate <00:30:11.205>variables <00:30:11.380>that <00:30:11.555>we <00:30:11.730>should <00:30:11.905>not <00:30:12.080>use,

427
00:30:14.680 --> 00:30:19.490
<00:30:14.680>but <00:30:15.030>also <00:30:15.380>it's <00:30:15.730>way <00:30:16.080>clearer

428
00:30:19.960 --> 00:30:24.130
<00:30:19.960>what <00:30:20.135>it's <00:30:20.310>doing, <00:30:20.485>and <00:30:20.660>we <00:30:20.835>are <00:30:21.010>reducing <00:30:21.185>the, <00:30:21.360>hmm,

429
00:30:24.710 --> 00:30:29.690
<00:30:24.710>the <00:30:24.826>possibility <00:30:24.943>of <00:30:25.060>introducing <00:30:25.176>an <00:30:25.293>error <00:30:25.410>because <00:30:25.526>we <00:30:25.643>missed <00:30:25.760>one <00:30:25.876>break <00:30:25.993>on <00:30:26.110>the

430
00:30:29.690 --> 00:30:34.150
<00:30:29.690>right. <00:30:29.845>We <00:30:30.001>don't <00:30:30.156>use <00:30:30.312>breaks. <00:30:30.467>So <00:30:30.623>it's <00:30:30.778>very <00:30:30.934>clear, <00:30:31.090>faster,

431
00:30:34.530 --> 00:30:39.510
<00:30:34.530>and <00:30:34.646>we <00:30:34.763>are <00:30:34.879>reducing <00:30:34.996>the <00:30:35.113>complexity <00:30:35.230>of <00:30:35.346>the <00:30:35.463>code <00:30:35.580>that <00:30:35.696>it's <00:30:35.813>also <00:30:35.930>very

432
00:30:39.510 --> 00:30:43.830
<00:30:39.510>important. <00:30:39.637>So <00:30:39.764>this, <00:30:39.891>this <00:30:40.019>feature, <00:30:40.146>for <00:30:40.273>me, <00:30:40.400>it <00:30:40.528>was <00:30:40.655>important <00:30:40.782>because, <00:30:40.910>uh,

433
00:30:43.990 --> 00:30:45.470
<00:30:43.990>I <00:30:44.434>think <00:30:44.878>that, <00:30:45.322>uh,

434
00:30:45.560 --> 00:30:49.830
<00:30:45.560>apart <00:30:45.715>from <00:30:45.871>being <00:30:46.026>a <00:30:46.182>smart <00:30:46.337>developer <00:30:46.493>that <00:30:46.648>can <00:30:46.804>do <00:30:46.960>amazing,

435
00:30:50.050 --> 00:30:54.630
<00:30:50.050>tricky <00:30:50.225>things <00:30:50.399>is <00:30:50.575>super <00:30:50.750>interesting <00:30:50.925>that <00:30:51.100>the <00:30:51.274>code <00:30:51.450>is

436
00:30:54.840 --> 00:30:57.710
<00:30:54.840>clean, <00:30:55.040>the <00:30:55.240>code <00:30:55.439>is <00:30:55.639>easy <00:30:55.840>to <00:30:56.040>be <00:30:56.240>read,

437
00:30:58.450 --> 00:31:02.870
<00:30:58.450>and <00:30:58.566>it's <00:30:58.683>easy <00:30:58.800>to <00:30:58.916>get, <00:30:59.033>which <00:30:59.150>is <00:30:59.266>the <00:30:59.383>real <00:30:59.500>intention <00:30:59.616>of <00:30:59.733>the <00:30:59.850>code.

438
00:31:03.410 --> 00:31:07.270
<00:31:03.410>And <00:31:03.585>I, <00:31:03.760>and <00:31:03.935>also, <00:31:04.110>it's <00:31:04.285>hard <00:31:04.460>to <00:31:04.635>introduce <00:31:04.810>errors.

439
00:31:07.610 --> 00:31:12.150
<00:31:07.610>So <00:31:07.709>this <00:31:07.810>definitely <00:31:07.909>is <00:31:08.010>a <00:31:08.110>good, <00:31:08.209>uh, <00:31:08.310>feature <00:31:08.409>in <00:31:08.510>my, <00:31:08.610>in <00:31:08.709>my <00:31:08.810>point <00:31:08.909>of <00:31:09.010>view.

440
00:31:14.100 --> 00:31:16.750
<00:31:14.100>Also, <00:31:14.379>Java <00:31:14.659>15 <00:31:14.939>is <00:31:15.219>introducing, <00:31:15.500>uh,

441
00:31:18.900 --> 00:31:23.500
<00:31:18.900>Z <00:31:19.027>gc, <00:31:19.154>uh, <00:31:19.281>I <00:31:19.409>don't <00:31:19.536>know, <00:31:19.663>it's <00:31:19.790>J <00:31:19.918>GC <00:31:20.045>Z <00:31:20.172>G <00:31:20.300>C,

442
00:31:23.740 --> 00:31:25.980
<00:31:23.740>I <00:31:23.880>don't <00:31:24.020>know, <00:31:24.160>you <00:31:24.300>can <00:31:24.440>pronounce <00:31:24.580>it <00:31:24.720>how, <00:31:24.860>however <00:31:25.000>you <00:31:25.140>want.

443
00:31:26.520 --> 00:31:31.020
<00:31:26.520>And <00:31:26.647>it's <00:31:26.774>an <00:31:26.901>scalable <00:31:27.029>low <00:31:27.156>latency <00:31:27.283>garbage <00:31:27.410>collector <00:31:27.538>that <00:31:27.665>also <00:31:27.792>accepts, <00:31:27.920>um,

444
00:31:32.450 --> 00:31:37.290
<00:31:32.450>concurrency. <00:31:32.916>Um, <00:31:33.383>this <00:31:33.850>is,

445
00:31:37.350 --> 00:31:40.050
<00:31:37.350>uh, <00:31:37.699>a <00:31:38.050>new <00:31:38.399>garbage <00:31:38.750>collector

446
00:31:41.900 --> 00:31:46.200
<00:31:41.900>that <00:31:42.100>from <00:31:42.300>Java <00:31:42.500>17, <00:31:42.700>uh, <00:31:42.900>didn't <00:31:43.100>need <00:31:43.300>to,

447
00:31:47.340 --> 00:31:51.000
<00:31:47.340>uh, <00:31:47.456>the, <00:31:47.573>to <00:31:47.689>define <00:31:47.806>the <00:31:47.923>number <00:31:48.040>of <00:31:48.156>threats <00:31:48.273>that <00:31:48.389>you <00:31:48.506>want <00:31:48.623>to <00:31:48.740>use.

448
00:31:51.620 --> 00:31:56.240
<00:31:51.620>It <00:31:51.794>will <00:31:51.969>dynamically <00:31:52.145>scale <00:31:52.320>up <00:31:52.495>and <00:31:52.669>down <00:31:52.844>those, <00:31:53.020>uh,

449
00:31:56.270 --> 00:31:58.080
<00:31:56.270>threats <00:31:57.670>automatically.

450
00:32:00.600 --> 00:32:03.500
<00:32:00.600>The <00:32:00.774>important <00:32:00.949>part <00:32:01.125>here <00:32:01.300>is <00:32:01.475>that <00:32:01.649>you <00:32:01.824>should, <00:32:02.000>uh,

451
00:32:04.000 --> 00:32:06.220
<00:32:04.000>define <00:32:04.466>the <00:32:04.933>max <00:32:05.400>hip.

452
00:32:06.600 --> 00:32:10.500
<00:32:06.600>So <00:32:06.774>there <00:32:06.949>are <00:32:07.125>different <00:32:07.300>techniques <00:32:07.475>and <00:32:07.649>different, <00:32:07.824>um, <00:32:08.000>uh,

453
00:32:12.270 --> 00:32:17.260
<00:32:12.270>things <00:32:12.370>that <00:32:12.470>you <00:32:12.570>need <00:32:12.670>to <00:32:12.770>consider <00:32:12.870>in <00:32:12.970>order <00:32:13.070>to <00:32:13.170>define <00:32:13.270>the <00:32:13.370>hip, <00:32:13.470>but <00:32:13.570>it's, <00:32:13.670>uh,

454
00:32:17.480 --> 00:32:21.660
<00:32:17.480>it <00:32:17.587>has, <00:32:17.695>the <00:32:17.803>important <00:32:17.910>thing <00:32:18.018>here <00:32:18.126>is <00:32:18.233>that <00:32:18.341>it <00:32:18.449>has <00:32:18.556>so <00:32:18.664>millisecond <00:32:18.772>post <00:32:18.880>times,

455
00:32:21.720 --> 00:32:26.540
<00:32:21.720>so <00:32:21.847>it's <00:32:21.974>very <00:32:22.101>fast <00:32:22.229>and <00:32:22.356>it <00:32:22.483>doesn't <00:32:22.610>have <00:32:22.738>big <00:32:22.865>post <00:32:22.992>times, <00:32:23.120>uh,

456
00:32:26.920 --> 00:32:31.420
<00:32:26.920>as, <00:32:27.095>uh, <00:32:27.270>other, <00:32:27.445>uh, <00:32:27.620>garbage <00:32:27.795>collectors, <00:32:27.970>definitely, <00:32:28.145>it's, <00:32:28.320>uh,

457
00:32:33.070 --> 00:32:36.920
<00:32:33.070>it's <00:32:33.177>nice <00:32:33.285>to <00:32:33.393>take <00:32:33.500>a <00:32:33.608>look <00:32:33.716>and <00:32:33.823>see, <00:32:33.931>uh, <00:32:34.039>if <00:32:34.146>it <00:32:34.254>fits <00:32:34.362>for <00:32:34.470>us,

458
00:32:36.990 --> 00:32:40.800
<00:32:36.990>depending <00:32:37.165>on <00:32:37.340>the <00:32:37.515>usage, <00:32:37.690>a <00:32:37.865>garbage <00:32:38.040>collector <00:32:38.215>is, <00:32:38.390>uh,

459
00:32:40.950 --> 00:32:42.120
<00:32:40.950>more <00:32:41.301>productive <00:32:41.652>than <00:32:42.003>others.

460
00:32:42.260 --> 00:32:46.720
<00:32:42.260>In <00:32:42.415>this <00:32:42.571>case <00:32:42.726>is <00:32:42.882>when <00:32:43.037>you <00:32:43.193>have <00:32:43.348>very <00:32:43.504>huge <00:32:43.660>hips.

461
00:32:47.380 --> 00:32:49.360
<00:32:47.380>Um, <00:32:48.080>so, <00:32:48.780>uh,

462
00:32:51.350 --> 00:32:54.990
<00:32:51.350>then <00:32:51.583>well <00:32:51.816>again, <00:32:52.050>check <00:32:52.283>the <00:32:52.516>different, <00:32:52.750>uh,

463
00:32:54.990 --> 00:32:59.670
<00:32:54.990>garbage <00:32:55.190>collectors <00:32:55.390>and <00:32:55.590>use <00:32:55.790>the <00:32:55.990>one <00:32:56.190>that <00:32:56.390>fits,

464
00:32:59.810 --> 00:33:01.150
<00:32:59.810>uh, <00:33:00.212>best <00:33:00.614>for <00:33:01.016>you

465
00:33:03.300 --> 00:33:07.520
<00:33:03.300>regarding <00:33:03.580>text <00:33:03.860>blocks. <00:33:04.139>Another <00:33:04.419>important <00:33:04.700>feature,

466
00:33:08.270 --> 00:33:11.800
<00:33:08.270>well, <00:33:08.445>before <00:33:08.620>that <00:33:08.795>we <00:33:08.970>needed <00:33:09.145>to <00:33:09.320>do, <00:33:09.495>uh, <00:33:09.670>um,

467
00:33:13.620 --> 00:33:18.450
<00:33:13.620>there <00:33:13.736>was <00:33:13.853>a <00:33:13.969>feature <00:33:14.086>that <00:33:14.203>allowed <00:33:14.320>us <00:33:14.436>with <00:33:14.553>the <00:33:14.669>tick <00:33:14.786>to <00:33:14.903>introduce, <00:33:15.020>uh,

468
00:33:18.720 --> 00:33:23.690
<00:33:18.720>different, <00:33:18.895>um, <00:33:19.070>lines <00:33:19.245>of <00:33:19.420>text, <00:33:19.595>but <00:33:19.770>this <00:33:19.945>has <00:33:20.120>been,

469
00:33:23.950 --> 00:33:26.610
<00:33:23.950>uh, <00:33:24.300>removed <00:33:24.650>and <00:33:25.000>it's, <00:33:25.350>uh,

470
00:33:28.490 --> 00:33:32.410
<00:33:28.490>Followed <00:33:28.645>by <00:33:28.801>text <00:33:28.956>blocks. <00:33:29.112>So <00:33:29.267>now <00:33:29.423>with <00:33:29.578>three <00:33:29.734>double <00:33:29.890>quotes,

471
00:33:32.790 --> 00:33:37.650
<00:33:32.790>we <00:33:32.945>can <00:33:33.101>introduce <00:33:33.256>different <00:33:33.412>lines <00:33:33.567>and <00:33:33.723>it <00:33:33.878>will <00:33:34.034>respect, <00:33:34.190>uh,

472
00:33:37.790 --> 00:33:42.210
<00:33:37.790>the <00:33:37.945>spaces <00:33:38.101>and <00:33:38.256>the <00:33:38.412>lines. <00:33:38.567>Uh, <00:33:38.723>to <00:33:38.878>be <00:33:39.034>honest, <00:33:39.190>um,

473
00:33:42.770 --> 00:33:46.970
<00:33:42.770>I <00:33:42.870>didn't <00:33:42.970>know <00:33:43.070>about <00:33:43.170>these <00:33:43.270>two <00:33:43.370>features, <00:33:43.470>and <00:33:43.570>I <00:33:43.670>discovered <00:33:43.770>it <00:33:43.870>the <00:33:43.970>other <00:33:44.070>day. <00:33:44.170>So,

474
00:33:47.070 --> 00:33:52.010
<00:33:47.070>and <00:33:47.197>I <00:33:47.324>think <00:33:47.451>they <00:33:47.579>are <00:33:47.706>important. <00:33:47.833>So <00:33:47.960>if <00:33:48.088>you <00:33:48.215>add, <00:33:48.342>uh, <00:33:48.470>back,

475
00:33:52.190 --> 00:33:57.060
<00:33:52.190>uh, <00:33:52.890>uh, <00:33:53.590>Back,

476
00:33:57.160 --> 00:34:01.260
<00:33:57.160>uh, <00:33:57.393>back <00:33:57.626>line, <00:33:57.860>I <00:33:58.093>don't <00:33:58.326>know, <00:33:58.560>uh,

477
00:34:01.290 --> 00:34:06.140
<00:34:01.290>back <00:34:01.465>line <00:34:01.639>s <00:34:01.815>um, <00:34:01.990>this <00:34:02.165>will <00:34:02.340>add <00:34:02.514>a <00:34:02.690>space.

478
00:34:06.400 --> 00:34:10.660
<00:34:06.400>So <00:34:06.500>we <00:34:06.600>are, <00:34:06.700>because <00:34:06.800>if <00:34:06.900>not, <00:34:07.000>the <00:34:07.100>spaces <00:34:07.200>that <00:34:07.300>are <00:34:07.400>on <00:34:07.500>the <00:34:07.600>end <00:34:07.700>are <00:34:07.800>removed.

479
00:34:10.960 --> 00:34:15.660
<00:34:10.960>So <00:34:11.193>with <00:34:11.426>this, <00:34:11.659>uh, <00:34:11.893>backlash, <00:34:12.126>backlash <00:34:12.360>as,

480
00:34:16.160 --> 00:34:20.620
<00:34:16.159>uh, <00:34:16.335>we <00:34:16.509>can <00:34:16.685>introduce <00:34:16.859>explicit <00:34:17.034>spaces <00:34:17.210>on <00:34:17.384>the <00:34:17.560>right,

481
00:34:21.440 --> 00:34:25.060
<00:34:21.440>and <00:34:21.639>also <00:34:21.840>we <00:34:22.040>can <00:34:22.240>even <00:34:22.440>remove <00:34:22.639>new <00:34:22.840>lines.

482
00:34:25.160 --> 00:34:29.860
<00:34:25.159>So <00:34:25.299>we <00:34:25.440>can <00:34:25.580>have <00:34:25.719>new <00:34:25.859>lines <00:34:26.000>just <00:34:26.139>for <00:34:26.279>the <00:34:26.420>sake <00:34:26.560>of

483
00:34:30.230 --> 00:34:35.180
<00:34:30.230>being <00:34:30.405>more <00:34:30.580>readable, <00:34:30.755>but <00:34:30.929>we <00:34:31.105>can <00:34:31.280>say <00:34:31.455>to <00:34:31.630>Java,

484
00:34:35.290 --> 00:34:38.500
<00:34:35.290>okay, <00:34:35.465>but <00:34:35.639>this <00:34:35.815>line <00:34:35.989>is <00:34:36.165>only <00:34:36.340>to <00:34:36.514>beautify <00:34:36.690>it.

485
00:34:38.750 --> 00:34:43.140
<00:34:38.750>Don't <00:34:38.866>use <00:34:38.983>it <00:34:39.100>with <00:34:39.216>a <00:34:39.333>backslash. <00:34:39.449>Uh, <00:34:39.566>it <00:34:39.683>will <00:34:39.800>remove <00:34:39.916>the <00:34:40.033>new <00:34:40.150>line.

486
00:34:43.520 --> 00:34:48.100
<00:34:43.520>So <00:34:43.659>it's, <00:34:43.800>it's <00:34:43.940>interesting, <00:34:44.080>especially <00:34:44.219>if <00:34:44.360>you <00:34:44.500>are <00:34:44.639>using, <00:34:44.780>well, <00:34:44.920>HTMLs,

487
00:34:48.690 --> 00:34:53.340
<00:34:48.690>XMLs <00:34:48.889>jss <00:34:49.090>inside <00:34:49.290>your <00:34:49.490>code <00:34:49.690>definitely <00:34:49.889>is, <00:34:50.090>uh,

488
00:34:54.520 --> 00:34:58.620
<00:34:54.520>is <00:34:54.675>a <00:34:54.831>good <00:34:54.986>feature <00:34:55.142>that <00:34:55.297>will <00:34:55.453>allow <00:34:55.608>to <00:34:55.764>have <00:34:55.920>beautified,

489
00:34:59.360 --> 00:35:01.340
<00:34:59.360>uh, <00:35:00.060>long <00:35:00.760>strings

490
00:35:03.320 --> 00:35:07.780
<00:35:03.320>Coming <00:35:03.460>from <00:35:03.600>Java <00:35:03.740>16. <00:35:03.880>We <00:35:04.020>have <00:35:04.160>now, <00:35:04.300>uh, <00:35:04.440>the <00:35:04.580>pattern <00:35:04.720>matching,

491
00:35:08.040 --> 00:35:11.900
<00:35:08.040>for <00:35:08.240>instance <00:35:08.440>of, <00:35:08.640>and <00:35:08.840>this <00:35:09.040>case, <00:35:09.240>well, <00:35:09.440>again,

492
00:35:12.990 --> 00:35:16.440
<00:35:12.990>it's, <00:35:13.189>uh, <00:35:13.390>an <00:35:13.589>important <00:35:13.790>feature <00:35:13.990>to <00:35:14.189>reduce <00:35:14.390>verbosity,

493
00:35:16.620 --> 00:35:21.000
<00:35:16.620>but <00:35:16.759>also <00:35:16.900>to <00:35:17.040>imp <00:35:17.180>uh, <00:35:17.319>to <00:35:17.460>make <00:35:17.600>more <00:35:17.740>consistent <00:35:17.880>the <00:35:18.020>usage,

494
00:35:21.620 --> 00:35:24.400
<00:35:21.620>um, <00:35:21.819>of, <00:35:22.020>uh, <00:35:22.220>of <00:35:22.420>this <00:35:22.620>new <00:35:22.819>feature, <00:35:23.020>uh,

495
00:35:24.740 --> 00:35:28.120
<00:35:24.740>making <00:35:24.973>that <00:35:25.206>everyone <00:35:25.439>will <00:35:25.673>use <00:35:25.906>the <00:35:26.140>same,

496
00:35:28.120 --> 00:35:32.320
<00:35:28.120>because <00:35:28.275>Java <00:35:28.431>is <00:35:28.586>providing <00:35:28.742>the <00:35:28.897>way <00:35:29.053>to <00:35:29.208>do <00:35:29.364>the <00:35:29.520>this.

497
00:35:32.660 --> 00:35:33.493
<00:35:32.660>In <00:35:33.034>this <00:35:33.409>case,

498
00:35:33.700 --> 00:35:37.840
<00:35:33.700>if <00:35:33.816>we <00:35:33.933>want <00:35:34.049>to <00:35:34.166>check <00:35:34.283>if <00:35:34.399>an <00:35:34.516>object <00:35:34.633>is <00:35:34.750>an <00:35:34.866>instance <00:35:34.983>of <00:35:35.100>string,

499
00:35:38.300 --> 00:35:41.760
<00:35:38.300>we <00:35:38.440>need <00:35:38.580>to <00:35:38.720>use <00:35:38.860>this <00:35:39.000>instance <00:35:39.140>of <00:35:39.280>that <00:35:39.420>it <00:35:39.560>is, <00:35:39.700>uh,

500
00:35:42.550 --> 00:35:45.320
<00:35:42.550>only <00:35:42.750>a <00:35:42.950>vian <00:35:43.150>check. <00:35:43.350>And <00:35:43.550>if <00:35:43.750>it's <00:35:43.950>true,

501
00:35:45.630 --> 00:35:50.560
<00:35:45.630>then <00:35:45.770>we <00:35:45.910>need <00:35:46.050>to <00:35:46.190>cast <00:35:46.330>the <00:35:46.470>object <00:35:46.610>to <00:35:46.750>the <00:35:46.890>type <00:35:47.030>that's

502
00:35:50.800 --> 00:35:55.120
<00:35:50.800>redundant, <00:35:50.940>right? <00:35:51.080>And <00:35:51.220>then <00:35:51.360>use <00:35:51.500>it. <00:35:51.640>Now <00:35:51.780>with <00:35:51.920>the <00:35:52.060>pattern <00:35:52.200>matching,

503
00:35:55.780 --> 00:35:59.600
<00:35:55.780>it <00:35:55.907>is <00:35:56.034>doing <00:35:56.161>the <00:35:56.289>check <00:35:56.416>and <00:35:56.543>the <00:35:56.670>cast <00:35:56.798>in <00:35:56.925>the <00:35:57.052>same <00:35:57.180>line.

504
00:36:00.580 --> 00:36:05.560
<00:36:00.580>So, <00:36:00.696>uh, <00:36:00.813>just <00:36:00.930>doing <00:36:01.046>instance <00:36:01.163>of <00:36:01.279>string <00:36:01.396>s <00:36:01.513>that <00:36:01.630>it <00:36:01.746>is <00:36:01.863>the, <00:36:01.980>uh,

505
00:36:06.820 --> 00:36:07.450
<00:36:06.820>well, <00:36:07.386>the,

506
00:36:07.450 --> 00:36:12.150
<00:36:07.450>the <00:36:07.605>variable <00:36:07.761>that <00:36:07.916>has <00:36:08.072>the <00:36:08.227>object <00:36:08.383>well <00:36:08.538>in <00:36:08.694>the <00:36:08.850>type

507
00:36:12.620 --> 00:36:15.270
<00:36:12.620>that <00:36:12.775>we <00:36:12.931>are <00:36:13.086>checking, <00:36:13.242>and <00:36:13.397>then <00:36:13.553>we <00:36:13.708>can <00:36:13.864>use <00:36:14.020>it.

508
00:36:17.950 --> 00:36:22.120
<00:36:17.950>Another <00:36:18.149>important <00:36:18.350>feature <00:36:18.549>now <00:36:18.750>coming <00:36:18.950>from <00:36:19.149>Java <00:36:19.350>16,

509
00:36:23.100 --> 00:36:27.480
<00:36:23.100>is, <00:36:23.333>uh, <00:36:23.566>records. <00:36:23.799>Records, <00:36:24.033>uh, <00:36:24.266>are <00:36:24.500>providing,

510
00:36:28.010 --> 00:36:32.480
<00:36:28.010>again, <00:36:28.210>consistency <00:36:28.410>and <00:36:28.610>less <00:36:28.810>varsity <00:36:29.010>to <00:36:29.210>Java. <00:36:29.410>Uh,

511
00:36:32.620 --> 00:36:37.560
<00:36:32.620>before <00:36:32.727>that, <00:36:32.835>we <00:36:32.943>needed <00:36:33.050>to <00:36:33.158>create <00:36:33.266>a <00:36:33.373>class <00:36:33.481>that <00:36:33.589>was <00:36:33.696>defining <00:36:33.804>the <00:36:33.912>fields. <00:36:34.020>Also,

512
00:36:37.560 --> 00:36:40.280
<00:36:37.560>we <00:36:37.759>needed <00:36:37.960>to <00:36:38.160>create <00:36:38.360>the <00:36:38.560>constructor, <00:36:38.759>the <00:36:38.960>accessories,

513
00:36:41.020 --> 00:36:45.960
<00:36:41.020>the <00:36:41.120>equals <00:36:41.220>that <00:36:41.320>was <00:36:41.420>string <00:36:41.520>the <00:36:41.620>high <00:36:41.720>code, <00:36:41.820>different <00:36:41.920>methods, <00:36:42.020>and <00:36:42.120>it <00:36:42.220>was <00:36:42.320>not, <00:36:42.420>uh,

514
00:36:46.150 --> 00:36:50.640
<00:36:46.150>immutable. <00:36:46.305>Well, <00:36:46.461>we <00:36:46.616>can't, <00:36:46.772>we <00:36:46.927>can't <00:36:47.083>do <00:36:47.238>it <00:36:47.394>immutable, <00:36:47.550>uh,

515
00:36:51.260 --> 00:36:53.160
<00:36:51.260>but <00:36:51.493>it's <00:36:51.726>on <00:36:51.960>us <00:36:52.193>to <00:36:52.426>do <00:36:52.660>this.

516
00:36:53.460 --> 00:36:58.280
<00:36:53.460>But <00:36:53.660>now <00:36:53.860>we <00:36:54.060>have <00:36:54.260>records <00:36:54.460>that <00:36:54.660>are <00:36:54.860>immutable,

517
00:36:58.830 --> 00:37:02.760
<00:36:58.830>they <00:36:59.005>are <00:36:59.180>final, <00:36:59.355>so <00:36:59.529>you <00:36:59.705>cannot <00:36:59.880>extend <00:37:00.055>a <00:37:00.230>record.

518
00:37:03.620 --> 00:37:08.280
<00:37:03.620>And <00:37:03.736>that <00:37:03.853>provides, <00:37:03.970>uh, <00:37:04.086>out <00:37:04.203>of <00:37:04.319>the <00:37:04.436>box <00:37:04.553>all <00:37:04.670>the <00:37:04.786>same <00:37:04.903>features <00:37:05.020>and,

519
00:37:08.900 --> 00:37:09.733
um,

520
00:37:10.840 --> 00:37:15.100
<00:37:10.840>and <00:37:10.967>methods <00:37:11.094>that <00:37:11.221>we <00:37:11.349>have <00:37:11.476>on <00:37:11.603>the <00:37:11.730>lab <00:37:11.858>created <00:37:11.985>by <00:37:12.112>our <00:37:12.240>own.

521
00:37:15.480 --> 00:37:16.313
<00:37:15.480>And <00:37:16.229>again,

522
00:37:16.930 --> 00:37:21.820
<00:37:16.930>it's <00:37:17.163>creating <00:37:17.396>consistency <00:37:17.629>because <00:37:17.863>everybody <00:37:18.096>now <00:37:18.330>will

523
00:37:21.840 --> 00:37:26.380
<00:37:21.840>use <00:37:21.967>the <00:37:22.094>same <00:37:22.221>approach. <00:37:22.349>We, <00:37:22.476>when <00:37:22.603>you, <00:37:22.730>when <00:37:22.858>you <00:37:22.985>see <00:37:23.112>a <00:37:23.240>record,

524
00:37:26.600 --> 00:37:31.060
<00:37:26.600>you <00:37:26.740>know <00:37:26.880>exactly <00:37:27.020>that <00:37:27.160>it <00:37:27.299>is <00:37:27.440>an <00:37:27.580>immutable <00:37:27.720>data, <00:37:27.860>uh, <00:37:28.000>uh,

525
00:37:31.060 --> 00:37:35.700
<00:37:31.060>final <00:37:31.259>data <00:37:31.460>element. <00:37:31.660>Uh, <00:37:31.860>but <00:37:32.060>on <00:37:32.259>the <00:37:32.460>left,

526
00:37:35.960 --> 00:37:38.020
<00:37:35.960>you <00:37:36.160>know <00:37:36.360>that <00:37:36.560>it <00:37:36.760>is <00:37:36.960>a <00:37:37.160>class <00:37:37.360>point,

527
00:37:38.160 --> 00:37:42.980
<00:37:38.160>but <00:37:38.267>you <00:37:38.375>don't <00:37:38.483>know <00:37:38.590>if <00:37:38.698>it <00:37:38.806>is <00:37:38.913>more <00:37:39.021>than <00:37:39.129>a <00:37:39.236>simple, <00:37:39.344>uh, <00:37:39.452>data <00:37:39.560>element.

528
00:37:43.360 --> 00:37:47.740
<00:37:43.360>So <00:37:43.535>again, <00:37:43.710>reducing <00:37:43.885>varsity <00:37:44.060>and <00:37:44.235>adding <00:37:44.410>consistency <00:37:44.585>to, <00:37:44.760>uh,

529
00:37:48.200 --> 00:37:49.033
<00:37:48.200>the <00:37:48.949>language

530
00:37:50.890 --> 00:37:55.260
<00:37:50.890>with <00:37:51.045>Java <00:37:51.201>seven <00:37:51.356>16 <00:37:51.512>day <00:37:51.667>period <00:37:51.823>support, <00:37:51.978>uh, <00:37:52.134>with, <00:37:52.290>uh,

531
00:37:55.330 --> 00:37:59.700
<00:37:55.330>this <00:37:55.446>formatter <00:37:55.563>where <00:37:55.680>we <00:37:55.796>can <00:37:55.913>just <00:37:56.029>have <00:37:56.146>this <00:37:56.263>human <00:37:56.380>readable <00:37:56.496>three <00:37:56.613>in <00:37:56.730>the

532
00:37:59.700 --> 00:38:04.100
<00:37:59.700>afternoon. <00:37:59.827>We <00:37:59.954>have <00:38:00.081>different <00:38:00.209>options <00:38:00.336>in <00:38:00.463>order <00:38:00.590>to <00:38:00.718>have <00:38:00.845>different <00:38:00.972>lengths. <00:38:01.100>Uh,

533
00:38:04.440 --> 00:38:08.980
<00:38:04.440>but <00:38:04.580>yeah, <00:38:04.720>it's <00:38:04.860>a, <00:38:05.000>it's <00:38:05.140>adding <00:38:05.280>human <00:38:05.420>readable <00:38:05.560>format <00:38:05.700>to <00:38:05.840>dates.

534
00:38:10.750 --> 00:38:11.920
<00:38:10.750>With <00:38:11.276>Java <00:38:11.803>16,

535
00:38:12.260 --> 00:38:16.440
<00:38:12.260>we <00:38:12.353>have <00:38:12.446>the <00:38:12.540>two <00:38:12.633>list <00:38:12.726>that <00:38:12.820>before <00:38:12.913>that <00:38:13.006>we <00:38:13.100>needed <00:38:13.193>to <00:38:13.286>have <00:38:13.380>a <00:38:13.473>collector <00:38:13.566>and <00:38:13.660>collect

536
00:38:16.440 --> 00:38:17.273
<00:38:16.440>to <00:38:16.814>a <00:38:17.189>list.

537
00:38:17.420 --> 00:38:21.280
<00:38:17.420>Now <00:38:17.527>the <00:38:17.635>streams <00:38:17.743>are <00:38:17.850>already <00:38:17.958>having <00:38:18.066>the <00:38:18.173>two <00:38:18.281>list <00:38:18.389>that <00:38:18.496>will <00:38:18.604>return <00:38:18.712>the <00:38:18.820>list.

538
00:38:21.570 --> 00:38:24.680
<00:38:21.570>Again, <00:38:21.850>reducing <00:38:22.130>ity <00:38:22.410>and <00:38:22.690>adding <00:38:22.970>consistency.

539
00:38:26.380 --> 00:38:28.440
<00:38:26.380>Sealed <00:38:26.846>classes <00:38:27.313>are, <00:38:27.780>uh,

540
00:38:29.240 --> 00:38:34.080
<00:38:29.240>a <00:38:29.367>way <00:38:29.494>of <00:38:29.621>defining <00:38:29.749>who <00:38:29.876>can <00:38:30.003>extend <00:38:30.130>or <00:38:30.258>implement <00:38:30.385>a <00:38:30.512>class. <00:38:30.640>And,

541
00:38:34.460 --> 00:38:38.560
<00:38:34.460>but <00:38:34.600>even <00:38:34.740>we <00:38:34.880>can <00:38:35.020>redefine <00:38:35.160>in <00:38:35.300>the <00:38:35.440>middle <00:38:35.580>of <00:38:35.720>a <00:38:35.860>hierarchy

542
00:38:39.270 --> 00:38:42.520
<00:38:39.270>that, <00:38:39.410>uh, <00:38:39.550>that <00:38:39.690>feature. <00:38:39.830>So <00:38:39.970>in <00:38:40.110>this <00:38:40.250>case, <00:38:40.390>in <00:38:40.530>this <00:38:40.670>case,

543
00:38:42.620 --> 00:38:47.600
<00:38:42.620>we <00:38:42.775>have <00:38:42.931>shape <00:38:43.086>that <00:38:43.242>reads <00:38:43.397>a <00:38:43.553>seal <00:38:43.708>class <00:38:43.864>only <00:38:44.020>allow

544
00:38:47.600 --> 00:38:51.680
<00:38:47.600>it <00:38:47.755>circle, <00:38:47.911>rectangle, <00:38:48.066>square <00:38:48.222>or <00:38:48.377>wheel <00:38:48.533>shape <00:38:48.688>to <00:38:48.844>be <00:38:49.000>one,

545
00:38:51.700 --> 00:38:53.200
<00:38:51.700>the <00:38:51.924>ones <00:38:52.149>that <00:38:52.375>are <00:38:52.600>implement <00:38:52.825>or <00:38:53.049>extend.

546
00:38:53.700 --> 00:38:58.440
<00:38:53.700>But <00:38:53.807>then <00:38:53.915>we <00:38:54.023>can <00:38:54.130>define <00:38:54.238>or <00:38:54.346>rectangle <00:38:54.453>that <00:38:54.561>it <00:38:54.669>is <00:38:54.776>a <00:38:54.884>non <00:38:54.992>sealed <00:38:55.100>class

547
00:38:58.990 --> 00:39:01.360
<00:38:58.990>that <00:38:59.339>stay <00:38:59.689>shape, <00:39:00.040>so, <00:39:00.390>uh,

548
00:39:01.460 --> 00:39:06.320
<00:39:01.460>the <00:39:01.587>rest <00:39:01.714>can <00:39:01.841>implement <00:39:01.969>or <00:39:02.096>extend <00:39:02.223>rectangle, <00:39:02.350>no <00:39:02.478>rectangle, <00:39:02.605>but <00:39:02.732>not <00:39:02.860>shape.

549
00:39:06.580 --> 00:39:09.720
<00:39:06.580>So <00:39:06.720>also, <00:39:06.860>this <00:39:07.000>is <00:39:07.140>important <00:39:07.279>to <00:39:07.420>define <00:39:07.560>boundaries <00:39:07.700>for <00:39:07.840>our <00:39:07.980>classes.

550
00:39:11.420 --> 00:39:15.400
<00:39:11.420>And <00:39:11.653>ending <00:39:11.886>with <00:39:12.120>Java <00:39:12.353>21, <00:39:12.586>I'm, <00:39:12.820>uh,

551
00:39:15.940 --> 00:39:20.520
<00:39:15.940>having <00:39:16.067>six <00:39:16.194>features, <00:39:16.321>and <00:39:16.449>this <00:39:16.576>is <00:39:16.703>fixing <00:39:16.830>eight <00:39:16.958>c <00:39:17.085>b <00:39:17.212>e <00:39:17.340>fixes.

552
00:39:21.480 --> 00:39:26.160
<00:39:21.480>I <00:39:21.587>still <00:39:21.695>don't <00:39:21.803>know <00:39:21.910>exactly <00:39:22.018>how <00:39:22.126>many <00:39:22.233>back <00:39:22.341>fixes <00:39:22.449>we'll <00:39:22.556>have <00:39:22.664>until <00:39:22.772>next <00:39:22.880>week,

553
00:39:26.620 --> 00:39:29.120
<00:39:26.620>but <00:39:26.819>I <00:39:27.020>will <00:39:27.220>update, <00:39:27.420>uh, <00:39:27.620>the <00:39:27.819>slides, <00:39:28.020>uh,

554
00:39:29.550 --> 00:39:32.960
<00:39:29.550>from <00:39:29.783>Java <00:39:30.016>21 <00:39:30.250>sequenced <00:39:30.483>collections, <00:39:30.716>record <00:39:30.950>patterns,

555
00:39:32.960 --> 00:39:34.280
<00:39:32.960>pattern <00:39:33.356>matching <00:39:33.752>for <00:39:34.148>switch.

556
00:39:34.850 --> 00:39:38.420
<00:39:34.850>Virtual <00:39:34.977>threats <00:39:35.104>is <00:39:35.231>an <00:39:35.359>important <00:39:35.486>feature <00:39:35.613>and <00:39:35.740>prepared <00:39:35.868>to <00:39:35.995>disallow <00:39:36.122>the <00:39:36.250>dynamic

557
00:39:38.610 --> 00:39:43.220
<00:39:38.610>loading <00:39:38.785>of <00:39:38.960>agents. <00:39:39.135>We'll <00:39:39.310>see <00:39:39.485>Aon <00:39:39.660>code <00:39:39.835>snippets. <00:39:40.010>Uh,

558
00:39:43.360 --> 00:39:45.940
<00:39:43.360>now <00:39:43.560>we <00:39:43.760>can <00:39:43.960>introduce <00:39:44.160>code <00:39:44.360>in <00:39:44.560>our <00:39:44.760>snippets,

559
00:39:45.940 --> 00:39:50.780
<00:39:45.940>and <00:39:46.115>this <00:39:46.290>will <00:39:46.465>be <00:39:46.640>considered <00:39:46.815>as <00:39:46.990>code <00:39:47.165>from <00:39:47.340>the,

560
00:39:50.960 --> 00:39:53.500
<00:39:50.960>uh, <00:39:51.193>linkers <00:39:51.426>in <00:39:51.660>the, <00:39:51.893>in <00:39:52.126>the <00:39:52.360>id,

561
00:39:53.800 --> 00:39:58.420
<00:39:53.800>and <00:39:53.916>also <00:39:54.033>it <00:39:54.150>will <00:39:54.266>be <00:39:54.383>generated <00:39:54.500>as <00:39:54.616>a <00:39:54.733>beautified <00:39:54.850>code <00:39:54.966>when <00:39:55.083>we <00:39:55.200>generate

562
00:39:58.720 --> 00:40:03.060
<00:39:58.720>the <00:39:59.000>Java <00:39:59.279>documentation <00:39:59.560>sequence <00:39:59.839>collections. <00:40:00.120>Well,

563
00:40:03.080 --> 00:40:07.420
<00:40:03.080>it <00:40:03.255>adds <00:40:03.430>the <00:40:03.605>ordered <00:40:03.779>approach <00:40:03.955>to <00:40:04.130>collections <00:40:04.305>and, <00:40:04.480>uh,

564
00:40:07.920 --> 00:40:12.020
<00:40:07.920>the <00:40:08.095>same, <00:40:08.270>uh, <00:40:08.445>methods <00:40:08.620>for <00:40:08.795>all <00:40:08.970>the <00:40:09.145>collections. <00:40:09.320>Again,

565
00:40:12.020 --> 00:40:14.860
<00:40:12.020>adding <00:40:12.370>consistency <00:40:12.720>and <00:40:13.070>reducing <00:40:13.420>ity,

566
00:40:14.860 --> 00:40:19.660
<00:40:14.860>because <00:40:14.987>now <00:40:15.114>we <00:40:15.241>have <00:40:15.369>at <00:40:15.496>first <00:40:15.623>get <00:40:15.750>first <00:40:15.878>four <00:40:16.005>collections <00:40:16.132>for <00:40:16.260>sorted

567
00:40:19.660 --> 00:40:21.900
<00:40:19.660>collections. <00:40:19.835>We <00:40:20.009>have <00:40:20.185>reversed <00:40:20.359>that <00:40:20.535>we <00:40:20.710>didn't <00:40:20.884>have <00:40:21.060>before.

568
00:40:23.000 --> 00:40:27.990
<00:40:23.000>And <00:40:23.140>the <00:40:23.280>same <00:40:23.420>for <00:40:23.560>sorted <00:40:23.700>maps <00:40:23.840>and <00:40:23.980>leaked <00:40:24.120>hash <00:40:24.260>maps. <00:40:24.400>It's,

569
00:40:27.990 --> 00:40:32.910
<00:40:27.990>uh, <00:40:28.097>uh, <00:40:28.205>the <00:40:28.313>consistent <00:40:28.420>way <00:40:28.528>of <00:40:28.636>doing <00:40:28.743>the <00:40:28.851>same <00:40:28.959>thing <00:40:29.066>for <00:40:29.174>all <00:40:29.282>the <00:40:29.390>collections.

570
00:40:34.090 --> 00:40:37.110
<00:40:34.090>And, <00:40:34.440>uh, <00:40:34.790>also <00:40:35.140>reducing <00:40:35.490>ity,

571
00:40:38.540 --> 00:40:42.110
<00:40:38.540>this <00:40:38.695>allowing <00:40:38.851>dynamic <00:40:39.006>load <00:40:39.162>deco. <00:40:39.317>Well, <00:40:39.473>we, <00:40:39.628>we <00:40:39.784>use, <00:40:39.940>uh,

572
00:40:42.770 --> 00:40:47.430
<00:40:42.770>agents <00:40:42.910>for <00:40:43.050>telemetry. <00:40:43.190>I <00:40:43.330>don't <00:40:43.470>know, <00:40:43.610>new <00:40:43.750>Relic, <00:40:43.890>Dynatrace <00:40:44.030>and <00:40:44.170>others,

573
00:40:48.450 --> 00:40:53.000
<00:40:48.450>but <00:40:48.625>now <00:40:48.799>they <00:40:48.975>are, <00:40:49.149>uh, <00:40:49.325>it, <00:40:49.500>they <00:40:49.674>will <00:40:49.850>be,

574
00:40:53.300 --> 00:40:56.520
<00:40:53.300>uh, <00:40:53.500>forbidden <00:40:53.700>if <00:40:53.900>there <00:40:54.100>is <00:40:54.300>not <00:40:54.500>explicit, <00:40:54.700>uh,

575
00:40:56.900 --> 00:41:01.800
<00:40:56.900>as <00:40:57.040>property <00:40:57.180>enable <00:40:57.320>them <00:40:57.460>just <00:40:57.600>because <00:40:57.740>they <00:40:57.880>can <00:40:58.020>use <00:40:58.160>back <00:40:58.300>doors

576
00:41:01.820 --> 00:41:05.320
<00:41:01.820>to <00:41:01.995>do <00:41:02.170>whatever <00:41:02.345>with <00:41:02.520>your <00:41:02.695>code. <00:41:02.870>So <00:41:03.045>now <00:41:03.220>you,

577
00:41:06.260 --> 00:41:10.400
<00:41:06.260>now <00:41:06.360>you <00:41:06.460>only <00:41:06.560>get <00:41:06.660>a <00:41:06.760>warning, <00:41:06.860>but <00:41:06.960>in <00:41:07.060>the <00:41:07.160>future <00:41:07.260>you <00:41:07.360>will <00:41:07.460>get, <00:41:07.560>uh, <00:41:07.660>uh,

578
00:41:10.820 --> 00:41:15.800
<00:41:10.820>it <00:41:10.960>won't <00:41:11.100>work. <00:41:11.240>You <00:41:11.380>need <00:41:11.520>to <00:41:11.660>enable <00:41:11.800>them <00:41:11.940>explicitly <00:41:12.080>record <00:41:12.220>patterns.

579
00:41:15.830 --> 00:41:17.240
<00:41:15.830>Well, <00:41:16.083>it's <00:41:16.337>the <00:41:16.591>same <00:41:16.845>instance <00:41:17.098>of,

580
00:41:17.260 --> 00:41:20.880
<00:41:17.260>but <00:41:17.387>now <00:41:17.514>with <00:41:17.641>patterns <00:41:17.769>before <00:41:17.896>we <00:41:18.023>needed <00:41:18.150>to <00:41:18.278>do <00:41:18.405>the <00:41:18.532>instance <00:41:18.660>of,

581
00:41:20.900 --> 00:41:23.840
<00:41:20.900>and <00:41:21.075>we <00:41:21.250>had <00:41:21.425>the <00:41:21.600>variable <00:41:21.775>with <00:41:21.950>the <00:41:22.125>same <00:41:22.300>type,

582
00:41:24.180 --> 00:41:28.040
<00:41:24.180>and <00:41:24.307>now <00:41:24.434>we <00:41:24.561>can <00:41:24.689>even <00:41:24.816>have <00:41:24.943>directly <00:41:25.070>the <00:41:25.198>fields <00:41:25.325>of, <00:41:25.452>uh, <00:41:25.580>uh,

583
00:41:28.180 --> 00:41:31.560
<00:41:28.180>record <00:41:28.646>virtual <00:41:29.113>threats. <00:41:29.580>Uh,

584
00:41:31.710 --> 00:41:35.950
<00:41:31.710>because <00:41:31.885>before <00:41:32.060>we <00:41:32.235>had, <00:41:32.410>uh, <00:41:32.585>physical <00:41:32.760>threats <00:41:32.935>that, <00:41:33.110>uh,

585
00:41:36.460 --> 00:41:40.390
<00:41:36.460>were <00:41:36.600>limited <00:41:36.740>by <00:41:36.880>the <00:41:37.020>operative <00:41:37.160>system. <00:41:37.300>But <00:41:37.440>now <00:41:37.580>with <00:41:37.720>virtual <00:41:37.860>threats,

586
00:41:40.410 --> 00:41:45.030
<00:41:40.410>we <00:41:40.549>have <00:41:40.690>different <00:41:40.830>virtual <00:41:40.970>threats <00:41:41.109>mapped <00:41:41.250>to <00:41:41.390>one <00:41:41.529>physical <00:41:41.670>threat, <00:41:41.810>therefore,

587
00:41:45.030 --> 00:41:48.630
<00:41:45.030>we <00:41:45.157>can <00:41:45.284>have <00:41:45.411>millions <00:41:45.539>of <00:41:45.666>virtual <00:41:45.793>threats. <00:41:45.920>And <00:41:46.048>every <00:41:46.175>time <00:41:46.302>that <00:41:46.430>a,

588
00:41:48.860 --> 00:41:52.510
<00:41:48.860>that <00:41:49.060>a <00:41:49.260>threat <00:41:49.460>is, <00:41:49.660>uh, <00:41:49.860>using, <00:41:50.060>uh, <00:41:50.260>eo,

589
00:41:52.850 --> 00:41:57.110
<00:41:52.850>and <00:41:52.957>it <00:41:53.065>is <00:41:53.173>a <00:41:53.280>blocking <00:41:53.388>call, <00:41:53.496>that <00:41:53.603>thread <00:41:53.711>will <00:41:53.819>be <00:41:53.926>used <00:41:54.034>by <00:41:54.142>another, <00:41:54.250>um,

590
00:41:57.380 --> 00:42:00.110
<00:41:57.380>virtual <00:41:57.613>thread. <00:41:57.846>Therefore, <00:41:58.080>we <00:41:58.313>can <00:41:58.546>have, <00:41:58.780>uh,

591
00:42:00.730 --> 00:42:03.110
<00:42:00.730>way <00:42:01.010>more <00:42:01.290>performance <00:42:01.570>with <00:42:01.850>virtual <00:42:02.130>threads.

592
00:42:04.460 --> 00:42:09.270
<00:42:04.460>Pattern <00:42:04.600>matching <00:42:04.740>for <00:42:04.880>switch <00:42:05.020>in <00:42:05.160>this <00:42:05.300>case, <00:42:05.440>well, <00:42:05.580>we <00:42:05.720>have, <00:42:05.860>uh,

593
00:42:09.890 --> 00:42:14.110
<00:42:09.890>uh, <00:42:10.045>again, <00:42:10.201>reducing <00:42:10.356>the <00:42:10.512>ity <00:42:10.667>because <00:42:10.823>we <00:42:10.978>have, <00:42:11.134>um, <00:42:11.290>uh,

594
00:42:14.110 --> 00:42:18.790
<00:42:14.110>switch <00:42:14.217>directly <00:42:14.325>in <00:42:14.433>the, <00:42:14.540>in, <00:42:14.648>in <00:42:14.756>each, <00:42:14.863>uh, <00:42:14.971>in <00:42:15.079>each <00:42:15.186>element, <00:42:15.294>comparing <00:42:15.402>the <00:42:15.510>type.

595
00:42:19.010 --> 00:42:19.870
<00:42:19.010>So <00:42:19.397>it's, <00:42:19.784>uh,

596
00:42:19.870 --> 00:42:24.710
<00:42:19.870>very <00:42:19.986>easy <00:42:20.103>now <00:42:20.220>to <00:42:20.336>do <00:42:20.453>different <00:42:20.569>things <00:42:20.686>depending <00:42:20.803>on <00:42:20.920>the <00:42:21.036>type <00:42:21.153>of <00:42:21.270>an

597
00:42:24.710 --> 00:42:27.670
<00:42:24.710>object. <00:42:25.176>And <00:42:25.643>finally, <00:42:26.110>uh,

598
00:42:27.740 --> 00:42:32.120
<00:42:27.740>want <00:42:27.915>to <00:42:28.089>finish <00:42:28.265>with <00:42:28.439>my <00:42:28.615>conclusions. <00:42:28.790>Apart <00:42:28.964>from, <00:42:29.140>uh,

599
00:42:32.120 --> 00:42:36.680
<00:42:32.120>being <00:42:32.236>a <00:42:32.353>list <00:42:32.470>of <00:42:32.586>different <00:42:32.703>features <00:42:32.819>that <00:42:32.936>you <00:42:33.053>can, <00:42:33.170>uh, <00:42:33.286>go <00:42:33.403>back, <00:42:33.520>uh,

600
00:42:37.030 --> 00:42:41.640
<00:42:37.030>offline <00:42:37.185>and <00:42:37.341>check <00:42:37.496>one <00:42:37.652>by <00:42:37.807>one, <00:42:37.963>it's <00:42:38.118>important. <00:42:38.274>My <00:42:38.430>message,

601
00:42:42.030 --> 00:42:46.440
<00:42:42.030>it's <00:42:42.130>that <00:42:42.230>it <00:42:42.330>L <00:42:42.430>t <00:42:42.530>ss <00:42:42.630>is <00:42:42.730>a <00:42:42.830>version <00:42:42.930>to <00:42:43.030>use <00:42:43.130>in <00:42:43.230>production. <00:42:43.330>It's <00:42:43.430>important.

602
00:42:47.540 --> 00:42:52.480
<00:42:47.540>Uh, <00:42:47.622>most <00:42:47.704>users <00:42:47.787>are <00:42:47.869>in <00:42:47.951>Java <00:42:48.034>eight <00:42:48.116>or <00:42:48.198>Java <00:42:48.281>11, <00:42:48.363>so <00:42:48.445>there's <00:42:48.528>a <00:42:48.610>lot <00:42:48.692>of <00:42:48.775>work <00:42:48.857>to <00:42:48.940>do,

603
00:42:52.480 --> 00:42:57.000
<00:42:52.480>again, <00:42:52.596>to <00:42:52.713>move <00:42:52.830>them <00:42:52.946>to <00:42:53.063>Java <00:42:53.180>17. <00:42:53.296>Take <00:42:53.413>the <00:42:53.530>advantage <00:42:53.646>of <00:42:53.763>doing <00:42:53.880>that.

604
00:42:57.970 --> 00:43:01.960
<00:42:57.970>There <00:42:58.125>are <00:42:58.281>the <00:42:58.436>several <00:42:58.592>vendors <00:42:58.747>offering <00:42:58.903>different <00:42:59.058>supports <00:42:59.214>and <00:42:59.370>different

605
00:43:02.440 --> 00:43:05.840
<00:43:02.440>features, <00:43:02.673>so <00:43:02.906>better <00:43:03.140>to <00:43:03.373>check <00:43:03.606>them. <00:43:03.840>Uh,

606
00:43:05.940 --> 00:43:09.920
<00:43:05.940>now <00:43:06.033>the <00:43:06.126>l <00:43:06.220>t <00:43:06.313>s <00:43:06.406>cadence <00:43:06.500>is <00:43:06.593>two <00:43:06.686>years, <00:43:06.780>but <00:43:06.873>who <00:43:06.966>knows, <00:43:07.060>or <00:43:07.153>I <00:43:07.246>call <00:43:07.340>decide,

607
00:43:11.020 --> 00:43:16.000
<00:43:11.020>and <00:43:11.160>every <00:43:11.300>version <00:43:11.440>improves <00:43:11.580>performance. <00:43:11.720>A <00:43:11.860>p <00:43:12.000>I <00:43:12.140>also <00:43:12.280>reduces <00:43:12.420>fix,

608
00:43:16.060 --> 00:43:17.640
<00:43:16.060>uh, <00:43:16.526>bug <00:43:16.993>and <00:43:17.460>cvs.

609
00:43:18.420 --> 00:43:23.200
<00:43:18.420>And <00:43:18.536>the <00:43:18.653>most <00:43:18.770>important <00:43:18.886>message <00:43:19.003>here <00:43:19.120>is <00:43:19.236>that <00:43:19.353>Java <00:43:19.470>is <00:43:19.586>alive <00:43:19.703>and <00:43:19.820>free

610
00:43:23.780 --> 00:43:28.720
<00:43:23.780>and, <00:43:23.935>uh, <00:43:24.091>a <00:43:24.246>lot <00:43:24.402>of <00:43:24.557>people <00:43:24.713>behind <00:43:24.868>it. <00:43:25.024>And <00:43:25.180>finally,

611
00:43:28.790 --> 00:43:30.720
<00:43:28.790>here <00:43:29.140>are <00:43:29.490>some <00:43:29.840>references, <00:43:30.190>uh,

612
00:43:30.980 --> 00:43:35.120
<00:43:30.980>in <00:43:31.096>order <00:43:31.213>for <00:43:31.330>you <00:43:31.446>if <00:43:31.563>you <00:43:31.680>want <00:43:31.796>to <00:43:31.913>explore <00:43:32.030>more <00:43:32.146>about <00:43:32.263>this <00:43:32.380>topic.

613
00:43:36.590 --> 00:43:39.120
<00:43:36.590>It's <00:43:36.745>been <00:43:36.901>a <00:43:37.056>pleasure. <00:43:37.212>Uh, <00:43:37.367>thank <00:43:37.523>you <00:43:37.678>very <00:43:37.834>much. <00:43:37.990>Uh,

614
00:43:39.350 --> 00:43:43.720
<00:43:39.350>here <00:43:39.450>you <00:43:39.549>have <00:43:39.650>the <00:43:39.750>QR <00:43:39.850>code <00:43:39.950>to <00:43:40.049>for <00:43:40.150>the <00:43:40.250>slides. <00:43:40.350>And <00:43:40.450>also, <00:43:40.549>please, <00:43:40.650>please, <00:43:40.750>please,

615
00:43:43.740 --> 00:43:45.760
<00:43:43.740>please, <00:43:44.439>Portor. <00:43:45.140>Uh,

616
00:43:46.260 --> 00:43:51.240
<00:43:46.260>if <00:43:46.360>you <00:43:46.460>can <00:43:46.560>rate <00:43:46.660>me <00:43:46.760>with <00:43:46.860>a <00:43:46.960>QR <00:43:47.060>on <00:43:47.160>the, <00:43:47.260>on <00:43:47.360>the <00:43:47.460>right, <00:43:47.560>it <00:43:47.660>will,

617
00:43:51.300 --> 00:43:55.360
<00:43:51.300>uh, <00:43:51.416>be <00:43:51.533>super <00:43:51.650>important <00:43:51.766>for <00:43:51.883>me <00:43:52.000>in <00:43:52.116>order <00:43:52.233>to <00:43:52.350>improve <00:43:52.466>on <00:43:52.583>the <00:43:52.700>left,

618
00:43:55.420 --> 00:44:00.120
<00:43:55.420>the <00:43:55.513>ways <00:43:55.606>to <00:43:55.700>con <00:43:55.793>to <00:43:55.886>contact <00:43:55.980>me, <00:43:56.073>my <00:43:56.166>Twitter, <00:43:56.260>handle <00:43:56.353>my <00:43:56.446>email. <00:43:56.540>You <00:43:56.633>can <00:43:56.726>see, <00:43:56.820>uh,

619
00:44:00.390 --> 00:44:04.720
<00:44:00.390>some <00:44:00.506>of <00:44:00.623>my <00:44:00.740>posts <00:44:00.856>in <00:44:00.973>my <00:44:01.089>blog <00:44:01.206>and <00:44:01.323>also <00:44:01.440>my <00:44:01.556>code <00:44:01.673>in <00:44:01.790>GitHub.

620
00:44:05.290 --> 00:44:07.800
<00:44:05.290>Thank <00:44:05.445>you <00:44:05.601>very <00:44:05.756>much, <00:44:05.912>and <00:44:06.067>hope <00:44:06.223>you <00:44:06.378>enjoyed <00:44:06.534>the <00:44:06.690>talk.

621
00:44:10.490 --> 00:44:14.680
<00:44:10.490>Hello <00:44:10.617>again, <00:44:10.744>Jonathan. <00:44:10.871>Thank <00:44:10.999>you <00:44:11.126>so <00:44:11.253>much <00:44:11.380>for <00:44:11.508>this <00:44:11.635>very <00:44:11.762>informative <00:44:11.890>talk.

622
00:44:15.360 --> 00:44:17.240
<00:44:15.360>I <00:44:15.640>think <00:44:15.920>you <00:44:16.200>may <00:44:16.480>be, <00:44:16.760>um,

623
00:44:17.670 --> 00:44:22.400
<00:44:17.670>convinced <00:44:17.810>some <00:44:17.950>people <00:44:18.090>to <00:44:18.230>move <00:44:18.370>on <00:44:18.510>to <00:44:18.650>a <00:44:18.790>more <00:44:18.930>current <00:44:19.070>world

624
00:44:22.820 --> 00:44:27.520
<00:44:22.820>of <00:44:22.920>color, <00:44:23.020>even <00:44:23.120>it's <00:44:23.220>maybe <00:44:23.320>more <00:44:23.420>comfortable <00:44:23.520>to <00:44:23.620>stay <00:44:23.720>with <00:44:23.820>the <00:44:23.920>old <00:44:24.020>you're <00:44:24.120>used <00:44:24.220>to,

625
00:44:27.620 --> 00:44:30.400
<00:44:27.620>but <00:44:27.747>I <00:44:27.874>think <00:44:28.001>you <00:44:28.129>made <00:44:28.256>some <00:44:28.383>good <00:44:28.510>points <00:44:28.638>during <00:44:28.765>that <00:44:28.892>talk. <00:44:29.020>Oh,

626
00:44:30.400 --> 00:44:31.233
Okay.

627
00:44:32.560 --> 00:44:36.560
<00:44:32.560>Kudos <00:44:32.660>for <00:44:32.759>that. <00:44:32.860>Of <00:44:32.960>course. <00:44:33.060>Thank <00:44:33.160>you. <00:44:33.259>And, <00:44:33.360>uh, <00:44:33.460>since <00:44:33.560>we <00:44:33.660>have <00:44:33.759>some <00:44:33.860>minutes <00:44:33.960>left,

628
00:44:36.930 --> 00:44:39.200
<00:44:36.930>let's <00:44:37.085>jump <00:44:37.241>into <00:44:37.396>a <00:44:37.552>quick <00:44:37.707>here, <00:44:37.863>Dave, <00:44:38.018>I <00:44:38.174>would <00:44:38.330>say.

629
00:44:39.660 --> 00:44:40.493
Mm-hmm.

630
00:44:40.500 --> 00:44:43.440
<00:44:40.500>And <00:44:40.700>if <00:44:40.900>you're <00:44:41.100>ready, <00:44:41.300>um, <00:44:41.500>first <00:44:41.700>question, <00:44:41.900>um,

631
00:44:43.780 --> 00:44:47.320
<00:44:43.780>to <00:44:43.935>you <00:44:44.091>directly <00:44:44.246>maybe <00:44:44.402>about <00:44:44.557>you, <00:44:44.713>yourself, <00:44:44.868>your <00:44:45.024>developer <00:44:45.180>journey,

632
00:44:47.490 --> 00:44:52.240
<00:44:47.490>would <00:44:47.589>you <00:44:47.689>mind <00:44:47.790>to <00:44:47.890>enlighten <00:44:47.990>us <00:44:48.089>a <00:44:48.189>bit <00:44:48.290>on <00:44:48.390>how <00:44:48.490>you <00:44:48.589>became <00:44:48.689>interested <00:44:48.790>in <00:44:48.890>tech

633
00:44:52.460 --> 00:44:55.520
<00:44:52.460>and <00:44:52.660>what's, <00:44:52.860>what, <00:44:53.060>what <00:44:53.260>was <00:44:53.460>like, <00:44:53.660>um, <00:44:53.860>what,

634
00:44:55.520 --> 00:45:00.440
<00:44:55.520>what <00:44:55.620>were <00:44:55.720>some <00:44:55.820>jobs <00:44:55.920>you <00:44:56.020>did <00:44:56.120>during, <00:44:56.220>uh, <00:44:56.320>or <00:44:56.420>since <00:44:56.520>the <00:44:56.620>secret <00:44:56.720>of <00:44:56.820>Monkey <00:44:56.920>Island?

635
00:45:02.670 --> 00:45:04.200
<00:45:02.670>Well, <00:45:02.945>it's <00:45:03.220>in, <00:45:03.496>it's, <00:45:03.771>it's <00:45:04.047>interesting.

636
00:45:04.440 --> 00:45:09.240
<00:45:04.440>I <00:45:04.640>started <00:45:04.840>when <00:45:05.040>I <00:45:05.240>was <00:45:05.440>14 <00:45:05.640>because <00:45:05.840>I

637
00:45:09.240 --> 00:45:13.680
<00:45:09.240>wanted <00:45:09.379>to <00:45:09.520>do <00:45:09.660>games. <00:45:09.799>At <00:45:09.939>that <00:45:10.080>time, <00:45:10.220>I <00:45:10.359>had <00:45:10.500>an <00:45:10.640>Amra,

638
00:45:13.840 --> 00:45:18.800
<00:45:13.840>C <00:45:13.995>P <00:45:14.151>C, <00:45:14.306>and <00:45:14.462>well <00:45:14.617>before <00:45:14.773>that <00:45:14.928>I <00:45:15.084>went, <00:45:15.240>uh,

639
00:45:18.800 --> 00:45:21.200
<00:45:18.800>well, <00:45:18.955>I <00:45:19.111>asked <00:45:19.266>my <00:45:19.422>father <00:45:19.577>to <00:45:19.733>take <00:45:19.888>me <00:45:20.044>to <00:45:20.200>a,

640
00:45:21.840 --> 00:45:24.840
<00:45:21.840>a <00:45:22.120>shopping <00:45:22.400>center <00:45:22.680>every <00:45:22.960>Saturday <00:45:23.240>afternoon,

641
00:45:24.950 --> 00:45:28.920
<00:45:24.950>because <00:45:25.105>there <00:45:25.261>they <00:45:25.416>had <00:45:25.572>a <00:45:25.727>lot <00:45:25.883>of, <00:45:26.038>uh, <00:45:26.194>computers <00:45:26.350>exposed.

642
00:45:29.580 --> 00:45:32.120
<00:45:29.580>And <00:45:29.779>I <00:45:29.980>was <00:45:30.180>sitting <00:45:30.380>there <00:45:30.580>with <00:45:30.779>my <00:45:30.980>magazines,

643
00:45:32.420 --> 00:45:37.160
<00:45:32.420>and <00:45:32.536>it <00:45:32.653>was <00:45:32.770>poking <00:45:32.886>games <00:45:33.003>and <00:45:33.120>doing <00:45:33.236>things <00:45:33.353>in <00:45:33.470>those <00:45:33.586>computers. <00:45:33.703>After <00:45:33.820>that,

644
00:45:37.540 --> 00:45:41.920
<00:45:37.540>uh, <00:45:37.627>I <00:45:37.715>had <00:45:37.802>one, <00:45:37.890>uh, <00:45:37.977>Hamra, <00:45:38.065>C <00:45:38.152>p <00:45:38.240>c, <00:45:38.327>and <00:45:38.415>I <00:45:38.502>was <00:45:38.590>spending <00:45:38.677>a <00:45:38.765>lot <00:45:38.852>of <00:45:38.940>time,

645
00:45:42.460 --> 00:45:47.320
<00:45:42.460>uh, <00:45:42.693>doing <00:45:42.926>well, <00:45:43.160>small <00:45:43.393>games, <00:45:43.626>small, <00:45:43.860>uh,

646
00:45:47.520 --> 00:45:52.240
<00:45:47.520>applications. <00:45:47.636>And <00:45:47.753>from <00:45:47.870>that, <00:45:47.986>uh, <00:45:48.103>this <00:45:48.220>is <00:45:48.336>the <00:45:48.453>only <00:45:48.570>thing <00:45:48.686>that <00:45:48.803>I've <00:45:48.920>done,

647
00:45:52.460 --> 00:45:55.280
<00:45:52.460>uh, <00:45:52.693>being, <00:45:52.926>uh, <00:45:53.160>as <00:45:53.393>a <00:45:53.626>developer, <00:45:53.860>uh,

648
00:45:55.780 --> 00:46:00.520
<00:45:55.780>moving <00:45:55.955>from <00:45:56.130>different <00:45:56.305>languages <00:45:56.480>because <00:45:56.655>every <00:45:56.830>company <00:45:57.005>had <00:45:57.180>some

649
00:46:01.200 --> 00:46:05.000
<00:46:01.200>language <00:46:01.316>requests <00:46:01.433>when <00:46:01.549>you, <00:46:01.666>they <00:46:01.783>are <00:46:01.899>hiding, <00:46:02.016>but <00:46:02.133>then <00:46:02.250>once <00:46:02.366>you <00:46:02.483>are <00:46:02.600>inside,

650
00:46:05.510 --> 00:46:08.080
<00:46:05.510>they <00:46:05.743>move <00:46:05.976>to <00:46:06.210>different <00:46:06.443>languages. <00:46:06.676>And, <00:46:06.910>uh,

651
00:46:08.460 --> 00:46:10.720
<00:46:08.460>so <00:46:08.693>I've <00:46:08.926>been <00:46:09.160>moving <00:46:09.393>in <00:46:09.626>several <00:46:09.860>languages,

652
00:46:11.420 --> 00:46:15.560
<00:46:11.420>but <00:46:11.547>I <00:46:11.674>would <00:46:11.801>say <00:46:11.929>the <00:46:12.056>most <00:46:12.183>important, <00:46:12.310>uh, <00:46:12.438>point <00:46:12.565>in <00:46:12.692>my, <00:46:12.820>uh,

653
00:46:15.560 --> 00:46:20.400
<00:46:15.560>professional <00:46:15.715>life <00:46:15.871>was <00:46:16.026>when <00:46:16.182>I <00:46:16.337>discovered <00:46:16.493>the <00:46:16.648>Java <00:46:16.804>community. <00:46:16.960>Um,

654
00:46:20.820 --> 00:46:25.470
<00:46:20.820>in <00:46:21.053>2012. <00:46:21.286>Before <00:46:21.520>that, <00:46:21.753>I <00:46:21.986>was <00:46:22.220>working,

655
00:46:27.090 --> 00:46:31.630
<00:46:27.090>uh, <00:46:27.183>nine <00:46:27.276>to <00:46:27.370>six <00:46:27.463>every <00:46:27.556>day. <00:46:27.650>Well, <00:46:27.743>nine <00:46:27.836>to <00:46:27.930>seven <00:46:28.023>at, <00:46:28.116>uh, <00:46:28.210>at <00:46:28.303>that <00:46:28.396>time, <00:46:28.490>um,

656
00:46:32.170 --> 00:46:36.550
<00:46:32.170>uh, <00:46:32.286>every <00:46:32.403>day <00:46:32.520>and <00:46:32.636>going <00:46:32.753>home, <00:46:32.870>and <00:46:32.986>that's <00:46:33.103>it. <00:46:33.220>But <00:46:33.336>then <00:46:33.453>I <00:46:33.570>discovered,

657
00:46:36.550 --> 00:46:40.870
<00:46:36.550>because <00:46:36.650>I <00:46:36.750>had <00:46:36.850>an, <00:46:36.950>uh, <00:46:37.050>a <00:46:37.150>problem <00:46:37.250>with <00:46:37.350>the <00:46:37.450>spring, <00:46:37.550>and, <00:46:37.650>uh, <00:46:37.750>I <00:46:37.850>needed <00:46:37.950>help,

658
00:46:41.350 --> 00:46:43.950
<00:46:41.350>I <00:46:41.549>discovered <00:46:41.750>the <00:46:41.950>Java <00:46:42.150>community. <00:46:42.350>And <00:46:42.549>since <00:46:42.750>that,

659
00:46:44.090 --> 00:46:47.390
<00:46:44.090>my <00:46:44.370>professional <00:46:44.650>life <00:46:44.930>changed <00:46:45.210>dramatically, <00:46:45.490>uh,

660
00:46:47.830 --> 00:46:51.110
<00:46:47.830>I <00:46:47.985>saw <00:46:48.141>the <00:46:48.296>power <00:46:48.452>of <00:46:48.607>community, <00:46:48.763>a <00:46:48.918>lot <00:46:49.074>of <00:46:49.230>knowledge,

661
00:46:51.230 --> 00:46:55.430
<00:46:51.230>a <00:46:51.357>lot <00:46:51.484>of <00:46:51.611>amazing <00:46:51.739>people <00:46:51.866>in <00:46:51.993>the <00:46:52.120>community <00:46:52.248>sharing <00:46:52.375>information <00:46:52.502>for <00:46:52.630>free,

662
00:46:56.110 --> 00:46:56.943
<00:46:56.110>learning <00:46:56.484>a <00:46:56.859>lot,

663
00:46:57.690 --> 00:47:02.470
<00:46:57.690>and <00:46:57.865>knowing <00:46:58.040>that <00:46:58.215>there's <00:46:58.390>a <00:46:58.565>huge <00:46:58.740>world <00:46:58.915>out <00:46:59.090>there.

664
00:47:03.250 --> 00:47:07.870
<00:47:03.250>And <00:47:03.405>then <00:47:03.561>from <00:47:03.716>that, <00:47:03.872>I <00:47:04.027>moved <00:47:04.183>to <00:47:04.338>different <00:47:04.494>companies, <00:47:04.650>uh,

665
00:47:08.110 --> 00:47:12.390
<00:47:08.110>I <00:47:08.250>would <00:47:08.390>say, <00:47:08.530>yeah, <00:47:08.670>most <00:47:08.810>of <00:47:08.950>them, <00:47:09.090>uh, <00:47:09.230>in <00:47:09.370>English, <00:47:09.510>uh,

666
00:47:12.740 --> 00:47:16.630
<00:47:12.740>some <00:47:12.895>of <00:47:13.051>them <00:47:13.206>remote <00:47:13.362>for <00:47:13.517>the <00:47:13.673>last, <00:47:13.828>uh, <00:47:13.984>six <00:47:14.140>years,

667
00:47:16.780 --> 00:47:18.590
<00:47:16.780>more <00:47:17.130>or <00:47:17.480>less <00:47:17.830>full <00:47:18.180>remote.

668
00:47:19.410 --> 00:47:22.350
<00:47:19.410>And <00:47:20.109>from <00:47:20.810>2012,

669
00:47:22.830 --> 00:47:24.790
<00:47:22.830>I <00:47:23.110>discovered <00:47:23.390>that <00:47:23.670>I <00:47:23.950>loved <00:47:24.230>community.

670
00:47:25.970 --> 00:47:28.830
<00:47:25.970>And <00:47:26.125>from <00:47:26.281>that <00:47:26.436>moment <00:47:26.592>I've <00:47:26.747>been <00:47:26.903>working <00:47:27.058>as <00:47:27.214>a <00:47:27.370>developer,

671
00:47:29.140 --> 00:47:34.120
<00:47:29.140>but <00:47:29.256>now <00:47:29.373>I <00:47:29.490>knew <00:47:29.606>that <00:47:29.723>I <00:47:29.839>needed <00:47:29.956>to <00:47:30.073>change. <00:47:30.190>So <00:47:30.306>five <00:47:30.423>months <00:47:30.540>ago,

672
00:47:34.560 --> 00:47:37.240
<00:47:34.560>I <00:47:34.840>joined <00:47:35.120>Sonar <00:47:35.400>as <00:47:35.680>developer <00:47:35.960>advocate,

673
00:47:37.830 --> 00:47:42.240
<00:47:37.830>sharing <00:47:37.985>knowledge <00:47:38.141>with <00:47:38.296>community, <00:47:38.452>going <00:47:38.607>to <00:47:38.763>talk <00:47:38.918>to, <00:47:39.074>uh, <00:47:39.230>developers,

674
00:47:42.700 --> 00:47:47.560
<00:47:42.700>and <00:47:42.787>this <00:47:42.875>is <00:47:42.962>what, <00:47:43.049>uh, <00:47:43.137>my <00:47:43.225>passion <00:47:43.312>is, <00:47:43.399>and <00:47:43.487>now <00:47:43.575>I <00:47:43.662>have <00:47:43.750>a <00:47:43.837>salary <00:47:43.924>based <00:47:44.012>on <00:47:44.100>that.

675
00:47:47.620 --> 00:47:49.240
<00:47:47.620>So <00:47:48.086>that's <00:47:48.553>amazing <00:47:49.020>too.

676
00:47:49.830 --> 00:47:52.560
<00:47:49.830>Awesome. <00:47:50.063>Happy <00:47:50.296>to <00:47:50.529>hear <00:47:50.763>the <00:47:50.996>chosen. <00:47:51.230>Yeah,

677
00:47:53.000 --> 00:47:56.920
<00:47:53.000>I <00:47:53.093>can <00:47:53.186>tell <00:47:53.280>that <00:47:53.373>you <00:47:53.466>love <00:47:53.560>sharing <00:47:53.653>your <00:47:53.746>knowledge <00:47:53.840>and <00:47:53.933>I <00:47:54.026>see <00:47:54.120>where <00:47:54.213>it <00:47:54.306>comes <00:47:54.400>from

678
00:47:57.020 --> 00:48:01.160
<00:47:57.020>coming <00:47:57.147>from <00:47:57.274>all <00:47:57.401>this <00:47:57.529>tech <00:47:57.656>communities. <00:47:57.783>Yeah. <00:47:57.910>Awesome. <00:47:58.038>Thanks <00:47:58.165>for <00:47:58.292>sharing <00:47:58.420>this.

679
00:48:01.340 --> 00:48:05.600
<00:48:01.340>And <00:48:01.440>I <00:48:01.540>would <00:48:01.640>say <00:48:01.740>let's <00:48:01.840>go <00:48:01.940>on <00:48:02.040>to <00:48:02.140>some <00:48:02.240>of <00:48:02.340>the <00:48:02.440>more <00:48:02.540>technical <00:48:02.640>questions. <00:48:02.740>Mm-hmm.

680
00:48:05.680 --> 00:48:07.400
<00:48:05.680>As <00:48:05.879>one <00:48:06.080>of <00:48:06.279>our <00:48:06.480>fewest <00:48:06.680>wants <00:48:06.879>to <00:48:07.080>know,

681
00:48:08.310 --> 00:48:12.680
<00:48:08.310>I've <00:48:08.509>used <00:48:08.710>Java <00:48:08.910>since <00:48:09.110>2007, <00:48:09.310>syn, <00:48:09.509>rural <00:48:09.710>web,

682
00:48:12.700 --> 00:48:15.880
<00:48:12.700>mobile <00:48:12.980>desktop. <00:48:13.259>Now <00:48:13.540>desktop <00:48:13.819>and <00:48:14.100>mobile,

683
00:48:16.150 --> 00:48:19.800
<00:48:16.150>lean <00:48:16.350>to <00:48:16.550>lean <00:48:16.750>towards <00:48:16.950>Kotlin, <00:48:17.150>node, <00:48:17.350>gss, <00:48:17.550>Python,

684
00:48:20.420 --> 00:48:23.720
<00:48:20.420>and <00:48:20.620>are <00:48:20.820>trend <00:48:21.020>due <00:48:21.220>to <00:48:21.420>simplicity <00:48:21.620>and <00:48:21.820>popularity,

685
00:48:24.110 --> 00:48:26.720
<00:48:24.110>many <00:48:24.390>tasks <00:48:24.670>are <00:48:24.950>simply <00:48:25.230>note <00:48:25.510>gss.

686
00:48:27.100 --> 00:48:29.120
<00:48:27.100>What's <00:48:27.380>Java's <00:48:27.660>future <00:48:27.940>in <00:48:28.220>this <00:48:28.500>context?

687
00:48:30.750 --> 00:48:35.600
<00:48:30.750>Well <00:48:30.857>have <00:48:30.965>to, <00:48:31.073>I <00:48:31.180>have <00:48:31.288>to <00:48:31.396>say, <00:48:31.503>well, <00:48:31.611>you <00:48:31.719>know, <00:48:31.826>that <00:48:31.934>that <00:48:32.042>common, <00:48:32.150>uh,

688
00:48:37.080 --> 00:48:41.020
<00:48:37.080>saying <00:48:37.207>that <00:48:37.334>says <00:48:37.461>this <00:48:37.589>year <00:48:37.716>is <00:48:37.843>the <00:48:37.970>year <00:48:38.098>of <00:48:38.225>Linux <00:48:38.352>on <00:48:38.480>desktop,

689
00:48:42.400 --> 00:48:45.020
<00:48:42.400>but <00:48:42.600>we <00:48:42.800>can <00:48:43.000>apply <00:48:43.200>the <00:48:43.400>same <00:48:43.600>with <00:48:43.800>Java,

690
00:48:45.850 --> 00:48:48.280
<00:48:45.850>definitely <00:48:46.130>one <00:48:46.410>thing <00:48:46.690>is <00:48:46.970>the <00:48:47.250>trend,

691
00:48:49.420 --> 00:48:53.080
<00:48:49.420>and <00:48:49.620>another <00:48:49.820>thing <00:48:50.020>is <00:48:50.220>the <00:48:50.420>reality <00:48:50.620>of <00:48:50.820>companies.

692
00:48:53.980 --> 00:48:58.640
<00:48:53.980>But <00:48:54.120>the <00:48:54.260>another <00:48:54.400>thing <00:48:54.540>is <00:48:54.680>what <00:48:54.820>can <00:48:54.960>be <00:48:55.100>done <00:48:55.240>with <00:48:55.380>the

693
00:48:58.800 --> 00:49:00.920
<00:48:58.800>languages? <00:48:59.150>So <00:48:59.500>the <00:48:59.850>trend, <00:49:00.200>well,

694
00:49:01.260 --> 00:49:05.800
<00:49:01.260>the <00:49:01.400>world <00:49:01.540>of <00:49:01.680>JavaScript <00:49:01.820>and <00:49:01.960>TypeScript <00:49:02.100>and <00:49:02.240>all <00:49:02.380>of <00:49:02.520>those <00:49:02.660>libraries

695
00:49:06.620 --> 00:49:09.360
<00:49:06.620>is, <00:49:06.900>uh, <00:49:07.180>is <00:49:07.460>a <00:49:07.740>constant <00:49:08.020>trend.

696
00:49:09.650 --> 00:49:14.120
<00:49:09.650>Every <00:49:09.766>year <00:49:09.883>a <00:49:10.000>new <00:49:10.116>library <00:49:10.233>appears, <00:49:10.350>so <00:49:10.466>it's <00:49:10.583>creating <00:49:10.700>a <00:49:10.816>lot <00:49:10.933>of <00:49:11.050>traction.

697
00:49:15.140 --> 00:49:19.760
<00:49:15.140>That's <00:49:15.315>one <00:49:15.490>point, <00:49:15.665>definitely. <00:49:15.839>It <00:49:16.015>can <00:49:16.190>be <00:49:16.365>easier. <00:49:16.540>Well,

698
00:49:19.860 --> 00:49:23.640
<00:49:19.860>we <00:49:20.035>could <00:49:20.210>arc <00:49:20.385>about <00:49:20.560>that. <00:49:20.735>Then <00:49:20.910>there's <00:49:21.085>another, <00:49:21.260>uh,

699
00:49:23.640 --> 00:49:27.240
<00:49:23.640>another <00:49:23.767>point <00:49:23.894>that <00:49:24.021>it <00:49:24.149>is <00:49:24.276>why <00:49:24.403>a <00:49:24.530>company <00:49:24.658>is <00:49:24.785>using <00:49:24.912>a <00:49:25.040>language.

700
00:49:29.140 --> 00:49:32.960
<00:49:29.140>So <00:49:29.315>if <00:49:29.490>they <00:49:29.665>have <00:49:29.839>front-end <00:49:30.015>developers <00:49:30.190>and <00:49:30.365>backend <00:49:30.540>developers,

701
00:49:33.190 --> 00:49:37.670
<00:49:33.190>then <00:49:33.470>this <00:49:33.750>can <00:49:34.030>stay <00:49:34.310>forever. <00:49:34.590>Therefore,

702
00:49:37.940 --> 00:49:42.590
<00:49:37.940>there's <00:49:38.095>no <00:49:38.251>space <00:49:38.406>for <00:49:38.562>Java <00:49:38.717>into <00:49:38.873>that <00:49:39.028>space <00:49:39.184>because, <00:49:39.340>well,

703
00:49:42.650 --> 00:49:46.710
<00:49:42.650>you <00:49:42.825>cannot <00:49:43.000>convert <00:49:43.175>the <00:49:43.350>JavaScript <00:49:43.525>developers <00:49:43.700>into <00:49:43.875>Java <00:49:44.050>developers,

704
00:49:46.930 --> 00:49:49.510
<00:49:46.930>or <00:49:47.085>it <00:49:47.241>will <00:49:47.396>take, <00:49:47.552>uh, <00:49:47.707>some <00:49:47.863>time <00:49:48.018>to <00:49:48.174>do <00:49:48.330>that.

705
00:49:50.810 --> 00:49:55.630
<00:49:50.810>But <00:49:50.917>Java <00:49:51.025>can <00:49:51.133>be <00:49:51.240>used <00:49:51.348>on <00:49:51.456>the <00:49:51.563>front <00:49:51.671>end, <00:49:51.779>especially <00:49:51.886>if <00:49:51.994>you're <00:49:52.102>using <00:49:52.210>websites,

706
00:49:56.640 --> 00:49:59.200
<00:49:56.640>j <00:49:56.815>s <00:49:56.990>F, <00:49:57.165>uh, <00:49:57.339>I <00:49:57.515>don't <00:49:57.690>know, <00:49:57.865>prime <00:49:58.040>phases.

707
00:49:59.410 --> 00:50:03.880
<00:49:59.410>There <00:49:59.526>are <00:49:59.643>different <00:49:59.759>libraries <00:49:59.876>that <00:49:59.993>can <00:50:00.109>offer <00:50:00.226>you <00:50:00.343>a <00:50:00.460>lot <00:50:00.576>of <00:50:00.693>power <00:50:00.810>to,

708
00:50:04.020 --> 00:50:07.640
<00:50:04.020>and <00:50:04.195>big <00:50:04.370>companies <00:50:04.545>are <00:50:04.720>using <00:50:04.895>them, <00:50:05.070>but <00:50:05.245>there <00:50:05.420>is,

709
00:50:07.640 --> 00:50:12.520
<00:50:07.640>there <00:50:07.815>is <00:50:07.990>also <00:50:08.165>another <00:50:08.339>technology <00:50:08.515>that <00:50:08.690>especially <00:50:08.865>like, <00:50:09.040>uh,

710
00:50:13.390 --> 00:50:17.680
<00:50:13.390>that <00:50:13.589>it <00:50:13.790>is <00:50:13.990>badin, <00:50:14.190>wain <00:50:14.390>can <00:50:14.589>create, <00:50:14.790>uh,

711
00:50:18.200 --> 00:50:22.920
<00:50:18.200>frontend, <00:50:18.399>uh, <00:50:18.600>applications, <00:50:18.799>web, <00:50:19.000>desktop, <00:50:19.200>lot <00:50:19.399>of, <00:50:19.600>uh,

712
00:50:23.080 --> 00:50:26.080
<00:50:23.080>environments. <00:50:23.430>And <00:50:23.779>you <00:50:24.130>use <00:50:24.480>Java,

713
00:50:27.510 --> 00:50:32.280
<00:50:27.510>only <00:50:27.743>Java, <00:50:27.976>but <00:50:28.210>it's <00:50:28.443>not <00:50:28.676>a <00:50:28.910>very,

714
00:50:32.500 --> 00:50:36.960
<00:50:32.500>or, <00:50:32.640>or, <00:50:32.780>or <00:50:32.920>it's <00:50:33.060>less <00:50:33.200>explored <00:50:33.340>than <00:50:33.480>other, <00:50:33.620>uh, <00:50:33.760>uh, <00:50:33.900>offers.

715
00:50:37.420 --> 00:50:40.600
<00:50:37.420>So <00:50:37.560>definitely <00:50:37.700>it's <00:50:37.840>not <00:50:37.980>a <00:50:38.120>problem <00:50:38.260>that <00:50:38.400>Java <00:50:38.540>cannot <00:50:38.680>be <00:50:38.820>there,

716
00:50:41.020 --> 00:50:45.940
<00:50:41.020>but <00:50:41.160>it's <00:50:41.300>that <00:50:41.440>Java <00:50:41.580>hasn't <00:50:41.720>been <00:50:41.860>there. <00:50:42.000>But <00:50:42.140>in <00:50:42.280>some <00:50:42.420>companies,

717
00:50:46.560 --> 00:50:50.220
<00:50:46.560>uh, <00:50:46.735>they <00:50:46.910>are <00:50:47.085>using <00:50:47.259>Java <00:50:47.435>for <00:50:47.610>doing <00:50:47.785>their <00:50:47.960>frontends,

718
00:50:50.720 --> 00:50:52.620
<00:50:50.720>and <00:50:51.186>the <00:50:51.653>same, <00:50:52.120>uh,

719
00:50:52.690 --> 00:50:57.480
<00:50:52.690>developer <00:50:52.845>can <00:50:53.001>implement <00:50:53.156>the <00:50:53.312>frontend <00:50:53.467>defined <00:50:53.623>by <00:50:53.778>a <00:50:53.934>UX <00:50:54.090>and

720
00:50:57.630 --> 00:51:00.760
<00:50:57.630>also <00:50:57.805>can, <00:50:57.980>uh, <00:50:58.155>the, <00:50:58.330>uh, <00:50:58.505>can <00:50:58.680>implement <00:50:58.855>the <00:50:59.030>backend.

721
00:51:00.820 --> 00:51:05.200
<00:51:00.820>So <00:51:00.960>definitely <00:51:01.100>vain <00:51:01.240>is <00:51:01.380>a <00:51:01.520>technology <00:51:01.660>that, <00:51:01.800>uh, <00:51:01.940>should <00:51:02.080>be, <00:51:02.220>uh,

722
00:51:05.350 --> 00:51:08.640
<00:51:05.350>take <00:51:05.549>into <00:51:05.750>consideration. <00:51:05.950>Um, <00:51:06.150>hope <00:51:06.350>I, <00:51:06.549>I, <00:51:06.750>I,

723
00:51:08.920 --> 00:51:11.240
<00:51:08.920>I <00:51:09.200>am <00:51:09.480>I <00:51:09.760>answered <00:51:10.040>your <00:51:10.320>question?

724
00:51:12.920 --> 00:51:15.360
<00:51:12.920>I <00:51:13.095>think <00:51:13.270>so <00:51:13.445>thanks. <00:51:13.620>Thanks <00:51:13.795>for <00:51:13.970>that. <00:51:14.145>And, <00:51:14.320>um,

725
00:51:15.780 --> 00:51:19.760
<00:51:15.780>the <00:51:15.887>next <00:51:15.995>question <00:51:16.103>is <00:51:16.210>also <00:51:16.318>maybe <00:51:16.426>a <00:51:16.533>bit <00:51:16.641>connected <00:51:16.749>to <00:51:16.856>this <00:51:16.964>one. <00:51:17.072>You, <00:51:17.180>uh,

726
00:51:19.760 --> 00:51:24.440
<00:51:19.760>told <00:51:19.867>us <00:51:19.975>during <00:51:20.083>your <00:51:20.190>talk <00:51:20.298>a <00:51:20.406>lot <00:51:20.513>of <00:51:20.621>the <00:51:20.729>new <00:51:20.836>features <00:51:20.944>from <00:51:21.052>version <00:51:21.160>21,

727
00:51:24.740 --> 00:51:29.440
<00:51:24.740>but <00:51:24.867>what <00:51:24.994>feature <00:51:25.121>do <00:51:25.249>you <00:51:25.376>still <00:51:25.503>miss <00:51:25.630>in <00:51:25.758>the <00:51:25.885>upcoming <00:51:26.012>version <00:51:26.140>21?

728
00:51:31.810 --> 00:51:35.580
<00:51:31.810>What <00:51:32.009>feature <00:51:32.210>I <00:51:32.410>still <00:51:32.610>miss <00:51:32.810>in <00:51:33.009>Java <00:51:33.210>21.

729
00:51:37.040 --> 00:51:38.700
<00:51:37.040>Wow. <00:51:37.390>It's <00:51:37.740>an <00:51:38.090>interesting <00:51:38.440>question.

730
00:51:42.000 --> 00:51:45.360
<00:51:42.000>Uh, <00:51:42.350>I <00:51:42.700>don't <00:51:43.050>know. <00:51:43.400>I,

731
00:51:46.920 --> 00:51:50.880
<00:51:46.920>I <00:51:47.060>think <00:51:47.200>one <00:51:47.340>thing <00:51:47.480>in <00:51:47.620>order <00:51:47.760>to <00:51:47.900>reduce <00:51:48.040>verbosity <00:51:48.180>to <00:51:48.320>Java

732
00:51:52.740 --> 00:51:55.460
<00:51:52.740>is, <00:51:54.140>um,

733
00:51:56.690 --> 00:52:00.580
<00:51:56.690>well <00:51:56.845>I, <00:51:57.001>I, <00:51:57.156>I <00:51:57.312>know <00:51:57.467>that <00:51:57.623>I'm <00:51:57.778>entering <00:51:57.934>in <00:51:58.090>a,

734
00:52:00.880 --> 00:52:05.420
<00:52:00.880>in <00:52:00.996>a <00:52:01.113>complicated <00:52:01.230>path <00:52:01.346>now, <00:52:01.463>but, <00:52:01.580>okay, <00:52:01.696>forget <00:52:01.813>it. <00:52:01.930>I <00:52:02.046>will <00:52:02.163>say <00:52:02.280>it.

735
00:52:06.000 --> 00:52:09.940
<00:52:06.000>Um, <00:52:06.350>some <00:52:06.700>features <00:52:07.050>from, <00:52:07.400>uh,

736
00:52:10.050 --> 00:52:14.900
<00:52:10.050>libraries <00:52:10.190>like <00:52:10.330>Lombok <00:52:10.470>that <00:52:10.610>are <00:52:10.750>reducing <00:52:10.890>the <00:52:11.030>purity <00:52:11.170>for <00:52:11.310>the <00:52:11.450>developer,

737
00:52:15.300 --> 00:52:20.180
<00:52:15.300>I <00:52:15.455>think <00:52:15.611>they <00:52:15.766>are <00:52:15.922>also <00:52:16.077>important <00:52:16.233>because <00:52:16.388>we <00:52:16.544>have <00:52:16.700>accessories

738
00:52:20.640 --> 00:52:25.180
<00:52:20.640>and <00:52:20.839>mutators <00:52:21.040>in <00:52:21.240>Java, <00:52:21.440>for <00:52:21.640>instance. <00:52:21.839>And <00:52:22.040>yeah,

739
00:52:25.290 --> 00:52:26.620
<00:52:25.290>following <00:52:26.487>the,

740
00:52:28.000 --> 00:52:30.860
<00:52:28.000>the <00:52:28.280>convention <00:52:28.560>makes <00:52:28.840>your <00:52:29.120>classes <00:52:29.400>having

741
00:52:32.730 --> 00:52:37.500
<00:52:32.730>lots <00:52:32.870>of, <00:52:33.010>uh, <00:52:33.150>accessor <00:52:33.290>and <00:52:33.430>Mutators <00:52:33.570>probably <00:52:33.710>records <00:52:33.850>are <00:52:33.990>fixing, <00:52:34.130>uh,

742
00:52:37.570 --> 00:52:42.060
<00:52:37.570>some <00:52:37.770>of <00:52:37.970>this <00:52:38.170>because <00:52:38.370>they <00:52:38.570>are <00:52:38.770>implementing, <00:52:38.970>uh,

743
00:52:42.400 --> 00:52:44.900
<00:52:42.400>behind <00:52:43.100>those <00:52:43.800>accessories.

744
00:52:45.760 --> 00:52:48.660
<00:52:45.760>But <00:52:45.993>I <00:52:46.226>think <00:52:46.460>for <00:52:46.693>the <00:52:46.926>Java <00:52:47.160>language,

745
00:52:49.120 --> 00:52:53.820
<00:52:49.120>it <00:52:49.295>would <00:52:49.470>be <00:52:49.645>also <00:52:49.819>interesting <00:52:49.995>to <00:52:50.170>reduce <00:52:50.345>even <00:52:50.520>more

746
00:52:53.960 --> 00:52:56.740
<00:52:53.960>the <00:52:54.240>varsity <00:52:54.520>on <00:52:54.800>some <00:52:55.080>things. <00:52:55.360>Um,

747
00:52:58.130 --> 00:53:01.380
<00:52:58.130>Java <00:52:58.410>has <00:52:58.690>also <00:52:58.970>introduced <00:52:59.250>in <00:52:59.530>21,

748
00:53:01.440 --> 00:53:04.220
<00:53:01.440>but <00:53:01.673>I <00:53:01.906>think <00:53:02.140>it's <00:53:02.373>in <00:53:02.606>preview, <00:53:02.840>um,

749
00:53:05.720 --> 00:53:09.730
<00:53:05.720>that <00:53:05.919>you <00:53:06.120>don't <00:53:06.319>need <00:53:06.520>to <00:53:06.720>have, <00:53:06.919>um, <00:53:07.120>classes.

750
00:53:10.630 --> 00:53:12.890
<00:53:10.630>So <00:53:10.910>those <00:53:11.190>are <00:53:11.470>hidden <00:53:11.750>classes, <00:53:12.030>uh,

751
00:53:13.000 --> 00:53:16.530
<00:53:13.000>that <00:53:13.280>you <00:53:13.560>can <00:53:13.840>a <00:53:14.120>script <00:53:14.400>like,

752
00:53:16.600 --> 00:53:19.530
<00:53:16.600>like <00:53:16.775>if <00:53:16.950>it <00:53:17.125>was <00:53:17.299>a <00:53:17.475>Python <00:53:17.650>thing, <00:53:17.825>Python <00:53:18.000>file,

753
00:53:19.710 --> 00:53:24.170
<00:53:19.710>but <00:53:19.865>using <00:53:20.021>Java <00:53:20.176>because <00:53:20.332>there's <00:53:20.487>an <00:53:20.643>expl, <00:53:20.798>an <00:53:20.954>implicit, <00:53:21.110>uh,

754
00:53:24.360 --> 00:53:29.240
<00:53:24.360>Java <00:53:24.467>when <00:53:24.575>you <00:53:24.683>are <00:53:24.790>working. <00:53:24.898>So <00:53:25.006>this <00:53:25.113>is <00:53:25.221>also <00:53:25.329>reducing <00:53:25.436>ity <00:53:25.544>and <00:53:25.652>helping, <00:53:25.760>uh,

755
00:53:29.500 --> 00:53:33.840
<00:53:29.500>people <00:53:29.675>to <00:53:29.850>learn <00:53:30.025>and <00:53:30.200>uh, <00:53:30.375>enter <00:53:30.550>the <00:53:30.725>Java <00:53:30.900>world.

756
00:53:34.660 --> 00:53:39.640
<00:53:34.660>But <00:53:34.747>I <00:53:34.835>think <00:53:34.922>we <00:53:35.009>can <00:53:35.097>do <00:53:35.185>more, <00:53:35.272>uh, <00:53:35.359>in <00:53:35.447>order <00:53:35.535>to <00:53:35.622>reduce <00:53:35.710>ity <00:53:35.797>in <00:53:35.884>terms <00:53:35.972>of <00:53:36.060>that.

757
00:53:41.070 --> 00:53:44.800
<00:53:41.070>Okay. <00:53:41.225>Thank <00:53:41.381>you <00:53:41.536>for <00:53:41.692>thinking <00:53:41.847>about <00:53:42.003>it <00:53:42.158>and <00:53:42.314>telling <00:53:42.470>us,

758
00:53:46.380 --> 00:53:50.440
<00:53:46.380>and <00:53:46.496>I <00:53:46.613>would <00:53:46.730>say, <00:53:46.846>let's <00:53:46.963>move <00:53:47.080>on <00:53:47.196>to <00:53:47.313>the <00:53:47.430>next <00:53:47.546>question <00:53:47.663>if <00:53:47.780>we,

759
00:53:50.960 --> 00:53:53.200
<00:53:50.960>'cause <00:53:51.240>we <00:53:51.520>still <00:53:51.800>got <00:53:52.080>some. <00:53:52.360>Okay.

760
00:53:53.350 --> 00:53:57.400
<00:53:53.350>What <00:53:53.466>would <00:53:53.583>be <00:53:53.700>the <00:53:53.816>challenges <00:53:53.933>of <00:53:54.049>migrating <00:53:54.166>from <00:53:54.283>c <00:53:54.400>plus <00:53:54.516>plus <00:53:54.633>to <00:53:54.750>Java?

761
00:53:59.990 --> 00:54:03.320
<00:53:59.990>What <00:54:00.129>would <00:54:00.270>be <00:54:00.410>the <00:54:00.549>migrating <00:54:00.689>of <00:54:00.830>c <00:54:00.970>plus <00:54:01.109>plus <00:54:01.250>to <00:54:01.390>Java

762
00:54:05.220 --> 00:54:06.440
<00:54:05.220>Was <00:54:05.494>a <00:54:05.769>very <00:54:06.043>lively <00:54:06.318>sound.

763
00:54:07.230 --> 00:54:11.080
<00:54:07.230>Yeah. <00:54:07.357>Yeah. <00:54:07.484>I <00:54:07.611>don't, <00:54:07.739>I <00:54:07.866>don't <00:54:07.993>have <00:54:08.120>experience <00:54:08.248>with <00:54:08.375>c <00:54:08.502>plus <00:54:08.630>plus.

764
00:54:11.860 --> 00:54:12.693
Mm-hmm.

765
00:54:13.480 --> 00:54:17.240
<00:54:13.480>I, <00:54:13.713>I <00:54:13.946>had <00:54:14.180>experience <00:54:14.413>with <00:54:14.646>go, <00:54:14.880>yeah,

766
00:54:17.320 --> 00:54:20.760
<00:54:17.320>I <00:54:17.553>know <00:54:17.786>there <00:54:18.020>are <00:54:18.253>not, <00:54:18.486>not <00:54:18.720>equal,

767
00:54:21.260 --> 00:54:24.320
<00:54:21.260>but <00:54:21.493>I <00:54:21.726>mean <00:54:21.960>there <00:54:22.193>are <00:54:22.426>some, <00:54:22.660>the,

768
00:54:24.660 --> 00:54:29.360
<00:54:24.660>my <00:54:24.787>experience <00:54:24.914>moving <00:54:25.041>from <00:54:25.169>Java <00:54:25.296>to <00:54:25.423>go <00:54:25.550>that <00:54:25.678>can <00:54:25.805>or <00:54:25.932>cannot <00:54:26.060>be

769
00:54:29.360 --> 00:54:34.160
<00:54:29.360>applied <00:54:29.467>in <00:54:29.575>this <00:54:29.683>case <00:54:29.790>to <00:54:29.898>c <00:54:30.006>plus <00:54:30.113>plus <00:54:30.221>because <00:54:30.329>I <00:54:30.436>haven't, <00:54:30.544>uh, <00:54:30.652>code, <00:54:30.760>uh,

770
00:54:34.160 --> 00:54:38.980
<00:54:34.160>with <00:54:34.299>C <00:54:34.440>plus <00:54:34.580>plus <00:54:34.720>is <00:54:34.859>that <00:54:35.000>when <00:54:35.140>you <00:54:35.279>work <00:54:35.420>with <00:54:35.560>a

771
00:54:39.260 --> 00:54:43.820
<00:54:39.260>language <00:54:39.435>for <00:54:39.610>a <00:54:39.785>long <00:54:39.960>time, <00:54:40.135>you <00:54:40.310>in <00:54:40.485>your <00:54:40.660>brain,

772
00:54:43.920 --> 00:54:48.340
<00:54:43.920>you <00:54:44.060>use <00:54:44.200>patterns <00:54:44.340>to <00:54:44.480>solve <00:54:44.620>issues. <00:54:44.760>So <00:54:44.900>when <00:54:45.040>you <00:54:45.180>need, <00:54:45.320>um,

773
00:54:48.960 --> 00:54:53.780
<00:54:48.960>to <00:54:49.087>iterate <00:54:49.214>a <00:54:49.341>collection <00:54:49.469>or <00:54:49.596>a <00:54:49.723>list <00:54:49.850>of <00:54:49.978>things, <00:54:50.105>you <00:54:50.232>have, <00:54:50.360>um,

774
00:54:55.010 --> 00:54:56.420
<00:54:55.010>conventions <00:54:55.433>in <00:54:55.856>your <00:54:56.279>language,

775
00:54:57.080 --> 00:55:00.060
<00:54:57.080>so <00:54:57.313>you <00:54:57.546>directly <00:54:57.779>go <00:54:58.013>to <00:54:58.246>that <00:54:58.480>convention.

776
00:55:01.800 --> 00:55:06.740
<00:55:01.800>It <00:55:01.907>was <00:55:02.015>a <00:55:02.123>pain <00:55:02.230>for <00:55:02.338>me <00:55:02.446>moving <00:55:02.553>to <00:55:02.661>go <00:55:02.769>in <00:55:02.876>this <00:55:02.984>case <00:55:03.092>because <00:55:03.200>Go

777
00:55:07.280 --> 00:55:11.500
<00:55:07.280>has <00:55:07.420>different <00:55:07.560>conventions. <00:55:07.700>It's <00:55:07.840>not <00:55:07.980>that <00:55:08.120>it <00:55:08.260>is <00:55:08.400>better <00:55:08.540>or <00:55:08.680>worse,

778
00:55:11.930 --> 00:55:16.300
<00:55:11.930>it's <00:55:12.057>that <00:55:12.184>you <00:55:12.311>need <00:55:12.439>to <00:55:12.566>adapt <00:55:12.693>your <00:55:12.820>way <00:55:12.948>of <00:55:13.075>thinking <00:55:13.202>to <00:55:13.330>those

779
00:55:17.100 --> 00:55:21.420
<00:55:17.100>language <00:55:17.299>conventions, <00:55:17.500>idioms. <00:55:17.700>And <00:55:17.900>that's <00:55:18.100>the <00:55:18.299>hard <00:55:18.500>part.

780
00:55:22.040 --> 00:55:24.260
<00:55:22.040>In <00:55:22.506>the <00:55:22.973>end, <00:55:23.440>every,

781
00:55:24.590 --> 00:55:28.100
<00:55:24.590>every <00:55:24.823>language <00:55:25.056>has <00:55:25.290>good <00:55:25.523>things, <00:55:25.756>bad <00:55:25.990>things.

782
00:55:28.280 --> 00:55:31.340
<00:55:28.280>And <00:55:28.380>it <00:55:28.480>all <00:55:28.580>depends <00:55:28.680>in <00:55:28.780>the <00:55:28.880>end <00:55:28.980>in <00:55:29.080>the <00:55:29.180>developer <00:55:29.280>that <00:55:29.380>is <00:55:29.480>using <00:55:29.580>the <00:55:29.680>language.

783
00:55:32.560 --> 00:55:35.820
<00:55:32.560>But <00:55:32.700>if <00:55:32.840>the <00:55:32.980>same <00:55:33.120>developer <00:55:33.259>moves <00:55:33.400>from <00:55:33.540>one <00:55:33.680>language <00:55:33.820>to <00:55:33.960>another,

784
00:55:36.600 --> 00:55:41.060
<00:55:36.600>the <00:55:36.740>hard <00:55:36.880>thing <00:55:37.020>is <00:55:37.160>the <00:55:37.299>beginning <00:55:37.440>where <00:55:37.580>you <00:55:37.720>need <00:55:37.860>to <00:55:38.000>retrain

785
00:55:41.370 --> 00:55:45.740
<00:55:41.370>your <00:55:41.525>brain <00:55:41.681>in <00:55:41.836>order <00:55:41.992>to <00:55:42.147>use <00:55:42.303>the <00:55:42.458>new <00:55:42.614>conventions. <00:55:42.770>Uh,

786
00:55:45.920 --> 00:55:50.740
<00:55:45.920>but <00:55:46.036>I <00:55:46.153>cannot <00:55:46.270>say <00:55:46.386>anything <00:55:46.503>particularly <00:55:46.620>with <00:55:46.736>c <00:55:46.853>plus <00:55:46.970>plus <00:55:47.086>because <00:55:47.203>I <00:55:47.320>haven't

787
00:55:51.110 --> 00:55:52.180
<00:55:51.110>coded <00:55:51.431>in <00:55:51.752>that. <00:55:52.073>Sorry.

788
00:55:52.850 --> 00:55:55.980
<00:55:52.850>Yeah, <00:55:52.957>no, <00:55:53.065>no <00:55:53.173>shame <00:55:53.280>in <00:55:53.388>that. <00:55:53.496>Thank <00:55:53.603>you <00:55:53.711>for <00:55:53.819>trying <00:55:53.926>to <00:55:54.034>give <00:55:54.142>us <00:55:54.250>answer.

789
00:55:56.040 --> 00:56:00.340
<00:55:56.040>And <00:55:56.140>I <00:55:56.240>would <00:55:56.340>say <00:55:56.440>people <00:55:56.540>can <00:55:56.640>also <00:55:56.740>Google <00:55:56.840>things <00:55:56.940>like <00:55:57.040>that <00:55:57.140>with <00:55:57.240>the <00:55:57.340>foundation <00:55:57.440>they

790
00:56:00.340 --> 00:56:04.100
<00:56:00.340>got <00:56:00.456>from <00:56:00.573>you. <00:56:00.690>And <00:56:00.806>so <00:56:00.923>real <00:56:01.040>quick <00:56:01.156>as <00:56:01.273>we <00:56:01.390>have <00:56:01.506>one <00:56:01.623>minute <00:56:01.740>left,

791
00:56:04.220 --> 00:56:08.220
<00:56:04.220>I <00:56:04.319>would <00:56:04.419>say <00:56:04.520>as <00:56:04.620>a <00:56:04.720>last <00:56:04.819>quick <00:56:04.919>question, <00:56:05.020>out <00:56:05.120>of <00:56:05.220>all <00:56:05.319>these <00:56:05.419>features, <00:56:05.520>you <00:56:05.620>uh,

792
00:56:08.400 --> 00:56:12.580
<00:56:08.400>you <00:56:08.516>showed <00:56:08.633>us <00:56:08.750>what's <00:56:08.866>the <00:56:08.983>best <00:56:09.100>new <00:56:09.216>feature <00:56:09.333>in <00:56:09.450>version <00:56:09.566>21 <00:56:09.683>and <00:56:09.800>why?

793
00:56:15.110 --> 00:56:19.810
<00:56:15.110>Well, <00:56:15.310>I <00:56:15.510>would <00:56:15.710>say <00:56:15.910>virtual <00:56:16.110>threats <00:56:16.310>is <00:56:16.510>something

794
00:56:21.950 --> 00:56:25.320
<00:56:21.950>very, <00:56:22.149>very <00:56:22.350>interesting. <00:56:22.549>I <00:56:22.750>mean, <00:56:22.950>now <00:56:23.149>you <00:56:23.350>have,

795
00:56:28.230 --> 00:56:33.050
<00:56:28.230>before <00:56:28.357>that <00:56:28.484>concurrency <00:56:28.611>was <00:56:28.739>like <00:56:28.866>a <00:56:28.993>bit <00:56:29.120>of <00:56:29.248>magic <00:56:29.375>and <00:56:29.502>tricks <00:56:29.630>because

796
00:56:33.670 --> 00:56:35.210
<00:56:33.670>you <00:56:34.132>were <00:56:34.594>creating <00:56:35.056>threats,

797
00:56:36.430 --> 00:56:40.890
<00:56:36.430>but <00:56:36.546>the <00:56:36.663>system <00:56:36.779>can <00:56:36.896>only <00:56:37.013>operate <00:56:37.129>few <00:56:37.246>of <00:56:37.363>them. <00:56:37.480>So <00:56:37.596>it <00:56:37.713>was <00:56:37.830>a,

798
00:56:40.890 --> 00:56:44.290
<00:56:40.890>like <00:56:41.170>a <00:56:41.450>false <00:56:41.730>illusion <00:56:42.009>that <00:56:42.290>uh,

799
00:56:44.290 --> 00:56:47.330
<00:56:44.290>because <00:56:44.523>you <00:56:44.756>were <00:56:44.990>doing <00:56:45.223>concurrency <00:56:45.456>opening <00:56:45.690>threats,

800
00:56:47.910 --> 00:56:50.250
<00:56:47.910>things <00:56:48.190>were <00:56:48.470>going <00:56:48.750>to <00:56:49.029>be <00:56:49.310>wow,

801
00:56:50.430 --> 00:56:53.410
<00:56:50.430>way <00:56:50.779>faster <00:56:51.129>than <00:56:51.480>with, <00:56:51.830>uh,

802
00:56:54.850 --> 00:56:58.030
<00:56:54.850>not <00:56:55.005>using <00:56:55.161>concurrency. <00:56:55.316>That <00:56:55.472>was <00:56:55.627>not <00:56:55.783>the <00:56:55.938>case. <00:56:56.094>So <00:56:56.250>you,

803
00:56:58.030 --> 00:57:01.310
<00:56:58.030>you <00:56:58.205>can <00:56:58.380>improve <00:56:58.555>definitely, <00:56:58.730>but <00:56:58.905>at <00:56:59.080>a <00:56:59.255>certain <00:56:59.430>point.

804
00:57:03.250 --> 00:57:04.430
<00:57:03.250>But <00:57:03.604>with <00:57:03.958>virtual <00:57:04.312>threats,

805
00:57:06.160 --> 00:57:10.710
<00:57:06.160>definitely <00:57:06.299>it's <00:57:06.440>a <00:57:06.580>huge <00:57:06.720>improvement <00:57:06.859>because <00:57:07.000>you <00:57:07.140>can <00:57:07.279>increase <00:57:07.420>the <00:57:07.560>performance,

806
00:57:11.090 --> 00:57:14.980
<00:57:11.090>uh, <00:57:11.290>a <00:57:11.490>lot. <00:57:11.690>Yeah, <00:57:11.890>that <00:57:12.090>would <00:57:12.290>be <00:57:12.490>my,

807
00:57:15.720 --> 00:57:16.820
<00:57:15.720>my <00:57:16.215>best. <00:57:16.710>Alright,

808
00:57:16.820 --> 00:57:17.653
<00:57:16.820>Charles, <00:57:17.194>listen <00:57:17.569>Charles,

809
00:57:17.670 --> 00:57:21.660
<00:57:17.670>thank <00:57:17.770>you <00:57:17.870>so <00:57:17.970>much <00:57:18.070>for <00:57:18.170>the <00:57:18.270>informative <00:57:18.370>talk <00:57:18.470>also <00:57:18.570>for <00:57:18.670>the <00:57:18.770>q <00:57:18.870>and <00:57:18.970>a <00:57:19.070>after,

810
00:57:21.960 --> 00:57:25.260
<00:57:21.960>if <00:57:22.067>to <00:57:22.175>the <00:57:22.283>audience, <00:57:22.390>if <00:57:22.498>you <00:57:22.606>still <00:57:22.713>got <00:57:22.821>some <00:57:22.929>questions, <00:57:23.036>he <00:57:23.144>shared <00:57:23.252>his, <00:57:23.360>um,

811
00:57:25.330 --> 00:57:29.740
<00:57:25.330>socials <00:57:25.437>with <00:57:25.545>you, <00:57:25.653>so <00:57:25.760>I <00:57:25.868>think <00:57:25.976>he <00:57:26.083>wouldn't <00:57:26.191>mind <00:57:26.299>at <00:57:26.406>all <00:57:26.514>if <00:57:26.622>you <00:57:26.730>uh,

812
00:57:29.770 --> 00:57:31.380
<00:57:29.770>sent <00:57:30.050>those <00:57:30.330>directly <00:57:30.610>also <00:57:30.890>to <00:57:31.170>him.

813
00:57:32.040 --> 00:57:32.873
<00:57:32.040>Yes, <00:57:32.789>definitely.

814
00:57:33.070 --> 00:57:36.220
<00:57:33.070>Thank <00:57:33.163>you <00:57:33.256>so <00:57:33.350>much <00:57:33.443>for <00:57:33.536>joining <00:57:33.630>us <00:57:33.723>today <00:57:33.816>and <00:57:33.910>maybe <00:57:34.003>we <00:57:34.096>see <00:57:34.190>each <00:57:34.283>other <00:57:34.376>on <00:57:34.470>another

815
00:57:36.250 --> 00:57:37.083
<00:57:36.250>live <00:57:36.999>day.

816
00:57:37.470 --> 00:57:38.820
<00:57:37.470>Definitely, <00:57:38.685>definitely.

817
00:57:38.910 --> 00:57:42.340
<00:57:38.910>Thank <00:57:39.017>you <00:57:39.125>very <00:57:39.233>much <00:57:39.340>for <00:57:39.448>the <00:57:39.556>opportunity <00:57:39.663>and <00:57:39.771>have <00:57:39.879>a <00:57:39.986>lovely <00:57:40.094>day <00:57:40.202>ahead <00:57:40.310>for

818
00:57:42.500 --> 00:57:43.333
everyone.

819
00:57:43.430 --> 00:57:44.780
<00:57:43.430>Thank <00:57:43.733>you. <00:57:44.037>You <00:57:44.341>too. <00:57:44.645>Bye.