"Simple Made Easy" - Rich Hickey (2011)

Поделиться
HTML-код
  • Опубликовано: 19 дек 2024

Комментарии • 13

  • @jacobamason
    @jacobamason 3 года назад +67

    Ah yes, the director's cut version. Thanks for this.

  • @calebland6246
    @calebland6246 3 года назад +18

    I was introduced to the non-easy, but simple concept of immutability by Clojure and it changed the way I think about software, thanks for the remaster!

  • @Hancock1776
    @Hancock1776 2 года назад +17

    The quip about firing the starting gun every hundred meters. What a perfect metaphor. I am in awe

  • @wedesoft
    @wedesoft 3 года назад +13

    I have watched the talk several times and everytime I am learning something more.

  • @avidrucker
    @avidrucker Год назад +5

    00:30 🤯 Simplicity is a prerequisite for reliability in software development, and we need to focus more on building simple systems.
    02:34 📚 "Simple" means one fold or one twist, while "complex" means braided or folded together. Understanding this distinction is crucial in software development.
    07:20 🤖 Easy can refer to being physically near, familiar, or within our capabilities. It's essential to recognize these different aspects of "easy" when discussing software.
    11:54 🏃 Focusing solely on ease (fast development) at the expense of simplicity (understandable and maintainable code) will eventually slow down software development.
    19:50 💡 Some constructs that seem easy can lead to complex and incidental complexity in software. Prioritizing simplicity in output is critical for software quality and reliability.
    21:51 🧩 Simplicity leads to increased flexibility, independence of decisions, and easier policy changes in software development.
    23:23 🧠 To deal with complexity, rather than trying to become smarter, simplify by reducing incidental complexity in your software.
    27:18 🧶 "Complect" means intertwining or braiding, and it's a source of complexity in software.
    30:19 🔄 Simple components allow for horizontal separation and vertical stratification, leading to robust software design.
    39:31 🕸 Various software elements like state, objects, methods, inheritance, syntax, and more can contribute to complexity by intertwining different concerns.
    42:38 🧩 The talk emphasizes the importance of distinguishing between "simple" and "easy" in software development.
    43:07 🛠 Developing software can be simplified by choosing simpler tools and focusing on the essence of the problem, rather than complex constructs.
    44:09 📦 Use values and persistent collections for simplicity, and avoid unnecessary complexity in data manipulation.
    45:38 🌐 Simplify communication by using data instead of arbitrary command strings, and aim for polymorphism ala carte.
    47:02 🔀 Simplify complex systems by using declarative rule systems and focus on consistency, transactions, and values.
    Made with HARPA AI

  • @psithur-au
    @psithur-au 3 года назад +10

    Great to see this classic remastered!

  • @RahulGaurh4x
    @RahulGaurh4x 3 года назад +6

    finally , high quality video with deck in the same frame

  • @cbleslie
    @cbleslie 3 года назад +8

    The juggling animation is so much better in this version!

  • @chrisvouga8832
    @chrisvouga8832 2 года назад +5

    31:07 Can someone give me an example where I should replace a conditional with a rule? I’m interested in using more rules

    • @salim444
      @salim444 2 года назад +2

      there is a talk about ggplot and clojure where to define the options for a chart he uses rules because the end user expects to give a subset of the options and the system would fill the rest. for example the user asks for a a chart plot will provide different options than when asking for bar char and the system has to fill the rest of the options

  • @DevOpsCraftsman
    @DevOpsCraftsman Год назад +2

    I saw Uncle Bob (Robert C. Martin) recommending this "wonderful talk" in his book "Clean Craftsmanship" in the chapter on Simple Design, so I'm here...

  • @vvvvaaaacccc
    @vvvvaaaacccc 2 года назад

    would it be accurate to say that spaghetti is complex, lasagna is simple?