Pregunta

¿La mayoría de los programadores se especializan en una sola pila, dejando a otras cosas, o son expertos en varios idiomas al mismo tiempo?Si es más de uno, como a muchos es estándar?

Por el experto, me refiero más que simplemente saber la sintaxis de un lenguaje - un experto sabe lo suficiente de las bibliotecas estándar, herramientas, entornos y sintaxis para ser capaz de escribir no triviales de programas sin tener que mirar siempre las cosas o leer libros y tutoriales.

¿Fue útil?

Solución

El principal beneficio de conocer varios idiomas no es escribirlos directamente. En igualdad de condiciones, prefiero trabajar con un programador de C# que también conoce C, Python y Lisp (por ejemplo) que uno que solo ha sido pirateado en C#. No es que saber más idiomas sea mejor, es que poder pensar en problemas en múltiples niveles y desde múltiples perspectivas es realmente útil.

No vale la pena conocer un lenguaje de programación que no cambia la forma en que piensa sobre la programación. -Alan Perlis

No se trata de verificar un idioma más o ponerlo en su currículum; Solo necesita comprender sus conceptos subyacentes lo suficientemente bien como para programar en él para obtener el beneficio completo. No obtendrá eso de tener una comprensión básica de la sintaxis.

La respuesta más directa es "depende".

En las compañías más grandes se espera/se le permita especializarse, pero como dije anteriormente, creo que todavía hay beneficio de comprender las cosas más allá de su única herramienta favorita.

En lugares más pequeños, realmente no puedes salirse con la suya. Por lo menos, generalmente necesita mantener su aplicación y construirla, y probablemente no podría usar los mismos idiomas para ejecutar registros/muning de datos como lo hace realmente para construir su aplicación. Supongo que técnicamente podrías escapar Con conocer un solo lenguaje, pero el beneficio de tener un lenguaje bien realizado, de tipo bien actualizado (o al menos capaz de afirmar), probablemente el lenguaje compilado hace el trabajo pesado, y un lenguaje de secuencias de comandos para tareas de mantenimiento/configuración/secuencia de comandos parece bastante grande. . No me gustaría prescindir de eso, ciertamente.

Otros consejos

Tienes una pregunta muy interesante:

No creo que ningún programador sea un "experto" en un lenguaje específico. Creo que, como programadores, estamos destinados a ser expertos en la programación, diseñar algoritmos, pensar en pasos claros, pero un lenguaje de programación es algo que solo aprende.

Un "buen" programador, de lo bueno, quiero decir que maneja proyectos de desarrollo sin asustar detrás del clásico "Nunca he trabajado con eso antes", debería aprender un lenguaje en menos de 5 días hábiles. Aprende las mejores prácticas, herramientas y bibliotecas principalmente de 2 maneras, 1: lectura y 2: trabajo. O rebotes en la cabeza contra el código o lees un montón de libros.

En unos años después de la premisa de "buenos programadores escriben solo código" sin código C# o código C ++ o código Java, se dará cuenta de que después de aprender a desarrollar programas, el lenguaje y las tecnologías no son tan importantes. Claro, sabrá cómo moverse alrededor de C# mejor que PHP, pero si ha aprendido bien, encontrará a través de Python si es necesario.

¡Espero que mis ideas sean como tú!

Uno, pero eso no significa que puedas descuidar a los demás. Debe saber lo suficiente para justificar por qué no las está utilizando o conocer sus limitaciones, por lo que puede solicitar ayuda cuando sea apropiado.

Creo que depende, probablemente, de su personalidad, hay personas que se deleitan en la excavación hacia abajo en los rincones de un tema, y hay otros a quienes les gusta tener una visión amplia de las cosas.Usted probablemente necesitará averiguar a qué tipo de personalidad que son.No estoy poniendo uno encima del otro, cada uno tiene sus usos.

