Como empiezo a programar si no sé nada de programación

Este blog tiene como fin guiar a aquellos que se preguntan: ¿Cómo empiezo a programar? Si eres una de las tantas personas que se hace esta pregunta entonces ingresaste al sitio correcto. Lee atentamente este artículo y así sabrás qué es lo que debes hacer.
El primer paso de toda persona que quiere comenzar a programar es elegir un lenguaje de programación. Sí, ya sé. Estás diciendo ¿Cómo quieres que elija uno si no tengo ni idea de nada? pero ahora voy a explicarte con más detenimiento y te daré opciones para que elijas. 
Como eres novato lo ideal es que comiences desarrollando aplicaciones de escritorio. Por el momento, nada de apps móviles ni de webs (si quieres a pesar de todo comenzar con estos temas al final del artículo tienes información). Para ser un buen programador debes avanzar paso a paso y tener mucha, mucha práctica. No sirve comenzar por cosas más complejas ya que solo conseguirás desmotivarte y abandonar el interesante mundo de la programación. 
Aunque no lo creas existen muchas opciones para comenzar a programar que son totalmente gratuitas. Sí, leíste bien no tendrás que gastar nada de dinero. 

Lenguajes de programación recomendados para comenzar a programar

Microsoft Visual Studio Edición Express - Esta edición se puede descargar de manera gratuita desde la misma página de Microsoft. ¿De veras no pagaré nada de nada y lo descargaré desde la mismísima página de Microsoft? Sí, es cierto. No pagarás nada de nada. Solo debes ingresar a este link e iniciar la descarga. ¿Ah es ilegal? No, para nada es la versión que Microsoft pone a disposición de estudiantes y programadores que se deseen iniciar. Lo malo es que no tiene las prestaciones de las versiones de pago pero aún así puedes hacer con él casi cualquier cosa que te imagines. Antes de descargar continúa leyendo tal vez, exista una mejor opción para ti. Bueno sí, eres impaciente. Aquí tienes el link: http://www.microsoft.com/en-us/download/details.aspx?id=40787
Dentro de Visual Studio podrás ver que tienes varias opciones de lenguajes pero las que te conciernen son dos. Visual C# y Visual Basic .NET . - Ahhhhhhhhhh, sí claro, entiendo todo. ¡¿Me puedes decir cuál lenguaje me conviene para empezar la #$%@%#/&?! Bueno ya te contesto. Cualquiera de los dos. Yo eligiría el Visual Basic porque parece más organizado a la hora de leer el código. A la vista se hace más simple comprender donde comienza y finaliza cada instrucción, etc. Aunque con Visual C# aprenderás una estructura que es muy similar (por no decir igual) en Java, PHP y otros programas. La elección es tuya.
Java - Este lenguaje de programación está muy pero muy extendido hoy en día. Se puede decir que es la moda del momento y lo vemos en todas partes. Este es totalmente gratuito no tienes que pagar nada por utilizarlo. Lo que descargas es lo que utilizan los grandes programadores expertos en Java. A diferencia de Microsoft Visual Studio con Java tienes todas las prestaciones a tu disposición. Java es muy pero muy potente, te puedo decir que la NASA la utiliza en sus sistemas. De hecho Curiosity (el robot que pasea por Marte) tiene una parte programada en este lenguaje.
Si quieres comenzar con Java entonces debes ingresar a https://www.java.com/es/download/ e iniciar la descarga. A diferencia de Visual Studio, con esto solo descargas el motor que hará que tus programas corran en tu computadora. Para poder programar necesitarás otro programita conocido que es un IDE (Entorno de Desarrollo Integrado) que también es gratis. Hay varios que son totalmente gratuitos pero por facilidad de uso te recomiendo el NetBeans. Lo puedes descargar desde aquí https://netbeans.org/ . Descargas e instalas como cualquier otro Software. En otros post te enseñaré cómo usarlos.

Básicamente estas son las opciones que veo viables para alguien que jamás programó y no tiene ni idea acerca de algoritmos. Como ves son opciones totalmente gratuitas y no tendrás que gastar nada de dinero. Eso es lo bueno de la programación para iniciarte solo necesitas tener una computadora y muchas ganas de practicar y practicar.

¡Quiero comenzar a programar apps para móviles, tablets, etc.! 

Si a pesar de todo lo que te dije quieres comenzar con la programación de móviles. Te digo que es complicado incluso para los programadores con experiencia. ¿Por qué? porque no todo está tan organizado como en los demás lenguajes. En un móvil tendrás muchas carpetas y archivos que deberás ir modificando para realizar tu querido programita. Para comenzar te digo, que si no sabes Java entonces estás en un gran problema. Las aplicaciones móviles se basan en ese lenguaje de programación. Debes sí o sí, comenzar por Java.  ¿Tienes algo de experiencia en Java? Bueno entonces, deberás descargar la Android SDK http://developer.android.com/sdk/index.html o bien la IO SDK desde https://developer.apple.com/devcenter/ios/index.action . IO SDK la debes descargar si deseas programar para dispositivos Apple si quieres hacer aplicaciones para Android entonces deberás bajar la Android SDK. Este es solo el motor ahora precisas una IDE (entorno de desarrollo) para comenzar. En el caso de Android te recomiendo que instales Eclipse (también es gratuito y lo bajas desde aquí: https://www.eclipse.org/downloads/ (Eclipse Standard)) si quieres desarrollar para IO entonces descarga la IDE de Apple https://developer.apple.com/xcode/ En próximos post tendrás videoTutoriales para ver cómo se instala cada uno.

¡Quiero aprender programación Web!

En este caso, vas a precisar un emulador de servidor en tu computadora. Yo te recomiendo XAMPP lo puedes descargar totalmente gratis desde aquí: https://www.apachefriends.org/es/download.html . Como IDE (Entorno de Desarrollo) te recomiendo el Netbeans que como indiqué anteriormente lo obtienes aquí: https://netbeans.org/ . Sí, con un mismo IDE puedes programar en otros lenguajes. Si te fijas NetBeans muestra varias opciones de lenguajes de programación: PHP, JAVA, C++, HTML5, etc. Para comenzar a programar en Web te recomiendo el lenguaje PHP. ¿Por qué? porque es muy potente, es gratis y los servidores que precises cuando crees una página web para poner en la web son mucho más económicos que los que tendrías que conseguir si utilizas JEE. ¿Qué es JEE? Te diría que es el lenguaje Java aplicado a Webs. Es el Java que debes usar para realizar webs. Lo malo de este lenguaje es que como te dije antes necesitarás un tipo de servidores que cuestán más caros que los de PHP. 
En PHP están programados CMS grandes e importantes como WordPress, Joomla, Drupal, PrestaShop, Magento.... podría seguir enumerando. JSP generalmente la utilizan grandes instituciones como Bancos, páginas oficiales, algunas empresas... pero la verdad es que PHP ofrece casi el mismo potencial a un coste mucho menor.

Espero que ya hayas decidido por donde comenzar... cualquier duda puedes dejar un comentario aquí que la responderé con gusto. En otros artículos voy a escribir cómo programar en cada lenguajes con un pequeño ejemplo: el conocido Hola Mundo.