1 / 40

Symbolic array languages

Symbolic array languages. Stephen Taylor editor@vector.org.uk. vector.org.uk. Symbolic array languages. symbolic, not lexical all data are arrayed few primitives, much generality short programs. HEALTH WARNING. Exposure to symbolic array languages can cause addiction .

dolan
Download Presentation

Symbolic array languages

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Symbolic array languages Stephen Taylor editor@vector.org.uk Symbolic array languages

  2. vector.org.uk Symbolic array languages

  3. Symbolic array languages • symbolic, not lexical • all data are arrayed • few primitives, much generality • short programs Symbolic array languages

  4. HEALTH WARNING • Exposure to symbolic array languages can cause addiction. • Risk is low (fewer than 1 in 100) but higher among mathematicians and scientists. • Addiction is severe; no cure has been found. Symbolic array languages

  5. This is your first opportunity to leave. Symbolic array languages

  6. Now we go live. Symbolic array languages

  7. Where did they come from? Symbolic array languages

  8. Harvard, 1950s • Kenneth E. Iverson (1920-2004) • Automatic Data Processing (with Fred Brooks) • AProgramming Language (1962) Symbolic array languages

  9. IBM, 1960s – 1970s • Lathwell, Iverson, Moore, Falkoff, Abrams & Breed • IBM Scientific Center, Philadelphia Symbolic array languages

  10. Wall St 1985— • Arthur Whitney • A+, Morgan Stanley, 1980-90s • k, kdb+, q, Kx Systems, 1995— Symbolic array languages

  11. Array language designers • original approach • deeply influential • honoured by experts • not taught and little known Symbolic array languages

  12. Sound like anyone you know? Symbolic array languages

  13. Who speaks arrays? • Insurance • Pensions • Science • Engineering • Financial markets Symbolic array languages

  14. Array languagesin the financial markets Symbolic array languages

  15. Kx Systems Symbolic array languages

  16. kdb+ in financial markets • Fast, in-memory, column-store database • used where conventional database fails • billion-row tables • sub-second million-row updates • routinely 20-50× faster than Oracle • commonly faster than hand-coded C Symbolic array languages

  17. kdb+ in financial markets • kdb+ interpreter object code: 100Kb • kdb+ does its own memory management (3× faster than OS) • server licences about US$25k per core, eg US$100,000 for a typical server Symbolic array languages

  18. kdb+ in financial markets • typically 1% code volume of equivalent C • eg 4 lines of k = 400 lines of C Symbolic array languages

  19. kdb+ in financial markets • 2007: lexical ‘wrapper’ language q • 2009: q free for personal users • 2009: textbook q for Mortals, sold on Amazon Symbolic array languages

  20. kdb+ in financial markets • SuDoKu • Define p as a 3×81 array of integers indicating the ‘exclusivity group’ for each board position • p,:3/:_(p:9\:!81)%3 Symbolic array languages

  21. kdb+ in financial markets • SuDoKu • Function s solves for all SuDoKo positions • s:{*(,x)(,/{@[x;y;:;]'&21=x[&|/p[;y]=p]?!10}')/&~x} Symbolic array languages

  22. back to APL Symbolic array languages

  23. Conway’s Game of Life Symbolic array languages

  24. Industrial functional programming Symbolic array languages

  25. Inquisitive programming Symbolic array languages

  26. Notation as a tool of thought K.E. Iverson, Turing Award lecture, Association for Computing Machinery, 1979 Symbolic array languages

  27. But the key to flexibility, I think, is to make the language very abstract. The easiest program to change is one that’s very short. Paul Graham “Painters and Hackers” Symbolic array languages

  28. A programming language is for thinking of programs, not for expressing programs you’ve already thought of. It should be a pencil, not a pen. Paul Graham, “Painters and Hackers” Symbolic array languages

  29. My work last week Symbolic array languages

  30. Our work next year Symbolic array languages

  31. The way we live now • financial breakdown Symbolic array languages

  32. The way we live now • financial breakdown • less energy Symbolic array languages

  33. The way we live now • financial breakdown • less energy • unstable climate Symbolic array languages

  34. Let’s put the future behind us. Symbolic array languages

  35. Expect • rapidly changing requirements • short development cycles • uncertainty • tight budgets Symbolic array languages

  36. Bet on • short programs • light tools (text editors not Visual Studio) • small teams of smart people • direct, informal methods Symbolic array languages

  37. Be ready to • adapt • rescue • improvise Symbolic array languages

  38. Where do people already work this way? Symbolic array languages

  39. Хелло Свет 2nd Symbolic array languages

  40. editor@vector.org.uk www.vector.org.uk Symbolic array languages

More Related