1
00:00:06,260 --> 00:00:13,460
Hola bueno vamos a comenzar a hablar sobre el lenguaje o este lenguaje increíble que ha revolucionado

2
00:00:13,730 --> 00:00:15,170
el mundo del desarrollo.

3
00:00:15,170 --> 00:00:23,540
Vamos a comenzar con unos breves conceptos antes de ponernos a trabajar ya con las descargas que vamos

4
00:00:23,540 --> 00:00:30,020
a hacer en las instalaciones de Gob. de aviso al estudio cómo vamos a ir paso a paso esto va a ser un

5
00:00:30,020 --> 00:00:39,500
curso bastante completo y bastante largo así que vamos primero a lo teórico a introducirnos en este

6
00:00:39,500 --> 00:00:44,670
lenguaje maravilloso que ha creado ni más ni menos que la empresa Google.

7
00:00:44,690 --> 00:00:54,560
Vamos a ver todos los detalles bueno vamos a comenzar a ver paso a paso cada uno de los de las características

8
00:00:54,560 --> 00:00:58,010
que hacen juego un lenguaje diferente.

9
00:00:58,010 --> 00:01:04,200
Vamos por ejemplo aquejó o bien como se los llama también Golan.

10
00:01:04,220 --> 00:01:05,750
Por qué se los llamó Golan.

11
00:01:05,750 --> 00:01:14,840
Porque cuando uno va y googlea y pone GOWA aparecen mil cosas porque es un verbo también y para diferenciarlo

12
00:01:14,840 --> 00:01:23,090
y poder encontrar rápidamente el material lean lo han bautizado también Golan Lande Language del lenguaje

13
00:01:23,600 --> 00:01:30,380
así que vamos a ver algunas cosas lo primero es lo que ya dije es un lenguaje de programación creado

14
00:01:30,380 --> 00:01:37,730
por Google lo han creado y vamos a ver aquí fue creado para resolver problemas internos de Google y

15
00:01:37,730 --> 00:01:43,550
luego escaló al universo del desarrollo por Google tenía problemas con los lenguajes tradicionales.

16
00:01:43,760 --> 00:01:51,170
Imaginen la velocidad que necesita Google para miles y miles de desarrollos de red internos que sostenían

17
00:01:51,500 --> 00:01:56,090
para servir peticiones para resolver operaciones matemáticas.

18
00:01:56,090 --> 00:02:04,850
Todos debían hacer rápido y Google utilizando el típico lenguaje C++ lo que fue viendo es que les iba

19
00:02:04,850 --> 00:02:11,390
quedando corto así que han desarrollado su propio lenguaje de programas o es un lenguaje fuertemente

20
00:02:11,390 --> 00:02:18,140
tipado esto significa que las variables hay que declararlas con su tipo si son enteros son Extrem y

21
00:02:18,140 --> 00:02:18,570
demás.

22
00:02:18,590 --> 00:02:21,140
Y este tipado no puede ser cambiado.

23
00:02:21,170 --> 00:02:28,610
Luego esto es algo bastante fijo y bastante bueno porque nos permite tener una programación clara.

24
00:02:28,640 --> 00:02:32,130
No soy partícipe de los lenguajes que no son tipado.

25
00:02:32,150 --> 00:02:38,570
Me parece que son muy cómodos en cierto aspecto y luego cuando hay que modificar el código se vuelve

26
00:02:38,570 --> 00:02:39,670
un dolor de cabeza.

27
00:02:39,680 --> 00:02:47,330
Pero estos son son pensamientos totalmente subjetivos de mi carrera de más de 30 años desarrollando

28
00:02:48,260 --> 00:02:54,590
un lenguaje que hereda su Cordes C++ aunque su sintaxis es mejorada y muy amigable.

29
00:02:54,590 --> 00:02:57,770
Van a ver que la sintaxis de Gog es increíble.

30
00:02:57,770 --> 00:03:04,920
O sea al principio nos va a costar y me acuerdo cuando yo tomé contacto con agua hace bastante Cassin

31
00:03:05,330 --> 00:03:12,980
cuando ni bien salió era todo un tema meter mi cabeza y mi estructura acostumbrada a lenguajes tradicionales

32
00:03:13,260 --> 00:03:15,230
a lo que es el lenguaje Goh.

33
00:03:15,260 --> 00:03:22,220
Pero una vez que ustedes estén familiarizados y ya hayan hecho algunos desarrollos engo van a ver que

34
00:03:22,220 --> 00:03:25,280
es un enamoramiento de este lenguaje.

