Érase una vez un algoritmo...

Érase una vez un algoritmo... explores the multifaceted nature of computing through interviews with leading figures, philosophical discussions, and reflections on programming principles and software development. It delves into computer science's ethical considerations, evolution of programming languages, and the impact of artificial intelligence.

Philosophy of Computer Science Programming Language Evolution Software Development Principles Artificial Intelligence and Reasoning Ethics in Computing Impact of Technology on Society Functional Programming Computer Science Education Algorithm Design

The hottest Substack posts of Érase una vez un algoritmo...

And their main takeaways
39 implied HN points 27 Oct 24
  1. Grady Booch is a key figure in software engineering, known for creating UML, which helps developers visualize software systems. His work has changed how we think about software design.
  2. He emphasizes the ongoing evolution in software engineering due to changes like AI and mobile technology. Adaptation and continuous learning are essential for success in this field.
  3. Booch advocates for ethics in technology development, stressing the need for education and accountability among tech leaders to ensure responsible use of AI and other emerging technologies.
119 implied HN points 18 Oct 24
  1. Writing is an important activity for many people, even if it doesn’t make them money or gain them fame. It can be a personal need and a way to express oneself.
  2. AI can be used as a helpful tool for writing, acting like a smart editor. It can improve writing by catching mistakes and suggesting better phrasing without replacing human creativity.
  3. The author is working on a new book about how AI will change writing. They believe in combining human creativity with AI to create a new collaborative writing process.
219 implied HN points 22 Sep 23
  1. Bjarne Stroustrup is the creator of C++, a language that revolutionized programming and software engineering.
  2. Key underutilized modern C++ features include span, resource management pointers, and consistent use of RAII.
  3. C++ continues to evolve with features like lambda expressions, aiming for more declarative programming.
219 implied HN points 18 Aug 23
  1. The philosophy of computer science involves asking fundamental questions about the nature of computer science, such as what is computation, what can be computed, and ethical considerations in computing.
  2. Interest in the philosophy of computer science was sparked by the desire to explore the nature of computation and its relationship with the real world, beyond just utility.
  3. Studying philosophy of computer science can help broaden perspectives by understanding concepts like algorithms, software, and programs on a deeper level.
159 implied HN points 09 Aug 23
  1. The design of the 'Dragon Book' cover was inspired by Miguel de Cervantes' 'Don Quixote', symbolizing complexity in compiler design.
  2. Programming languages are evolving with multiple paradigms, and understanding their principles is crucial.
  3. Computer science will continue to expand into interdisciplinary areas, raising ethical and legal questions, and the future holds exciting possibilities.
Get a weekly roundup of the best Substack posts, by hacker news affinity:
199 implied HN points 09 Jun 23
  1. Gaining scattered knowledge without a system or order doesn't work for creating something new.
  2. Analyzing a topic from different angles can lead to philosophical insights.
  3. Understanding programming through principles helps abstract from specific tools and find a balance to control complexity.
119 implied HN points 07 Oct 23
  1. The adoption of programming languages like Haskell is influenced by socio-technical positioning, not just technical excellence.
  2. Challenges faced in designing the Glasgow Haskell Compiler (GHC) included implementing type classes and maintaining types throughout the compiler.
  3. The future of improving the work of programmers in Haskell lies in toolchain stability and richness, rather than just new language features.
  4. Industry influence is significant in the evolution of programming languages, with many influential languages emerging from corporate labs.
  5. Functional programming principles, such as those in Haskell, are essential in fields like AI and ML, where concepts like neural networks are inherently functional.
  6. Computer science education remains important in schools, even with advances in large language models (LLMs), as foundational knowledge is crucial for understanding.
  7. For individuals aspiring to a research career in computer science, the advice is to follow one's passion, get started on something, write early and often, and engage in dialogue with others.
99 implied HN points 06 Nov 23
  1. Chris Lattner is a prominent software engineer known for his contributions to LLVM, Clang, Swift, and Mojo.
  2. Mojo, Chris Lattner's current project, aims to blend Python's ease of use with superior performance, standing out by being part of the Python ecosystem.
  3. Mojo's exceptional speed compared to Python is due to being compiled, offering low-level control like Rust, good usability similar to Swift or Python, advanced features like autotuning, and support for GPUs and accelerators.
139 implied HN points 21 Aug 23
  1. Peter J. Denning is a pioneer in computer science, having contributed significantly to the field through research, teaching, and leadership.
  2. The Locality Principle in computing emphasizes the significance of processes repeatedly accessing a subset of resources over extended periods, highlighting its universal nature and impact on system performance.
  3. The debate on whether computer science is a scientific or engineering discipline has evolved over time, with increasing recognition of computing as a science studying information processes in natural and artificial systems.
119 implied HN points 14 Aug 23
  1. Programming involves designing algorithms with mathematical properties, not just coding in a programming language.
  2. Thinking before acting is crucial in software development to catch high-level design errors.
  3. Creativity, persistence, and precise specification are essential in software design to reduce errors and improve quality.
99 implied HN points 26 Sep 23
  1. Brian Kernighan is a prominent figure in computer science known for co-authoring 'The C Programming Language' and creating languages like AWK and AMPL.
  2. For a programming language book to be engaging, it needs a sequence of relevant and realistic examples for readers.
  3. AWK remains useful for data analysis, especially in exploring new data types in the era of big data.
119 implied HN points 30 Jul 23
  1. Our decisions, opinions, and relationships are influenced by our morality.
  2. It's challenging to determine what truly matters in the field of computing.
  3. Improving people's lives through technology may be the key to discovering what is important in the realm of informatics.
119 implied HN points 19 Jun 23
  1. When writing a book, it's important to have a clear organization and structure from the beginning.
  2. Before starting to write, establish self-imposed rules like covering untapped topics and presenting content in a unique way.
  3. Maintaining passion and following unwritten rules like giving your all in each book project can help in staying committed to writing.
39 implied HN points 26 Jan 24
  1. Books often start with acknowledgments, but why do we rarely see disacknowledgments?
  2. Writing can bring encounters with deceitful individuals that hinder progress.
  3. The anticipation of expressing 'disacknowledgments' in a future book carries a sense of hope amidst negativity.
139 implied HN points 16 Mar 23
  1. Some individuals are considering quitting programming due to the rise of code generators and assistants.
  2. There is a trend among some in the software industry to use terms other than 'programmer' to avoid feeling inferior.
  3. The emergence of advanced code assistants is viewed by some as a way to phase out traditional programming and move towards new forms of software development.
99 implied HN points 22 Jun 23
  1. Intentionality in software development is crucial for conscious decision-making and ensuring code aligns with project requirements.
  2. Technical execution and understanding play key roles in fulfilling software requirements, highlighting the importance of technical skills and clear communication.
  3. Individual intentions in software development need to harmonize to prevent conflicts and ensure successful project outcomes.
119 implied HN points 05 Apr 23
  1. Descartes' ideas faced opposition and ridicule both during his life and after his death.
  2. Descartes emphasized the importance of testing our beliefs and reaching conclusions through systematic doubt.
  3. It is common to encounter individuals with more certainty than doubts, but embracing doubt can lead to a deeper understanding.
119 implied HN points 29 Mar 23
  1. Razonamiento abductivo permite inferir situaciones probables con poca informaci�n.
  2. Los sistemas de IA carecen de razonamiento abductivo, limit�ndose a combinaciones estad�sticas de palabras.
  3. El razonamiento abductivo est� ligado a la intuici�n y creatividad, cualidades dif�ciles de aplicar en sistemas computacionales.