¿Por qué es importante aprender a programar?

aprende-a-programar

La cantidad de trabajos y de cosas que se pueden hacer con la programación es cada vez mayor. Desde programar apps para llevar tus tareas cotidianas, hasta robots con avanzada inteligencia artificial.

Hay un aumento en el número de actividades que son llevadas mediante programación a su versión digital como a un sitio web, o una aplicación móvil, para complementarlas o en ocasiones para sustituirlas.

La programación se usa en…

Empresas que tienen su propio sitio web como introducción de lo que hacen, una tienda online, o en ocasiones necesitan resolver problemas más complejos para lo que desarrollan sus propios programas y apps, hoy en día este sector es un mercado en constante crecimiento económico.

La programación juegan un papel muy importante en el mundo de los videojuegos, tienen su origen en el código hecho por geeks o hackers de la creatividad, desde poder presentar pixeles interactivos en un pantalla de ordenador, hasta controlar mundos épicos inmersos en una batalla online con gráficos que sobrepasan lo increíble.

La robótica también tiene como base fundamental la programación, tanto a nivel de hardware como a nivel de software. Hay lenguajes de programación que se usan para mover partes mecánicas, detectar movimiento, distancias, mantener un sistema automático de control, por ejemplo la conducción automática de los Tesla Motors, los pilotos autónomos de los aviones, el caminar de un robot bípedo, etc.

Las ciencias necesitan de procesar grandes cantidades de información, por ejemplo datos de una colisión de agujeros negros, en astrofísica; hacer simulaciones de ADN, en genética; predecir patrones en virus o bacterias, farmacología; estudiar el movimiento o hábitos de una fauna determinada en biología, etc. Cuando hablamos de matemáticas, una base fundamental de las ciencias, tenemos como principal herramientas los ordenadores, y por ende la programación.

Lenguajes de programación

Para cada tarea existe un lenguaje de programación en específico, por ejemplo si nos referimos a web apps, HTML, CSS y Javascript son necesarios para hacer la parte visual de los sitios (front-end), PHP, Python, Ruby, o incluso también Javascript (Node JS), son necesarios para manejar bases de datos  (SQL, MongoDB) y procesar información en el servidor (back-end).

También existen dentro de los lenguajes de programación librerías o frameworks, que complementan al lenguaje o bien lo mejoran para determinadas tareas, lo que facilita que el código esté ordenado para la creación de programas, entre ellos tenemos PHP Laravel, Python Django, Ruby on Rails, para Javascript: jQuery, Angular, Node JS, React Js, entre otras.

En las aplicaciones móviles tenemos a OS X y Swift para iOS, Java para Android, React Native con Javascript que al igual que Xamarin con C# te permiten crear aplicaciones multi plataforma.

Para crear videojuegos podemos usar C# con Unity, Javascript con algunas librerías y HTML5, o incluso el clásico C/C++ o Python.

Arduino es una plataforma que está basada en C y para ello usa su propio lenguaje llamado Processing (también se usa en electronics arts), sirve principalmente para controlar hardware, como por ejemplo en la robótica. Al igual los pics para manejar electrónica digital se programan con Assembler o C. Actualmente es posible programar hardware con Javascript mediante la librería de NodeBots.

Para las ciencias exactas como matemáticas, físico o ingenierías se utiliza MatLab (lenguaje M), que generalmente sirve para manipular y representar datos y funciones, así como la creación de entornos o incluso para comunicar a otros lenguajes para manipular hardware.

The chose one

Qué programa elegir va a depender mucho de lo que quieras lograr o el problema que quieras resolver. Incluso para realizar una tarea en específica existen muchos lenguajes de programación para resolver el mismo problema.

Así que una vez que tienes en mente lo que quieres lograr, puedes comenzar eligiendo una tecnología, haciendo un par de programas y ver cómo te funciona, luego puedes probar otro lenguaje para hacer exactamente lo mismo, y poco a poco sabrás qué herramientas, lenguajes, frameworks, librerías usar para resolver o crear lo que quieras.

Recuerda que también es importante mantenerte al día con las novedades del mundo de la programación, en el uso de las nuevas tecnologías, lenguajes, librerías o frameworks, que hará que tu creación esté visual y funcionalmente actualizada.

Definitivamente programar es una actividad cada vez más demandada, aplicable no sólo en ordenadores y móviles, sino también en otros dispositivos, como televisiones, casas, autos, etc. Con su ayuda se pueden crear más herramientas que resuelvan los problemas más eficientemente.

Equipo de alumnos mexicanos gana concurso de robótica en Beijing, China

