¿Qué lenguaje de programación deberían aprender los nuevos programadores?

Una de las preguntas más frecuentes de los nuevos programadores es: ¿Qué lenguaje de programación debo aprender?

Para algunos desarrolladores ambiciosos, este problema eventualmente se convertirá en un obstáculo que nunca podrán superar. He sido mentor de muchos desarrolladores que siempre dudaron de sus elecciones, incluso cambiaron de opinión, saltando constantemente de un lenguaje de programación a otro, siempre preocupándose por tomar la decisión equivocada.

Si siempre está luchando con "¿Qué lenguaje de programación debo aprender?", Este capítulo es para usted. Primero, eliminaré algunas dudas; luego, te daré algunas consideraciones prácticas sobre cómo elegir tu primer lenguaje de programación.

El lenguaje de programación no es tan importante

Sí, qué lenguaje de programación aprender en realidad no es tan importante como crees.

Puedo hacer esta afirmación por varias razones, una de las principales es que los núcleos de muchos lenguajes de programación son en realidad muy similares. Sí, la sintaxis es diferente. Sí, los lenguajes de programación se ven diferentes e incluso tienen un conjunto de características completamente diferente. Sin embargo, en esencia, las áreas comunes de todos los lenguajes de programación pueden ser más ricas de lo que cree.

Casi todos los lenguajes de programación tienen ramas, bucles y llamadas a métodos / procedimientos en la estructura básica, así como formas de organizar el código en un nivel superior. Además, muchos lenguajes de programación son tan similares que si conoces un idioma, casi conoces otro. C # y Java son buenos ejemplos, y JavaScript es muy similar a estos dos lenguajes.

Por lo tanto, aprender el primer lenguaje de programación es siempre lo más difícil. Una vez que aprenda un lenguaje de programación, aprender un segundo idioma es mucho más fácil. Después de comprender dos o más lenguajes de programación, otros lenguajes de programación son fáciles de aprender.

Si ni siquiera sabe un lenguaje de programación, o no sabe nada, podría pensar que estas declaraciones son pura tontería. Pero en mi carrera, he aprendido nada menos que 10 lenguajes de programación diferentes, y puedo asegurarles que es realmente difícil aprender el primer y segundo lenguaje de programación.

Varios lenguajes de programación no solo son más similares de lo que cree, sino que también puede cambiar de un idioma a otro fácilmente y aprenderlo rápidamente.

Esto significa que incluso si aprende un lenguaje de programación y se da cuenta de que esta no es la elección correcta, o si el trabajo que encuentra lo obliga a utilizar un lenguaje de programación completamente diferente, no es gran cosa, porque ya lo ha hecho. Completó el arduo trabajo de aprender el primer lenguaje de programación.

También puede encontrar que muchos puestos de desarrollo, especialmente en grandes empresas como Microsoft o Google, no requieren que conozca un lenguaje de programación específico.

En muchas entrevistas, me han dicho que se puede usar cualquier lenguaje para resolver un problema de programación, cualquier lenguaje que sea cómodo de usar, no hay restricciones y no hay ningún requisito de que deba conocer un lenguaje de programación específico.

Consideraciones al elegir un lenguaje de programación

Por lo tanto, realmente no creo que deba enredarse demasiado en decidir qué lenguaje de programación aprender, pero si aún encuentra algunas dificultades al tomar una decisión, le daré algunas consideraciones a continuación.

Perspectivas laborales actuales y futuras

Quiero decir que para la mayoría de las personas, las consideraciones más importantes son: qué lenguaje de programación podría ayudarlo a conseguir qué tipo de trabajo y cuál es la perspectiva de aplicación futura de este lenguaje.

Actualmente, para la mayoría de los lenguajes de programación convencionales, existen muchas oportunidades laborales en cualquier momento. Varios lenguajes de programación van y vienen uno tras otro, pero si le preocupa la posibilidad de conseguir un trabajo, debe tener en cuenta los lenguajes de programación convencionales. En el momento de escribir este libro, creo que los lenguajes de programación principales actuales incluyen C #, Java, Python, Ruby, JavaScript, C ++, PHP.

Para los desarrolladores que usan estos lenguajes para completar el trabajo de programación, no habrá escasez de oportunidades laborales. En otras palabras, si no te gusta la vida errante, el idioma que elijas depende principalmente de dónde vivas en el mundo. Por ejemplo, suponga que vive en una pequeña ciudad de Arkansas. Sólo hay una empresa de tecnología en la pequeña ciudad. Esta empresa de tecnología utiliza Java para hacer todo, entonces le sugiero que aprenda Java. Por supuesto, puedo imaginar que este ejemplo no es típico para la mayoría de las personas, pero si este es tu caso, supongo que es bastante fácil para ti tomar una decisión.

