Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
Animate a Programar Eje Tecnologías Si aún no te inscribiste al taller, escaneá el código QR y completá el formulario. Los Talleres País Digital son capacitaciones llevadas a cabo en todo el país a través del Programa Punto Digital. Punto Digital es un Programa de inclusión digital que depende de Jefatura de Gabinete de Ministros de la Nación. Cuenta con más de 650 espacios públicos y gratuitos instalados en todo el país. Podés acercarte para capacitarte, hacer trámites, informarte, entretenerte o disfrutar del microcine. Subsecretaría de Servicios y País Digital Gobierno Abierto TALLERES PAÍS DIGITAL - ANIMATE A PROGRAMAR 3 Introducción: Repensar la Programación Programar consiste en darle a la computadora instrucciones para que pueda completar una acción. Todo lo que hace la computadora, lo puede hacer porque alguien ha preparado instrucciones que puede seguir, es decir, programas. Programar resulta útil porque así logramos que la computado- ra se pueda encargar de mayor cantidad de cosas, y de esa ma- nera automatizarlas. Pensá en acciones que hace sesenta años se hacían manualmente y de las que hoy en día se encargan las computadoras. Acá te ponemos algunas ideas como punto de par- tida, te invitamos a completar la lista con otras que se te ocurran: • Manejo de bases de datos • Almacenamiento y manejo de archivos y expedientes ¿Existe alguna actividad tediosa que te gustaría que estuviese au- tomatizada, es decir, que se hiciese sola? En el siguiente espacio po- dés poner las que se te ocurran. Ya pusimos tres para inspirarte. • Pagar las cuentas y hacer transferencias (si no te gusta el débito auto- mático) • Borrar fotos y otros archivos para liberar espacio del celular • Sacar turnos La programación permite facilitar y automatizar procesos. Lamentable- mente, es muy frecuente el prejuicio de pensarla como un campo alta- mente sofisticado y exclusivo, y no como una habilidad sumamente creativa y útil (y frecuentemente desafiante), con la que cualquiera puede experimentar, siempre que cuente con acceso a una computadora y con tiempo disponible para aprender. ¡IMPORTANTE! Aunque en lenguaje coloquial, cuando decimos programas nos referimos a aplicaciones como Inkscape, Gimp, Photoshop, etc, los programas informáticos son como la imagen de la izquierda: líneas de código. TALLERES PAÍS DIGITAL - ANIMATE A PROGRAMAR 4 Si abrimos una computadora, dentro no encontraremos programas infor- máticos, sino componentes electrónicos: placa madre, memoria RAM, procesador, etc. Estos se transmiten entre sí señales eléctricas. Las señales eléctricas consisten en corriente eléctrica de voltaje mucho más reducido (5V, 12V, 19V, etc) que el que encontramos en redes eléc- tricas caseras (220V). Las hay de dos tipos: digitales o analógicas. En el caso de las digitales (las empleadas por las computadoras), dicha corriente es controlada mediante distintos mecanismos propios de la electrónica, de modo que sea intermitente. Lo valioso de las señales digitales, es que permiten transmitir infor- mación; al ser intermitentes, transitan por dos estados (“prendido” y “apagado”), lo que les permite representar dos valores, 0 y 1. ¿Y para qué sirve representar ceros y unos? Gracias al código binario se puede ABC de la Programación TALLERES PAÍS DIGITAL - ANIMATE A PROGRAMAR 5 Traducción a código binario de todos los caracteres usados en el idioma inglés (esta tabla no incluye ñ ni letras acentuadas) escribir cualquier cosa usando ceros y unos. A continuación te mostra- mos cómo se escriben todas las letras del alfabeto en binario: Al comienzo de la informática moderna, para programar una compu- tadora era necesario pasarle comandos en binario, lo que también se llamaba “lenguaje máquina”. Se usaban muchas líneas de ceros y unos para conseguir que la computadora hiciera acciones simples. Más ade- lante surgen los “lenguajes ensambladores” que facilitaban un poco la tarea. Desde la década de los sesenta se usan los llamados “lenguajes de alto nivel”, los cuales perduran hasta hoy en día aunque con impor- tantes cambios. Los lenguajes de alto nivel ya usan comandos en lenguaje humano, casi siempre en inglés. Son por lo tanto mucho más legibles y tam- bién más sofisticados, ya que con una sola palabra se consigue que la computadora lleve adelante acciones complejas. Aunque hoy en día se usen este tipo de lenguajes, vale destacar que, mediante compila- dores e intérpretes, las computadoras los traducen al binario, que es el lenguaje que entienden y usan. Existen muchísimos lenguajes de alto nivel; algunos de los más empleados son Python, Javascript y Java. Todos los lenguajes, al tener un mismo interlocutor (la computadora), tienen funcionalidades parecidas y pueden hacer teórica y potencial- mente lo mismo. Sin embargo, es frecuente que los lenguajes se vayan especializando orientándose a rubros en particular. Python Es el lenguaje más usado en las distintas áreas asociadas al análisis de datos como la visualización de datos, el desarrollo de inteligencias artificiales, etc. Sin embargo, Python tiene librerías y frameworks para muchos otros usos, como por ejemplo para desarrollo backend (Djan- go), desarrollo de videojuegos, etc TALLERES PAÍS DIGITAL - ANIMATE A PROGRAMAR 6 Javascript Se usa principalmente para crear páginas y aplicaciones web. Como Python, tiene muchísimas librerías para otros usos. Java Entre sus usos más comunes están la creación de videojuegos, crea- ción de aplicaciones móviles y proyectos de internet de las cosas y computación física. Puede ser usado para muchísimas otras cosas. ¿De qué son capaces las computadoras? Si bien hacemos muchísimas cosas con computadoras, estas en realidad pueden hacer muy pocas cosas. • Almacenamiento: pueden almacenar números y palabras (valores) y grupos de valores. • Operaciones matemáticas: pueden sumar, restar, multiplicar, dividir, etc. • Operaciones lógicas: pueden comparar valores y determinar en qué se parecen y en qué son distintos, o pueden verificar si se cumple una condición o no. • Repetición: pueden repetir acciones de manera constante y regular. Una computadora común puede hacer todo esto a una impresionante velocidad de 100 millones de operaciones por segundo. Es justamente en la velocidad de procesamiento donde reside la magia de las com- putadoras. Al combinar de manera creativa operaciones matemáticas y lógicas a semejante velocidad, se logra hacer todo aquello que hace- mos con las computadoras. Aunque los lenguajes de programación se han vuelto cada vez más ac- cesibles, aún son lenguajes “computadoriles”, por lo que el desafío más grande para quien programa sigue siendo el de “ponerse en el lugar de la computadora”: pensar secuencias con comandos lógicos o matemáti- cos (también llamados algoritmos) que la computadora pueda resolver. Por suerte, hay varios procedimientos que ya están estandarizados y que atraviesan todos los lenguajes de programación. Estos son: Lógicas de la programación Considerando todo lo visto hasta el momento, podríamos definir la programación como la acción de idear y ejecutar una secuencia de instrucciones para una computadora, partiendo de operaciones que pueda realizar y en un lenguaje que la misma pueda entender. TALLERES PAÍS DIGITAL - ANIMATE A PROGRAMAR 7 1- El uso de variables: Una variable es un valor numérico o alfabético al que le damos un nom- bre y del que depende el desenvolvimiento del programa. Por ejemplo, supongamos que estamos desarrollando un videojuego en Java y nos gustaría que nuestro videojuego termine cuando quien juega acumule 400 puntos. En ese escenario, el puntaje será la principal variable del programa, ya que de ella depende que el mismo se siga ejecutando o continúe. 2- El uso de condicionales: Cuando insertamos un condicional en nuestro programa, le estamos di- ciendo a la computadora que lleve adelante una o varias acciones sólo si se cumple una condición. Porejemplo, las personas que programaron el sistema operativo Windows, seguramente introdujeron un condicional en el código que le especificaba a la computadora que abriera un archivo “si y sólo si” la persona usuaria hacía doble click. En casi todos los len- guajes de programación se introduce un condicional al código usando la palabra “if” (“si” en inglés). 3- El uso de ciclos, bucles o loops: Cuando insertamos un bucle en nuestro programa, le estamos indicando a la computadora que repita una o varias acciones una cantidad deter- minada de veces, o infinitas veces. Por ejemplo, podemos suponer que las y los programadores del sistema operativo Windows han insertado un bucle en el código, que le indica a la computadora que debe chequear constantemente si está actualizado o no el antivirus. Algunas de las pa- labras que se usan para insertar bucles en casi todos los lenguajes de programación son “while” y “for”. 4- El uso de funciones: Las funciones son los comandos concretos que se usan a lo largo del programa. Podemos pensarlas como la unidad mínima del programa, pues si hay un comando, ya hay una instrucción para la computadora. En Windows, se abre un archivo sólo si se le hace doble click al mouse. TALLERES PAÍS DIGITAL - ANIMATE A PROGRAMAR 8 Hay un sinfín de herramientas útiles para que las personas que progra- man puedan llevar adelante los distintos proyectos que encaren. A conti- nuación, mencionamos algunas que permitirán hacerse una idea de todo lo que es posible. Editores de texto Los códigos de nuestros programas generalmente los escribimos en edi- tores de texto especializados para programación, como Sublime text o Visual Studio. La interfaz de estos se ve así: Algunas herramientas que se usan al programar Como se puede apreciar en la imagen, es similar a la interfaz de edito- res de texto habituales. Una particularidad que tienen es que permiten trabajar con muchos códigos y archivos al mismo tiempo, como los que se ven a la izquierda en la imagen. Esto se debe a que la mayoría de los proyectos para los que usaremos programación no consistirán de uno, sino de varios programas y archivos, que deben interactuar entre sí y con los que debemos trabajar en simultáneo. Servidores y computadoras virtuales: En muchos de los proyectos que se llevan adelante con programación, los programas deben correr permanentemente. Tal es el caso de los bots, las páginas web y otros servicios web que deben estar disponibles para la persona usuaria en todo momento. En estos casos, los códigos y archivos que emplea el proyecto se suben a un servidor: una computado- ra o una red de computadoras encendidas constantemente. Otros proyectos no necesitan programas corriendo 24hs, pero sí necesi- tan de una capacidad de computación especial. Por ejemplo, la creación Interfaz de Sublime text TALLERES PAÍS DIGITAL - ANIMATE A PROGRAMAR 9 de modelos de inteligencia artificial necesita de procesadores muy po- tentes. Para estos casos existen las computadoras virtuales: servidores que podemos usar en remoto por un tiempo determinado, que frecuen- temente tienen capacidades avanzadas de computación. Repositorios Un repositorio web de programación es una plataforma web donde las y los usuarios pueden subir sus proyectos y sus respectivos códi- gos. El repositorio más difundido y usado es Github. La mayoría de las personas que lo usan eligen que sus códigos sean públicos, de modo que cualquier persona puede verlos, e incluso copiarlos, reconociendo siempre la autoría. Github es también usado por las y los creadores y desarrolladores de los lenguajes de programación, por lo que allí encontraremos ejemplos y documentación de estos, sus actualizaciones, etc. Es muy probable que al usar un lenguaje de programación consultemos frecuentemente la documentación del mismo, ya que es difícil conocerlo de memoria, más aún considerando que están constantemente cambiando y suman- do nuevas funciones. Los repositorios permiten tener “control de versión”, esto quiere decir que queda registro y detalle de todo lo que se ha cambiado en el código. APIs API es una sigla en inglés que quiere decir “Interfaz de Programación de Aplicación”. De manera muy resumida, podemos decir que las APIs permiten a una aplicación hacer uso de otra, evitando problemas o complejidades que ya han sido resueltas. ¿Notaste como ahora es posible hacer inicio de sesión en casi cualquier plataforma usando el login de gmail? Esto se debe a que gracias a las API estas platafor- mas pueden hacer uso de los servicios de Google. Foros Sucederá en muchas ocasiones que nuestro código fallará. Existen sin embargo foros para eso; el más conocido es Stackoverflow. Allí podemos postear una consulta o ver otras consultas hechas y las respuestas que han recibido. TALLERES PAÍS DIGITAL - ANIMATE A PROGRAMAR 10 Recursos para Aprender La plataforma freecodecamp.org ofrece cursos gratis de programa- ción, a los que se puede acceder en cualquier momento. La oferta disponible en español se centra en Desarrollo Web y en Análisis de Datos. https://www.freecodecamp.org/espanol/ Eje Tecnologías
Compartir