domingo, 20 de noviembre de 2016

PYTHON COMO PRIMER LENGUAJE

El artículo Python como primer lenguaje de Ariel Ortiz es una pequeña justificación (y probablemente apología ante los programadores conservadoes) de porque Python es el lenguaje óptimo para comenzar a programar.

Hace poco navegando por la biblioteca familiar encontré una vieja biblia de mi padre cuyo propósito era enseñar al lector a programar en C++ a través de Visual Basic. El libro es tedioso y te lleva de la mano como si fueras un niño que acaba de aprender a leer... pero sólo a la hora de usar Visual Basic. No se molestaba en presentar al lector que demonios es una clase, una variable o un ciclo. Dudo que mi padre haya aprendido a programar en ese libro pero me imagino que en su época no había de otra más que aventarse a aprender C como sea. Me siento muy afortunado de haber empezado con Python.

 El artículo comienza de una manera que includo el lector que nunca ha programado compre la idea. Algunos códigos que haces en Python en 5 líneas ocupas 20 en Java. Y eso que Java no es el más infame de los lenguajes. Esto se explica muy claramente que se debe a que con Python resuelves problemas causados por el problema y no contra problemas causados por tu forma de resolver el problema. Personalmente esta parte me parece que si se tiene una buena comprensión de cómo se siente el alumno nuevo al mundo de la programación. Sobre todo cuando debe de realizar su acto de fé imprimiendo su "hola mundo".

El autor prodigue con el argumento de la indentación. Es algo que nunca había pensado porque yo comenzé con Python, pero realmente te obliga a crear código de manera legible. En Canadá trabajé con un prodigio que ya sabía programar eficientemente en Java y se quejaba de nuestro curso de Python porque no le agradaba la indentación forzada. El la tenía al revés y efectivamente cuando programaba en Java si tenías suerte podías ver que ha dejado un espacio para distinguir entre funciones, todo lo demás lo escribía sobre una sola línea.

Se prosigue con el nivel de abstracción en redacción y numérico que es posible manejar en Python y creo que los ejemplos son muy concretos. Simples comparaciones y operaciones matemáticas se dan de una manera más natural y ayudan a que se implementen los conocimientos previos del alumno con mayor facilidad. En Reddit la comunidad de entusiastas de Python dicen a un resultado con alto nivel de abstracción como pythonic. Navegando por ahí también me encontré estas competencias de code golf que consisten en resolver problemas utilizando el menor número de bits posibles. Muchos usan python por su nivel de abstracción cuando se compite en esto, sin embargo cuando se permite, se utilizan los esotéricos lenguajes dedicados a esta actividad, y lo mucho que pueden lograr con símbolos y letras me pareció impresionante.

 El artículo concluyer con los resultados de implementar Python como primer lenguaje de Programación en el Tecnológico de Monterrey. Al parecer ha sido altamente recompensante ya que logró eliminar esa increible cifra de alumnos que desertaban al ser derrotados por Java. Queda claro que se tomó la decisión correcta en los números. Creo que el artículo logra su objetivo y en lo personal estoy contento de haber empezado con Python.

martes, 15 de noviembre de 2016

PARQUE JURÁSICO



La novela de ciencia-ficción Parque Jurásico de Michael Crichton narra una catastrofe ecológica consecuencia de las ambiciones monetarias del hombre.

Personalmente me divierten estas novelas cortas y de tono simple que suelen ir directo "al grano". Parque Jurásico evidentemente no fue escrita con fines artísticos o filosóficos, sino que fue escrita para entretener y creo que muchas críticas a este libro ignoran este hecho.

Nunca vi las películas, debo admitir. No son el tipo de películas que me llaman mucho la atención y menos si se trata de Spielberg haciendo una producción en el genero de acción. Así tuve la oportunidad de leer el libro sin tener expectativas de que tenga alguna similitud con la película.

El libro da la impresión de que busca de cierta manera explotar el miedo por lo que el público no comprende siendo que la ingeniería genética era una disciplina relativamente nueva en la época. El principio del libro es lento y se dedica a dar indicios de lo que ocurre poco a poco, explicando que era posible que de alguna manera alguien podría traer de vuelta a los dinosaurios y que existía una buena razón para alguien de hacerlo. Me parece que se logró bien poner el escenario en el que esto ocurriría y a pesar de que probablemente no es posible traer a los dinosaurios de regreso creo que plantea una situación que es factible en la realidad. No dudo que tarde o temprano surja alguna empresa que se aproveche de los conocimientos en biología y genética que disponemos y provoque controversia en el ámbito moral, como ya lo han hecho los servicios de bittorrents, wikileaks o la industria pornográfica con nuestras tecnologías de información.

