SlideShare uma empresa Scribd logo
1 de 50
Those Who Know History

Are Doomed to Watch Others Repeat It
Who Is This
Guy?
Guy Royse, Consultant
Pillar Technology
guy@guyroyse.com

@guyroyse
“History
doesn’t
repeat
itself, but
it often
rhymes”
—Mark Twain
Java is the
New COBOL
Completely
Obsolete
Business
Oriented
Language
A
Simple
Problem
Java Class Diagram
AddressValidator
booleanvalidate(Address)

ContactValidator
booleanvalidate(Contact)

PhoneValidator

booleanvalidate(Phone)
COBOL System Diagram
ADDRESS-VALIDATOR

CONTACT-VALIDATOR

PHONE-VALIDATOR
Java Data Structures
Phone

String areaCode
String exchange
String number

Contact

String name
Address address
Phone cell
Phone home

Address

String street
String city
String state
String zipCode
COBOL Data Structures
01

10

CN-CONTACT.
05 CN-NAME
PIC
05 CN-ADDRESS.
10 CN-ADDR-STREET
PIC
10 CN-ADDR-CITY
PIC
10 CN-ADDR-STATE
PIC
10 CN-ADDR-ZIP-CODE PIC
05 CN-HOME-PHONE.
10 CN-HOME-AREA-CD
PIC
10 CN-HOME-EXCHANGE PIC
10 CN-HOME-NUMBER
PIC
05 CN-CELL-PHONE.
CN-CELL-AREA-CD
PIC 9(3).
10 CN-CELL-EXCHANGE PIC
10 CN-CELL-NUMBER
PIC

X(40).
X(30).
X(20).
X(2).
X(5).
9(3).
9(3).
9(4).

9(3).
9(4).
public class Contact {
private String name;
private Phone home;
private Phone cell;
private Address address;

01
05

10

CN-CONTACT.
05 CN-NAME
PIC
CN-ADDRESS.
10 CN-ADDR-STREET
PIC
10 CN-ADDR-CITY
PIC
10 CN-ADDR-STATE
PIC
10 CN-ADDR-ZIP-CODE PIC
05 CN-HOME-PHONE.
10 CN-HOME-AREA-CD
PIC
10 CN-HOME-EXCHANGE PIC
10 CN-HOME-NUMBER
PIC
05 CN-CELL-PHONE.
CN-CELL-AREA-CD
PIC 9(3).
10 CN-CELL-EXCHANGE PIC
10 CN-CELL-NUMBER
PIC

X(40).
X(30).
X(20).
X(2).
X(5).
9(3).
9(3).
9(4).

public String getName() { return name; }
public void setName(String name) {
this.name = name;
}
... more setters and getters here ...
}
public class Phone {
private String areaCode;
private String exchange;
private String number;
... setters and getters here ...

9(3).
9(4).

}
public class Address {
private String street;
private String city;
private String state;
private String zipCode;
... setters and getters here ...
}
IDENTIFICATION DIVISION.
PROGRAM-ID. CONTACT-VALIDATOR.

public class ContactValidator {

private PhoneValidatorphoneValidator =
new PhoneValidator();
private AddressValidatoraddrValidator =
new AddressValidator();

PROCEDURE DIVISION
USING CN-IS-VALID, CN-CONTACT.
MAIN-LINE.
PERFORM VALIDATE-NAME.
CALL ADDRESS-VALIDATOR USING
CN-ADDRESS, WS-ADDRESS-IS-VALID.
CALL PHONE-VALIDATOR USING
CN-HOME-PHONE, WS-HOME-PH-IS-VALID
CALL PHONE-VALIDATOR USING
CN-CELL-PHONE, WS-CELL-PH-IS-VALID.
PERFORM DETERMINE-IF-VALID.
GOBACK.
VALIDATE-NAME.
MOVE ‘Y’ TO WS-NAME-IS-VALID.
IF CN-NAME IS SPACES
MOVE ‘N’ TO WS-NAME-IS-VALID.

public booleanvalidate(Contactcntct) {
boolean valid =
validateName(cntct.getName());
valid &= addrValidator.validate(
cntct.getAddress());
valid &= phoneValidator.validate(
cntct.getHome());
valid &= phoneValidator.validate(
cntct.getCell());
return valid;

DETERMINE-IF-VALID.
MOVE ‘N’ to CN-IS-VALID.
IF WS-NAME-IS-VALID IS ‘Y’ AND
WS-HOME-PH-IS-VALID IS ‘Y’ AND
WS-CELL-PH-IS-VALID IS ‘Y’ AND
WS-ADDRESS-IS-VALID IS ‘Y’
MOVE ‘Y’ TO CN-IS-VALID.

}
private void validateName(String name) {
return !StringUtils.isEmpty(name);
}
}
Automating the Process
Node is
Single-Threaded
So Why Do We Keep Reinventing the
Past and Calling it the Future?
People
in the
Past
Were
Dumb
“I’m just a cave
man. Your world
frightens and
confuses me.”
“Look back over the
past, with its
changing empires
that rose and fell,
and you can foresee
the future too.”
― Marcus Aurelius,
Meditations
“If history is deprived
of the Truth, we are
left with nothing but
an idle, unprofitable
tale.”
― Polybius,
The Rise of the Roman
Empire
Anacyclosis
Autocracy

