Hoy voy a decirte cómo elegir un lenguaje de programación: no. Espera ...
 
 ¿qué hay de todos los trabajos de alta tecnología?  

¿No es este el mejor momento para ser un programador?
 
Mucha gente siente curiosidad por el código. Desafortunadamente, elegir un lenguaje de programación puede ser un gran obstáculo, porque las personas carecen de la información necesaria para tomar una buena decisión. Es por eso que no deberías comenzar con un lenguaje de codificación.
Te animo a que pienses en lo que quieres lograr con el código. Se específico. Conseguir un buen trabajo no es lo suficientemente preciso. Después de todo, ¿es un trabajo bueno, si vale la pena, pero lo odias? El código está en todas partes, y eso significa que tienes muchas opciones. ¿Quieres construir aplicaciones móviles? ¿Estás interesado en Arduino y Raspberry Pi? ¿Eres un investigador que quiere más control sobre tus datos? Puedes hacer mucho con el código y las oportunidades continúan expandiéndose.
Una vez que considera lo que quiere estudiar, construir y contribuir, puede comenzar a pensar qué lenguaje aprender. Siempre hay opciones, y aún habrá confusión, más sobre eso más adelante. Sin embargo, los lenguajes tienen fortalezas y debilidades. Ciertos lenguajes se han adoptado más regularmente en campos específicos. Al elegir un proyecto u objetivo, ha reducido drásticamente el campo de opciones.
En pocas palabras, no pasaría meses cepillándose el mandarín antes de un viaje a Alemania. Claro, puede haber algunas personas que hablen mandarín en partes de Alemania, pero sería mejor que estudiaras alemán. Si conoce el destino con anticipación, estará trabajando en lo correcto desde el principio.
Resultado de imagen para lenguajes de programacion 

Pero no es tan fácil

Sé que lo estoy haciendo sonar simple. Ya es bastante difícil decidir lo que quieres hacer. Una vez que tienes una idea general, puede volverse más confusa. Digamos que quieres construir aplicaciones web. Genial, ahora puedes buscar en Google los lenguajes utilizados para crear aplicaciones web, y ... tú ...   encuentras una publicación en el foro que ... OK ... PHP parece popular ... pero Ruby también ... bueno, esta persona con una TONELADA de seguidores en Twitter dice ... ¡AHHHHH ... OLVIDARLO!
Alguien le dirá que primero aprenda JavaScript, luego alguien le dirá que la sintaxis de Python es más simple, por lo que debe comenzar con Python. Entonces escucharás sobre Java y todos los trabajos disponibles. Lo sigue y sigue.
Entonces, ¿Qué haces? Puedes seguir refinando tu objetivo. Tal vez hay una empresa específica para la que quieres trabajar. ¿Qué están usando allí? Puede obtener una idea general de stackshare , que es un sitio que muestra las pilas de tecnología de muchas empresas (las diferentes piezas de tecnología que se unen y forman el servicio que utiliza).
Algunos otros recursos beneficiosos incluyen Stack Overflow y Reddit . Desafortunadamente, esos foros pueden llevar a algunas de las confusiones mencionadas anteriormente.
Sugiero preguntarle a alguien de tu confianza. Ve a buscar a alguien en persona. Asista a un Meetup y pregunte a las personas que trabajan en el campo qué recomiendan. Descubrirá que las personas aún están mucho más dispuestas a participar significativamente fuera de línea. También puede hacer preguntas de seguimiento, ya sabe, tener una conversación.
También recomiendo ingresar a la Comunidad Treehouse . Incluso antes de trabajar para Treehouse, encontré que la comunidad era un lugar útil. Los maestros de Treehouse están activos y las respuestas de la comunidad son amigables para principiantes. Internet puede ser un lugar difícil, y trabajamos para asegurarnos de que Treehouse Community siga siendo accesible.
Entonces, sí, la investigación es tu amiga, pero no quiero enviarte a otro agujero de Google. Así que aquí hay una lista de pautas generales e información sobre algunos de los lenguajes que encontrarás en la naturaleza.

HTML / CSS:

La gente a menudo comienza aprendiendo HTML y CSS. ¿Por qué? Estos dos lenguajes son esenciales para crear páginas web estáticas. HTML (Hypertext Markup Language) estructura todo el texto, enlaces y otro contenido que ve en un sitio web. CSS es el lenguaje que hace que una página web se vea como lo hace: color, diseño y otros elementos visuales que llamamos estilo .
¿Por qué no comenzar con HTML y CSS? Puede que no esté interesado en crear contenido para la Web. Como dije antes, puede hacer mucho con el código, y la Web es solo una parte. Sin embargo, si está interesado en hacer sitios web, definitivamente comience con HTML y CSS.

