12 Matching Annotations
  1. May 2026
    1. Ejercicio 3-2 Escriba una función llamada justificar_a_la_derecha que tome una cadena s como parámetro y que imprima la cadena con suficientes espacios en blanco para que la última letra de la cadena se encuentre en la columna 70 de la pantalla.

      Bastante interesante el ejercicio pero ... ¿Hay alguna forma de aparecer un grid en el REPL de Julia para mirar lo de los espacios en la pantalla?

    2. Para algunas personas, la programación y la depuración son lo mismo. Es decir, la programación es el proceso de depurar gradualmente un programa hasta que haga lo que desea. Lo ideal es comenzar con un programa que funcione y hacer pequeñas modificaciones, depurándolas a medida que avanza. Por ejemplo, Linux es un sistema operativo que contiene millones de líneas de código, pero comenzó como un programa simple que Linus Torvalds usó para explorar el chip Intel 80386. Según Larry Greenfield, "Uno de los proyectos anteriores de Linus fue un programa que cambiaría entre imprimir" AAAA "y" BBBB ". Esto luego evolucionó a Linux ". (The Linux Users'’ Guide Beta Version 1).

      Esto me recuerda mucho a la otra lectura anotada de Julia, eso de que los programas grandes suelen empezar con algo pequeño es algo muy valioso que va de la mano con lo del aprendizaje, equivocarnos y corregirlo no es exclusivo de la programación, sino del aprendizaje y de la vida misma.

    3. 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?

    4. 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

    5. julia> println("¡Hola, Mundo!") ¡Hola, Mundo!

      Si, definitivamente este ya lo vimos, pero quiero recalcar la importancia y trascendencia que tiene el clásico saludo "Hola, Mundo", a pesar de que su función más básica desde los años más tempranos de la programación sea solamente mostrar el texto este saludo lleva desde el 78, varía como se pone ya sea en Python, Java o JS pero se podría decir que este es un evento canónico que si o si tiene que pasar cualquier persona cuando se sumerge en el ámbito de la creación por medio de la programación

  2. Apr 2026
    1. Julia es un lenguaje de programación único, ya que resuelve el problema de los dos idiomas. No se necesita de ningún otro lenguaje de programación para escribir código de alto rendimiento. Esto no significa que ocurra automáticamente. Es responsabilidad del programador optimizar el código que genere cuellos de botella, aunque esto puede hacerse directamente en Julia.

      Esto es buenísimo ¿Evitar usar un lenguaje que cree y otro que optimice? brutal, esto ahorra tiempo y facilita el trabajo ya que permite hacer esas dos cosas al mismo tiempo.

  3. Feb 2026
    1. Like many revolutionary changes in human history, it started with a flash of frustration.

      Cómo toda gran idea novedosa o innovadora que nace de la incomodidad ...

      Ser disruptivo y crear algo que cambie y mejore las reglas convencionales es algo que siempre he de admirar. Tener la convicción de diseñar algo que se sabe que reúne lo mejor de varios sistemas es algo que no todo el mundo hace, si bien quisieron hacer algo más "pequeño, propio y privado" (que se entiende muy bien, no por el tema de envidia o privatización sino porque quizá uno cómo persona no dimensiona el impacto de sus creaciones), algo que me llamó la atención es que fueron de lleno a crear algo a la altura de los lenguajes de alto nivel (básicamente que se pueden hacer más y mejores cosas sin tantas líneas de código), ósea que simplemente no fue un típico proyecto que ya existía, sino que intentaron ir más allá de una vez, simplemente adelantados a su tiempo, es increíble

  4. Apr 2025
    1. Los mensajes son la forma en que los objetos se comunican entre sí y en que nosotros, los humanos, nos comunicamos con el sistema de cómputo. Hay tres tipos de mensajes: unary (unarios), binary (binary) y keyword.

      Relacionando los videos analizados de Anjana Vakil sobre los paradigmas de programación y sobre la programación orientada a objetos, ahora es un poco más comprensible la importancia de los mensajes entre objetos en el campo de la computación. Ya que, es la forma como interactúan entre sí y es la forma como nosotros podemos dar órdenes a esos objetos, a través de comandos. El quick del asunto está en ¿Cómo se escriben los comandos?, ¡cómo los incorporamos al sistema? ¿Qué lenguaje usamos?, ¿Cuál es su estructura?, y ¿Qué queremos recibir como respuesta? 

    1. Si queremos modelar objetos complejos, tenemos que tener cierta familiaridad con los objetos preexistentes

      Para poder modelar objetos y en general, para escribir código y adentrarse al mundo de la Programación Orientada a Objetos es necesario tener ciertas nociones con la forma, la estructura y las distintas particularidades de los lenguajes de programación. Aquí tenemos in recurso de información que nos da algunas nociones relacionadas con la escritura de código orientado a objetos usando Python

  5. Oct 2021
  6. Nov 2016
    1. TR: In retrospect, in designing C++, wasn’t your decision to trade off programmer efficiency, security, and software reliability for run time performance a fundamental mistake?BS: Well, I don’t think I made such a trade-off. I want elegant and efficient code. Sometimes I get it. These dichotomies (between efficiency versus correctness, efficiency versus programmer time, efficiency versus high-level, et cetera.) are bogus.What I did do was to design C++ as first of all a systems programming language: I wanted to be able to write device drivers, embedded systems, and other code that needed to use hardware directly. Next, I wanted C++ to be a good language for designing tools. That required flexibility and performance, but also the ability to express elegant interfaces.

    Tags

    Annotators