Democracy

Aristocracy
Basic Cycle

A
C

B
How Projects Run
Single
Manager

Whole
Team

Leadership
Team
How We Code
Solo
Coder

Swarm

Pairing
How We Design Applications
Client

Server

Client
Server
The 40s and 50s
Computing Timeline
40s & 50s

60s & 70s

80s

90s
Server-side

UNIVAC
Z3

Mark 1

ENIAC

Client-side

2000s

2010s

???
The 60s and 70s
Computing Timeline
40s & 50s

60s & 70s

80s

90s
Server-side

CICS
Terminals
Teletypes
Mainframes

UNIX

UNIVAC
Z3

Mark 1

ENIAC

Client-side

2000s

2010s

???
The Late 70s
Computing Timeline
40s & 50s

60s & 70s

80s

90s
Server-side

CICS
Terminals
Teletypes
Mainframes

UNIX

UNIVAC
Z3

Mark 1

Early PCs

ENIAC

Client-side

2000s

2010s

???
The 80s
Computing Timeline
40s & 50s

60s & 70s

80s

90s
Server-side

CICS
Terminals
Teletypes
Mainframes

UNIX

UNIVAC
Z3

Mark 1

ENIAC

Early PCs
PCs

Client-side

2000s

2010s

???
The 90s
Computing Timeline
40s & 50s

60s & 70s

80s

90s
Server-side

Browser
CICS
Terminals
Teletypes
Mainframes

UNIX

Internet
Client
Server

UNIVAC
Z3

Mark 1

ENIAC

Early PCs
PCs

Client-side

2000s

2010s

???
In The Year 2000
Computing Timeline
40s & 50s

60s & 70s

80s

90s

2000s

Server-side

Browser
CICS
Terminals
Teletypes
Mainframes

UNIX

Internet
Client
Server

UNIVAC
Z3

Mark 1

ENIAC

AJAX

Early PCs
Mobile
PCs

Client-side

2010s

???
2010s
Computing Timeline
40s & 50s

60s & 70s

80s

90s

2000s

2010s

Server-side

Cloud

Browser
CICS
Terminals
Teletypes

HTML5

Mainframes

UNIX

Internet
Client
Server

UNIVAC
Z3

Mark 1

ENIAC

AJAX
Pi

Early PCs
Mobile
PCs

Client-side

???
Computing Timeline
40s & 50s

60s & 70s

80s

90s

2000s

2010s

???

Server-side

Cloud

Browser
CICS
Terminals
Teletypes

HTML5

Mainframes

UNIX

Internet
Client
Server

UNIVAC
Z3

Mark 1

ENIAC

AJAX
Pi

Early PCs
Mobile
PCs

?
Client-side
“It is not
worthwhile to try
to keep history
from repeating
itself, for man's
character will
always make the
preventing of the
repetitions
impossible.”

— Mark Twain
Guy Royse, Consultant
Pillar Technology
guy@guyroyse.com
@guyroyse

Mais conteúdo relacionado

Destaque

Primaria sexto grado_historia_libro_de_texto
Primaria sexto grado_historia_libro_de_textoPrimaria sexto grado_historia_libro_de_texto
Primaria sexto grado_historia_libro_de_textoAlexis Tirado
 
The 4-Hour Workweek
The 4-Hour WorkweekThe 4-Hour Workweek
The 4-Hour WorkweekEthos3
 
Tecnologias Assistivas
Tecnologias AssistivasTecnologias Assistivas
Tecnologias AssistivasSoraia Prietch
 
La cultura helenistica Jaime Pemán
La cultura helenistica Jaime PemánLa cultura helenistica Jaime Pemán
La cultura helenistica Jaime Pemánsocialesguadalete
 
Reincarnation.ppt
Reincarnation.pptReincarnation.ppt
Reincarnation.pptNauman Ali
 
Best topics for seminar
Best topics for seminarBest topics for seminar
Best topics for seminarshilpi nagpal
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShareSlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShareSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

Destaque (14)

Primaria sexto grado_historia_libro_de_texto
Primaria sexto grado_historia_libro_de_textoPrimaria sexto grado_historia_libro_de_texto
Primaria sexto grado_historia_libro_de_texto
 
The 4-Hour Workweek
The 4-Hour WorkweekThe 4-Hour Workweek
The 4-Hour Workweek
 