Si puede aceptar la migración, o si planea convertirse en un autónomo en programación, es posible que deba especializarse en un lenguaje más raro que se usa con menos frecuencia. Hay pocos expertos en este campo, por lo que puede hacerlo mejor Y luego conviértete en un experto. Sin embargo, si es nuevo en la industria, le recomiendo que intente aprender algunos idiomas más convencionales.

Además de las perspectivas de empleo, otro factor a considerar son las perspectivas futuras del lenguaje de programación que está considerando aprender.

Cuando estaba escribiendo este libro, Objective-C puede no ser una buena opción para aquellos que son nuevos en la industria. La razón es simple, porque la mayoría de los desarrolladores de iOS están recurriendo a Swift y Apple también está haciendo mucho lenguaje de programación Swift. inversión. Si ya es un programador de Objective-C, no se preocupe demasiado, todavía hay muchas oportunidades laborales, porque todavía hay muchas aplicaciones basadas en Objective-C que necesitan que alguien las mantenga. Sin embargo, en términos de perspectivas futuras, Objective-C no es la mejor opción.

Por supuesto, ninguno de nosotros tiene una bola de cristal, por lo que es difícil predecir qué idiomas prevalecerán y cuáles serán impopulares. No hace mucho, predije que JavaScript moriría, pero de hecho esto no sucedió.

Acabo de asistir a una conferencia, y había un orador en la conferencia que resultó ser Tom Love, uno de los co-inventores de Objective-C (Objective-C nació a principios de la década de 1980). Escribió un libro en el que señaló que "el lenguaje JavaScript está muerto". Sin embargo, en el momento de escribir este libro, JavaScript se ha convertido en uno de los cinco lenguajes de programación más utilizados en el mundo. (Escuché que afirma ser el tercero).

El caso es que nunca se sabe qué pasará en el futuro. Ruby se hizo popular muchos años después de su nacimiento; se puede decir que JavaScript es uno de los lenguajes peor diseñados de la historia. Originalmente se usaba para crear ventanas emergentes de conversación o cuadros de alerta en páginas web, pero ahora se ha vuelto muy popular. Idioma.

Por lo tanto, a menos que tenga una bola de cristal, no puede predecir el futuro. Por supuesto, si realmente tiene la capacidad de predecir el futuro, olvídese de la programación. Wall Street es donde debes ir.

Pregúntale a John: ¿Por qué odias tanto JavaScript? JavaScript no es tan malo como dijiste.

Lo sé, el contenido anterior parece que me quejo constantemente de JavaScript, orquestando. Tal vez pienses que JavaScript ha traído algún tipo de daño a mi infancia y me ha dejado una profunda herida emocional.

Bueno, déjame contarte una historia corta, cómo nació JavaScript. La historia es muy corta, así que permíteme decir algunas palabras.

En mayo de 1995, Brendan Eich, que trabajaba en Netscape en ese momento, creó JavaScript en 10 días y, como era un producto de emergencia, creó un "lenguaje adhesivo" simple [3 ] , Fácil de usar para diseñadores web y programadores a tiempo parcial. (Esto es lo que encontré en Wikipedia).

Por lo tanto, lo que quiero decir es que JavaScript no fue un producto bien pensado desde el principio, fue solo un trabajo de emergencia completado en solo 10 días. Esto es cierto, así es. Digámoslo de esta manera, en realidad no odio JavaScript, simplemente no creo que sea un lenguaje de diseño muy elegante, así que no me gusta. Eso es.

Sin embargo, la nueva versión de JavaScript (ahora llamada ECMAScript) es mucho mejor y ha mejorado y compensado muchas de las deficiencias de JavaScript. Por tanto, de hecho, ahora me gusta mucho la nueva versión de JavaScript (aunque no quiero admitirlo).

De todos modos, mi opinión no es importante. Yo soy realista Obviamente, JavaScript es un lenguaje muy popular y sus aplicaciones están en todas partes. Por lo tanto, me guste o no, tengo que aceptarlo y me reservo el derecho a expresar mi opinión.

Si el texto anterior aún no te ha convencido, ¿por qué no echas un vistazo a uno de los más vendidos sobre JavaScript: "Lo esencial del lenguaje JavaScript"?

La tecnología que te interesa

