¿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.

Aprende a programar en Codecademy.com

aprende a programar en codecademy

En el artículo anterior hablamos de las razones para aprender a programar, y entre ellas una de las más notorias es el incremento de puestos de trabajo, además de la implementación de otras áreas o estudios a la programación.

Codecademy.com es un recurso bastante interesante para comenzar en el mundo de la programación. Sus lecciones son totalmente interactivas por lo que te van llevando desde lo más básico para entender mejor el lenguaje.

Puedes aprender a programar web y apps desde lo más básico, HTML y CSS, para luego dotar con un poco de interactividad a tus webs, con Javascript o cualquier de sus frameworks o librerías (jQuery, Angular, React JS), quieres aprender a manejar bases de datos, puedes comenzar con MySQL. Y con PHP, Ruby o Python puedes programar cosas increíbles del lado del servidor. Y lo mejor es que codecademy.com comienza con ejemplos muy sencillos y fáciles de entender para que te vayas familiarizando con los lenguajes.

Quizás no termines siendo un experto al terminar estos cursos, pero bien pueden ser un gran recurso que te ayudará a iniciarte en la aventura de desarrollar apps.

Sitio: Codecademy.com

Mapa de la música

music map, mapa de la música

Music Map se define como el “Tourist Map of Music”, y es un sitio web en el que básicamente buscas a tu banda favorita y automáticamente la visualizas, junto a las otras bandas también gustaron similares a tu banda favorita.

Por ejemplo busqué 65daysofstatic y rápidamente me aparecieron coincidencias como God is An Astronaut, Sigur Ros, This Will Destroy You, Mono, Explosion in the Sky, Do Make Say Think. Como podemos ver en este caso la web app nos presentó bandas relacionadas con el post-rock.

Una app para entretenerte un rato, buscando a tus bandas favoritas, y conociendo otras bandas que están relacionadas.

Sitio Web -> Music Map.

Cómo instalar NodeJS

node

En este artículo vamos a aprender a instalar NodeJS, básicamente lo estoy usando y me ha parecido bastante interesante.

Programar en NodeJS es programar en Javascript pero del lado del servidor, utiliza una arquitectura orientada a eventos, con tecnología Javascript V8 desarrollada por Google. Está pensado para programación asíncrona, que permite una mejora en el rendimiento de una web que cargue datos constantemente.

NodeJS tiene el Node Package Manager (npm). El cual facilita la compilación, instalación y actualizaciones de los módulos que vayamos usando en nuestros proyectos.

Les comparto los pasos para la instalación en Mac.

1. Ingresamos a nodejs.org y descargamos la versión más actual del programa para nuestro respectivo sistema operativo. En mi caso me descargó un .pkg (mac).

2. Para ver la versión que tenemos instalada tecleamos en la Terminal:

node -v

Luego de esta sencilla instalación, tenemos en nuestro ordenador una poderosa herramienta, para crear proyectos con Javascript en el back-end de nuestros programas.

jQuery guía básica

jquery_logo

jQueryfundamentals.com es un sitio web que se describe así mismo como Una guía básica para jQuery.

Puedes aprender desde lo básico de Javascript como variables, funciones, objetos, arreglos, condiciones; pasando por lo básico de jQuery, como iniciar un documento $(document).ready(), crear objetos y elementos, moverte a través del HTML (Document Object Model o DOM), manipular y cambiar los valores, eventos (click, keydown, mouseover, scroll), efectos (show, hide, fadeIn, fadeOut, slideUp), hasta aplicar AJAX para recargar los datos (JSON) del servidor sin recargar la página muy al estilo de Facebook o Gmail.

La programación es un asco

codesucks

Un interesante ensayo de Peter Welch, que seguramente muchos programadores han pensado al dedicarse a esta noble tarea.

Acá les dejo algunas citas del ensayo traducidas por Zootropo.

La mayoría de la gente ni si quiera sabe qué hace un administrador de sistemas, pero créeme, si todos se tomaran un descanso para comer al mismo tiempo, no habrían llegado al restaurante antes de que te quedaras sin balas protegiendo tus latas de comida de bandas de mutantes merodeadores.

En este preciso instante alguien que trabaja para Facebook está recibiendo decenas de miles de mensajes de error e intenta encontrar el problema de manera frenética antes de que toda la farsa se colapse. Hay un equipo en una oficina de Google que no duerme desde hace 3 días. En algún lugar hay una programadora de bases de datos rodeada de botellas vacías de Mountain Dew cuyo marido piensa que está muerta. Y si esta gente se parara, el mundo ardería.

Páginas web que no son más que carritos de la compra glorificados con tres páginas dinámicas son mantenidas por equipos de personas que trabajan contra reloj, porque la verdad es que todo está rompiéndose todo el tiempo, en todos sitios, para todo el mundo.

Estas son algunas de las reglas secretas de Internet: cinco minutos después de que hayas abierto un navegador por primera vez, un crío en Rusia ya tiene tu número de la seguridad social. ¿Te has inscrito en alguna web? Un ordenador de la NSA puede rastrear tu ubicación precisa para el resto de tu vida. ¿Has enviado un correo electrónico? Tu dirección de correo ya está impresa en una valla publicitaria en Nigeria.

Recursos para aprender Javascript (JS)

javascript aprende a programar

Javascript es un lenguaje de programación que al principio se creo para hacer molestas notificaciones en la web, pero al poco tiempo comenzaron a surgir aplicaciones que permitían hacer más cosas como animaciones, con jQuery, y luego surgieron más frameworks que te permiten manejar este poderoso lenguaje tanto en Front-End (lado del cliente) como en Back-End (servidor), Angular, Node JS, incluso crear aplicaciones nativas para móviles como iOS, Android, Windows Phone, con React Native, apps para Mac OS X, incluso programar robots con Nodebots JS.

Hoy en día Javascript es un lenguaje de programación tan poderoso que vislumbra un futuro prometedor en el terreno del desarrollo, no sólo web.

Te comparto algunos recursos para aprender este gran lenguaje.

1. jQuery Fundamentals – Aprende lo básico sobre el popular framework de Javascript, jQuery.

2. Eloquent Javascript – Aprende lo básico sobre Javascript desde variables, expresiones regularas, llamadas al DOM (Document Objet Model), hasta manejar canvas.

3. Javascript Roadtrip – Aprende los fundamentos de Javascript de una manera interactiva y divertida.

4. Codeacademy Javascript – Una forma rápida e interactiva de adentrarte al poderoso lenguaje Javascript (JS).

5. JS Books – Una colección bastante completa de libros sobre Javascript. Desde el Vanilla JS (JS puro), hasta el uso de sus frameworks más populares como Angular, Node JS, jQuery.

6. How to Become a Great Javascript Developer – Como su nombre lo indica una serie de consejos y recursos para convertirte en un gran programador de Javascript.