Tecnologias Assistivas
Tecnologias AssistivasTecnologias Assistivas
Tecnologias Assistivas
 
La cultura helenistica Jaime Pemán
La cultura helenistica Jaime PemánLa cultura helenistica Jaime Pemán
La cultura helenistica Jaime Pemán
 
copycats
copycatscopycats
copycats
 
Indian villages
Indian villagesIndian villages
Indian villages
 
Metodologia da pesquisa
Metodologia da pesquisaMetodologia da pesquisa
Metodologia da pesquisa
 
Apresentação projeto indisciplina
Apresentação projeto indisciplinaApresentação projeto indisciplina
Apresentação projeto indisciplina
 
Plastic roads
Plastic roadsPlastic roads
Plastic roads
 
Reincarnation.ppt
Reincarnation.pptReincarnation.ppt
Reincarnation.ppt
 
Best topics for seminar
Best topics for seminarBest topics for seminar
Best topics for seminar
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Mais de Guy Royse

Putting the D&D in TDD
Putting the D&D in TDDPutting the D&D in TDD
Putting the D&D in TDDGuy Royse
 
Machine Learning for Fun - Finding Bigfoot with the Nexosis API
Machine Learning for Fun - Finding Bigfoot with the Nexosis APIMachine Learning for Fun - Finding Bigfoot with the Nexosis API
Machine Learning for Fun - Finding Bigfoot with the Nexosis APIGuy Royse
 
Machine Learning for Gamers - Dungeon Forecasts & Dragon Regressions
Machine Learning for Gamers - Dungeon Forecasts & Dragon RegressionsMachine Learning for Gamers - Dungeon Forecasts & Dragon Regressions
Machine Learning for Gamers - Dungeon Forecasts & Dragon RegressionsGuy Royse
 
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
jQuery & 10,000 Global Functions: Working with Legacy JavaScriptjQuery & 10,000 Global Functions: Working with Legacy JavaScript
jQuery & 10,000 Global Functions: Working with Legacy JavaScriptGuy Royse
 
The Code Christmas Tree: Selling the Investment for Technical Debt
The Code Christmas Tree: Selling the Investment for Technical DebtThe Code Christmas Tree: Selling the Investment for Technical Debt
The Code Christmas Tree: Selling the Investment for Technical DebtGuy Royse
 
Mad Computer Science: Testing COBOL with RSpec
Mad Computer Science: Testing COBOL with RSpecMad Computer Science: Testing COBOL with RSpec
Mad Computer Science: Testing COBOL with RSpecGuy Royse
 
Programming on Bare Metal: Controlling Circuits with Code
Programming on Bare Metal: Controlling Circuits with CodeProgramming on Bare Metal: Controlling Circuits with Code
Programming on Bare Metal: Controlling Circuits with CodeGuy Royse
 
Putting the D&D in TDD
Putting the D&D in TDDPutting the D&D in TDD
Putting the D&D in TDDGuy Royse
 
Understanding Prototypal Inheritance
Understanding Prototypal InheritanceUnderstanding Prototypal Inheritance
Understanding Prototypal InheritanceGuy Royse
 

Mais de Guy Royse (9)

Putting the D&D in TDD
Putting the D&D in TDDPutting the D&D in TDD
Putting the D&D in TDD
 
Machine Learning for Fun - Finding Bigfoot with the Nexosis API
Machine Learning for Fun - Finding Bigfoot with the Nexosis APIMachine Learning for Fun - Finding Bigfoot with the Nexosis API
Machine Learning for Fun - Finding Bigfoot with the Nexosis API
 
Machine Learning for Gamers - Dungeon Forecasts & Dragon Regressions
Machine Learning for Gamers - Dungeon Forecasts & Dragon RegressionsMachine Learning for Gamers - Dungeon Forecasts & Dragon Regressions
Machine Learning for Gamers - Dungeon Forecasts & Dragon Regressions
 
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
jQuery & 10,000 Global Functions: Working with Legacy JavaScriptjQuery & 10,000 Global Functions: Working with Legacy JavaScript
jQuery & 10,000 Global Functions: Working with Legacy JavaScript
 
The Code Christmas Tree: Selling the Investment for Technical Debt
The Code Christmas Tree: Selling the Investment for Technical DebtThe Code Christmas Tree: Selling the Investment for Technical Debt
The Code Christmas Tree: Selling the Investment for Technical Debt
 
Mad Computer Science: Testing COBOL with RSpec
Mad Computer Science: Testing COBOL with RSpecMad Computer Science: Testing COBOL with RSpec
Mad Computer Science: Testing COBOL with RSpec
 
Programming on Bare Metal: Controlling Circuits with Code
Programming on Bare Metal: Controlling Circuits with CodeProgramming on Bare Metal: Controlling Circuits with Code
Programming on Bare Metal: Controlling Circuits with Code
 