JavaScript

JavaScript es el primer lenguaje de programación completo para muchas personas. ¿Por qué? Es el siguiente paso lógico después de aprender HTML y CSS. JavaScript proporciona la parte de comportamiento de un sitio web. Por ejemplo, cuando ve un campo de formulario que indica un error, probablemente sea JavaScript en el trabajo.
JavaScript se ha vuelto cada vez más popular y ahora también vive fuera de los navegadores web. Aprender JavaScript te pondrá en un buen lugar ya que se convierte en un lenguaje de propósito más general. JavaScript parece estar en todas partes últimamente.

Java

A pesar de su nombre, Java no está relacionado con JavaScript de ninguna manera significativa. JavaScript fue nombrado cuando Java se hizo popular. Algunas mentes de marketing decidieron confundirnos a todos en un intento de hacer que el lenguaje LiveScript sea más popular al cambiar su nombre a JavaScript. Solo recuerde que Java no es JavaScript.
Java se puede usar para cualquier cosa, desde aplicaciones web hasta aplicaciones de escritorio y aplicaciones móviles. Java tiene una fuerte presencia entre las aplicaciones empresariales de gran tamaño: piense en un banco, un hospital y un software universitario. También impulsa las aplicaciones de Android, por lo que es una buena opción para aquellos que se inclinan por el desarrollo móvil.

Objective-C

Al igual que Java, Objective-C se puede usar para escribir software de escritorio y aplicaciones móviles. Sin embargo, Objective-C es esencialmente territorio de Apple. Hasta el reciente lanzamiento del lenguaje de programación Swift, Objective-C era el lenguaje para desarrollar aplicaciones nativas para iPhone y iPad. Muchas aplicaciones importantes todavía están escritas en Objective-C, y los programadores de estas aplicaciones tienen una gran demanda. Si desea trabajar en aplicaciones para iPhone y iPad, es una buena idea aprender Objective-C.

Swift

Apple lanzó Swift en junio de 2014 como un lenguaje moderno para desarrollar aplicaciones de Mac, iPad, iPhone, Apple Watch y Apple TV. Si desea ingresar al mundo de iOS, Swift es el lenguaje con el que Apple pretende avanzar. Sí, muchas aplicaciones ya están escritas en Objective-C, pero Swift llegó para quedarse. Si el ecosistema de Apple te atrae, necesitarás algo de comprensión de Objective-C y Swift.

PHP

PHP es uno de los lenguajes web más populares. Opera sitios masivos como Facebook y Etsy. WordPress y Drupal están escritos en PHP, y esas dos plataformas alimentan una gran cantidad de sitios en línea hoy en día. Debido a su popularidad, aprender PHP le servirá bien si tiene la intención de codificar para la Web.

Python

Python es un lenguaje de uso general utilizado para todo, desde la automatización de servidores hasta la ciencia de datos. Python es un excelente lenguaje para principiantes, ya que es fácil de leer y entender. También puede hacer tantas cosas con Python que es fácil seguir con el lenguaje por un tiempo antes de necesitar algo más. Python se encuentra en casa tanto creando aplicaciones web como Instagram y ayudando a los investigadores a dar sentido a sus datos.

Ruby

Ruby a menudo se asocia con el marco de Rails que ayudó a popularizarlo. Usados ​​ampliamente entre startups web y grandes empresas, Ruby and Rails son muy fáciles de conseguir. Ruby and Rails hacen que sea más fácil transformar una idea en una aplicación que funcione, y se han usado para traernos Twitter, GitHub y Treehouse.

No te preocupes

