Bienvenidos al taller "pl" (programación libre), iniciaremos viendo algunos conceptos previos y luego pasaremos a la acción. Iba copiar algunos conceptos previos de la wikipedia pero me parecieron muy técnicos y no quiero marear con esas definiciones todavía, a lo largo de este curso iremos adquiriendo términos técnicos y a utilizar esas palabras que deben estar en todos los programadores. Recuerdo que la lista de alumnos estará en este link:
https://dl.dropboxusercontent.com/u/100311958/taller-programacion-libre/alumnos.txt
y los que aún no enviaron los datos o no completaron el examen inicial lo pueden descargar de aquí:
https://dl.dropboxusercontent.com/u/100311958/taller-programacion-libre/examen.txt
Desde esta semana se procesará la lista de quienes abonaron la tutoría así pueden acceder a mas información del curso, estará indicado en la lista de alumnos.
Para empezar debemos tener en cuenta 3 cosas:
* conocer el entorno
* dominar las herramientas
* y comprender nuestras capacidades.
que son items que trabajaremos a lo largo de este taller.
1. conocer el entorno: todo programador trabaja con un entorno preciso, en este caso será la pc con sistema operativo windows. iremos viendo poco a poco que es la pc, como está compuesta, y como funciona.
ahi una frase muy repetida:
"la magia es para los magos, nosotros somos programadores"
Nada en la pc es por arte de magia, debemos comprender bien cual es el proceso, y que está haciendo la pc para realizar esa acción, si algo se nos escapa lo debemos conocer para ser excelentes developers (desarrollador de software).
Si aún estamos en el comienzo, tengamos paciencia, vayamos adquiriendo conocimientos a cuenta gota para no saturarnos de información, y ir escalando paso a paso. despacito y con confianza llegaremos mucho mas alto en nuestra escalada hacia el conocimiento.
2. dominar las herramientas: en este caso vamos a contar con 3 herramientas fundamentales:
* el blog, en:
http://barrazamiguel.blogspot.com
Estará publicado todo el taller, si algo no entendí o me quedó dudas, puedes revisar todos los artículos y encontrar tu respuesta, además iré publicando otros post con otros temas que pueden llegar a ampliar mas tus conocimientos, en caso de no encontrar la respuesta puedes optar por la herramienta siguiente.
* google: este magnífico buscador es la herramienta de todo informático, aprende a dominarlo, a realizar búsquedas, a encontrar tus respuestas, te aseguro que es sorprendente ver que no eres el único con esa duda, que seguro que ya hubo otro con la misma inquietud y que ya le respondieron en la red. y si tu duda es muy compleja, de seguro que encuentras un apoyo en la comunidad del lenguaje que utilizas.
* autoit: dominar el lenguaje es fundamental, saber que se puede hacer con él, que no, estar al tanto de sus actualizaciones, liberar tus programas y sus códigos, leer los códigos de los demás que también liberaron sus programas y participar en su comunidad es muy importante.
3. comprender nuestras capacidades: ya si iniciaste este curso considerate un programador newbie (novato / aprendiz). intenta adquirir poco a poco los términos técnicos, resuelve todos los ejercicios proporcionados en el curso, y en lo posible intenta crear tus propios ejercicios para resolver.
la creatividad es el factor mas importante de todo programador, anímate a ir mas allá de lo que te explican y topate con esos problemas o errores que no esperabas. si encuentras un error o algo que no entiendes, vas por buen camino, cuanto mas participes mas cerca estarás del camino de un buen programador: "de la práctica se hacen los maestros".
que es un newbie?:
La palabra "Newbie" se refiere a un recién iniciado en la informática. Y hace referencia a las personas realmente interesadas en aprender, y que no buscan que los demás integrantes de la comunidad o foro a la que pertenecen solucionen sus problemas. Es muy utilizado en las comunidades informáticas, aunque también se lo puede denominar como: "Noob", o "Newb" que son bastante usadas como insulto, ya que se refieren a aquel novato que solo busca que lo ayuden a resolver su problema sin intentar aprender cual es el proceso para solucionarlo, ejemplo:
tengo este código, no me funciona, me lo pueden reparar?.
en vez de preguntar:
no entiendo mi error, ya lo busqué por google y no lo logro comprender, necesitaría ayuda sobre este problema, pego mi código a continuación.
Si prefijamos la meta de ser programadores y nos empezamos a sentir como tal, vayamos al tema entonces:
¿Qué es la informática?:
Ajá!, una pregunta muy buena, que estuve muy tentado de ponerla en el examen de ingreso, te invito a que detengas la lectura aquí y te respondas esa pregunta, cuando estés seguro de tu respuesta sigas leyendo.
Es una pregunta que suelo hacerla a todos aquellos que dicen ser informáticos, pero no saben definir bien los conceptos, ahi que entender bien las bases para poder construir arriba.
La informática es una ciencia que estudia métodos, procesos, técnicas, con el fin de almacenar, procesar y transmitir información y datos en formato digital,
en resumen: La informática es una ciencia que estudia la metodología de organizar la información.
Está compuesta de 2 palabras:
"infor": información
"mática": automática
osea informática significa: información automatizada.
Una computadora lo único que guarda en su interior es información: fotos, videos, música, textos, etc. pueden imaginarse cuanta información ahi en el mundo, o cuanta información maneja las corporaciones?, para llevar esto a algo mas entendible: veamos facebook:
tiene mas de 150 millones de usuarios, que suben fotos todo el tiempo y publican comentarios, están generando tonelada de información todo el tiempo, lleven eso a algo tangible: imaginen que cada foto es un ladrillo, ese ladrillo ahi que guardarlo, ordenarlo, almacenarlo todo en un depósito, y luego al pedirte traeme el ladrillo 23421 tienes que ir corriendo rápidamente sin perderte, tomarlo y traerlo.
Esa es la tarea del informático, intentar procesar la información en forma ordenada para poder brindar la comunidad de todos los usuarios de poder escuchar música o ver sus fotos solo con un botón sin tener que saber que ahce la pc de fondo.
uno de los papeles mas importantes en esta area es el del programador: que es el encargado de desarollar aplicaciones / software que se encargan de organizar toda esa información.
pero no asustarse!, no todo el mundo estamos encargados de manejar tanto volumen de datos, ni todos tenemos que lidear con esos problemas, verán a lo largo de este curso como hai tareas super fácil de realizar.
Conociendo a la computadora:
El ordenador o computadora es el escenario que debemos conocer, sobre él trabajaremos, pelearemos, nos enamoraremos, y aunque nos de dolores de cabeza tenemos que llegar a amarlo, tenemos que ser parte de él, como la pc es parte de nuestra vida. Una de las principales tareas del programador es pensar como si fuese una máquina, como si vos fuese la computadora y que el usuario te está manejando a ti. ya que la computadora aunque muchos dicen que es un dispositivo inteligente, no es verdad, los informáticos la denominamos: caja boba, ya que no hará nada que no le hayas indicado.
si tu no le dices: guardame la info y apagate, la pc quedará prendida eternamente sin saber que hacer.
por lo tanto debemos indicarle paso a paso que debe hacer la computadora, a eso lo denominamos algoritmos.
¿que es un algoritmo?:
es la forma de indicar un proceso paso a paso.
ejemplo:
hagamos un algoritmo de como tomar la sopa:
si ya tenemos la sopa servida en la mesa entonces:
1. agarrar la cuchara
2. acercarla al plato
3. coger un poco de sopa con la cuchara
4. hacercarla a la boca y absorverla
5. repetir del paso 2 al 4 hasta que se termine la sopa
6. dejar la cuchara
7. tomar una servilleta para limpiarse la boca
fin del algoritmo.
tarea 1: pongamos en práctica la imaginación
realizar 2 algoritmos diferentes sobre una tarea cotidiana que realizamos, por ejemplo: como cocinar un poyo, o como es mi día cotidianamente. y enviarlo vía e-mail.
¿como entiende la pc mi algoritmo?:
para que la máquina comprenda las órdenes debemos codificarlo en un lenguaje de programación, a esta técnica se le llama programar.
¿que es un lenguaje de programación?:
es la forma de comunicarnos humanamente con la máquina, ahi varios tipos de lenguajes, que lo veremos mas a profundidad en la próxima clase, ahora solo nos ocuparemos en ver una introducción a autoit, que es el lenguaje de programación que utilizaremos en este curso.
¿qué es autoit?:
Es un lenguaje interpretado de automatización, su autor es JONATHAN BENNETT. Fue creado con la idea de poder automatizar tareas en windows aunque fue avanzando mucho a lo largo de su desarrollo, hoy en día es un lenguaje bastante potente, con una corta curba de aprendisaje y que sirve para múltiples propósitos:
* crear aplicaciones de escritorio o online
* crear juegos
* gestionar datos
* automatizar tareas
* entre otras.
¿Cómo se programa en autoit?.
una vez que lo hayamos bajado e instalado ya estamos listos para comenzar.
Recuerdo que esta semana se dará la tutoría via zello agregando el canal: "programacionlibre", todos aquellos que hayan abonado la tutoría recibirán la conttraseña para ingresar al canal, nos encontraremos el jueves 10/10/2013 desde las 18 hs hasta las 20 (horario argentina), resolviendo cualquier duda o pregunta. Para los que siguen en modo gratuito se publicará un post de ayuda el viernes.
Bien, vayamos a lo nuestro, a programar:
para escribir el código utilizaremos block de notas, por lo tanto vayamos a abrir el block de notas y escribamos la siguiente linea de código
msgbox(0, "mi soft", "hola mundo")
guardemos este código como:
misoft.txt
luego vamos a buscarlo y renombralo a: misoft.au3
la extensión au3 es la extensión de autoit 3, al dar enter sobre el archivo au3 se ejecutará con autoit.
si lo ejecutamos misoft.au3 veremos una ventana con el título: "mi soft", y en el texto veremos un "hola mundo", el primer programa de todo programador.
si vemos lo que ahi entre los paréntesis veremos 3 valores separados por coma.
el primero un número, y luego 2 valores entre comillas.
el primer valor entre comillas es el título de la ventana
y el segundo: es el texto de la ventana
el valor numérico es el tipo de ventana.
tarea 2:
modificar el 0 por otro número y ver que diferencias ahi en las ventanas que aparecen, escribir que significa cada número en un texto y enviarlo vía mail.
este código puede ser repetido todas las veces que quieras, por ejemplo, abramos un block de notas y pongamos el siguiente código:
msgbox(0, "mi soft", "hola mundo")
msgbox(0, "fin de mi soft", "adios mundo")
tarea 3:
crear un programita que vaya tirando mensajes divertidos, ejemplo: que cuente un cuento, diga chistes o cosa parecido, a poner en juego la creatividad. los mas originales serán publicados en el artículo del viernes.
con 3 tareas y mucho por procesar damos fin a esta primera clase. gracias por participar.