O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

When and How to Win with New Programming Languages

29 visualizações

Publicada em

Video and slides synchronized, mp3 and slide download available at URL http://bit.ly/2X0EoVK.

Noel Welsh talks about adopting new programming languages, and looks at the conditions when a language could and should be adopted in a commercial setting. Filmed at qconlondon.com.

Noel Welsh is a founding partner at Underscore, where he helps teams become more productive with Scala and functional programming. He has 20 years experience working on systems ranging from recommender systems to web services, to embedded software. His main technical interests are functional programming, machine learning, digital art, and distributed systems.

Publicada em: Tecnologia
  • DOWNLOAD FULL BOOKS, INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... ,DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ,DOWNLOAD FULL. doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    Tem certeza que deseja  Sim  Não
    Insira sua mensagem aqui
  • Seja a primeira pessoa a gostar disto

When and How to Win with New Programming Languages

  1. 1. When & How to Win with Programming Languages
  2. 2. InfoQ.com: News & Community Site Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ adopt-new-programming-language/ • Over 1,000,000 software developers, architects and CTOs read the site world- wide every month • 250,000 senior developers subscribe to our weekly newsletter • Published in 4 languages (English, Chinese, Japanese and Brazilian Portuguese) • Post content from our QCon conferences • 2 dedicated podcast channels: The InfoQ Podcast, with a focus on Architecture and The Engineering Culture Podcast, with a focus on building • 96 deep dives on innovative topics packed as downloadable emags and minibooks • Over 40 new content items per week
  3. 3. Purpose of QCon - to empower software development by facilitating the spread of knowledge and innovation Strategy - practitioner-driven conference designed for YOU: influencers of change and innovation in your teams - speakers and topics driving the evolution and innovation - connecting and catalyzing the influencers and innovators Highlights - attended by more than 12,000 delegates since 2007 - held in 9 cities worldwide Presented at QCon London www.qconlondon.com
  4. 4. @noelwelsh
 noelwelsh.com Inner Producti×
  5. 5. Outline
  6. 6. You should open your ❤ to more PLs
  7. 7. PLs are the biggest driver of productivity
  8. 8. Understand the forces against adoption
  9. 9. Understand how and when to adopt
  10. 10. The Lawyer Hypothesis
  11. 11. “The first thing we do, let's kill all the lawyers” William Shakespeare
  12. 12. Lawyers are not lizards wearing human skin
  13. 13. Lawyers are mostly not lizards wearing human skin
  14. 14. But they do get paid a lot
  15. 15. David Higgins started his new role in the City office of US law firm Kirkland & Ellis … with … a reported $10m (£7m) salary. http://www.cityam.com/265864/citys-best-paid-lawyers-and-they-taking-home
  16. 16. Top lawyers are actually lawyers
  17. 17. Software >> Law
  18. 18. Lawyer >> Dev
  19. 19. The Quest for Productivity
  20. 20. Humans don’t scale
  21. 21. Automation does scale
  22. 22. Productivity ≠ Writing code
  23. 23. Not writing code is the only way to be productive at scale
  24. 24. Libraries
  25. 25. Languages
  26. 26. Abstraction
  27. 27. Languages >> Libraries
  28. 28. What is a Language For?
  29. 29. Control the machine
  30. 30. Primitive types
  31. 31. SIMD
  32. 32. Access the OS
  33. 33. Access the browser
  34. 34. Access a framework
  35. 35. Notation for expressing solutions
  36. 36. First-class values
  37. 37. Generic types
  38. 38. Automatic resource management
  39. 39. “The machine” can be narrow
  40. 40. DSL
  41. 41. “Little Language”
  42. 42. Machine determines if language is used
  43. 43. Javascript
  44. 44. Notation upper- bounds productivity
  45. 45. Where are Languages?
  46. 46. Big languages
  47. 47. Java, Python, Scala, Go, Haskell, Ruby, etc.
  48. 48. Little languages
  49. 49. CSS, CUDA, configuration, Excel, marketing automation, etc.
  50. 50. Little >> Big
  51. 51. Frameworks are libraries
  52. 52. Programmed in configuration
  53. 53. Most DSLs don’t realise they are DSL
  54. 54. CSS Variables ~10 years too late
  55. 55. When are Languages Adopted?
  56. 56. Big languages
  57. 57. Access compelling, new “machine”
  58. 58. Javascript: access browser
  59. 59. Objective-C: access iOS
  60. 60. Ruby: access Rails
  61. 61. Respect legacy with better notation
  62. 62. Scala vs Java
  63. 63. Kotlin vs Java (Android)
  64. 64. Swift vs Objective-C
  65. 65. Rust vs C
  66. 66. Typescript vs Javascript
  67. 67. Cultural fit
  68. 68. Elixir vs Erlang
  69. 69. Go vs every other compiled language
  70. 70. Story time: Racket
  71. 71. No compelling new machine
  72. 72. No respect for legacy
  73. 73. Story time: Scala
  74. 74. Compelling new machine: Spark
  75. 75. Respect for legacy
  76. 76. Culturally acceptable for me
  77. 77. Little languages
  78. 78. Same forces
  79. 79. but barrier much lower
  80. 80. CSS, CUDA, configuration, Excel, marketing automation, etc.
  81. 81. Language can be competitive advantage
  82. 82. Marketing automation
  83. 83. Airtable
  84. 84. Cloudflare
  85. 85. Little >> Big
  86. 86. Frameworks are libraries …
  87. 87. programmed in configuration
  88. 88. Most DSLs don’t realise they are DSL
  89. 89. CSS Variables ~10 years too late
  90. 90. How are Languages Adopted?
  91. 91. Big languages
  92. 92. Consultancy? Forget it.
  93. 93. Product? Go all in.
  94. 94. High cost of failure
  95. 95. Hire enthusiast early adopters
  96. 96. Create a remote first culture
  97. 97. Prepare to carry the burden …
  98. 98. of maintaining libraries
  99. 99. of maintaining community presence
  100. 100. of creating legacy
  101. 101. Start small
  102. 102. Demonstrate success
  103. 103. Slowly spread
  104. 104. Consider external mentors
  105. 105. Little languages
  106. 106. Go for it!
  107. 107. Low cost of failure
  108. 108. But consider …
  109. 109. Simple (but maybe not easy)
  110. 110. Used enough
  111. 111. Reasoning across boundaries
  112. 112. Conclusions
  113. 113. Languages are a powerful tool
  114. 114. Conditions must be right
  115. 115. Add this to your toolbox
  116. 116. @noelwelsh
 noelwelsh.com Inner Producti×
  117. 117. Watch the video with slide synchronization on InfoQ.com! https://www.infoq.com/presentations/ adopt-new-programming-language/

×