SlideShare a Scribd company logo
1 of 22
Coding on a 40 year
old computer to
understand today’s
technology
A journey to madness and its way back
About me
Matías Iacono
Why coding in an old computer?
- Because you can.
- Because is a challenge.
- Because... code quality!
Some history first!
Sinclair ZX 81
- 1 KB of memory
- … and that’s all!
Sinclair ZX
Spectrum
- 16 KB of memory (48 KB to 128 KB for later
models).
- Basic as official included
programing language.
- Assembler for the braves!
Why this is a challenge?
8 GB of RAM from a
standard computer
today
48 KB of RAM
= .23 km
That is not all!
Processor speed
ZX80 = 3.5MHz
Intel i5 = 2.9GHz
~= 0.01015 the power of
an i5
Coding!
A simple game
(of 4400 lines)
ld hl,msgdat
ld a,b
dec a
cp 32
jr nc,iscrl0
A for...loop to decrease A
and jump to other part of the
code if A is equals to 32.
Demo time!
Why is important?
Every bit matters!
Speed and
quality
What the consumer wants
- Good code is easy to maintain
(Cyclomatic complexity).
- Fast code increase customer
quality perception.
- Good code is less prone to bugs.
- Good code cost less!
Real life examples
C# developers and strings
https://github.com/dotnet/coreclr/blob/19a88d8a92e08c8506f6e69c3964dc77329c108a/src/vm/amd
64/JitHelpers_Slow.asm#L274-L322
https://github.com/dotnet/coreclr/blob/19a88d8a92e08c8506f6e69c3964dc77329c108a/src/mscorlib/sr
c/System/String.cs#L963-L975
[System.Security.SecurityCritical] // auto-generated
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal extern static String FastAllocateString(int length);
More strings
Loading speed in mobile
The “way back”
Why coding for an old computer?
- Gives you a different vision of the available resources in your system (They are
precious).
- Force you to think more creative ways of coding.
- Helps you to create better code.
- Will help you to spend less time and money fixing bugs.
- Will make your customer happier.
Thanks!

More Related Content

Similar to Old code for code quality

Alessandro Abbruzzetti - Kernal64
Alessandro Abbruzzetti - Kernal64Alessandro Abbruzzetti - Kernal64
Alessandro Abbruzzetti - Kernal64Scala Italy
 
“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...
“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...
“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...Edge AI and Vision Alliance
 
Scalability for All: Unreal Engine* 4 with Intel
Scalability for All: Unreal Engine* 4 with Intel Scalability for All: Unreal Engine* 4 with Intel
Scalability for All: Unreal Engine* 4 with Intel Intel® Software
 
FPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusionFPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusionPersiPersi1
 
Semiconductor overview
Semiconductor overviewSemiconductor overview
Semiconductor overviewNabil Chouba
 
3dfx, nvidia, Moore's Law and more...
3dfx, nvidia, Moore's Law and more...3dfx, nvidia, Moore's Law and more...
3dfx, nvidia, Moore's Law and more...Azul Systems
 
The evolution of TMS, family of DSP\'s
The evolution of TMS, family of DSP\'sThe evolution of TMS, family of DSP\'s
The evolution of TMS, family of DSP\'sRitul Sonania
 
Computer ogranization lecture (chapter 1 introduction)
Computer ogranization lecture (chapter 1   introduction)Computer ogranization lecture (chapter 1   introduction)
Computer ogranization lecture (chapter 1 introduction)Nhelgane Hablo
 
How I Sped up Complex Matrix-Vector Multiplication: Finding Intel MKL's "S
How I Sped up Complex Matrix-Vector Multiplication: Finding Intel MKL's "SHow I Sped up Complex Matrix-Vector Multiplication: Finding Intel MKL's "S
How I Sped up Complex Matrix-Vector Multiplication: Finding Intel MKL's "SBrandon Liu
 
Augmenting Retro Consoles with New Hardware
Augmenting Retro Consoles with New HardwareAugmenting Retro Consoles with New Hardware
Augmenting Retro Consoles with New HardwareJeff Katz
 
4th generation intel core processoer
4th generation intel core processoer4th generation intel core processoer
4th generation intel core processoerAanamika Nath
 
Applying Recursive Temporal Blocking for Stencil Computations to Deeper Memor...
Applying Recursive Temporal Blocking for Stencil Computations to Deeper Memor...Applying Recursive Temporal Blocking for Stencil Computations to Deeper Memor...
Applying Recursive Temporal Blocking for Stencil Computations to Deeper Memor...Tokyo Institute of Technology
 

Similar to Old code for code quality (20)