El desarrollo de los personajes me parece flojo, es difícil tener estar al tanto con ellos cuando son tantos y se les da un poco énfasis. Múltiples veces me paraba en medio de la lectura y me preguntaba "¿Y este cuate Genaro que?". Existen algunas pocas personalidades que fueron bien refinadas y te hacían sentir que tenían algo de relevancia. Un tema que tampoco me agrada la manera en la que se desarrollo fue la factibilidad financiera del proceso completo. Cómo un hombre consigue una isla e instantáneamente comienzan a mo-
rir trabajadores en la isla tiene al gobierno de Costa Rica despreocupado. Siendo que una de las operaciones tecnológicas más grandes de su época se logro a la sombra de todo pero bueno supongo que por algo es ficción.

Creo que se logra una una novela entretenida de una temática interesante, a pesar de tener sus puntos bajos. Me entretuvo bastante en lo que esperaba el camión siendo que sí la recomendaría para un lector que no sea demasiado snob.



domingo, 16 de octubre de 2016

Convirtiéndose en un programador

<<Becoming a developer>>




Para esta entrada haré un pequeño comentario crítico sobre el artículo Becoming a developer de Alan B. Smith.

Un artículo cuyo objetivo explícito es guiar al lector a conocer si la programación es una práctica adecuada para este. A veces Smith se desvía un poco para intentar convencer al lector de darle una oportunidad a la programación. 
Es un artículo de buena intención intenta que se evite esta conversacion que seguro muchos de mis lectores han tenido con algún personaje:

-No Programador: ¿Y tú que estudias?
-Programador: Sistemas computacionales
-No programador:¿Qué?
-Porgramador: Informática, computólogía, el que escribe códigos, "hacker".
-No Programador: ¡Ay eso no me gusta! Cuando iba en la secundaria me hicieron usar Raptor...
-Programador: desvía y desenfoca la mirada

 La programación es una actividad que a veces carga con prejuicios, y realmente me he encontrado con muchas personas que pensaría que les encantaría la programación pero no lo hacen a causa de estos prejuicios. Estoy de acuerdo con Smith, si disfrutas los desafíos y rompecabezas, probablemente tienes perfil de programador, y me entristece un poco conocer aspirantes a ingeniería que repudien programar por prejuicios.Un prejuicio que menciona el autor es el de las matemáticas. Mientras que es cierto que necesitas algunas bases matemáticas para la programación, realmente el nivel de conocimientos necesarios es bajo. Es cierto. Alguien no muy brillante en los números puede arreglárselas programando con pensamientos intuitivos y lógicos hasta donde yo sé.

El autor también da algunos nconsejos pára que su lector ideal se ayudase a odiar un poco menos la programación. Una idea con la que me identifico es la de darse cuenta de que no es siempre posible desarrollar óptimamente y a tiempo y un programador debe de estar consciente y dispuesto a aceptar estos factores de riesgo. Personalmente una de mis cosas favoritas de programar es el simple hecho de que tus resultados son binarios y explícitos. Tu programa logró lo que querías usando los recursos que querías. Es un sí o un no que la computadora te hace saber. Y a pesar de que puedes pasar noches recibiendo no´s, es , más cónveniente que hacer un ejercicio de física una vez y esperar retroalimentación por parte de un instructor. Esto hace que la programación sea muy didáctica en mi opinión.

Personalmente me ha agradado el artículo y me gustaría que aquellos que les gustan las cosas cercanas a esta disciplina lo lean.

miércoles, 5 de octubre de 2016

Aprenda a Programar en 10 años

<<Comentario: 

Aprenda a programar en 10 años>>

 

