No se trata del lenguaje que usa (sobre el cual, si no se trata de un proyecto de mascota personal, es posible que no tenga mucho poder de decisión). Los idiomas que se usan hoy en día son en parte una cuestión de tendencia y legado. La mayoría de los lenguajes modernos que se usan ampliamente podrían considerarse “poderosos”, ya que hay muchos proyectos grandes que los usan, demostrando su “poder” hasta cierto punto. Los lenguajes de programación más importantes Haga clic aquí !!!
Si va a aprender sobre varios lenguajes de programación (y debería hacerlo), debe centrarse en la diversidad del concepto de programación al que está expuesto. Si conoce Java, entonces aprender C # realmente no profundizará su conocimiento de programación, ya que son muy parecidos en sintaxis y conceptos. Más bien, debe apuntar a obtener un nivel de conocimiento decente en idiomas que pertenezcan a familias muy diferentes. La principal ventaja es que, una vez que conoce los conceptos que son fundamentales para un determinado idioma, puede mejorar la identificación de cómo estos conceptos son eficientes y dónde usarlos, incluso en otros idiomas donde estos conceptos no están profundamente integrados. Preguntas más frecuentes de la entrevista Haga clic aquí !!
- ¿Cómo actualizar mis habilidades de desarrollo de UI? Solo tengo conocimiento de HTML, CSS, JS, jQuery y un poco de conocimiento en AngularJS
- ¿Cuál es el mejor marco web para un desarrollo rápido?
- ¿Cuál es la mejor herramienta de gestión de proyectos para una empresa de desarrollo web?
- Cómo usar Angular Material 2 en una aplicación Angular 2 Angular-CLI
- ¿Por qué debería aprender Ruby on Rails? ¿Qué tan difícil es para un programador de Java aprender Ruby? ¿Cuáles son las ventajas frente a otros marcos de desarrollo web?
Algunos ejemplos de lenguajes de programación que es posible que desee examinar para ampliar su conocimiento:
- Haskell : Haskell es un lenguaje puramente funcional y no estricto, fuertemente tipado con un sistema de tipo rico y poderoso. Las funciones son objetos de primera clase, lo que significa que puede pasarlos como argumentos y generar otros nuevos como salidas de funciones. Los datos en Haskell son inmutables, lo que garantiza que las funciones no tendrán efectos secundarios, lo que simplifica mucho el razonamiento sobre los algoritmos. Haskell no es estricto, lo que significa que los datos solo se evalúan cuando es necesario, lo que hace posible (y eficiente) manejar estructuras de datos infinitas. Los elementos en Haskell están fuertemente tipados, lo que hace que el compilador detecte muchos errores que los lenguajes tipados con menos fuerza como C o PHP pasarían por alto. Sin embargo, su sistema de clases de tipos permite el polimorfismo y la reutilización de códigos. Los programas de Haskell a menudo hacen uso de construcciones matemáticas (las más mencionadas son Monads), que son buenas herramientas para tener en la mochila de su programador en todas partes. Los idiomas de la familia ML , de los cuales Ocaml es un representante maduro y robusto, comparten muchas características con Haskell, aunque carecen de algunas (como la falta de rigor) y tienen algunas propias.
- Lisp : Lisp es una antigua familia de lenguajes, de los cuales Common Lisp , Scheme y Clojure son implementaciones modernas. Los lenguajes Lisp le permiten manejar directamente el árbol de sintaxis abstracta, un concepto clave de la teoría de compilación. Esto, junto con un sistema extremadamente poderoso de macros, hace que sea natural para el programador de lisp expandir el lenguaje mientras construye su software. Los programadores de Lisp describen esta forma de programación como extremadamente productiva. Algunas implementaciones de Lisp, como Scheme, le permiten hacer uso de conceptos raramente mencionados, como las continuaciones, que pueden transformar radicalmente la forma en que ve un fragmento de código.
- Prolog : ampliamente utilizado en Inteligencia Artificial, Prolog tiene un aspecto y una sensación profundamente diferentes de la mayoría de los otros idiomas. Es declarativo, lo que significa que resuelve problemas escribiendo las relaciones entre los diferentes elementos y las reglas de la lógica que se aplicarán. Luego, deja que el sistema deduzca más información sobre el sistema y lo consulta para obtener las respuestas que busca.
- Factor : Factor es un lenguaje poco conocido, similar a uno anterior llamado Forth . Es un lenguaje de pila, lo que significa que usted programa agregando elementos en una pila y operando la pila. Algunos problemas, como las Torres de Hanoi, generalmente se pueden expresar muy fácilmente cuando adoptas ese tipo de enfoque. Aunque no está muy extendido, Factor tiene un compilador maduro y una amplia gama de bibliotecas, lo que debería convertirlo en una opción decente para un proyecto de tamaño razonable.
- C : por supuesto, la mayoría de los programadores saben un poco de C, que fue la lengua franca de la programación durante mucho tiempo, y aún lo es en cierta medida. Sin embargo, solo una fracción de ellos tienen experiencia con el metal desnudo C, donde se programa sin la ayuda del sistema operativo o de la biblioteca estándar. Estar solo, cara a cara con la CPU es un tipo diferente de experiencia de programación, y generalmente te hace desarrollar una amplia gama de habilidades, como usar un depurador, comprender la estructura de un archivo ELF o leer y comprender el código de ensamblaje, como así como el uso de utilidades de construcción como GNU Make. Practicar C para un objetivo diferente, como los chips ARM, también es una buena oportunidad para aprender sobre la compilación cruzada y la construcción de su propia cadena de herramientas de compilación, y las fortalezas y limitaciones de los diferentes tipos de arquitecturas de CPU.
- Markdown : Markdown es un lenguaje de formato de documentos, diseñado para ser legible por el ojo humano, así como lo suficientemente estructurado para ser compilado en lenguajes más sofisticados como HTML. Es muy sencillo de aprender y muy práctico de usar, ya que herramientas como Pandoc (escritas en Haskell) se pueden usar para generar código LaTeX o HTML, o archivos epub o pdf, desde una fuente de Markdown. GitHub normalmente representa la página principal de un proyecto mostrando el archivo README en la raíz como un archivo Markdown.
- El suyo : si bien es poco probable que un idioma que usted mismo escriba sea competitivo en el corto plazo, escribir un idioma y su intérprete o compilador es una experiencia de aprendizaje fantástica. Conocerá más sobre semántica de lenguaje de programación y teoría de compilación, ambas áreas de investigación muy activas. Además, tendrá un punto de vista diferente sobre cada concepto que implementará, lo que le hará comprenderlos más profundamente que simplemente usándolos.