35
00:03:25,340 --> 00:03:31,490
De hecho les va a costar desarrollar en otros lenguajes cuando ustedes tomen contacto con Go porque

36
00:03:31,510 --> 00:03:39,740
GOW es muy simple y GoW vino a resolver muchas cosas que de movida fueron mal pensadas no fueron pensadas

37
00:03:39,740 --> 00:03:47,610
en el desarrollador y en la facilidad de la construcción de aplicaciones fue pensado para aprovechar

38
00:03:47,610 --> 00:03:50,410
los últimos avances en hardware.

39
00:03:50,520 --> 00:03:58,710
Los multi procesadores y enormes cantidades de memoria y el paralelismo que significa hay nuevos procesadores

40
00:03:58,920 --> 00:04:03,820
que corren a otras velocidades que tienen internamente múltiples Cors.

41
00:04:04,050 --> 00:04:12,330
Donde esto glóbulo vamos a ver cuando veamos la programación asincrónica que hace GOW cómo aprovecha

42
00:04:12,330 --> 00:04:20,730
esto como ningún otro lenguaje lo ha logrado en los multi procesadores van a ver que el Redín de GOW

43
00:04:20,790 --> 00:04:23,040
es algo espectacular.

44
00:04:23,070 --> 00:04:31,500
Van a ver la velocidad con la que corre GOW y no lo van a poder creer y además ya hay computadores supercomputadores

45
00:04:31,500 --> 00:04:38,490
que tienen terabytes de memoria GOW aprovecha todo esto y el paralelismo es lo que estuvimos diciendo

46
00:04:38,490 --> 00:04:44,720
ahora poder ejecutar muchas cosas al mismo tiempo sin ningún tipo de problema.

47
00:04:44,820 --> 00:04:50,970
Vamos a ver que GOW es un lenguaje compilado o sea que genera archivos excess portables a cualquier

48
00:04:50,970 --> 00:04:58,050
sistema operativo y versión Chuc se contiene todo lo necesario para ejecutarse cuando ustedes compilan

49
00:04:58,140 --> 00:05:05,640
un programa de GOW se genera un exe que lo pueden llevar de Windows Linux de Linux Mac y se va a ejecutar

50
00:05:05,760 --> 00:05:07,730
sin ningún tipo de problema.

51
00:05:07,740 --> 00:05:16,360
Esto es lo que quiso resolver GOW con su lenguaje GOW obliga a los desarrolladores a llevar buenas prácticas

52
00:05:16,510 --> 00:05:24,370
y cuando digo que obliga significa que el compilador nos va a dar error o alertas si detecta que hay

53
00:05:24,370 --> 00:05:31,750
ciertas prácticas que no se han llevado a cabo por ejemplo van a ver como es el tema de la declaración

54
00:05:31,750 --> 00:05:39,940
de funciones o métodos o variables globales y cuando usamos variables o métodos o funciones globales

55
00:05:40,550 --> 00:05:47,590
nos obliga a comentar y darlas a colocarles un comentario y no acepta cualquier tipo de comentario.

56
00:05:47,590 --> 00:05:53,860
Van a ver van a ver todas las cosas que hace GOW no nos chilla por ejemplo si hemos declarado variables

57
00:05:54,070 --> 00:05:55,720
y no las hemos utilizado.

58
00:05:55,750 --> 00:06:03,370
Básicamente lo que quiere Google con esto es que los programas hechos en GOW sean claros fáciles de

59
00:06:03,370 --> 00:06:10,360
entender no haya declaraciones inútiles donde no hemos usado ciertas variables y a diferencia de otros

60
00:06:10,360 --> 00:06:15,510
lenguajes porque esto no lo he visto en ningún lenguaje GOW no te deja compilar.

61
00:06:15,520 --> 00:06:21,280
Si esto ocurre vamos a ver más características como demostró ser el lenguaje ideal para desarrollos

62
00:06:21,280 --> 00:06:26,890
grandes con miles y miles de usuarios concurrentes y millones de transacciones.

63
00:06:26,890 --> 00:06:33,190
Una de las cosas que más los va a asombrar a ustedes de GOW es cuando ejecuten una aplicación y por

64
00:06:33,190 --> 00:06:40,030
ejemplo vamos a ver en uno de los ejercicios que vamos a hacer vamos a colocar un fondo de 10 millones

65
00:06:40,360 --> 00:06:41,420
de iteraciones.

66
00:06:41,440 --> 00:06:47,770
Vamos a elucubrar lo que sería un Fornells aquí el GOW no existe la palabra next vamos a hacer un favor