Alessandro Abbruzzetti - Kernal64
Alessandro Abbruzzetti - Kernal64Alessandro Abbruzzetti - Kernal64
Alessandro Abbruzzetti - Kernal64
 
“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...
“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...
“A New Golden Age for Computer Architecture: Processor Innovation to Enable U...
 
Scalability for All: Unreal Engine* 4 with Intel
Scalability for All: Unreal Engine* 4 with Intel Scalability for All: Unreal Engine* 4 with Intel
Scalability for All: Unreal Engine* 4 with Intel
 
FPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusionFPGA_prototyping proccesing with conclusion
FPGA_prototyping proccesing with conclusion
 
I pod new
I pod newI pod new
I pod new
 
Semiconductor overview
Semiconductor overviewSemiconductor overview
Semiconductor overview
 
Amd Athlon Processors
Amd Athlon ProcessorsAmd Athlon Processors
Amd Athlon Processors
 
3dfx, nvidia, Moore's Law and more...
3dfx, nvidia, Moore's Law and more...3dfx, nvidia, Moore's Law and more...
3dfx, nvidia, Moore's Law and more...
 
Cpu z mariam
Cpu z mariamCpu z mariam
Cpu z mariam
 
Mot uvs
Mot uvsMot uvs
Mot uvs
 
The evolution of TMS, family of DSP\'s
The evolution of TMS, family of DSP\'sThe evolution of TMS, family of DSP\'s
The evolution of TMS, family of DSP\'s
 
Evolution of processors
Evolution of processorsEvolution of processors
Evolution of processors
 
Vlsi
VlsiVlsi
Vlsi
 
Computer ogranization lecture (chapter 1 introduction)
Computer ogranization lecture (chapter 1   introduction)Computer ogranization lecture (chapter 1   introduction)
Computer ogranization lecture (chapter 1 introduction)
 
How I Sped up Complex Matrix-Vector Multiplication: Finding Intel MKL's "S
How I Sped up Complex Matrix-Vector Multiplication: Finding Intel MKL's "SHow I Sped up Complex Matrix-Vector Multiplication: Finding Intel MKL's "S
How I Sped up Complex Matrix-Vector Multiplication: Finding Intel MKL's "S
 
I pod presentation
I pod presentationI pod presentation
I pod presentation
 
Augmenting Retro Consoles with New Hardware
Augmenting Retro Consoles with New HardwareAugmenting Retro Consoles with New Hardware
Augmenting Retro Consoles with New Hardware
 
4th generation intel core processoer
4th generation intel core processoer4th generation intel core processoer
4th generation intel core processoer
 
Applying Recursive Temporal Blocking for Stencil Computations to Deeper Memor...
Applying Recursive Temporal Blocking for Stencil Computations to Deeper Memor...Applying Recursive Temporal Blocking for Stencil Computations to Deeper Memor...
Applying Recursive Temporal Blocking for Stencil Computations to Deeper Memor...
 
M qcardiac
M qcardiacM qcardiac
M qcardiac
 

More from Matias Iacono

NLP with NodeJS and JavaScript
NLP with NodeJS and JavaScriptNLP with NodeJS and JavaScript
NLP with NodeJS and JavaScriptMatias Iacono
 
A very quick walkthrough on Computer Vision
A very quick walkthrough on Computer VisionA very quick walkthrough on Computer Vision
A very quick walkthrough on Computer VisionMatias Iacono
 
Google Media Pipe and Computer Vision
Google Media Pipe and Computer VisionGoogle Media Pipe and Computer Vision
Google Media Pipe and Computer VisionMatias Iacono
 
Computer Vision con OpenCV y Python
Computer Vision con OpenCV y PythonComputer Vision con OpenCV y Python
Computer Vision con OpenCV y PythonMatias Iacono
 
Malas prácticas de código
Malas prácticas de códigoMalas prácticas de código
Malas prácticas de códigoMatias Iacono
 
Blazor - La nueva Web?
Blazor - La nueva Web?Blazor - La nueva Web?
Blazor - La nueva Web?Matias Iacono
 
Un paseo por C# 9 (Preview)
Un paseo por C# 9 (Preview)Un paseo por C# 9 (Preview)
Un paseo por C# 9 (Preview)Matias Iacono
 
Gamificación: Aprendizaje a través del juego
Gamificación: Aprendizaje a través del juegoGamificación: Aprendizaje a través del juego
Gamificación: Aprendizaje a través del juegoMatias Iacono
 
Principios solid con c#
Principios solid con c#Principios solid con c#
Principios solid con c#Matias Iacono
 
Global AI Tour 2020 - Perceptrón
Global AI Tour 2020 - PerceptrónGlobal AI Tour 2020 - Perceptrón
Global AI Tour 2020 - PerceptrónMatias Iacono
 