Al elegir un lenguaje de programación, una gran consideración es qué tecnología le interesa más. Si comienza por aprender una determinada tecnología, entonces elegir un lenguaje de programación puede ser más fácil.

Conozco a muchos desarrolladores que están muy interesados ​​en desarrollar aplicaciones basadas en Android porque les gusta esta tecnología. Para la mayoría de ellos, Java es una buena opción, porque Java es el lenguaje "nativo" utilizado para desarrollar aplicaciones de Android. (No obstante, también puede utilizar muchos otros lenguajes para desarrollar aplicaciones de Android, como C #, Ruby e incluso JavaScript).

Elegir su primer lenguaje de programación basado en la tecnología que más le interesa no le hará ningún daño, porque es probable que tenga dificultades para aprender el primer lenguaje de programación. Cuanto más interesado y emocionado estés por lo que estás aprendiendo, más fácil te resultará perseverar y superar las dificultades y obstáculos de la curva de aprendizaje.

Tengo muchas ganas de desarrollar una aplicación para iOS porque acabo de recibir un iPhone y esta tecnología me emociona mucho. Esta emoción me permitió aprender fácilmente Objective-C y crear mi primera aplicación para iOS. Si no estuviera tan entusiasmado con esta tecnología, no habría ido tan lejos.

No tenga miedo de elegir su primer lenguaje de programación en función de su entusiasmo o interés. Su entusiasmo puede ayudarlo cuando encuentre dificultades en el proceso de aprendizaje.

Nivel de dificultad

Otra consideración importante es el nivel de dificultad. Algunos lenguajes de programación son más difíciles de aprender que otros.

Por lo general, no recomiendo comenzar con el aprendizaje de C ++, porque es difícil aprender C ++ en comparación con muchos otros lenguajes de programación. C ++ requiere que se ocupe directamente de administrar la memoria y los punteros, así como algunas otras estructuras desagradables, que harán que los principiantes caigan en un atolladero. Aunque C ++ es un gran lenguaje (sigue siendo uno de mis lenguajes favoritos), no es el lenguaje más fácil de aprender.

Los lenguajes como C #, Lua, Python, Ruby o PHP son más fáciles para los principiantes. Incluso hay idiomas diseñados específicamente para principiantes, como Scratch o BASIC.

Digo esto, no para echar agua fría sobre aquellos que realmente quieren aprender lenguajes más difíciles como C ++; sin embargo, antes de tomar una decisión, al menos debes saber a qué te estás enfrentando y decidir si elegir es relativamente fácil. Como su primer lenguaje de programación.

Recursos disponibles para ti

Es posible que también deba considerar qué recursos tiene disponibles para aprender lenguajes de programación.

Es posible que un lenguaje de programación poco conocido no encuentre tantos libros, videos en línea u otros recursos disponibles, lo que puede aumentar la dificultad de su aprendizaje; otros lenguajes de programación más populares tienen muchos tutoriales en línea y se pueden registrar Cursos de introducción y libros u otros recursos de aprendizaje, por lo que debe comprender cuántos recursos están disponibles para usted al elegir un lenguaje de programación. Aunque esto ya no es tan preocupante como solía ser hoy, debido a que hay tantos recursos disponibles para principiantes, aún debe tener esto en cuenta.

También es posible que deba considerar los recursos especiales disponibles para usted, como computadoras o software. Un lenguaje de programación que no es tan fácil de aprender puede convertirse en una opción más fácil, simplemente porque hay muchos tutoriales interactivos en línea listos para usar en Internet. Puede aprender JavaScript en línea a través de un navegador web sin tener que instalar ningún software en su computadora. Los lenguajes como C ++ necesitan descargar algunas herramientas y software. Estas herramientas y software pueden no ser fáciles de encontrar u obtener.

El último recurso, creo, debería ser alguien que conozcas a quien puedas encontrar. ¿A quién puedes pedir ayuda? Si tiene problemas, ¿quién puede responder a sus preguntas? ¿Quién puede ayudarlo a acelerar el proceso de aprendizaje?

Al elegir su primer lenguaje de programación, ciertamente no considero los recursos como la mayor consideración, pero sigue siendo un factor que debe considerar.

Adaptabilidad

Finalmente, hablemos de adaptabilidad. Los diferentes lenguajes de programación tienen que adaptarse a diferentes situaciones y tecnologías.

Por ejemplo, en el momento de escribir este libro, el lenguaje de programación C # era uno de los lenguajes más adaptables, gracias a Microsoft y Xamarin (ahora parte de Microsoft). Si desea aprender C #, no está limitado a la programación de Windows o Web. Hoy en día, C # se puede usar en casi todas las plataformas, por lo que tiene una gran adaptabilidad. Puede escribir aplicaciones de Linux y Mac en C #, y también puede escribir aplicaciones de Android e iOS en C #.

Muchos otros lenguajes de programación también son altamente adaptables. Por ejemplo, Ruby se ha portado a muchas plataformas diferentes y se ha utilizado ampliamente en muchos campos técnicos. JavaScript también es muy adaptable. Incluso puede usar JavaScript para controlar la placa Arduino y desarrollar robots. (Cómo hacer esto, lea el artículo de mi buen amigo Derick Bailey en el sitio web de Simple Programmer).

La adaptabilidad de otros lenguajes de programación no es tan buena. Por ejemplo, si aprende R o Go, se verá obligado a limitarse a las tecnologías y plataformas diseñadas para estos lenguajes.

Cada vez más lenguajes de programación, especialmente lenguajes populares, han adoptado diversas tecnologías para ser trasplantados a múltiples plataformas, pero algunos lenguajes no. Por lo tanto, si desea ser desarrollador web hoy, pero desea desarrollar Android mañana, o desea participar en una variedad de plataformas o tecnologías diferentes, es posible que deba considerar la adaptabilidad del lenguaje que desea aprender. ¿Qué tan fuerte es?

Algunas reflexiones finales sobre la elección de un lenguaje de programación

Aunque te he dado algunas consideraciones, cuando eliges tu primer lenguaje de programación, todavía quiero enfatizar un punto: de hecho, los lenguajes de programación no son tan importantes. Lo importante es que tienes que elegir algo y ceñirte a él durante el tiempo suficiente para pasar con éxito la llamada "curva de aprendizaje" para adquirir más conocimientos. Muchos programadores que son nuevos en la industria se sienten frustrados porque sienten que simplemente no entienden esto.

Discutiré cómo aprender bien su primer lenguaje de programación en el Capítulo 6.

Haga una elección y apéguese a ella, y se convertirá en un experto. Lo prometo. El proceso de aprendizaje puede ser aburrido o sospechoso: "Aprendí el idioma equivocado", por lo que puede seguir cambiando sus opciones. Pero créeme, esta no es una buena idea.

Finalmente, considere este escenario: cuando empiezo a programar, una comprensión profunda de un lenguaje es una de las habilidades más importantes de un programador. Entonces me dedico al libro de C ++, tratando de aprender las complejas habilidades del idioma, pero ahora ya no es una habilidad importante. Hoy la programación se realiza a un nivel superior. Hoy en día, la programación utiliza bibliotecas y marcos, no solo las características del lenguaje en sí.

Por supuesto, es importante conocer un lenguaje de programación y dominarlo, pero una comprensión firme no es una habilidad valiosa. Por eso digo que no se enrede demasiado en qué idioma debe aprender primero. Solo necesita asegurarse de aprender un idioma y ceñirse a él (al menos hasta ahora).


[3] "Lenguaje de pegamento" se refiere a un lenguaje de programación utilizado para conectar componentes de software, generalmente un lenguaje de secuencias de comandos. (De la enciclopedia Baidu) -Prefacio del traductor

Este artículo es un extracto de "Soft Skills 2 Career Guide for Software Developers" (producido por Asynchronous Books)

Este libro es un nuevo trabajo del autor de "Soft Skills: A Survival Guide Beyond Code". Se centra en el desarrollo profesional de los desarrolladores de software y describe las diversas "habilidades blandas" que los desarrolladores de software deben poseer en el lugar de trabajo: cómo Convertirse en desarrollador de software, cómo aprender el primer lenguaje de programación, cómo redactar un currículum laboral, cómo prepararse para una entrevista, cómo elegir un puesto de trabajo, cómo elegir la dirección técnica, cómo desarrollar habilidades técnicas, cómo llevarse bien con el equipo y los líderes, cómo escribir libros Li dijo que la forma de ganar elogios en la industria, y así sucesivamente.

Este libro es adecuado para que lo lean todos los niveles de desarrolladores de software. Aunque este libro está escrito específicamente para desarrolladores de software, en realidad es un libro sobre la gestión de carreras personales y cómo alcanzar el éxito. Es muy útil para todo tipo de profesionales de la industria del desarrollo de software para hacer planes de desarrollo profesional. ayuda.

Supongo que te gusta

Origin blog.csdn.net/epubit17/article/details/107504833
Recomendado
Clasificación