Por qué programamos
Introducción - Parte 1 Python para Todos Charles Severance: Profesor clínico asociado de Información Hola, y bienvenidos a Python para Todos.
Me llamo Charles Severance y soy tu Instructor.
Nombramos Python para Todos porque estamos dedicados a la noción de que cada vez más nuestras vidas están rodeadas de tecnología, por eso queremos que te conviertas en fabricante de tecnología, no solo en consumidor.
Queremos cambiar tu perspectiva, ya sabes, este lado de la tecnología, desde donde lo miras, al otro lado, desde donde estás, eres como un creador de la tecnología, y puedes crear cosas.
Y lleva mucho tiempo y es posible que no quieras ser programador profesional, o te gustaría leer algunos datos, pero creemos que todo el mundo debería saber básicamente cómo programar y cómo hacer las cosas dentro de una computadora tanto como para ser simplemente un participante responsable en la tecnología moderna, cada vez más orientada hacia la sociedad.
Las computadoras quieren ser útiles.
Están programadas, están diseñadas, su hardware está diseñado, hablaremos sobre el hardware en el siguiente segmento, pero está diseñado y conectado, y cuando se le aplica electricidad, básicamente tiene una pregunta y es "¿Qué quieres hacer a continuación? Y si piensas en tu teléfono y en todas las aplicaciones que tienes en tu teléfono, cada aplicación pregunta qué hacer a continuación, qué hacer a continuación, por lo que, como programador, tu trabajo es servir al usuario.
El usuario tiene algo que quiere hacer, tal vez quiera mover un pájaro hacia un cerdo o tal vez necesite analizar algunos datos o quizás quiera hacer algo como hablar con su teléfono, y tú debes ser un verdadero científico informático avanzado.
Y así, como usuario, tenemos tantos programadores maravillosos que han puesto tanto software que hace que estos teléfonos sean inteligentes.
El hardware en sí no es tan inteligente y nuestro trabajo como programadores es actuar como intermediarios entre el hardware y el usuario para construir algo maravilloso y hermoso.
Y así, puedes imaginar que tu trabajo como programador es intermediar entre el hardware y el usuario final.
Y si tú eres un programador profesional y estás tratando de vender tu software, bueno, estás tratando de imaginar lo que el mundo podría querer, y puedes imaginar todas estas tiendas de aplicaciones, etcétera, y estos son lugares que puedes crear software e intercambiarlo con otras personas y ayudar a la gente.
Y como dije, estamos tratando de pasarte de un lado de este dispositivo al otro lado de este dispositivo, donde tú eres el fabricante.
Y puedes pensar en esto como una herramienta para administrar tu calendario, o manejar tu auto y leer un mapa o lo que sea, pero cuando lo miras desde el otro lado, cuando lo ves como programador, usas cosas como compiladores e intérpretes y lenguajes y redes de programación, etcétera, y en realidad tenemos herramientas que aprenderemos a usar.
Python es una herramienta que los programadores utilizan en la parte posterior de esta computadora para hacer cosas nuevas para la parte frontal de la computadora.
Ahora, ¿cuál es tu motivación para convertirte en programador? Bueno, una gran motivación de los programadores profesionales, construir algo para que lo usen todos los demás, yo trabajo en este software de código abierto llamado Sakai, que millones de personas usan en todo el mundo, la enseñanza y el aprendizaje son muy gratificantes para mí.
Me siento muy bien por eso.
Tú podrías construir un libro de visitas para un sitio web.
Pero generalmente eso no es lo primero que vas a hacer con tus habilidades de programación.
Puedes obtener algunos datos, puede ser un contador o puedes ser un abogado, o puedes ser un bibliotecario, y alguien tiene algunos datos y no puedes obtener un informe de estos datos, es algo que realmente con curiosidad, alguien dice: "¿Podrías eliminar una pequeña parte del código de Python para contar la cantidad de veces que esto ocurre el sábado, pero luego vuelve a suceder el lunes? Cuéntanos cuántas veces sucede".
Y así escribes 40 líneas de código, y aparece y nos dice cuáles son esos datos.
Y eso es realmente útil.
La diferencia clave entre escribir un programa para otra persona y escribir un tipo de programa para que tú lo consumad o solo algunas otras personas, es el rigor.
No tienes que ser tan profesional solo para escribir un código que puedas usar tú mismo.
Si funciona y obtienes los datos que deseas, entonces, ya sabes, el trabajo está hecho.
Si quieres convertirte en un programador profesional, entonces tienes que estudiar cómo ser más preciso y más ingeniero, pero no vamos a preocuparnos por eso en este grupo inicial de cursos.
Solo queremos que aprendas la mecánica y el lenguaje de programación.
Y por eso queremos, como dije, pasar de ser usuario a ser programador.
Y como programador, empiezas a pensar que vives dentro de la computadora, por lo que eres un consumidor aquí, estás haciendo clic en los botones y esas cosas, y como programador, vas a escribir código, y ese código va a usar datos, redes, CPUs y memoria, y luego hará algo por el usuario.
Así que estamos tratando de cambiar tu perspectiva y de alguna manera meterte en la computadora.
Bueno, ¿qué estás haciendo en esa computadora? ¿Qué es código, qué es software, qué es un programa? Bueno, un programa es como una secuencia de instrucciones almacenadas, y la idea es que la computadora en el nivel más bajo en el hardware no es tan inteligente, pero tiene mucha flexibilidad en eso si le damos las instrucciones correctas, puede hacer cosas increíbles.
Si le damos las instrucciones correctas, escuchar la voz, digitalizar la voz y darle sentido a la voz, entonces puedes escribir un programa que pueda "Escuchar".
La computadora no oye, el programa oye.
La computadora lo hace para que pueda ejecutar todos los cálculos que parecen hacer que se escuche, pero un ser humano o, en realidad, miles de seres humanos lo hicieron posible para que puedas hablar con tu teléfono.
Y así, puedes pensar, al final de esto, cuando estás construyendo algo realmente brillante como la capacidad de una computadora de que te escuche, te estás llevando a ti, a toda tu creatividad y toda la investigación que has hecho y estás construyendo algo realmente increíble y lo pones en la computadora.
Pero sigue siendo una serie de instrucciones almacenadas que se ejecutan paso a paso y alguien descubrió cada pequeño paso que tiene que suceder.
Y así, una vez que descubrimos esto, escribimos las instrucciones cuidadosamente y luego se las damos a alguien.
Aquí hay un programa que hace reconocimiento de voz.
Y si te interesa, digo que está maravillosamente creado.
Como programador profesional, he amado mi vida.
Me encantaron las cosas que hago, las construyo para las personas, las hago felices y luego me alimento de ellas y luego construyo otra cosa.
Pero en última instancia, es solo un conjunto de instrucciones.
Si te preguntas, "¿Qué hay en un conjunto de instrucciones?" Bueno, aquí vamos.
Aquí hay un programa para un ser humano.
Ahora, puedo estar mostrando un poco mi edad, pero éste es un vídeo de YouTube, ojalá no sea eliminado por los derechos de autor o lo que sea, en esta canción llamada "La Macarena".
así que "La Macarena" es un algoritmo o una serie de pasos que esperamos que ustedes, ya sabes, hace 5 años o hace muchos años ibas al bar, y veías a todas estas personas haciendo estas cosas levantando las manos y poniendo sus cosas alrededor y meneo, meneo, meneo y das vuelta, ¿cierto? Y tú estás sentado allí y te preguntas, de acuerdo, ¿cuál es la secuencia de instrucciones que están haciendo? De hecho, hay una cosa de bucle.
Mientras suena la música, sacas la mano izquierda, sacas la mano derecha, giras la mano izquierda, giras la mano izquierda, giras la mano derecha, me olvidé por completo.
Pero aquí hay algo que quiero que hagas.
Quiero que veas esta diapositiva y voy a estar en silencio durante un minuto.
Quiero que veas esta diapositiva, pauses el vídeo si es necesario, hay 3 errores en este programa.
Se ve bien, pero hay 3 errores, así que voy a parar por un segundo.
Así que espero que lo hayas detenido si tenías que hacerlo.
Pero ahora voy a volver y te mostraré cuáles son los errores.
Y aquí están los 3 gusanos.
Ahora, si no los encontraste, incluso si los observas de cerca, has aprendido algo sobre los seres humanos, y es que los seres humanos operamos en un mundo lleno de errores.
Hay errores tipográficos, las personas dicen las cosas de manera incorrecta y nosotros, como personas, las corregimos a medida que las percibimos, como las entendemos.
Pero incluso mientras lees esto, es posible que no hayas visto estos errores, porque tu cerebro simplemente los corrigió, porque nosotros, nosotros solucionamos los errores en nuestro entorno, es lo que hacemos.
Las computadoras no son así.
Aunque después de un tiempo el reconocimiento de voz, ese software aprende cómo filtrar los errores, pero eso fue muy difícil de escribir, ¿de acuerdo? Las computadoras no entienden cómo filtrar los errores.
Pero con suficiente instrucción puedes hacer que filtren los errores, ¿de acuerdo? Y es por eso que los motores de búsqueda funcionan.
Es una especie de inteligencia suave, pero fue muy difícil de construir.
Pero cuando empezamos a hablar sobre escribir programas, ya sea escribir programas para hacer motores de búsqueda o escribir programas para reconocer las voces, esos programas tienen que ser perfectos.
Si cometen el más mínimo error contextual o tipográfico, esos programas simplemente no funcionan.
Y aquí vamos.
Decimos: "Jamón derecho a la nuca".
¿Qué? ¿Dónde había jamón en esto? Así que tienes este jamón en la mano y quieres golpearlo en la parte posterior de la cabeza.
Es posible que no notes esto, pero la computadora literalmente dirá "Error de sintaxis, abandono".
¿Correcto? Y así, el error de sintaxis es el momento en el que la computadora se dice a sí misma "No sé qué hacer".
Y lo mismo es cierto aquí, ¿vas a golpear a alguien? ¿De qué estás hablando? Y así la computadora se va a perder por completo por esto.
Puedes mirar esto y puede que lo arregles y lo compenses.
Eso es una especie de conjunto de experiencia en programación, programas para personas.
Así que ése es el código correcto.
Entonces, hablemos un poco sobre los programas en Python.
Como he dicho, es un conjunto de instrucciones.
Así que voy a poner un texto aquí y quiero que cuentes el número de cada palabra en este texto y luego me digas cuál es la palabra más común y cuántas veces aparece esta palabra.
Aquí vamos.
¡Cuenta! ¡Solo cuenta! ¡Concéntrate! Concéntrate.
Concéntrate.
Concéntrate.
Y parte de lo interesante aquí no es tanto si puedes contar esas palabras como si no, sino cómo reacciona tu mente al problema en el que te acabo de colocar.
Probablemente estés pensando ¡Esto simplemente no es bueno! "Soy tan bueno, puedo conducir un auto, puedo jugar béisbol, puedo atrapar algo, puedo cantar una canción y, sin embargo, concentrarme en contar estas palabras parece realmente molesto".
Resulta que ésta es una de esas cosas, el análisis de texto es una de esas cosas en las que las computadoras son muy buenas, y nosotros los humanos somos muy malos, por lo que e genial delegar este problema a una computadora si conoces el idioma de la computadora y tú puedes hablar con la computadora.
Y entonces, no espero que veas este código, vamos a pasar muchas semanas analizando todos los aspectos básicos de esto.
Pero éste es un programa.
Éste es un conjunto de instrucciones que tiene 2, como 6, aproximadamente 11, 12 líneas de código y en él, le hemos indicado a la computadora que lea un montón de texto, cuente las palabras y nos diga cuál es la palabra más común.
Y así, si ejecutamos este programa, y le damos, ya sabes, un archivo de palabras que dirá que la palabra más común es "a" y que hay 16.
¿Ese texto de payaso que acabo de pedirte? 'El' es la palabra más común y hay 7.
Y, entonces, ésta es un, esto es básicamente un esbozo de un programa que, quiero decir, es un programa que resuelve este problema sobre el que aprenderemos, no intentes aprender esto de inmediato.
A continuación, hablaremos sobre la arquitectura del hardware y lo que sucede dentro de la computadora que usarás cuando seas programador.
Comentarios
Publicar un comentario