SlideShare a Scribd company logo
1 of 42
Coderetreat
Matteo Baglini
Freelance Software Developer (and so on...)
Coders TUG & DotNetToscana Co-Founder
@matteobaglini
matteo.baglini@gmail.com
by Coders TUG
Coders Tuscany User Group è una
community di sviluppatori
appassionati che credono nel
collaborative learning.
Il nostro obiettivo è creare un network
di coders che desiderino alimentare la
propria passione condividendo le proprie
Learning Through Sharing
Conosciamoci
Come ti chiami?
Da dove vieni?
Che lavoro fai?
Obiettivi della giornata?
Test-Driven
Development
Extreme Programming
Cost of Change
Barry Boehm
Kent Beck
Clean code that works
Simple Design
1. Passes all the tests
2. Contains no duplication
3. Express developer intent
4. Contains as little code as possible
The team keeps the design exactly suited for the
current functionality of the system.
(In this order)
“TDD doesn't drive good design. TDD gives you
immediate feedback about what is likely to be
bad design. If a test is hard to write, if a test is
non-deterministic, if a test is slow, then
something is wrong with the design.”
Kent Beck
Mechanics
TDD Rules
• Write new code only if an automated test has failed
• Eliminate duplication
TDD Phases
1. Write a test.
2. Make it compile.
3. Run it to see that it
fails.
4. Make it run.
5. Remove duplication.
The different phases have different purposes. They
call for different styles of solution, different
aesthetic viewpoints. The first three phases need to
go by quickly, so we get to a known state with the
new functionality. We can commit any number of
sins to get there, because speed trumps design, just
for that brief moment.
Now I'm worried. I've given you a license to abandon
all the principles of good design. [cut] The cycle is
not complete. A four-legged Aeron chair falls over.
The first four steps of the cycle won't work without
the fifth. Good design at good times. Make it
run, make it right.
There, I feel better. Now I'm sure you won't show
anyone except your partner your code until you've
removed the duplication.
Kent Beck, Test-Driven Development by Example
Clean code that works
Make it run, make it right
@iacoware
Learn TDD
It's all about Deliberate
Practice
The secret is life-long period of deliberate effort to improve
performance in a specific domain. The secret is what researcher
calls Deliberate Practice.
Structure of the day
10:00-11:00=>Session#1
11:00-12:00=>Session#2
12:00-13:00=>Session#3
13:00-14:30=>Lunch
14:30-15:30=>Session#4
15:30-16:30=>Session#5
16:30-17:15=>Session#6
17:15-17:45=>Retrospective
Structure of session
45’ Coding
10’ Retrospective
5’ Break
Pair Programming
Test-Driven Development
Simple Design
1. Passes all the tests
2. Contains no duplication
3. Express developer intent
4. Contains as little code as possible
The team keeps the design exactly suited for the
current functionality of the system.
(In this order)
Change Partner
Delete Your Code
The Game of Life
The Game of Life is a cellular
automaton devised by the
British mathematician John
Conway in 1970.
It’s a zero-player game.
You create an initial state
and watch how it evolves.
The universe Game of Life is an
infinite 2D grid of square
cells, each of which is in one of
two possible states, alive or
dead.
At each
generation, ev
ery cell
interacts with
its eight
neighbours, fo
llowing three
rules.
Any dead cell with exactly
three live neighbours becomes
a live cell, as if by
reproduction.
Any live cell with two or
three live neighbours lives on
to the next generation.
Otherwise, the cell dies from
either loneliness or
overcrowding.
Depending on how it's
seeded, the game board
exhibits remarkable, very
lifelike, behavior. Like a
glider.
The Game of Life demonstrates
emergent behavior.
The behavior of the system as a whole
can't be predicted solely by looking
at the behavior of the single objects
that comprise the system.
Coderetreat @ CodersTUG

More Related Content

What's hot

TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
Lim Chanmann
 

What's hot (19)

Is Xp still extreme?
Is Xp still extreme?Is Xp still extreme?
Is Xp still extreme?
 