Game development on Blas Pascal University
Game development on Blas Pascal UniversityGame development on Blas Pascal University
Game development on Blas Pascal UniversityMatias Iacono
 
Agilidad y psicología
Agilidad y psicologíaAgilidad y psicología
Agilidad y psicologíaMatias Iacono
 
Los principios de la gamificación en la agilidad
Los principios de la gamificación en la agilidadLos principios de la gamificación en la agilidad
Los principios de la gamificación en la agilidadMatias Iacono
 
Webinar: Desarrollo de video juegos con HTML5 y JavaScript
Webinar: Desarrollo de video juegos con HTML5 y JavaScriptWebinar: Desarrollo de video juegos con HTML5 y JavaScript
Webinar: Desarrollo de video juegos con HTML5 y JavaScriptMatias Iacono
 
Paradigmas en educacion
Paradigmas en educacionParadigmas en educacion
Paradigmas en educacionMatias Iacono
 
Creando nuestra empresa con agilidad
Creando nuestra empresa con agilidadCreando nuestra empresa con agilidad
Creando nuestra empresa con agilidadMatias Iacono
 

More from Matias Iacono (20)

NLP with NodeJS and JavaScript
NLP with NodeJS and JavaScriptNLP with NodeJS and JavaScript
NLP with NodeJS and JavaScript
 
A very quick walkthrough on Computer Vision
A very quick walkthrough on Computer VisionA very quick walkthrough on Computer Vision
A very quick walkthrough on Computer Vision
 
Google Media Pipe and Computer Vision
Google Media Pipe and Computer VisionGoogle Media Pipe and Computer Vision
Google Media Pipe and Computer Vision
 
Lo nuevo de C# 10
Lo nuevo de C# 10Lo nuevo de C# 10
Lo nuevo de C# 10
 
Computer Vision con OpenCV y Python
Computer Vision con OpenCV y PythonComputer Vision con OpenCV y Python
Computer Vision con OpenCV y Python
 
Malas prácticas de código
Malas prácticas de códigoMalas prácticas de código
Malas prácticas de código
 
Blazor - La nueva Web?
Blazor - La nueva Web?Blazor - La nueva Web?
Blazor - La nueva Web?
 
Un paseo por C# 9 (Preview)
Un paseo por C# 9 (Preview)Un paseo por C# 9 (Preview)
Un paseo por C# 9 (Preview)
 
Unit Test y TDD
Unit Test y TDDUnit Test y TDD
Unit Test y TDD
 
Gamificación: Aprendizaje a través del juego
Gamificación: Aprendizaje a través del juegoGamificación: Aprendizaje a través del juego
Gamificación: Aprendizaje a través del juego
 
Introducción a IoT
Introducción a IoTIntroducción a IoT
Introducción a IoT
 
Principios solid con c#
Principios solid con c#Principios solid con c#
Principios solid con c#
 
Global AI Tour 2020 - Perceptrón
Global AI Tour 2020 - PerceptrónGlobal AI Tour 2020 - Perceptrón
Global AI Tour 2020 - Perceptrón
 
Game development
Game developmentGame development
Game development
 
Game development on Blas Pascal University
Game development on Blas Pascal UniversityGame development on Blas Pascal University
Game development on Blas Pascal University
 
Agilidad y psicología
Agilidad y psicologíaAgilidad y psicología
Agilidad y psicología
 
Los principios de la gamificación en la agilidad
Los principios de la gamificación en la agilidadLos principios de la gamificación en la agilidad
Los principios de la gamificación en la agilidad
 
Webinar: Desarrollo de video juegos con HTML5 y JavaScript
Webinar: Desarrollo de video juegos con HTML5 y JavaScriptWebinar: Desarrollo de video juegos con HTML5 y JavaScript
Webinar: Desarrollo de video juegos con HTML5 y JavaScript
 
Paradigmas en educacion
Paradigmas en educacionParadigmas en educacion
Paradigmas en educacion
 
Creando nuestra empresa con agilidad
Creando nuestra empresa con agilidadCreando nuestra empresa con agilidad
Creando nuestra empresa con agilidad
 

Recently uploaded

Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...anilsa9823
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
G9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptG9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptMAESTRELLAMesa2
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTSérgio Sacani
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )aarthirajkumar25
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bSérgio Sacani
 
Work, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE PhysicsWork, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE Physicsvishikhakeshava1
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxkessiyaTpeter
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real timeSatoshi NAKAHIRA
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 sciencefloriejanemacaya1
 
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡anilsa9823
 
Types of different blotting techniques.pptx
Types of different blotting techniques.pptxTypes of different blotting techniques.pptx
Types of different blotting techniques.pptxkhadijarafiq2012
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |aasikanpl
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisDiwakar Mishra
 