El artículo de Peter Norvig surge a partir de sus sentimientos propios al entrar a una librería y ver que algún autor le promete que podrá aprender Java en 24 horas. Expresa Norvig que estó estremeció su corazón de informático, decidió buscar cuantos libros encontraba en de cosas que se el autor promete a sus lectores aporender en poco tiempo. Ecnontró que 9 de los 10 primeros resultados eran libros que intentaban enseñar algún lenguaje de programación. ¿Es que todos quieren aprender a programar? ¿Acaso es así de fáci programar?
Norvig inmediatamente expone sus argumentos, muchos de los cuales encuentro muy ciertos. Primero comenta que es posible aprender la sintaxis de C++. Pero de que sirve aprender la sintaxis de C++ en 24 si uno no es capaz de sacarle provecho a este lenguaje. Es como aprender a balbucear palabras en Húngaro sin conecer las complejísimas reglas gramaticales del idioma, tal vez sea útil en pocas situaciones pero en general no se puede decir que has aprendido Húngaro. En especial C++ me parece un ejemplo excelente porque no hay punto en enseñar este lenguaje si el lector no comprende sus ventajas con respecto al manejo de la memoria y compilación de C. No existe ventaja alguna en aprenderlo rápidamente. Cuando estudiaba en Toronto tenía un profesor que se negaba a enseñarme algo más que Python. Decía que programar es como aprender a cruzar la calle, el cruze de Python tenía semáforo y un oficial que te tomaba de la mano, los otros lenguajes no tenían esas facilidades, pero para que querría cruzar esas calles si aún no necesito llegar a esos otros lados.
El segundo argumento importante que me parece muy bueno son las investigaciones que dicen que toma al menos 10 años el ser dominante en diversas actividades aún cuando eres un prodigio de nacimiento para dichas actividades. Mencionó natación, operación de telegrafos (que me pareció fascinante) y piano. Yo he tocado el piano desde muy chico y honestamente no logro tragarme mi orgullo cuando escucho que alguien dice saber tocar y sólo sabe tocar el intro de Clocks o The River flows in you. Ni yo mismo considero que se tocar a un nivel alto y eso que el piano es aparentemente sólo consiste en presionar teclas de la manera correcta en el orden correcto.
Resultado de imagen para ego ratatouille 
Norvig finaliza exponiendo las maneras en las que el recomienda aprender a programar. Muestra un camino de automotivación, aprender de otras personas y sobre todo práctica. Creo que no puedo estar más deacuerdo con este autor. No hay ninguna disciplina que se pueda aporender sin realmente hacerla una y otra vez hasta que se logren tallar todos los errores fuera. Me gustan mucho sus frases sacadas de Ratatouille y me gustaría leer más artículos suyos más adelante.

domingo, 4 de septiembre de 2016


<<Crítica>>
¿Cómo Convertirse en un Hacker?


El artículo escrito por Eric S. Raymond tiene un solo fijo objetivo que en mi opinión no es realmente explicar cómo convertirse en hacker, si no que más bien procura introducir al lector a la mentalidad que él espera de lo que define como hacker.

Un parteaguas muy importante en su artículo es que diferencia al hacker del cracker. En la cultura popular, cuando hablamos de hacker pensamos en alguna especie de mamífero cuya dieta se basa en Cheetos y bebidas energéticas siendo que pasa muchas horas al día intentando romper dentro de los sistemas de seguridad informáticas ya sea para bien o para mal. Cuando estudié en Toronto me topé con estos hackatons organizados por la universidad en los que sólo se juntaban algunos programadores a programar aplicaciones. Yo asistí, aunque realmente nunca contribuí de manera muy significativa. Simpre pensé que el nombre de este evento tenía el mero propósito de atraer a más gente, pero tras leer estre artículo me dí cuenta que era el nombre de una actividad usual entre la comunidad de programadores, así como un barbeque de desarrolladores. Esto me dió una buena impresión de esta lectura siendo que me abre un poco más los ojos al verdadero perfil de estos hackers.

Son entonces los hackers una comunidad colaborativa que siempre esta buscando mejorar la calidad de el ambiente en el que desarrollan. Lo pienso como esos chavos que pasan horas desarrollando mods para un videojuego que muchas veces dejan en ridículo a los desarrolladores. Buena onda. Poemas zen. Este hombre le imprime mucho de su personalidad peculiar a su escritura, hasta el punto de buscar influenciar al lector tal vez demasiado para mi gusto. La lectura prosigue dando instrucciones claras y prácticas: deberías comenzar a aprender Python, deberías de evitar C, deberías involucrarte en blogs de desarrollo, deberías de leer código abierto, ¿deberías aprender artes marciales? Bueno, creo que cada quien tiene sus gustos personales pero no creo que sea tan adecuado acoplarlos de esta manera si busca despertar interés por el hackerdom en plebeyos ordinarios y espantarnos lo menos posible con estas cosas. Después de todo a mí también me desagradan mucho los nombres de usuario como D00dz ó ProHax420, pero al final del día siento que este artículo no era el lugar para acomodar el odio por ellos.

 Me agrada la información que comparte esta entrada y de verdad da una clara idea del perfil de un hacker, pero honestamente espero que no pasé a de intentar promover sus hobbies a intentar promover sus creencias.