General Tips
General TipsGeneral Tips
General Tips
 
Tdd
TddTdd
Tdd
 
Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021
 
TDD & Effective Software Development
TDD & Effective Software DevelopmentTDD & Effective Software Development
TDD & Effective Software Development
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Effective QA in Scrum
Effective QA in ScrumEffective QA in Scrum
Effective QA in Scrum
 
Treinamento TDD
Treinamento TDDTreinamento TDD
Treinamento TDD
 
Holistic testing in DevOps
Holistic testing in DevOpsHolistic testing in DevOps
Holistic testing in DevOps
 
Test driven development(tdd)
Test driven development(tdd)Test driven development(tdd)
Test driven development(tdd)
 
Front-end Testing (manual, automated, you name it) - Erich Jagomägis - Develo...
Front-end Testing (manual, automated, you name it) - Erich Jagomägis - Develo...Front-end Testing (manual, automated, you name it) - Erich Jagomägis - Develo...
Front-end Testing (manual, automated, you name it) - Erich Jagomägis - Develo...
 
Improve your TDD skills
Improve your TDD skillsImprove your TDD skills
Improve your TDD skills
 
A Software Development Approach to Help You End Up with the Product You Reall...
A Software Development Approach to Help You End Up with the Product You Reall...A Software Development Approach to Help You End Up with the Product You Reall...
A Software Development Approach to Help You End Up with the Product You Reall...
 
TDD = bra design?
TDD = bra design?TDD = bra design?
TDD = bra design?
 
Importance of test automation, excuses and TDD introduction
Importance of test automation, excuses and TDD introductionImportance of test automation, excuses and TDD introduction
Importance of test automation, excuses and TDD introduction
 
TDD and Simple Design Workshop - Session 1 - November 2018
TDD and Simple Design Workshop - Session 1 - November 2018TDD and Simple Design Workshop - Session 1 - November 2018
TDD and Simple Design Workshop - Session 1 - November 2018
 
Please don't test your product - Agile Testing
Please don't test your product - Agile TestingPlease don't test your product - Agile Testing
Please don't test your product - Agile Testing
 
Introducing Test Driven Development to an existing environment
Introducing Test Driven Development to an existing environmentIntroducing Test Driven Development to an existing environment
Introducing Test Driven Development to an existing environment
 
The Holistic Programmer
The Holistic ProgrammerThe Holistic Programmer
The Holistic Programmer
 

Similar to Coderetreat @ CodersTUG

Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
bhochhi
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
Svetlin Nakov
 

Similar to Coderetreat @ CodersTUG (20)

TDD in Agile
TDD in AgileTDD in Agile
TDD in Agile
 
TDD - Seriously, try it! - Opensouthcode
TDD - Seriously, try it! - OpensouthcodeTDD - Seriously, try it! - Opensouthcode
TDD - Seriously, try it! - Opensouthcode
 
Test-Driven Development In Action
Test-Driven Development In ActionTest-Driven Development In Action
Test-Driven Development In Action
 
TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019
 
Tdd
TddTdd
Tdd
 
Understanding Why Testing is Importaint
Understanding Why Testing is ImportaintUnderstanding Why Testing is Importaint
Understanding Why Testing is Importaint
 
What is xp
What is xpWhat is xp
What is xp
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Test driven development and react js application go hand in hand
Test driven development and react js application go hand in handTest driven development and react js application go hand in hand
Test driven development and react js application go hand in hand
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
 
TDD, the way to better software | Dan Ursu | CodeWay 2015
TDD, the way to better software | Dan Ursu | CodeWay 2015TDD, the way to better software | Dan Ursu | CodeWay 2015
TDD, the way to better software | Dan Ursu | CodeWay 2015
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
Pairing w developers_stpconpics
Pairing w developers_stpconpicsPairing w developers_stpconpics
Pairing w developers_stpconpics
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Pair programming and introduction to TDD
Pair programming and introduction to TDDPair programming and introduction to TDD
Pair programming and introduction to TDD
 