Caco-2 cell permeability assay for drug absorption
Caco-2 cell permeability assay for drug absorptionCaco-2 cell permeability assay for drug absorption
Caco-2 cell permeability assay for drug absorptionPriyansha Singh
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxgindu3009
 
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxPhysiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxAArockiyaNisha
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhousejana861314
 

Recently uploaded (20)

Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
Lucknow 💋 Russian Call Girls Lucknow Finest Escorts Service 8923113531 Availa...
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
The Philosophy of Science
The Philosophy of ScienceThe Philosophy of Science
The Philosophy of Science
 
G9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.pptG9 Science Q4- Week 1-2 Projectile Motion.ppt
G9 Science Q4- Week 1-2 Projectile Motion.ppt
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 
Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )Recombination DNA Technology (Nucleic Acid Hybridization )
Recombination DNA Technology (Nucleic Acid Hybridization )
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
 
Work, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE PhysicsWork, Energy and Power for class 10 ICSE Physics
Work, Energy and Power for class 10 ICSE Physics
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptxSOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
SOLUBLE PATTERN RECOGNITION RECEPTORS.pptx
 
Grafana in space: Monitoring Japan's SLIM moon lander in real time
Grafana in space: Monitoring Japan's SLIM moon lander  in real timeGrafana in space: Monitoring Japan's SLIM moon lander  in real time
Grafana in space: Monitoring Japan's SLIM moon lander in real time
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 science
 
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service  🪡
CALL ON ➥8923113531 🔝Call Girls Kesar Bagh Lucknow best Night Fun service 🪡
 
Types of different blotting techniques.pptx
Types of different blotting techniques.pptxTypes of different blotting techniques.pptx
Types of different blotting techniques.pptx
 
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
Call Us ≽ 9953322196 ≼ Call Girls In Mukherjee Nagar(Delhi) |
 
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral AnalysisRaman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
Raman spectroscopy.pptx M Pharm, M Sc, Advanced Spectral Analysis
 
Caco-2 cell permeability assay for drug absorption
Caco-2 cell permeability assay for drug absorptionCaco-2 cell permeability assay for drug absorption
Caco-2 cell permeability assay for drug absorption
 
Presentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptxPresentation Vikram Lander by Vedansh Gupta.pptx
Presentation Vikram Lander by Vedansh Gupta.pptx
 
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptxPhysiochemical properties of nanomaterials and its nanotoxicity.pptx
Physiochemical properties of nanomaterials and its nanotoxicity.pptx
 
Orientation, design and principles of polyhouse
Orientation, design and principles of polyhouseOrientation, design and principles of polyhouse
Orientation, design and principles of polyhouse
 

Old code for code quality

  • 1. Coding on a 40 year old computer to understand today’s technology A journey to madness and its way back
  • 3. Why coding in an old computer? - Because you can. - Because is a challenge. - Because... code quality!
  • 5. Sinclair ZX 81 - 1 KB of memory - … and that’s all!
  • 6. Sinclair ZX Spectrum - 16 KB of memory (48 KB to 128 KB for later models). - Basic as official included programing language. - Assembler for the braves!
  • 7. Why this is a challenge? 8 GB of RAM from a standard computer today 48 KB of RAM = .23 km
  • 8. That is not all!
  • 9. Processor speed ZX80 = 3.5MHz Intel i5 = 2.9GHz ~= 0.01015 the power of an i5
  • 11. A simple game (of 4400 lines) ld hl,msgdat ld a,b dec a cp 32 jr nc,iscrl0 A for...loop to decrease A and jump to other part of the code if A is equals to 32.
  • 15. Speed and quality What the consumer wants - Good code is easy to maintain (Cyclomatic complexity). - Fast code increase customer quality perception. - Good code is less prone to bugs. - Good code cost less!
  • 17. C# developers and strings https://github.com/dotnet/coreclr/blob/19a88d8a92e08c8506f6e69c3964dc77329c108a/src/vm/amd 64/JitHelpers_Slow.asm#L274-L322 https://github.com/dotnet/coreclr/blob/19a88d8a92e08c8506f6e69c3964dc77329c108a/src/mscorlib/sr c/System/String.cs#L963-L975 [System.Security.SecurityCritical] // auto-generated [MethodImplAttribute(MethodImplOptions.InternalCall)] internal extern static String FastAllocateString(int length);
  • 21. Why coding for an old computer? - Gives you a different vision of the available resources in your system (They are precious). - Force you to think more creative ways of coding. - Helps you to create better code. - Will help you to spend less time and money fixing bugs. - Will make your customer happier.

Editor's Notes

  1. Margaret Hamilton => ~2KB