67
00:06:48,010 --> 00:06:55,540
por 10 millones iteraciones y van a ver la velocidad inclusive enviando a pantalla la velocidad con

68
00:06:55,540 --> 00:06:56,330
la que corre.

69
00:06:56,350 --> 00:07:06,130
Si no viéramos ese fóra pantalla un Ford de 10 millones de iteraciones lo hace en 7 milisegundos.

70
00:07:06,130 --> 00:07:13,180
Esto lo van a poder probar ustedes en sus propias PC's y no estoy hablando de servidores con procesadores

71
00:07:13,240 --> 00:07:22,330
y procesadores y terabytes de memoria estoy hablando con una simple PC de escritorio 7 punto 8 milisegundos

72
00:07:22,360 --> 00:07:25,160
para correr 10 millones de iteraciones.

73
00:07:25,160 --> 00:07:30,940
Bueno vamos a ver un poquito de las convenciones de la sintaxis de Go por ejemplo en Go es fácil de

74
00:07:30,940 --> 00:07:38,410
entender su sintaxis es clara y mejorada con respecto a otros lenguajes y los voy a a que coloquen el

75
00:07:38,410 --> 00:07:40,210
lenguaje que ustedes quieran.

76
00:07:40,240 --> 00:07:49,090
Incluido Peyton y van a ver que GoW es más claro y es mejor en GOW no hace falta usar los puntos y comas

77
00:07:49,360 --> 00:07:56,050
el compilador mismo se encarga de colocar los puntos y comas a todo nuestro código recuerden que esto

78
00:07:56,050 --> 00:08:05,920
es traducido luego a C++ o internamente lo convierte en lenguaje máquina el compilador arroja advertencias

79
00:08:05,980 --> 00:08:12,760
ante variables esto ya lo acabo de decir de variables declaradas no utilizadas y paquetes que hemos

80
00:08:12,760 --> 00:08:14,980
importados no utilizados.

81
00:08:14,980 --> 00:08:21,610
Vamos a ver el concepto de paquete que hace que nuestro programa pueda ser estructurado de manera muy

82
00:08:21,610 --> 00:08:27,490
fácil muy clara y podríamos reutilizar nuestro código en otros desarrollos.

83
00:08:27,490 --> 00:08:31,240
Las funciones en GOW pueden devolver más de un valor.

84
00:08:31,240 --> 00:08:33,570
Esto es algo increíble.

85
00:08:33,580 --> 00:08:41,320
30 años desarrollando para recién ahora poder ver que hay un lenguaje que ha desarrollado la tecnología

86
00:08:41,320 --> 00:08:48,580
necesaria para que una función cualquiera que nosotros desarrollemos pueda devolver uno o varios tipos

87
00:08:48,580 --> 00:08:51,100
de datos unos varios resultados.

88
00:08:51,100 --> 00:08:52,680
Esto es algo increíble.

89
00:08:52,720 --> 00:09:00,040
Nosotros lo hemos tenido que resolver de una manera por izquierda desarrollando otro tipo de funcionalidad

90
00:09:00,040 --> 00:09:01,780
con variables globales.

91
00:09:01,780 --> 00:09:08,930
Nosotros vamos a ver que esto lo resuelve de una manera muy sencilla y fácil de usar para el desarrollador.

92
00:09:08,930 --> 00:09:17,020
Se puede desarrollar en tanto instrucciones sincronías sincrónicas como sincrónicas en GOW tenemos también

93
00:09:17,020 --> 00:09:20,150
lo que se llama la programación asincrónica.

94
00:09:20,170 --> 00:09:27,280
Si ustedes vienen del mundo del Javascript por ejemplo no DJs está muy fuerte el tema de las promesas

95
00:09:27,310 --> 00:09:32,740
los aguay y todo lo que tiene que ver con la programación asíncrona.

96
00:09:32,740 --> 00:09:41,460
Quiero decirles que a diferencia de J Ese GOW lo hace de una manera mucho más clara mucho más fácil.

97
00:09:41,470 --> 00:09:49,470
Quiero decirles porque yo también he desarrollado que esto es mucho más fácil solo existe la instrucción

98
00:09:49,480 --> 00:09:56,500
for para iteraciones no existe el Weyl el Duván TIL no existe nada similar para los que venimos desarrollando

99
00:09:56,500 --> 00:10:03,340
hace mucho tiempo ver que no existe el Duguit que es una instrucción milenaria clara que la hemos usado