Test Driven Development Methodology and Philosophy
Test Driven Development Methodology and Philosophy Test Driven Development Methodology and Philosophy
Test Driven Development Methodology and Philosophy
 
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
TDD - Seriously, try it! - Trójmiasto Java User Group (17th May '23)
 
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
TDD - Seriously, try it! - Trjjmiasto JUG (17th May '23)
 
TDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech WeekTDD - Seriously, try it! - Bucarest Tech Week
TDD - Seriously, try it! - Bucarest Tech Week
 
TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)TDD - Seriously, try it! (updated '22)
TDD - Seriously, try it! (updated '22)
 

More from Matteo Baglini

Legacy Coderetreat Bologna @ CodersTUG
Legacy Coderetreat Bologna @ CodersTUGLegacy Coderetreat Bologna @ CodersTUG
Legacy Coderetreat Bologna @ CodersTUG
Matteo Baglini
 
Approval Tests @ MiniIAD
Approval Tests @ MiniIADApproval Tests @ MiniIAD
Approval Tests @ MiniIAD
Matteo Baglini
 
Approval Tests @ CodersTUG
Approval Tests @ CodersTUGApproval Tests @ CodersTUG
Approval Tests @ CodersTUG
Matteo Baglini
 
Modern JavaScript Development @ DotNetToscana
Modern JavaScript Development @ DotNetToscanaModern JavaScript Development @ DotNetToscana
Modern JavaScript Development @ DotNetToscana
Matteo Baglini
 
The NoSQL movement @ DotNetToscana
The NoSQL movement @ DotNetToscanaThe NoSQL movement @ DotNetToscana
The NoSQL movement @ DotNetToscana
Matteo Baglini
 
Key-value databases in practice Redis @ DotNetToscana
Key-value databases in practice Redis @ DotNetToscanaKey-value databases in practice Redis @ DotNetToscana
Key-value databases in practice Redis @ DotNetToscana
Matteo Baglini
 

More from Matteo Baglini (11)

Writing Good Tests
Writing Good TestsWriting Good Tests
Writing Good Tests
 
Legacy Coderetreat Bologna @ CodersTUG
Legacy Coderetreat Bologna @ CodersTUGLegacy Coderetreat Bologna @ CodersTUG
Legacy Coderetreat Bologna @ CodersTUG
 
Approval Tests @ MiniIAD
Approval Tests @ MiniIADApproval Tests @ MiniIAD
Approval Tests @ MiniIAD
 
VS13 - Approval Tests: cosa, come, quando, perché? @ CDays
VS13 - Approval Tests: cosa, come, quando, perché? @ CDaysVS13 - Approval Tests: cosa, come, quando, perché? @ CDays
VS13 - Approval Tests: cosa, come, quando, perché? @ CDays
 
Approval Tests @ CodersTUG
Approval Tests @ CodersTUGApproval Tests @ CodersTUG
Approval Tests @ CodersTUG
 
RESTFul Web API Services @ DotNetToscana
RESTFul Web API Services @ DotNetToscanaRESTFul Web API Services @ DotNetToscana
RESTFul Web API Services @ DotNetToscana
 
Modern JavaScript Development @ DotNetToscana
Modern JavaScript Development @ DotNetToscanaModern JavaScript Development @ DotNetToscana
Modern JavaScript Development @ DotNetToscana
 
Async: scalabilità e responsiveness senza pari! @ CDays
Async: scalabilità e responsiveness senza pari! @ CDaysAsync: scalabilità e responsiveness senza pari! @ CDays
Async: scalabilità e responsiveness senza pari! @ CDays
 
The NoSQL movement @ DotNetToscana
The NoSQL movement @ DotNetToscanaThe NoSQL movement @ DotNetToscana
The NoSQL movement @ DotNetToscana
 
Key-value databases in practice Redis @ DotNetToscana
Key-value databases in practice Redis @ DotNetToscanaKey-value databases in practice Redis @ DotNetToscana
Key-value databases in practice Redis @ DotNetToscana
 
Asynchronous Programming Lab @ DotNetToscana
Asynchronous Programming Lab @ DotNetToscanaAsynchronous Programming Lab @ DotNetToscana
Asynchronous Programming Lab @ DotNetToscana
 

Recently uploaded

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Recently uploaded (20)

Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 

Coderetreat @ CodersTUG

  • 1. Coderetreat Matteo Baglini Freelance Software Developer (and so on...) Coders TUG & DotNetToscana Co-Founder @matteobaglini matteo.baglini@gmail.com by Coders TUG
  • 2. Coders Tuscany User Group è una community di sviluppatori appassionati che credono nel collaborative learning. Il nostro obiettivo è creare un network di coders che desiderino alimentare la propria passione condividendo le proprie Learning Through Sharing
  • 3. Conosciamoci Come ti chiami? Da dove vieni? Che lavoro fai? Obiettivi della giornata?
  • 6. Cost of Change Barry Boehm Kent Beck
  • 8. Simple Design 1. Passes all the tests 2. Contains no duplication 3. Express developer intent 4. Contains as little code as possible The team keeps the design exactly suited for the current functionality of the system. (In this order)
  • 9. “TDD doesn't drive good design. TDD gives you immediate feedback about what is likely to be bad design. If a test is hard to write, if a test is non-deterministic, if a test is slow, then something is wrong with the design.” Kent Beck
  • 11. TDD Rules • Write new code only if an automated test has failed • Eliminate duplication
  • 12. TDD Phases 1. Write a test. 2. Make it compile. 3. Run it to see that it fails. 4. Make it run. 5. Remove duplication. The different phases have different purposes. They call for different styles of solution, different aesthetic viewpoints. The first three phases need to go by quickly, so we get to a known state with the new functionality. We can commit any number of sins to get there, because speed trumps design, just for that brief moment. Now I'm worried. I've given you a license to abandon all the principles of good design. [cut] The cycle is not complete. A four-legged Aeron chair falls over. The first four steps of the cycle won't work without the fifth. Good design at good times. Make it run, make it right. There, I feel better. Now I'm sure you won't show anyone except your partner your code until you've removed the duplication. Kent Beck, Test-Driven Development by Example
  • 13. Clean code that works Make it run, make it right
  • 16.
  • 17.
  • 18.
  • 19. It's all about Deliberate Practice The secret is life-long period of deliberate effort to improve performance in a specific domain. The secret is what researcher calls Deliberate Practice.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25. Structure of the day 10:00-11:00=>Session#1 11:00-12:00=>Session#2 12:00-13:00=>Session#3 13:00-14:30=>Lunch 14:30-15:30=>Session#4 15:30-16:30=>Session#5 16:30-17:15=>Session#6 17:15-17:45=>Retrospective
  • 26. Structure of session 45’ Coding 10’ Retrospective 5’ Break
  • 27.
  • 30. Simple Design 1. Passes all the tests 2. Contains no duplication 3. Express developer intent 4. Contains as little code as possible The team keeps the design exactly suited for the current functionality of the system. (In this order)
  • 33. The Game of Life
  • 34. The Game of Life is a cellular automaton devised by the British mathematician John Conway in 1970. It’s a zero-player game. You create an initial state and watch how it evolves.
  • 35. The universe Game of Life is an infinite 2D grid of square cells, each of which is in one of two possible states, alive or dead.
  • 36. At each generation, ev ery cell interacts with its eight neighbours, fo llowing three rules.
  • 37. Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.
  • 38. Any live cell with two or three live neighbours lives on to the next generation.
  • 39. Otherwise, the cell dies from either loneliness or overcrowding.
  • 40. Depending on how it's seeded, the game board exhibits remarkable, very lifelike, behavior. Like a glider.
  • 41. The Game of Life demonstrates emergent behavior. The behavior of the system as a whole can't be predicted solely by looking at the behavior of the single objects that comprise the system.