Aprender a programar no es una tarea sencilla, depende del nivel de programación que quieras tener o el tipo de proyecto que quieras desarrollar, esto te puede tomar un par de meses o incluso años de estudio y práctica. El principal problema que se encuentran las personas que quieren empezar a programar es que nadie te enseña exactamente los pasos a seguir para poder lograrlo, ni te da una orientación de por dónde empezar.
La mejor opción para aprender a programar es tener una idea en mente, ir aprendiendo los componentes o lenguajes que se necesitan y programar poco a poco para llevar a cabo esa idea (learning by doing). Si quieres programar una red social, una tienda en línea o en general cualquier proyecto basado en web necesitas entender principalmente dos cosas, Backend y Frontend.
El Backend es todo lo que pasa del lado del servidor, ejemplos: guardar fotos, guardar comentarios, registrar una orden de pago, enviar un recordatorio, enviar una notificación a tu teléfono celular, enviar un SMS. El Frontend es todo lo que pasa del lado del cliente, lo que se ejecuta en el navegador, ejemplos: mostrar imágenes, mostrar botones, reproducir efectos, colores, diseño del sitio.
Algunos de los lenguajes de programación para programar el Backend son los siguientes:
PHP
Es uno de los más famosos lenguajes de programación, proyectos importantes como Facebook y WordPress están escritos en este lenguaje. Recomiendo PHP por la gran comunidad de desarrolladores que existe en este lenguaje.
Python con Django
Proyectos importantes con este lenguaje: Pinterest e Instagram.
Ruby con Ruby on Rails
Proyectos importantes con este lenguaje: GitHub es una plataforma de desarrollo colaborativo y Basecamp es el sitio para gestionar proyectos.
El Backend tiene un componente especial que es el gestor de base de datos. normalmente SQL. MySQL, PostgreSQL y SQL Server son un ejemplo de gestores de base de datos relacionales.
El Backend necesita de un lugar en donde ejecutarse, este es el servidor en donde se encuentra alojado nuestro código, ya sea PHP, Python, Ruby, etc., y cuyo sistema operativo puede ser Linux o Microsoft Server entre otros. Es recomendable también tener conocimientos de cómo funciona un servidor: sistema de archivos, permisos de archivos, usuarios, y comandos de consola.
Tecnologías para desarrollar el Frontend son las siguientes:
HTML y CSS
Estos son estándares para el Frontend y de ellos depende cómo luce el sitio web, ejemplo: diseño, colores e imágenes.
Javascript
Su principal tarea es la comunicación del Frontend con el Backend, además de que nos permite manipular el HTML y CSS de la página haciéndola dinámica. Un ejemplo claro de lo que permite hacer es Gmail, que permite enviar y recibir correos sin necesidad de recargar el sitio.
Frameworks populares para el desarrollo del Frontend con Javascript:
Espero que esto les sirva para empezar, pronto más sobre desarrollo móvil, cursos y proyectos de código abierto.