¿Por qué siempre es "qué idioma debo aprender a continuación" en lugar de "qué proyecto debo abordar a continuación"? [cerrado]

14

¿Por qué los programadores principiantes (como yo) siempre preguntan sobre el próximo idioma que deberían aprender en lugar de preguntar sobre el próximo proyecto que abordar?

¿Por qué Eric Raymond, en la sección " Learn How To Program "? de su ensayo " Cómo convertirse en un pirata informático ", hable sobre el orden en el que debe aprender idiomas (frente al orden en el que deberías abordar los proyectos).

¿Los carpinteros principiantes preguntan "Sé cómo usar un martillo ... ¿Debo aprender cómo usar una sierra o un nivel a continuación?"

Lo pregunto porque encuentro que casi cualquier proyecto significativo que me interese abordar (por ejemplo, una aplicación web, un conjunto de herramientas de análisis de póquer) requiere que aprenda solo lo suficiente de un < fuerte> multitud de idiomas (Python, C, HTML, CSS, Javascript, SQL) y marcos / bibliotecas (wxPython, tkinter, Django) para implementarlos.

Gracias,

Mike

    
pregunta MikeRand 09.02.2011 - 21:55

6 respuestas

6

Creo que cuando la mayoría de las personas se proponen aprender un idioma, lo hacen porque quieren abordar un proyecto escrito en ese idioma, ya sea ahora o en el futuro. Para hacerlo, deben aprender ese idioma, lo que lleva tiempo. Los lenguajes de programación son como herramientas, pero mientras que puedes aprender a usar un martillo en unos sesenta segundos, los lenguajes tardan un poco más en aprender a usar; por lo tanto, muchas personas se enfocan en aprender un idioma antes de enfocarse en trabajar en un proyecto escrito en ese idioma.

En otra nota, creo que cuando la mayoría de las personas preguntan qué idioma aprender a continuación, realmente están pensando qué proyecto aprender a continuación, pero se enfocan primero en aprender el idioma.

Finalmente, aprender idiomas puede ser divertido , aunque no tengas un proyecto u objetivo específico en mente.

    
respondido por el mipadi 09.02.2011 - 22:07
6
  • El motivo de muchos desarrolladores a tiempo completo es ser más empleables.

  • Ser más empleable generalmente significa superar el obstáculo de la evaluación de recursos humanos (y luego superar el obstáculo de la entrevista real).

  • El evaluador de RR.HH. típico suele tener una lista de verificación de idiomas que puede comparar con un currículum, pero no tiene forma de evaluar habilidades o proyectos.

  • El éxito en una entrevista real generalmente depende más de la suerte y las habilidades mínimas en un idioma que en la experiencia y en una comprensión profunda de un idioma.

Por lo tanto, ser mediocre en muchos idiomas es mejor para la empleabilidad que ser un experto en unos pocos, a menos que uno solicite puestos de alto nivel.

    
respondido por el Uri 09.02.2011 - 22:16
2

Las opciones de programación análogas para el carpintero serían "¿Qué aplicación debo construir a continuación?" o "¿Qué sistema debo construir a continuación?" que son bastante válidos y separados de un proyecto que realmente puede aplicarse casi universalmente. Podría tener un proyecto para cambiar mi dieta o perder 20 lb tan fácilmente como podría tener algo que requiera que se escriba un nuevo software para unir las cosas.

Para responder a la pregunta, creo que la idea es que un lenguaje representa una herramienta en la caja de herramientas de esa persona que puede ser útil en un currículum. Algunas personas pueden optar por convertirse en programadores para pagar las facturas y, de ser así, pueden preguntar qué próxima herramienta deberían agregar, que a menudo sería un lenguaje, pero existen otras posibilidades, como aprender sobre implementación, control de fuentes, pruebas y metodologías de desarrollo para nombrar algunas otras áreas Si un carpintero tuviera que revelar qué herramientas tenía, entonces podría tener una perspectiva similar que yo argumentaría. Sin embargo, existe un conjunto general de herramientas que se supone que la mayoría de los carpinteros tienen o tienen acceso para obtener si se solicitan con bastante rapidez. ¿Alguna vez has visto cuántos tipos diferentes de sierras y martillos existen para que la gente los use?

    
respondido por el JB King 09.02.2011 - 22:16
1

Tal vez sea en parte sobre la mentalidad de hacker, al menos para algunos de los programadores. El pirata informático se define en el archivo de jerga como

  

"Una persona que disfruta explorando los detalles de los sistemas programables y cómo ampliar sus capacidades, a diferencia de la mayoría de los usuarios, que prefieren aprender solo lo mínimo necesario".

Entonces, para un alma hacker, se trata más de aprender y "manipular" el proceso, los conceptos, las herramientas y, sí, los lenguajes de crear algo, que el producto final en sí. Más sobre el proceso en sí.

Es un esfuerzo constante por la próxima nueva cosa y / o desafío. Proyecto terminado pierde ese atractivo rápido. A veces (¿la mayor parte del tiempo?) Los mayores desafíos técnicos o creativos se superan antes de completar el proyecto. Muchos proyectos se abandonan cuando una mente hambrienta de nuevos desafíos mentales avanza.

Especialmente los hackers están interesados en nuevos puntos de vista, conceptos, abstracciones y formas de pensar, tipo de piratería mental:

  

"No vale la pena conocer un lenguaje que no afecta la forma en que piensas acerca de la programación". - Alan Perlis

    
respondido por el Maglob 09.02.2011 - 22:25
0

Hay una variedad de lenguajes de mierda de uso común hoy en día: C, C ++, C #, Java, JavaScript, Python, Perl, Ruby, Visual Basic, etc. muchos de ellos juntos.

Hay una pequeña comunidad conocida como la comunidad Lisp que está libre de la locura que impregna la informática moderna.

Dado que Lisp es un lenguaje de programación programable, puede expresar todas sus ideas sin tener que desviarse hacia otros lenguajes u otros formatos de datos, como XML. Lisp se puede aplicar en todas partes, incluso en el nivel de hardware como vimos con las máquinas Lisp .

    
respondido por el jhuni 10.02.2011 - 12:40
0

Porque aprender un nuevo lenguaje de programación es una gran inversión, ya nadie le gusta hacer una mala inversión.
Aprender un nuevo lenguaje de programación no consiste en memorizar cómo escribir construcciones de bucle, declarar clases, importar otro módulo ...
Tienes que saber cómo escribir un código idiomático en ese idioma y este proceso realmente requiere una cantidad considerable de tiempo y dedicación.
El tiempo es un recurso limitado, el esfuerzo es un recurso limitado, pero la distracción, el estrés diario, las facturas y los domingos, los juegos deportivos siempre están ahí y deben convivir.
Los programadores quieren invertir sabiamente.

    
respondido por el Chiron 23.04.2011 - 04:09

Lea otras preguntas en las etiquetas