Unos estudiantes de la Universidad Autónoma de Querétaro (UAQ) y del Instituto Tecnológico de Celaya (ITCelaya), formaron el equipo LYNXBots, quienes lograron el primer lugar en la copa Federeación Internacional de Robot Soccer (FIRA Roboworl Cup) en Beijing, China.

LYNXBots alcanzó el primer lugar en Beijing, en la categoría de escalamiento de pared de robot humanoide HuroCup, por otra parte el alumno del ITCelaya, Michell Vargas Signoret, fue galardonado por escribir el mejor artículo científico.

Los robots que presentó LYNXBots son Tonatiuh 2.0 y Cuauhtémoc, compitiendo estos representantes mexicanos junto a más de 24 países.

Ruth Alejandra Suárez Rivera, estudiante de la UAQ, ganó el reconocimiento a la mejor trayectoria académica estudiantil femenil del certamen así como el cuarto lugar en salto de longitud de robot. Ruth comentó que Tonatiuh 2.0, fue modificado a fin de que lograra subir escalones, requisito básico en la competencia de escalamiento de pared donde ganarían el primer lugar.

“El robot debía ser capaz de subir una escalera hasta el punto que nos indicaran los jueces, pero uno de los retos era que éstos le quitaban o ponían peldaños”, detalló.

“Por lo que el robot debía calcular por sí mismo la distancia entre ellos para seguir avanzando. Se le hicieron varias modificaciones, sobre todo en el área de visión y piezas elaboradas en impresión 3D para hacerlo más funcional”, dijo.

Es el cuarto año consecutivo que los alumnos de este equipo participan en la FIRA Roboworld Cup, lo cuál los posiciona en competencias de talla internacional con países avanzados tecnológicamente como Japón, China y Corea del Sur.

Este tipo de competencias nos muestran que nuestros estudiantes mexicanos tienen la capacidad para hacer frente a retos internacionales de manera innovadora. Esperemos que pronto escuchemos de más noticias del talento de nuestro país.

Robot jugando Ping Pong

robot ping pong

El inventor de este interesante compañero de ping pong es Ulf Hoffmann.

Se trata de un brazo mecánico sobre un rail, que responde a las órdenes de un programa informático tras detectar la posición y trayectoria de la pelota a través de videocámaras. El robot de Hoffmann puede que no sea capaz de ganar a un jugador profesional, pero sí a jugadores casuales de ping pong como cualquiera de nosotros, además de que se podría utilizar para entrenar. – vía Pixel y Dixel

Robots humanoides como recepcionistas en un hotel de Japón

robot_hotel_NagasakiLos avances en inteligencia artificial están siendo aplicados un muchas áreas que las hacen como sacadas de las más fumadas películas de ciencia ficción. Desde drones sirviendo mesas en un restaurante hasta hacer la labor de recepcionistas.

Los robots proceden de la compañía Kokoro, que lleva desarrollando “actroides”, robots humanoides, desde 2003. Los actroides de Kokoro tienen normalmente aspecto de mujer joven. Imitan gestos humanos como respirar o parpadear, hablan japonés, chino, coreano e inglés, miran a los ojos y sabe cómo responder al lenguaje corporal y al tono de voz.

robots humanoides en un hotel de japon

– vía Microsiervos

Drones sirven mesas en un restaurante de Singapur

drones sirviendo mesas en singapur

Ya hemos visto acá en Beat Geek los diferentes usos que le están dando a los drones, esas increíbles naves no tripuladas, un grupo de emprendedores no se podían quedar atrás llevando esta tecnología directamente hasta el área de servicio culinario. Un restaurante de Singapur sirve mesas utilizando en lugar de meseros a drones.

Los drones pueden cargar con 2,4 kg de comida y bebida —más o menos dos pintas de cervezas, una pizza y un par de vasos de vino. Los robot voladores recorren el restaurante siguiendo rutas programadas y mediante sensores de infrarrojos repartidos por el local.

vía Microsiervos.

Prototipo de helicóptero marciano de la NASA Jet Propulsion Laboratory

mars helicopter rover navigation

La NASA Jet Propulsion Laboratory en Crazy Engineering muestra un prototipo de un drone helicóptero que podría ser enviado a la superficie del planeta Marte. Uno de los principales retos para volar un helicóptero en Marte es que la superficie es bastante menos densa que nuestro planeta, lo que dificultaría la forma de vuelo de este tipo de aeronaves tal y como la conocemos en nuestra atmósfera, por lo que el dispositivo tendría que aterrizar cada cierto tiempo.

Un helicóptero sobre volando la superficie marciana podría ser muy útil, ya que tendría un mejor punto de vista panorámico para reunir información y enviarla a otros navegadores autómatas que habiten la superficie.