Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Time is the Only Hard Thing in Computer Science

26 views

Published on

Software is more like a living being than an inanimate object. Just like living beings in the physical works, it must bend and adapt with time. This is becoming increasingly true with commodity hardware and the Internet of Things. IoT or not, what we’re really building are stateful and distributed systems that have a life of their own.

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Time is the Only Hard Thing in Computer Science

  1. 1. Mike Pack @mikepack_ @mikepack Time is the Only Hard Thing in Computer Science
  2. 2. https://softsolder.com/2017/03/24/quartz-tuning-fork-resonator-teardown/
  3. 3. https://iamchaitanya.wordpress.com/2015/07/17/atomic-clocks/
  4. 4. https://phys.org/news/2013-08-nist-ytterbium-atomic-clocks-stability.html
  5. 5. https://en.wikipedia.org/wiki/Paranal_Observatory
  6. 6. Time
  7. 7. Time Physical
  8. 8. Time Physical Distributed
  9. 9. Title TextPhysical Time
  10. 10. “There are only two hard things in Computer Science: cache invalidation and naming things.” Phil Karlton
  11. 11. https://en.wikipedia.org/wiki/Cache_coherence#/media/File:Cache_Coherency_Generic.png
  12. 12. “My first remark is that, although the programmer’s activity ends when he has constructed a correct program, the process taking place under control of his program is the true subject matter of his activity” Edsger W. Dijkstra A Case against the GO TO Statement - 1968 http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD215.PDF
  13. 13. “Our intellectual powers are rather geared to master static relations and that our powers to visualize processes evolving in time are relatively poorly developed. For that reason we should do our utmost to shorten the conceptual gap between the static program and the dynamic process, to make the correspondence between the program (spread out in text space) and the process (spread out in time) as trivial as possible.” http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD215.PDF
  14. 14. A = 0 LABEL: FOO A += 1 PRINT A GOTO FOO 1 2 3 4 5 6 A = 0 INC(A) DEF INC(A) A += 1 PRINT A INC(A) 1 2 3 4 5 6 7
  15. 15. Title TextDistributed Time
  16. 16. Computer A Computer B Time → 1 1 2 2 3 3 4 5 4 5 5 6 7 6 7
  17. 17. Demo
  18. 18. Title TextConclusion
  19. 19. The Internet of Things will multiply possibilities as part of the Fourth Industrial Revolution. World Economic Forum https://www.weforum.org/agenda/2016/01/the-fourth-industrial-revolution-what-it-means-and-how-to-respond/
  20. 20. Title Text https://www.pinterest.com/pin/550213279448097250
  21. 21. Mike Pack @mikepack_ @mikepack Thanks!

×