Artwork

Content provided by Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ro.player.fm/legal.
Player FM - Aplicație Podcast
Treceți offline cu aplicația Player FM !

Ep 092: Freeing Limits

17:02
 
Distribuie
 

Manage episode 380417990 series 2463849
Content provided by Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ro.player.fm/legal.

Each week, we discuss a different topic about Clojure and functional programming.

If you have a question or topic you'd like us to discuss, tweet @clojuredesign, send an email to feedback@clojuredesign.club, or join the #clojuredesign-podcast channel on the Clojurians Slack.

This week, the topic is: "freedom through constraints." We bump into limiting constraints and learn to love their freedoms.

Our discussion includes:

  • Why expressiveness isn't everything.
  • Causes of combinatorial complexity.
  • The long-term benefits of decreased complexity.
  • Problems Clojure eliminates with its language design.
  • Why complexity feels so good when you're problem solving.
  • How the right limits create freedom.
  • Why Clojure's limiting constraints make it hard to switch from object-oriented programming.
  • Reasons software teams start using microservices.
  • Integrating around behavior vs integrating around data.
  • Awesome hair.

Selected quotes:

  • "Complexity really adds up the more you load it into your application."
  • "Clojure eliminates the time sink related to combinatorial complexity while giving you the ability to craft things faster."
  • "When you're inside a method of an object, there's all those delicious member variables, instance variables, that are just sitting there ready to be touched--ready to be modified--and you have to be super disciplined not do that."
  • "You feel so good because of all the systems you come up with, and all the structure, and all the rules. You notice patterns in the different rules, and you publish books about them, and you think, 'Wow! Look how productive we've been in coming up with all these ways of managing all this complexity! Programming is so hard!'"
  • "Limiting constraints create freedom through limitation."
  • "Sorry, I mutated it out from underneath us."
  • "Eventually, over time, [the OO system] grows and then it becomes unmanageable. It becomes ungovernable. There are no rules that you can actually have, so the only solution is to rewrite."
  • "You know it's a good metaphor when you can take it to the level where it starts falling apart."
  • "This is a big downside of Clojure: you don't just pick it up like your last four programming languages that were all from imperative land."
  • "It's not just a functional style that hangs out as a little part of your program. This is functional: top to bottom, ceiling to floor."
  • "You think of zucchini bread as a naturally mom-shaped problem."
  • "You have to discover another way to do it, and that can take time."
  • "It appeared again! Great! It's for me!"
  • "I just want my program to work, and some guy, with awesome hair, has told me that this is better, but I don't know how to get there!"

Links:

  continue reading

118 episoade

Artwork

Ep 092: Freeing Limits

Functional Design in Clojure

90 subscribers

published

iconDistribuie
 
Manage episode 380417990 series 2463849
Content provided by Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by Christoph Neumann and Nate Jones, Christoph Neumann, and Nate Jones or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://ro.player.fm/legal.

Each week, we discuss a different topic about Clojure and functional programming.

If you have a question or topic you'd like us to discuss, tweet @clojuredesign, send an email to feedback@clojuredesign.club, or join the #clojuredesign-podcast channel on the Clojurians Slack.

This week, the topic is: "freedom through constraints." We bump into limiting constraints and learn to love their freedoms.

Our discussion includes:

  • Why expressiveness isn't everything.
  • Causes of combinatorial complexity.
  • The long-term benefits of decreased complexity.
  • Problems Clojure eliminates with its language design.
  • Why complexity feels so good when you're problem solving.
  • How the right limits create freedom.
  • Why Clojure's limiting constraints make it hard to switch from object-oriented programming.
  • Reasons software teams start using microservices.
  • Integrating around behavior vs integrating around data.
  • Awesome hair.

Selected quotes:

  • "Complexity really adds up the more you load it into your application."
  • "Clojure eliminates the time sink related to combinatorial complexity while giving you the ability to craft things faster."
  • "When you're inside a method of an object, there's all those delicious member variables, instance variables, that are just sitting there ready to be touched--ready to be modified--and you have to be super disciplined not do that."
  • "You feel so good because of all the systems you come up with, and all the structure, and all the rules. You notice patterns in the different rules, and you publish books about them, and you think, 'Wow! Look how productive we've been in coming up with all these ways of managing all this complexity! Programming is so hard!'"
  • "Limiting constraints create freedom through limitation."
  • "Sorry, I mutated it out from underneath us."
  • "Eventually, over time, [the OO system] grows and then it becomes unmanageable. It becomes ungovernable. There are no rules that you can actually have, so the only solution is to rewrite."
  • "You know it's a good metaphor when you can take it to the level where it starts falling apart."
  • "This is a big downside of Clojure: you don't just pick it up like your last four programming languages that were all from imperative land."
  • "It's not just a functional style that hangs out as a little part of your program. This is functional: top to bottom, ceiling to floor."
  • "You think of zucchini bread as a naturally mom-shaped problem."
  • "You have to discover another way to do it, and that can take time."
  • "It appeared again! Great! It's for me!"
  • "I just want my program to work, and some guy, with awesome hair, has told me that this is better, but I don't know how to get there!"

Links:

  continue reading

118 episoade

Todos os episódios

×
 
Loading …

Bun venit la Player FM!

Player FM scanează web-ul pentru podcast-uri de înaltă calitate pentru a vă putea bucura acum. Este cea mai bună aplicație pentru podcast și funcționează pe Android, iPhone și pe web. Înscrieți-vă pentru a sincroniza abonamentele pe toate dispozitivele.

 

Ghid rapid de referință