¿Es una documentación bien escrita una razón suficiente para aprender un lenguaje de programación? [cerrado]

14

Actualmente estoy aprendiendo Python que no era parte de mi plan de estudios universitario. En una entrevista me preguntaron por qué elegí Python y respondí que es fácil de aprender y que la documentación está muy bien escrita. El entrevistador no respondió si era una razón suficientemente buena. Parecía convencido pero no puedo estar seguro.

¿Es una documentación bien escrita junto con la facilidad de aprendizaje una razón suficiente para elegir un lenguaje de script? ¿O debería haber elaborado más sobre la disponibilidad de las bibliotecas de Python y la mayor base de usuarios de Python?

Solo una nota. Python no fue requerido para el trabajo. La compañía trabajó en Ruby-on-rails. Python estaba en mi currículum y creo que el entrevistador solo quería saber qué consideraciones hice más frescas al elegir un lenguaje de programación.

Aseem Bansal
fuente
12
posiblemente no en la entrevista, pero me preguntaría si necesita una razón para aprender algo más de lo que desea.
jk.
2
@jk Solo sé C hasta ahora. No soy un gran experto, pero conozco la sintaxis, puedo implementar estructuras de datos y demás. Necesitaba un lenguaje donde pudiera implementar ideas más rápido. Esa fue la razón por la que elegí un lenguaje de script. La documentación, la facilidad de uso y la base de usuarios fueron las principales ventajas cuando lo comparé con Perl y Tcl. No los tres se aplicaron a ambos idiomas, pero por lo que pude encontrar usando Google Python fue mejor que estos en uno de estos. Entonces elegí Python. Aprender porque quiero es una buena razón, pero no era Python lo que me interesaba. Las ideas eran lo principal.
Aseem Bansal
1
[Hacer algo porque es fácil] no es tan impresionante como [hacer algo porque es difícil]. A menos que sea realmente difícil y solo estés presumiendo. ;)
TimG
55
Como eres nuevo en Python, te sugiero que consideres dejar de referirte a él y pensar en él como "un lenguaje de script". Es un idioma . La gente escribe sitios web, aplicaciones de escritorio, pequeños scripts, grandes bibliotecas, controladores integrados, etc. Llamarlo "un lenguaje de script" me parece inapropiado.
Chelonian
@Chelonian Point señaló. Gracias por señalar eso.
Aseem Bansal

Respuestas:

20

No, la documentación bien escrita no es una razón suficiente para aprender un idioma.

La documentación mal escrita es una buena razón para no aprender una.


Hay cuatro razones para aprender un idioma:

  1. Porque puede ser una herramienta útil en tu carrera

    El lenguaje es una herramienta. Uno usa un lenguaje en lugar de otro debido a sus beneficios en un contexto dado. El hecho de que un idioma tenga una documentación de alta calidad no lo convierte en una herramienta mejor, o solo marginalmente¹.

    La elección del idioma preferiría basarse en la experiencia previa, los paradigmas (ejemplo: programación funcional para Haskell), los enfoques (ejemplo: modo completamente asíncrono para JavaScript como lenguaje de programación del lado del servidor con Node.js), la interoperabilidad ( ejemplo: compatibilidad con casi todos los sistemas operativos para Java), etc.

    Poder usar una herramienta en tu vida diaria es una de las razones para aprender un idioma.

  2. Porque amplía tu cultura y conocimiento

    Otra razón para aprender un idioma es aprender nuevos conceptos, paradigmas y formas de escribir código elegante (ejemplo: Haskell). Aquí nuevamente, la documentación ayuda, pero no es la única razón para aprender un idioma.

  3. Porque requiere un esfuerzo mínimo para aprenderlo

    Otra razón para aprender un idioma es porque es fácil de aprender (ejemplo: PHP). Nuevamente, la documentación contribuye mucho, pero el lenguaje en sí es aún más importante. Además, evitaría decir durante una entrevista que aprendí un idioma simplemente porque es fácil de aprender.

  4. Porque es divertido.

    La última razón para aprender un idioma es porque es simplemente emocionante aprender un idioma bien diseñado (ejemplos: Haskell, Ruby) o un idioma para geeks (ejemplo: Brainfuck).

