Summary
In this episode, We discuss Object-Oriented Programming (OOP) with Tim and Rob, its origins, principles, and practical applications.
The guests share their experiences and insights on the importance of naming conventions, the balance between purity and practicality in OOP, and the impact of Object-Relational Mappers (ORMs) on design.
They also explore the challenges of modeling reality with objects and provide recommendations for those looking to deepen their understanding of OOP.
Takeaways
Chapters
00:00 Introduction to Object-Oriented Programming
02:35 The Origins and Purpose of OOP
04:34 Purity in Object-Oriented Programming
10:50 Design Principles and Patterns in OOP
15:41 Types and Their Importance in OOP
20:58 ORMs and Their Limitations
24:48 The Role of Patterns in OOP
26:11 Understanding Patterns in Object-Oriented Programming
30:04 The Iterative Process of Object Design
35:52 Trusting Object Competence in Code
39:10 Modeling Reality with Objects
43:27 Building a Shared Vocabulary in Programming
50:07 Recommended Resources for Learning OOP
Find our Guests:
Rob: https://www.linkedin.com/in/purinkle/
Tim: https://www.linkedin.com/in/agileotter/ and http://agileotter.blogspot.com/
A couple days ago Mathieu and Sandjiv joined me to discuss the nebulous concept of "taste" in programming.
All that and more in this episode.
Find Sandjiv at: https://www.linkedin.com/in/sandjiv/
Find mathieu at: https://www.linkedin.com/in/mathieu-slegten-03933b29/
A few days ago I was joined by Dave and Steven to discuss misunderstood concepts in tech.
We strayed away from that so as a bonus you also get:
- A comparison of the state of the car industry vs the tech industry 60 years in.
- Thoughts about what the role of software developer should be.
- And, thoughts on why so many concepts don't have a consensus understanding among tech professionals.
---
find Dave at:
- http://pragdave.me/
- https://x.com/pragdave
find Steven at:
- https://stevenrbaker.com/
- https://x.com/srbaker
- https://fosstodon.org/@srbaker
A couple days ago Aslihan and Sami joined me to talk about bootcamps.
What has been their experience joining the industry after their bootcamps, what would they recommend to new graduates, and what is the place of bootcamps today and in the future. Were among the subjects we discussed.
Find Sami at:
Find Aslihan at:
I had the honor to host Thierry and Martin to discuss team practices for writing excellent software.
I learned a lot from them and hope you will too!
---
Find Martin at:
https://www.linkedin.com/in/martinvanaken
https://www.joyouscoding.com/
Find Thierry at:
https://www.linkedin.com/in/tdpauw
https://thinkinglabs.io/
---
Links and notes:
https://thinkinglabs.io/articles/2022/06/14/the-practices-that-make-continuous-integration.html
https://app.thestorygraph.com/books/3aa08f69-6e4b-4041-8eca-48bd7141726b
https://app.thestorygraph.com/books/7c0a35f6-89c7-4634-a5d0-3e456ccbbc02
https://app.thestorygraph.com/books/a18e5dee-89e4-4c79-948e-ada45f61b476
https://app.thestorygraph.com/books/77eb0975-4194-42e7-9db3-005d4250940f
https://socratesbe.org/
A couple days ago Kevin joined me for an enlightening discussion around PWAs
Are they viable?
What niche do they serve?
----
Find Kevin at:
http://vzb.io
http://prologuekit.com
https://www.linkedin.com/in/kevinvzb
https://x.com/kevinvzb
George and Sami joined me to discuss LLMs a few days ago.
What started innocently, ended with deep philosophical questions posed by Sami.
How do they use LLMs?
Should we use them?
What questions arise with them?
---
Find Sami at:
- https://samibirnbaum.com/
- https://www.linkedin.com/in/samibirnbaum/
Find George at:
- https://www.linkedin.com/in/george-kosmopoulos
---
references:
- https://thoughtbot.com/blog/ai-led-or-human-led-coding-you-decide
- https://www.anthropic.com/learn
- https://en.m.wikipedia.org/wiki/Life_3.0
- https://fchollet.substack.com/p/how-i-think-about-llm-prompt-engineering
- https://en.m.wikipedia.org/wiki/The_Last_Question
A few days ago, Rachel and Thierry joined me for a discussion around software metrics.
What metrics are worth having?
What are the dangers of metrics?
Where are metrics useful?
---
Find Thierry at: https://thinkinglabs.io/ and http://be.linkedin.com/in/tdpauw
Find Rachel at: https://www.linkedin.com/in/rachel-grey-b69319/ and https://bsky.app/profile/greyoctagon.bsky.social
A few days ago, Martin and Kostas joined me to discuss what they take into account when starting a new role.
How to win over your new colleagues quickly?
What are good first tasks to tackle?
----
Find martin at: https://www.joyouscoding.com and https://www.linkedin.com/in/martinvanaken
Find Kostas at: https://www.linkedin.com/in/ksofianopoulos
A few days ago, Chloé and Manon joined me to discuss the relationship between Marketing and Tech.
I learned a lot about how marketing works, and how we can better collaborate within our two roles!
----
Find Chloé at:
https://www.linkedin.com/in/chloe-bailly/
Find Manon at:
https://www.linkedin.com/in/manonforestier/
Not too long ago, Javier and George joined me to discuss DDD.
What in it is useful?
When is it useful?
What does it solve?
Should you use it?
---
Find Javier on:
LinkedIn: https://www.linkedin.com/in/javier-venegas
Find George on:
LinkedIn: https://www.linkedin.com/in/george-kosmopoulos
Website:http://gkosmo.eu
I had the privilege of hosting Woody and Philipe (from NodalView) to talk about software teaming.
How can a team work together on a problem?
How to organize ourselves so that everyone needed is in the room?
These questions and more answered in the episode!
---
Find Woody on:
LinkedIn: https://www.linkedin.com/in/woodyzuill
Find Philippe on:
https://www.linkedin.com/in/philippevaneerdenbrugghe
A few days ago Stan and Remy joined me to talk about working in legacy code.
What is legacy code?
How to work with legacy code?
Is legacy code inherently bad code?
Join us as they answer these questions and more!
---
Find Remy on:
- LinkedIn https://www.linkedin.com/in/rhannequin/
- Mastodon https://ruby.social/@rhannequin
- BlueSky https://bsky.app/profile/rhannequin.bsky.social
Find Stan on:
- LinkedIn http://www.linkedin.com/in/boyet
Building a community takes time and effort, especially in tech.
In this episode Amanda and Pilou share with us their strategies, tips and day to day's in building and steering two very different types of communities, the 'Ruby on Rails' community and a community centered around Advent of Code and having fun solving the daily exercises.
The passion they feel for these communities really shone through and it was amazing to see the effort required.
If you are part of a community or trying to build one, you definitely need to listen
Amanda is the executive director of the Rails Foundation
Pilou is Co Founder of ShipOnRails, they have a chat already available: https://ai.shiponrails.com/
In this episode, Philippe, Jose, and I dive into one of the most debated practices in software development: Test-First Development
.We explore:
- The advantages of writing tests before code
- The correlation between testable code and 'good' code
- The common arguments against testing first
Whether you're a junior developer curious about improving your coding practices, or a seasoned engineer looking to refine your techniques, this episode has something for everyone.
What are your thoughts on Test-First Development? Have you embraced it, or are you still on the fence? Let's discuss in the comments!
You can find Jose at: https://www.linkedin.com/in/josedanielblanco/ | www.thoughtbot.com
You can find Philippe at: https://www.linkedin.com/in/philippevaneerdenbrugghe/ | https://www.linkedin.com/company/nodalview/