miércoles, 17 de agosto de 2016

DONALD EN EL PAIS DE LAS MATEMÁGICAS

El cortometraje Donald en el País de las matemágicas presenta lo que me parece un gran esfuerzo pór despertar interés entre la audiencia infantil de la época exponiendo la simple importancia que tiene esta ciencia natural en el mundo cotidiano como lo es la música o la arquitectura. Me parece realmente creativa la manera en la que se organizan las visuales geométricas para enseñar a los niños lo especial que pueden ser las proporciones geometricas. 
A medida que el cortrometraje avanza este cambia de diferentes campos de las matemáticas cambiando desde la aritmética a la geometría y la lógica. La animación un par de veces toma ventaja de otra película de Disney que parecía disfrutar de éxito en un tiempo cercano. Alicia en el País de las Maravillas, esto le permitió al cortrometraje poseer estas llamaivas transiciones de escenario que vuelven las explicaciones mucho más dinámicas. En tema de animación el cortrometraje también presenta montajes de videos de actores humanos reales, cosa que es realmente inusual dentro de las caricaturas de Disney de la época. 
El cortometraje pone realmente muchísimo conocimiento sobre la mesa siendo que incluso yo mismo aprendí de que se trata el juego de Carambola y como aprovechar el sistema de diamantes de la mesa, siendo que si hubiera visto este cortrometraje antes me hubiera ahorrado algunas pocas vergüenzas en las noches que salí a jugar Pool con mis amigos. 
 A pesar de que en mi opinión Donald en el País de las matemáticas llega exponer algunos conceptos que pueden llegar a confundir a un niño tomando la posibilidad de aburrirlo, creo que presenta una propuesta muy interesante por su naturaleza didáctica para la época. Me parece que esta especie de troyanos escolares que golpean a las puertas de la atención de un niño sopn escazos en la televisión actual y es necesario que sigan fluyendo ideas similares para despertar el interés de un niño por el conocimiento, especialmente cuando se trata de el némesis mismo de un alumno de primaria: Las Matemáticas.

lunes, 8 de agosto de 2016

Introducción Personal

Saludos, me llamo Valentín Ochoa mi carrera es Ingeniería en Sistemas Computacionales y como la mayoría de los lectores de este blog soy estudiante de Fundamentos de Programación en el ITESM CEM.




Expectativas del Curso

Siempre ha sido de mi agrado el resolver problemas con un cierto nivel de abstracción que implican estrategia, habilidad y conocimiento. Hace alrededor de un año comencé a programar. Fue una de mis actividades académicas favoritas y me gustaría adquirir mayor habilidad y conocimiento para programar cosas mas complejas en un futuro cercano. De igual manera, disfruto programar y creo que este curso me será de gran agrado.




...un poco sobre mí

He tocado el piano desde niño y he sido invitado a tocar en conciertos en el Conservatorio Nacional y en la Sala Ollin Yoliztli. Me encanta escuchar música clásica y mi compositor favorito es Chopin, sin embargo mis gustos musicales no son muy discriminatorios. Disfruto escuchar desde metal a rancheras.

Me gusta el buceo y el snorkeling. He realizado algunas expediciones con mi familia y actualmente estoy tomando un curso para certificarme como buzo. 

Tenemos dos perros y una gatita que adoptamos tras haber quedado atorada en el motor de mi carro (...y sí, me dí cuenta al arrancar).

Como muchos de ustedes, amo los videojuegos y me gustaría tener la oportunidad de trabajar en el desarrollo de alguno. Algunos de mis favoritos: Civilization, Dark Souls, LoL (soy malo), GTA, Total War, Hearthstone, Zelda, GoW, X-Com, etc.
Paso mucho tiempo jugando así que no veo muchas series.
Mi película favorita es Old Boy de Pak Chan-uk y mi libro favorito es Ensayo Sobre la Ceguera de José Saramago.