No te preocupes, a menos que hagas guitarras. Entonces preocúpese (lo siento, no pude resistir). Elegir un lenguaje de programación puede parecer abrumador. No debería. No puedes equivocarte. Siempre que elija un lenguaje que se usa habitualmente en la tecnología actual, está ganando. Cuando comienzas, el objetivo es llegar a ser sólido en lo básico, y los conceptos básicos son bastante similares en casi todos los lenguajes de programación modernos.
El concepto de variable, ciclo, matriz o función es el mismo, independientemente del lenguaje que elija. Si decide involucrarse con el desarrollo web front-end, puede elegir JavaScript. Es posible que, después de un tiempo, se aburra. Entonces piensas que construir una aplicación de teléfono suena divertido. Ahora necesita aprender Objective-C, Swift o Java. ¿Tu estudio de JavaScript fue para nada? De ningún modo. La mayoría de las cosas que aprendió sobre JavaScript son aplicables al siguiente lenguaje que aborde.
Parte de aprender a codificar es aprender la sintaxis de un lenguaje (sus reglas gramaticales o estructurales). Una parte mucho más importante de aprender a programar, la parte que lleva más tiempo y le da más dolores de cabeza, es aprender a resolver problemas como un programador. Puedes aprender la estructura gramatical del lenguaje inglés bastante rápido; sin embargo, no entenderá realmente el lenguaje hasta que ponga esa estructura gramatical para usar en una conversación. Lo mismo es cierto en la programación. Desea aprender los conceptos básicos para resolver problemas. Hacer esto en un lenguaje es similar a hacerlo en otro.
Debido a que los conceptos básicos son similares de un lenguaje a otro, recomiendo seguir con el lenguaje que elija hasta que su comprensión de los conceptos básicos sea sólida.

Qué he hecho

Estoy fascinado con casi cualquier cosa y cómo funciona todo . Me gusta jugar con la electrónica, disfruto rompiendo una púa contra cuerdas de guitarra, me divierto haciendo videos ... entiendes la idea.
Mi predisposición a saltar de un interés al siguiente también ha sido cierto en mis esfuerzos por codificar. Primero aprendí HTML y CSS en la universidad con algunos libros y ayuda de amigos. Decidí aprender JavaScript después de construir varios sitios estáticos. Pude obtener un manejo básico de JavaScript a través de libros, pero los conceptos se volvieron más turbios.
Cuando comencé a aprender a codificar, Treehouse no existía. No hubo pistas o caminos a seguir. Solo buscaría Google hasta que mis ojos ardieran como brasas. Eventualmente, comencé a trabajar con Drupal. Aprender PHP se convirtió en una necesidad.
Después de pasar un tiempo con Drupal y PHP, me aburrí y me interesé por Python.
En resumen, me desvíe de un proyecto y un lenguaje a otro en función de lo que parezca interesante en este momento. Este enfoque dispersó mis esfuerzos. Nunca me sentí seguro con varios conceptos básicos en ningún lenguaje. Podría hackear algo simple, pero ciertamente no me habría llamado programador.

Lo que desearía haber hecho / Lo que eventualmente hice

Después de ser contratado por Treehouse como productor de videos, quería continuar mi pasatiempo de codificación (sí, soy principalmente un tipo de video). Tomé una decisión: iba a elegir un lenguaje, Python, y darlo lo más cerca posible de la atención indivisa. Construiría algunos proyectos diferentes usando el lenguaje. Buscaría ayuda para comprender realmente las cosas cuando no las obtuve. ¿Ojalá hubiera tomado este enfoque antes? Tu apostaste
Nunca me sentí realmente cómodo con la Programación Orientada a Objetos antes de enfocarme en el concepto en el contexto de un solo lenguaje. Todavía tengo problemas y me pierdo constantemente, pero tengo confianza en hacer preguntas. Me siento más cerca de la respuesta. Sé lo que debo buscar.
Esto ha hecho que mi comprensión de otros lenguajes, sea más clara. Como dije, los conceptos básicos son los mismos en la mayoría de los lenguajes. Cuando vuelvo a JavaScript para un proyecto, ahora me siento mejor para abordar un problema en ese lenguaje. Estoy en mejores condiciones para pensar como un programador. ¿Recuerdas cuando dije que la resolución de problemas como un programador es la parte más difícil?

Todavía hay puntos de fricción

No importa lo que elijas, será desafiante al principio. Perseverar. Reconozca cuándo un punto de fricción es causado por el simple hecho de que está aprendiendo algo nuevo. Es entonces cuando necesitas controlar tu instinto y superar el dolor. Eso puede significar tomarse unos días para procesar toda la información nueva, pero no te rindas.
Dicho todo esto, no olvides el primer punto: haz lo mejor para elegir un proyecto que te interese. Si simplemente no le importa su proyecto, es posible que desee encontrar uno nuevo. Tus primeros proyectos deberían emocionarte. No es un trabajo todavía. Tú tienes el control, así que diviértete. Aprenderás más de esa manera.