100
00:10:03,400 --> 00:10:09,850
en todos los lenguajes de programación con otros nombres otras sintaxis otras construcciones pero siempre

101
00:10:09,850 --> 00:10:17,820
ha estado presente en todos los lenguajes de Go lo ha desterrado solo existe una clara instrucción que

102
00:10:17,820 --> 00:10:23,760
es la instrucción form que no es la no es solamente la instrucción Fornells que hemos conocido en los

103
00:10:23,760 --> 00:10:30,600
lenguajes es una instrucción mucho más rica y mucho más potente y van a ver lo rápido que corre y lo

104
00:10:30,600 --> 00:10:34,920
fácil que es comprender su sintaxis.

105
00:10:34,950 --> 00:10:38,360
No es un lenguaje orientado a objetos.

106
00:10:38,370 --> 00:10:44,310
Aquí no van a existir las clases no existen las clases no existe la herencia no existe el polimorfismo

107
00:10:44,310 --> 00:10:52,170
como lo conocemos existe en todas estas cosas manejadas y mascaradas dentro de estructuras funciones

108
00:10:52,260 --> 00:10:54,450
métodos e interfaces.

109
00:10:54,450 --> 00:11:00,380
Vamos a ver cómo resolver lo mismo cómo obtener lo mismo pero de una manera mucho más clara.

110
00:11:00,480 --> 00:11:07,830
Al principio puede ser obviamente si yo vengo acostumbrado al concepto de clases al concepto de propiedades

111
00:11:07,890 --> 00:11:16,980
de métodos todo esto se va a resolver fácil con la programación cómo las resuelve gov el COV de las

112
00:11:16,980 --> 00:11:23,670
variables métodos y funciones se determinan con nombres en mayúsculas y en minúsculas.

113
00:11:23,670 --> 00:11:30,960
Nosotros conocíamos las variables privadas las variables públicas las variables globales todo esto desapareció

114
00:11:31,050 --> 00:11:38,790
de manera explícita o sea no vamos a poner ni públic ni Privat ni global vamos a usar simplemente los

115
00:11:38,790 --> 00:11:43,270
nombres de las variables y los nombres de las funciones cómo lo resuelve.

116
00:11:43,320 --> 00:11:50,010
Es muy sencillo si una variable empieza con una letra en minúscula es una variable privada si una variable

117
00:11:50,100 --> 00:11:57,660
o una función o un método comienza con una letra mayúscula esa variable funcionó método son variables

118
00:11:57,690 --> 00:12:07,200
que se exportan a otros Escofet a otros paquetes a otros desarrollos así que son con propiedades y funciones

119
00:12:07,200 --> 00:12:13,590
que nos van a aparecer disponibles cuando coloquemos por ejemplo el nombre de un objeto punto y nos

120
00:12:13,590 --> 00:12:15,060
va a aparecer ya.

121
00:12:15,150 --> 00:12:17,470
Estas funciones y estas propiedades.

122
00:12:17,520 --> 00:12:25,590
Esto es como esto conjuntamente con el apartado anterior es cómo resuelve Gob. no solo el tema de orientado

123
00:12:25,590 --> 00:12:28,540
a objetos sino el tema de los CECOP de variables.

124
00:12:28,550 --> 00:12:35,820
Bueno vamos a seguir ahora ya a la práctica el próximo capítulo donde vamos a instalarlo vamos a instalar

125
00:12:35,820 --> 00:12:42,540
nuestro Visual Studio Kou y vamos a configurar todo eso para empezar a hacer el primer ejercicio que

126
00:12:42,540 --> 00:12:48,090
es el básico en la puerta de entrada de todo curso que es el Hola Mundo y luego vamos a hacer cosas

127
00:12:48,090 --> 00:12:51,050
mucho más complejas mucho más ricas.

128
00:12:51,060 --> 00:12:57,330
Vamos a ver toda la sintaxis de GOW todas las construcciones vamos a ver cada uno de los elementos de

129
00:12:57,340 --> 00:13:03,200
GOW y vamos a hacer cosas muy muy importantes en este curso vamos a hacer a Pirez.

130
00:13:03,240 --> 00:13:09,330
Vamos a hacer vamos a conectarnos a base de datos vamos a hacer desarrollos muy buenos y vamos a manejar

131
00:13:09,360 --> 00:13:10,770
todo en guíate.

132
00:13:10,860 --> 00:13:18,480
Y bueno no me quiero extender mucho vamos a la próxima al próximo capítulo y continuamos con este curso

133
00:13:18,600 --> 00:13:20,590
increíble de GOW.