Putting the D&D in TDD
Putting the D&D in TDDPutting the D&D in TDD
Putting the D&D in TDD
 
Understanding Prototypal Inheritance
Understanding Prototypal InheritanceUnderstanding Prototypal Inheritance
Understanding Prototypal Inheritance
 

Último

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Último (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

Those Who Know History are Doomed to Watch Others Repeat It

Notas do Editor

  1. Where I workWhat I doBackground - COBOL through Ruby - C++, Java, & JavaScript
  2. There’s no proof that Mark Twain said this… but so what!He who doesn’t know history is doomed to repeat it Not if you do x then y happens, so don’t do x Instead it given us insight into the present I’ve seen this movie before storyImma show you some instances of history rhyming that I have encountered in my careerAnd like Mark Twain, I might offend you with the truth.
  3. This might seem a bit offensive if you’re a Java developer. After all..
  4. COBOL is not well regarded in general
  5. …and is openly mocked. Of course, this is true of Java as well…
  6. Of course, this is true of Java as well.
  7. But, they are used by the same customers
  8. And the companies that own them view them in the same way
  9. But, they have a similar architecture as well, at least in as much as how they are implemented. Let’s look at a simple problem. Validate contact information including name, address, home, and cell phone numbers.
  10. Java has classes - typically written as something that ends in –er or –or - typically has a single entry point (execute, run, invoke, doIt) - subdivided into private helper method
  11. COBOL has programs - single entry point - args in, args out - subdivided into paragraphs
  12. Data is typically represented in java using beans
  13. Data is represented using a hierarchical notation and stored in copybooksHard to build a diagram for this, easier to show the codeBut the structure is the same, with a little redundancyHowever…
  14. The COBOL code, know for it’s verbosity is actually shorter.
  15. Observations – Java and COBOL code are about the same size COBOL code has a smidgeon or redundancyOtherwise, they are pretty much the same
  16. I know this is procedural code. There are better ways to write Java. But, this is how most Java is written and, in all fairness, it’s a useful metaphor.After all, what are we automating? Business processes. What did we do before we had automation?Papers moved about.
  17. Node is cool. Wicked fast Uses JavaScript Scales like crazy How does it do that?
  18. Typical environments are multi-threaded… like Java-- often blocked waiting on IO and shared memory-- thread are managed in pools-- some threads are blocked waiting on threads from the pool-- and don’t forget shared memory
  19. Node has one thread, just oneDoesn’t block on IO, does it asynchronouslyEvents are propagated when the IO completes, or when the user fires oneThis makes one-thread really busy but eliminates all shared memory and all the overheadThere is another platform that worked this way…
  20. Windows was famously single-processed single-threadedAt the core of windows is an event loop, just like in NodeApplications responded to these events and triggered code, blocking other applicationsThere was even a wonderful shared memory space.. Which was a lot of fun since apps were written in C and memory leaks/buffer overruns were a problemWordPerfect could crash Minesweeper
  21. First off, I don’t think we are aware we’re doing it, at least not all of us, I think it just happens.What I mean is, why can’t we see that we’ve ripped of the past?Arrogance & Ignorance
  22. Our culture, our era, our generation are enlightened It’s easy to call someone foolish for thinking the earth is flat, the sun circles the earth, and you’ll never need more than 640k of memory. But, given the time period those were reasonable conclusions earth looks flat suns looks like it circles the earth and 640k… well that was stupid People in past has the same brain as you, I tell my son that we are cave men
  23. Want a cure for that, read Meditations by Marcus Aurelius
  24. 2nd Century BCOr read Polybius’s Histories… in there is both a cure for arrogance and I description of ignorance
  25. Built upon ideas by Plato AristotleTri-state cycleAristocracy is made up of the wise folksUltimately, 1 some or all
  26. People forget A by the time they get to C…-- except for that old man who everyone ignores
  27. Prediction:Swarming is gonna be a thing…
  28. This one’s a little different but it still has the three statesClient – all computers, islands of dataClient Server – Some of the computers, share that dataServer – one computer, all the data’s in one placeTechnology snaps to client computing when hardware/cost inovation makes something possible -> Moore’s law in effectThe hardware is interesting in this one so I wanted to explore this one more so I made chart
  29. Look at the bottom…. Dollars,size, trendLearn the arduino, the pi, and stuff like that…What’s the point?
  30. Mark Twain did actually say thisIt’s a lost cause… history will move where it moves because humans are broken, fallen creaturesTurns out, the title of this talk isn’t just crass, it’s also true
  31. I don’t believe that we can change these trends, they are bigger than us and they come from us in aggregate.But, we can see them coming and position ourselves well so that we can survive and thrive.
  32. Where I workWhat I doBackground - COBOL through Ruby - C++, Java, & JavaScript