8 Matching Annotations
  1. May 2026
    1. Una llamada a función es como un desvío en el flujo de ejecución. En lugar de pasar a la siguiente sentencia, el flujo salta al cuerpo de la función, ejecuta las sentencias que están allí y luego regresa para continuar el código donde lo dejó. Esto suena bastante simple, hasta que se tiene en cuenta que una función puede llamar a otra. Mientras se está ejecutando una función, el programa podría tener que ejecutar las sentencias de otra función. Luego, mientras ejecuta esa nueva función, ¡el programa podría tener que ejecutar otra función más! Afortunadamente, Julia es capaz de hacer el seguimiento de sus movimientos, así que cada vez que una función termina, el programa retoma la función que la llamó justo donde la dejó. Cuando llega al final del programa, la ejecución termina. En resumen, cuando lee un programa, no siempre debe leer de arriba hacia abajo. A veces tiene más sentido seguir el flujo de ejecución.

      Al leer esto me hace pensar ahora que leer un programa no siempre es ver cómo funciona realmente, lo digo es porque, a veces parece que puede ir en orden pero las funciones hacen que se mueva por distintas partes claro ¿Pero cómo sabe específicamente para saber cómo no perderse cuando una función llama a otra?

    2. Ahora mueva la llamada a función hacia abajo y coloque la definición de imprimirletras después de la definición de repetirletras. ¿Qué sucede cuando ejecuta este programa?

      ¿Es normal que me haya salido una notificación de error por el UndefVarError? Porque fue mi caso ... Y creo que fue al momento de poner repetirletras() antes de la función ya que por esto mismo no la va a reconocer y me va a arrojar el error ya que no está definida

    3. En el contexto de la programación, una función es una secuencia de sentencias que ejecuta una operación deseada y tiene un nombre. Cuando se define una función, se especifica su nombre y secuencia de sentencias. Una vez hecho esto, se puede "llamar" a la función por su nombre.

      El uso de las funciones tanto en Julia cómo en cualquier otro entorno es bastante útil ya que esto permite ahorrar tiempo al guardar las instrucciones o valores en las variables.

  2. Apr 2026
    1. Learning to design programs also means acquiring two kinds of universally useful skills. Program design certainly teaches the same analytical skills as mathematics, especially (pre)algebra and geometry. But, unlike mathematics, working with programs is an active approach to learning.

      Me gusta mucho esta idea porque hay que recordar que aprender no siempre ocurre leyendo o resolviendo incanzablemente ejercicios en un papel sino que esto se entiende más cuando se ejecuta en la práctica, práctica en la que eventualmente saldrán errores, claro está. Y es que es precisamente de esto que se trata, ese circulo o ciclo en el que pensamos, lo intentamos, fallamos y buscamos mejorar**. Claro que la parte teórica siempre va a ser fundamental y necesaria porque la practica se convertiría en repetición de comprensión vacío.

    2. The typical course on programming teaches a “tinker until it works” approach. When it works, students exclaim “It works!” and move on. Sadly, this phrase is also the shortest lie in computing, and it has cost many people many hours of their lives.

      Y es que es cierto, tanto la programación cómo muchísimos campos del conocimiento y de la vida, se tratan de eso ... ensayo y error hasta que se ejecute la linea y funcione pero no siempre quiere decir que porque sirva esté bien hecho, porque si las personas creen que el aprendizaje (al menos para estos casos en específico) es el "mejor", van a estar obligados a buscar la respuesta más rapida para que su sistema funcione si o si, sin detenerse a inspeccionar, corregir o al menos preguntarsen ¿cómo funciona?, ¿por qué no está funcionando?

    1. El objetivo de este libro es enseñarle a pensar como un informático. Esta manera de pensar combina las mejores características de las matemáticas, la ingeniería y las ciencias naturales. Los informáticos, al igual que los matemáticos, usan lenguajes formales para expresar ideas (específicamente cálculos).

      Resolver problemas, aprender lógica y expresar las ideas de forma clara son habilidades que sirven más allá de la programación ... Pero puede ser algo limitado si solo lo expresamos desde lo técnico porque eso de "pensar cómo informático" no debería excluir cosas cómo la creatividad.

    2. En enero de 2018 comencé a preparar un curso de programación pensado para estudiantes que no tuvieran experiencia previa en programación. Quería usar Julia como lenguaje de programación, y descubrí que no existía ningún libro para aprender a programar que usara Julia como primer lenguaje de programación. Hay tutoriales maravillosos que explican los conceptos clave de Julia, pero ninguno de ellos se dedicaba lo suficiente a enseñar a pensar como programador.

      Me gusta que de una vez muestra que en el temas de programación no es suficiente con solo aprender el lenguaje ya que también está el pensamiento lógico para la resolución de problemas porque cómo habíamos mencionado en anteriores ocasiones sirve muy poco el conocer comandos si no sabemos que hacen.