Como el ex-usted será el experto, el gurú, el especialista.Como el último que va a ser de uso más general posible y se utiliza en una variedad de situaciones, pero posiblemente no ir tan profundo o de largo en un sujeto.

Una. Pero es mejor que seas muy bueno en eso.

Una

El que está frente a ti.

Como dijo Joel en el podcast SO, es mejor conocer muchos idiomas y saber cómo/cuándo usar el idioma adecuado para la tarea. Hay cosas que puedes hacer mucho más rápido en un idioma que en otro. Creo que sería bueno conocer un lenguaje imperativo y un lenguaje funcional, por ejemplo. Muchas veces aprender un lenguaje más difícil o más esotérico capacita a su cerebro para ser un mejor programador en general.

Ninguno, ya que es probable que hay algunos programadores que no serán expertos en ningún idioma, pero disfrutan del entorno diverso que tienen y usarán varios idiomas dependiendo de las circunstancias, ya que algunos pueden conocer algunas tecnologías del lado del servidor como PHP, ASP.NET en C# .NET o VB.NET, o Java, un par de lenguajes de secuencias de comandos del lado del cliente como JavaScript o Flash, y esto no tiene ningún hardware utilizado para colocar las cosas web aquí.

Al mismo tiempo, puede haber algunos programadores que son expertos en una docena de idiomas o más, ya que eso es lo que estudian bastante fielmente la mayor parte del tiempo para mantenerse al tanto de cada idioma.

Uno, pero debe poder leer programas no triviales del mundo real que se escriben en algunos otros idiomas de vez en cuando. De alguna manera, el que el programador es un experto es como su lengua materna, piensan en ella, pero aprender y hablar otros idiomas es muy bueno, ya que muestra que el programador puede apreciar otras formas de pensar. Si pueden pensar en más de un idioma tan fluido como su lengua materna, eso es increíble.

Esta es una buena pregunta, pero no creo que haya un estándar. Normalmente, por lo que he visto, la gente es experta completa en un lenguaje de alto nivel (C ++, Java, etc.) en un entorno (Windows/Linux, Mac, Solaris). Conocen aproximadamente otro lenguaje de alto nivel, pero no lo entienden completamente. (Por ejemplo, C ++, la gente de Java se conoce aproximadamente). Me refiero a que pueden comparar el rendimiento de una tarea en el idioma que son expertos y en el otro idioma. Y luego son moderados en parte del lenguaje de secuencias de comandos. (Por ejemplo, Linux People conoce Bash, Windows People conoce VBA, Web People conoce PHP).
Para mí, lo que importa es el conocimiento del algoritmo básico que el lenguaje. Si sus conceptos básicos son buenos, hay menos posibilidades de equivocarse en cualquier idioma.
Pero sí, a veces puede ser útil saber qué lenguaje podría ser mejor para qué tarea. por ejemplo, el siguiente código es mucho más rápido en Pascal que en C.

strcat (a, "hola"); strcat (a, "mundo"); strcat (a, "¡Digo hola!");

Esto se debe a que Pascal guarda la longitud de la cuerda en la primera ubicación y, por lo tanto, es fácil saltar a la última ubicación. En C, la terminación de la cadena es ' 0' y, por lo tanto, tendrá que atravesar toda la cadena para la operación STRCAT.

Depende del entorno en el que esté programando. En un trabajo anterior, la mayor parte de mi trabajo estaba en Perl; Durante mi tiempo allí me puse bastante competente. Ahora trabajo en un lugar que tiene programas heredados en tres idiomas que apenas conozco la sintaxis; Se espera que los mantenga además de mi trabajo en nuevos proyectos. Ahora soy menos un maestro de cualquier idioma, pero creo que he tenido una mejor sensación de programación. Aprendí a pensar de manera más abstracta, vea primero el panorama general y luego busque la sintaxis y las bibliotecas para completar los detalles.

Licenciado bajo: CC-BY-SA con atribución
scroll top