En un caso de Python, lo que puede responder es que:

  1. Es un lenguaje dinámico. Los lenguajes dinámicos facilitan la creación de prototipos y el desarrollo más rápido cuando las circunstancias hacen que los tipos fuertes no sean importantes.

  2. Es elegante Tal vez no sea tan elegante como, por ejemplo, Haskell, pero aún así la comparación con lenguajes orientados a la web convencionales como PHP es fácil de hacer.

  3. El uso de sangría significativa es interesante, dado que muchos lenguajes convencionales hacen de la sangría solo una carga que debería haber sido administrada por el IDE en primer lugar. Por cierto, el compilador e intérprete de Haskell también se basan en la sangría.

  4. Python tiene una forma elegante de trabajar con listas. Las comprensiones de listas y las expresiones generadoras son conceptos interesantes para alguien que nunca antes ha usado programación funcional.

  5. Django hace que sea muy fácil crear aplicaciones web rápidamente mientras mantiene el código bastante limpio. Este es un gran beneficio sobre muchos otros lenguajes de programación.

  6. Es lo suficientemente rápido y potente para aplicaciones web a gran escala. Por ejemplo, Dropbox está escrito en Python. YouTube depende en gran medida de Python. Reddit, si mal no recuerdo, también se basa en Python.


¹ Una documentación bien escrita todavía ayuda a hacer las cosas de la manera correcta y rápida.

Arseni Mourzenko
fuente
Solo sé C. Aprendí Python porque quería implementar ideas más rápido. Eso descarta el primer punto. Llegué a conocer el paradigma funcional solo a través de Python, por lo que el segundo punto también está fuera. Entonces, en esta situación, solo me queda el 3er punto. ¿Cuál debería haber sido el énfasis de mi respuesta? Más información en este comentario a la pregunta
Aseem Bansal
@AseemBansal: edité mi pregunta para mostrar lo que podría haber respondido. Además, el hecho de que "llegaste a conocer el paradigma funcional solo a través de Python" es exactamente de lo que estoy hablando: aprendiste Python y te ayudó a descubrir FP, que es exactamente el propósito de aprender un idioma.
Arseni Mourzenko
1
Puede usar Dropbox como ejemplo en lugar de youtube y Reddit. Está hecho en Python por completo. Si no recuerdo mal, Guido ayudó a Dropbox a construir su producto y recientemente se unió a ellos nuevamente.
Aseem Bansal
Hay una cuarta razón por la que creo que te has saltado: ¡porque el idioma se ve divertido!
Martiert
Algo en la línea de martiert, pero ¿qué pasa con la diversión? Si quieres aprender un idioma específico, esa es una razón más que suficiente. No todo tiene que estar motivado por el avance profesional y las estrategias para maximizar sus habilidades.
Gilles
7

Si eres como yo, no utilizas un martillo simplemente porque tiene un mango cómodo. Se utiliza un martillo porque lo necesita para conseguir algo hecho martillado.

Entonces, no, aunque una buena documentación es ciertamente útil, no es una razón en sí misma para aprender un lenguaje de programación.

stakx
fuente
1
Agregué cosas que quería hacer y estaba haciendo usando Python, pero creo que debería haber puesto más énfasis en hacer las cosas que en la documentación.
Aseem Bansal
3
usa un martillo porque necesita obtener algo martillado ... demasiadas personas usan martillos cuando un destornillador sería más adecuado.
gbjbaanb
@gbjbaanb: ¡Exactamente! Gracias por ser aún más preciso.
stakx
1

Estas son mis principales razones por las que aprender un nuevo idioma:

  1. el resto del equipo con el que está trabajando lo usa, y usted es el nuevo tipo que se convertirá en parte del equipo.

  2. desea resolver un problema, y ​​el lenguaje X o las bibliotecas / marcos para el lenguaje X parecen proporcionar el mejor soporte disponible para esa tarea

  3. Lo haces solo con fines educativos propios.

A menudo, para la situación 2, hay más de un lenguaje o marco adecuado para resolver el problema. Entonces, la documentación bien escrita puede ser uno de los factores a tener en cuenta (pero también otros factores). Para el punto 3, una buena documentación puede ser más importante, pero honestamente, si desea aprender un nuevo idioma solo por aprenderlo, primero encuentre un problema que quiera resolver, de lo contrario pronto perderá su motivación, bueno ... documentación escrita disponible o no.

Doc Brown
fuente
1

¿Si por qué no? Cuantos más idiomas aprenda, más fácil será aprender el siguiente idioma. Muchos conceptos de programación se pueden aprender en una variedad de idiomas. Por lo tanto, podría comenzar con el que tiene los mejores materiales disponibles para el aprendizaje.

Además, la mayoría de las tareas se pueden realizar en una variedad de idiomas. Por lo general, después de un tiempo, dominará los conceptos y herramientas del lenguaje central, pero aprenderá la mayoría de las bibliotecas según sea necesario. Es un argumento a favor de un lenguaje si las bibliotecas están bien documentadas para que pueda ponerse al día rápidamente en un dominio de aplicación particular.

Gilles 'SO- deja de ser malvado'
fuente
0
  • No, la documentación bien escrita no es una razón suficiente para aprender un idioma.

  • El entrevistador hizo esta pregunta para que le digas algo de Python. Debes comparar Python y Ruby.

Edward Shen
fuente