Saltar al contenido principal
LibreTexts Español

3.1: Por qué la programación es difícil de aprender

  • Page ID
    150434
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    Programar una computadora es una habilidad, al igual que tocar un instrumento musical o hablar un segundo idioma. Y al igual que esas habilidades, se necesita mucho trabajo para ser bueno en ello — la única manera de adquirir una habilidad es a través de la práctica. ¡No hay nada especial o mágico en las personas que son expertas, aparte de la calidad y cantidad de su experiencia! Sin embargo, no toda práctica es igual de efectiva. Una gran cantidad de investigaciones psicológicas ha demostrado que la práctica necesita ser deliberada, es decir, que se enfoca en desarrollar las habilidades específicas que uno necesita para realizar la habilidad, a un nivel que siempre está empujando la capacidad de uno.

    Si nunca antes has programado, entonces va a parecer difícil, así como parecería difícil para un hablante nativo de inglés comenzar a hablar mandarín. No obstante, así como un guitarrista principiante necesita aprender a tocar sus escalas, te enseñaremos a interpretar los conceptos básicos de la programación, que luego podrás usar para hacer cosas más poderosas.

    Uno de los aspectos más importantes de la programación informática es que puedes probar cosas a tu gusto; lo peor que puede pasar es que el programa se estrelle. Probar cosas nuevas y cometer errores es una de las claves para aprender.

    La parte más difícil de la programación es averiguar por qué algo no funcionó, lo que llamamos depuración. En la programación, las cosas van a salir mal de formas que a menudo son confusas y opacas. Cada programador tiene una historia sobre pasar horas tratando de averiguar por qué algo no funcionó, solo para darse cuenta de que el problema era completamente obvio. Cuanta más práctica obtengas, mejor obtendrás para averiguar cómo corregir estos errores. Pero hay algunas estrategias que pueden ser útiles.

    3.1.1 Usar la web

    En particular, debes aprovechar el hecho de que hay millones de personas programando en R alrededor del mundo, por lo que casi cualquier mensaje de error que veas ya ha sido visto por otra persona. Siempre que experimente un error que no entiendo, lo primero que hago es copiar y pegar el mensaje de error en un motor de búsqueda A menudo esto proporcionará varias páginas discutiendo el problema y las formas en que la gente lo ha resuelto.

    3.1.2 Depuración de pato de goma

    La idea detrás de la depuración del pato de goma es fingir que estás tratando de explicarle qué le está haciendo tu código a un objeto inanimado, como un pato de goma. A menudo, el proceso de explicarlo en voz alta es suficiente para ayudarte a encontrar el problema.


    This page titled 3.1: Por qué la programación es difícil de aprender is shared under a CC BY-NC 2.0 license and was authored, remixed, and/or curated by Russell A. Poldrack via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.