An Ensemble of Programming Languages: How to Build a Platform for Collaboration

A8e44ce1b57c2689d5a7172d15df42b5?s=47 brixen
June 22, 2016

An Ensemble of Programming Languages: How to Build a Platform for Collaboration

The era of "general-purpose programming languages" is nearing its end. The cost of building a programming language and integrating it with other languages has fallen significantly, but our approach to building programming languages has not changed substantially in decades. The consequence is an enormous financial cost paid, in terms of real dollars as well as in hours of programmer effort. The solution is not yet another "better" general-purpose language but rather a platform that prioritizes a collaborating assortment of specialized languages that together perform well in a specific context: an ensemble of programming languages.

Presented in Portland, OR at Open Source Bridge 2016.

A8e44ce1b57c2689d5a7172d15df42b5?s=128

brixen

June 22, 2016
Tweet

Transcript

  1. An Ensemble of Programming Languages: How to Build a Platform

    for Collaboration Open Source Bridge 2016 Brian Shirai @brixen
  2. None
  3. book.rubinius.com

  4. Empower people to use computation to solve problems and improve

    their lives
  5. 1. How people contribute

  6. 2. Version scheme & release process

  7. 3. Support for programming models

  8. Why is programming so important?

  9. Digital transformation: anything that can be produced, delivered, or consumed

    digitally will be
  10. The universe is not benign, it is indifferent

  11. Uber/Facebook/Google, companies where the person using the service is the

    product, parallel the petroleum industry in three crucial aspects...
  12. 1. Horribly destructive to humanity 2. Not inevitable 3. Capable

    of being displaced
  13. 1. Horribly destructive to humanity

  14. None
  15. None
  16. None
  17. None
  18. None
  19. None
  20. None
  21. None
  22. None
  23. None
  24. None
  25. None
  26. None
  27. None
  28. Uber / Facebook / Google

  29. Cost to social creativity

  30. None
  31. Cost to human dignity: privacy & ownership of our data,

    the farming of people
  32. Facebook - who you talk to Google - what you

    look at Uber - where you go
  33. None
  34. None
  35. 2. Not inevitable

  36. Technology is not neutral

  37. Social organization is not neutral

  38. None
  39. None
  40. Direct consequence of investment & subsidies

  41. Cost accounting is not accurate - environmental, health, social costs

  42. Efficiency measures are not accurate

  43. Political intervention and perpetuation of the status quo

  44. There is no universe where U/F/G coexist with meaningful human

    dignity and freedom, which require privacy and ownership of oneself
  45. 3. Capable of being displaced

  46. A. alternatives B. debilitation

  47. A. alternatives Tesla B. debilitation Divestment

  48. A. alternatives Peer-to-peer IPFS ipfs.io B. debilitation Privacy & ownership

  49. An ensemble of languages

  50. Structure, values, dynamics

  51. Structure: centralized, decentralized, distributed

  52. None
  53. Decoupled independent resilient

  54. Values: Freedom from... & freedom to...

  55. Not every potential contributor is welcomed

  56. Litmus test: do they tear others down or build others

    up?
  57. Not criticism of work, not challenging a person to grow

  58. Dynamics: Eliminate unnecessary conflict and support necessary conflict

  59. Eliminate unnecessary conflict: coexist or compete

  60. Implementation: roles & advice process, versions & releases, system architecture

  61. 1. How people contribute: Roles & advice process

  62. Roles: focus on problem solving

  63. Advice process: problem solution people affected relevant expertise

  64. Biggest challenge: who is using your open- source software?

  65. 2. Versions & releases: decoupling production & consumption

  66. Release: (version, SHA)

  67. Release: (version, date, SHA)

  68. git tag to release (distributed, concurrent)

  69. Any contributor can tag a release, no special permission required

  70. 3. Support for programming models: OO / functional, pre-compiled /

    managed, type systems, inspectability, parsing
  71. Uber/Facebook/Google, companies where the person using the service is the

    product, parallel the petroleum industry in three crucial aspects... Horribly destructive to humanity Not inevitable Capable of being displaced
  72. Thanks!

  73. References • Reinventing Organizations, Frederic Laloux • The View From

    Flyover Country, Sarah Kendzior • Who Really Matters, Art Kleiner • Culture & Empire: Digital Revolution, Pieter Hintjens • The Psychopath Code, Pieter Hintjens • Reliable and Secure Distributed Programming, Christian Cachin, Rachid Guerraoui, Luis Rodrigues
  74. Credits • https://nsa.gov1.info/dni/prism.html • http://faculty.buffalostate.edu/smithrd/ExxonPix/cleanup.jpg • http://i2.cdn.turner.com/cnnnext/dam/assets/140319173929-exxon-oil-06-horizontal-large- gallery.jpg • http://images.marinetechnologynews.com/images/mtblog/w800h500/c-oil-spill-on-sea-

    otters-2-700464.jpg • http://media.salon.com/2015/02/Foul-Water-Oil-Fire-1280x9601.jpg • http://www.tbo.com/storyimage/TB/20160201/ARTICLE/160209908/EP/1/1/EP-160209908.jpg • http://actions.priceofoil.org/wp-content/uploads/2016/03/bus-nigeria-action.jpg • http://redwingrichmond.com/wp-content/uploads/2014/04/roughnecks.png • http://static.skepticalscience.com/graphics/Temperature_Composite_1024.jpg • http://i2.cdn.turner.com/cnnnext/dam/assets/130314204911-01-iraq-war-horizontal-large-gallery.jpg • http://coralreefs.org/wp-content/uploads/2014/03/XL-Catlin-Seaview-Survey-American- Samoa-6-1024x512.jpg • http://coralreefs.org • http://photos1.blogger.com/blogger2/4893/4289/1600/coral-22.jpg • http://d.fastcompany.net/multisite_files/coexist/imagecache/1280/poster/2013/05/1682141- poster-1280-floodmap.jpg • http://www.gannett-cdn.com/-mm-/f6971d504a6d894cb7944de3d383c26c5c6bb869/ c=0-0-533-401&r=x404&c=534x401/local/-/media/2016/03/14/USATODAY/USATODAY/ 635935532705590816-635933919773060036-20160312-Flooding-046.JPG • http://www.ucsusa.org/sites/default/files/styles/herospace/public/images/2014/08/vehicles-air- pollution.jpg?itok=doz3eBeZ • https://upload.wikimedia.org/wikipedia/en/b/ba/Centralised-decentralised-distributed.png • http://perspectives.3ds.com/wp-content/uploads/a-brief-history-of-electric-vehicles1-1024x658.png • https://static01.nyt.com/images/2011/06/26/sunday-review/JP-CAR2/JP-CAR2-popup.jpg