Slide 1

Slide 1 text

DESIGNING FOR TOMORROW’S PROGRAMMING WORKFLOWS Matthew Honnibal Explosion

Slide 2

Slide 2 text

200m+ downloads spacy.io SPACY Open-source library for industrial-strength natural language processing

Slide 3

Slide 3 text

ChatGPT can write spaCy code! 200m+ downloads spacy.io SPACY Open-source library for industrial-strength natural language processing

Slide 4

Slide 4 text

PRODIGY prodigy.ai 800+ companies 9k+ users Modern scriptable annotation tool for machine learning developers

Slide 5

Slide 5 text

PRODIGY Alex Smith Developer Kim Miller Analyst prodigy.ai 800+ companies 9k+ users Modern scriptable annotation tool for machine learning developers

Slide 6

Slide 6 text

PRODIGY TEAMS BETA prodigy.ai/teams Collaborative data development platform

Slide 7

Slide 7 text

PRODIGY TEAMS Alex Smith Developer Kim Miller Analyst GPT-4 API BETA prodigy.ai/teams Collaborative data development platform

Slide 8

Slide 8 text

debugging cloud permissions navigating Linux tools lots more HOW I’M USING CHATGPT

Slide 9

Slide 9 text

AI-POWERED CODE TOOLS

Slide 10

Slide 10 text

1. Interactive documentation ChatGPT: similar to Stack Overflow or IRC AI-POWERED CODE TOOLS

Slide 11

Slide 11 text

1. Interactive documentation ChatGPT: similar to Stack Overflow or IRC AI-POWERED CODE TOOLS 2. In-editor support Github Copilot: replaces IDE features

Slide 12

Slide 12 text

1. Interactive documentation ChatGPT: similar to Stack Overflow or IRC AI-POWERED CODE TOOLS 2. In-editor support Github Copilot: replaces IDE features Generator tools e.g. create tests, still quite young 3.

Slide 13

Slide 13 text

1. Interactive documentation ChatGPT: similar to Stack Overflow or IRC AI-POWERED CODE TOOLS 2. In-editor support Github Copilot: replaces IDE features Generator tools e.g. create tests, still quite young 3. Just better IDE stu ff especially for Python, via types 4.

Slide 14

Slide 14 text

BACKWARDS COMPATIBILITY MORE IMPORTANT

Slide 15

Slide 15 text

BACKWARDS COMPATIBILITY MORE IMPORTANT • Resources like blog posts and discussion forums are very important. Programmers cannot live on documentation alone.

Slide 16

Slide 16 text

BACKWARDS COMPATIBILITY MORE IMPORTANT • Resources like blog posts and discussion forums are very important. Programmers cannot live on documentation alone. • We all know how much harder it is if the library has had a lot of breaking changes over time.

Slide 17

Slide 17 text

BACKWARDS COMPATIBILITY MORE IMPORTANT • Resources like blog posts and discussion forums are very important. Programmers cannot live on documentation alone. • We all know how much harder it is if the library has had a lot of breaking changes over time. • For LLMs, it’s even harder. The model really can’t keep the di ff erent versions separate.

Slide 18

Slide 18 text

STANDARD DEPENDENCIES MORE IMPORTANT

Slide 19

Slide 19 text

STANDARD DEPENDENCIES • AI tools are much more proficient with popular technologies. Need critical mass of discussion. MORE IMPORTANT

Slide 20

Slide 20 text

STANDARD DEPENDENCIES • AI tools are much more proficient with popular technologies. Need critical mass of discussion. • Should we widen the scope of the standard library? MORE IMPORTANT

Slide 21

Slide 21 text

STANDARD DEPENDENCIES • AI tools are much more proficient with popular technologies. Need critical mass of discussion. • Should we widen the scope of the standard library? • It changes the implement vs. import trade-o ff . MORE IMPORTANT

Slide 22

Slide 22 text

UNIFIED INTERFACE MORE IMPORTANT

Slide 23

Slide 23 text

UNIFIED INTERFACE • Libraries can easily end up with parallel, non-interacting abstractions. MORE IMPORTANT

Slide 24

Slide 24 text

UNIFIED INTERFACE • Libraries can easily end up with parallel, non-interacting abstractions. • This happens when new sugar is introduced, and we don’t want to abandon the old users. MORE IMPORTANT

Slide 25

Slide 25 text

UNIFIED INTERFACE • Libraries can easily end up with parallel, non-interacting abstractions. • This happens when new sugar is introduced, and we don’t want to abandon the old users. • AI struggles with this – as do humans! MORE IMPORTANT

Slide 26

Slide 26 text

UNIFIED INTERFACE • Libraries can easily end up with parallel, non-interacting abstractions. • This happens when new sugar is introduced, and we don’t want to abandon the old users. • AI struggles with this – as do humans! • Maybe bite the bullet and call it a new library? MORE IMPORTANT

Slide 27

Slide 27 text

PUSH-BUTTON SOLUTIONS LESS IMPORTANT

Slide 28

Slide 28 text

PUSH-BUTTON SOLUTIONS • Technologies compete on time-to-first-solution. LESS IMPORTANT

Slide 29

Slide 29 text

PUSH-BUTTON SOLUTIONS • Technologies compete on time-to-first-solution. • Composable building blocks ask users to invest upfront. LESS IMPORTANT

Slide 30

Slide 30 text

PUSH-BUTTON SOLUTIONS • Technologies compete on time-to-first-solution. • Composable building blocks ask users to invest upfront. • Upfront investment is risky. Users want to see payo ff . LESS IMPORTANT

Slide 31

Slide 31 text

PUSH-BUTTON SOLUTIONS • Technologies compete on time-to-first-solution. • Composable building blocks ask users to invest upfront. • Upfront investment is risky. Users want to see payo ff . • Code assistance o ff ers a solution. LESS IMPORTANT

Slide 32

Slide 32 text

LIBRARIES SHOULD SHIP LESS SUGAR

Slide 33

Slide 33 text

LIBRARIES SHOULD SHIP LESS SUGAR • Focus on the core data structures and routines. AI can’t do this for us.

Slide 34

Slide 34 text

LIBRARIES SHOULD SHIP LESS SUGAR • Focus on the core data structures and routines. AI can’t do this for us. • Accept initialization and cleanup steps if that’s the truth of how it works.

Slide 35

Slide 35 text

LIBRARIES SHOULD SHIP LESS SUGAR • Focus on the core data structures and routines. AI can’t do this for us. • Accept initialization and cleanup steps if that’s the truth of how it works. • Smaller user-facing API.

Slide 36

Slide 36 text

LIBRARIES SHOULD SHIP LESS SUGAR • Focus on the core data structures and routines. AI can’t do this for us. • Accept initialization and cleanup steps if that’s the truth of how it works. • Smaller user-facing API. • More IDE extensions, documentation and examples.

Slide 37

Slide 37 text

LIBRARIES SHOULD SHIP LESS SUGAR • Focus on the core data structures and routines. AI can’t do this for us. • Accept initialization and cleanup steps if that’s the truth of how it works. • Smaller user-facing API. • More IDE extensions, documentation and examples. • Use AI and develop AI assistants alongside the library.

Slide 38

Slide 38 text

Flat API spacy.fyi/ltwc “Let Them Write Code”

Slide 39

Slide 39 text

are, going, swimming, should, go Flat API spacy.fyi/ltwc “Let Them Write Code”

Slide 40

Slide 40 text

going, swimming, go Flat API spacy.fyi/ltwc “Let Them Write Code”

Slide 41

Slide 41 text

go, swim, go Flat API spacy.fyi/ltwc “Let Them Write Code”

Slide 42

Slide 42 text

go, swim Flat API spacy.fyi/ltwc “Let Them Write Code”

Slide 43

Slide 43 text

go, swim Deep API spacy.fyi/ltwc “Let Them Write Code”

Slide 44

Slide 44 text

CAN WE SHRINK PRODUCT UI SURFACE, TOO?

Slide 45

Slide 45 text

CAN WE SHRINK PRODUCT UI SURFACE, TOO? • New tools are making programming much more accessible.

Slide 46

Slide 46 text

CAN WE SHRINK PRODUCT UI SURFACE, TOO? • New tools are making programming much more accessible. • Programmatic interfaces are inherently more powerful than UIs.

Slide 47

Slide 47 text

CAN WE SHRINK PRODUCT UI SURFACE, TOO? • New tools are making programming much more accessible. • Programmatic interfaces are inherently more powerful than UIs. • Programmatic interfaces generalize easily over collections.

Slide 48

Slide 48 text

CAN WE SHRINK PRODUCT UI SURFACE, TOO? • New tools are making programming much more accessible. • Programmatic interfaces are inherently more powerful than UIs. • Programmatic interfaces generalize easily over collections. • Programmatic interfaces don’t require repetitive actions.

Slide 49

Slide 49 text

CONCLUSION

Slide 50

Slide 50 text

CONCLUSION •There’s an ongoing struggle between “simple” and “easy”.

Slide 51

Slide 51 text

CONCLUSION •There’s an ongoing struggle between “simple” and “easy”. •“Easy” outcompetes “simple” in the short-term, even if it’s worse in the long-term.

Slide 52

Slide 52 text

No content

Slide 53

Slide 53 text

🙏 THE HOPE AI tooling makes simple easier.

Slide 54

Slide 54 text

🙏 THE HOPE AI tooling makes simple easier. 🤔 THE UNKNOWN How do we build AI support for new technologies?

Slide 55

Slide 55 text

🙏 THE HOPE AI tooling makes simple easier. 🤔 THE UNKNOWN How do we build AI support for new technologies? 💖 THE GOOD FUTURE We get higher quality tools and use AI to help with the glue.

Slide 56

Slide 56 text

🙏 THE HOPE AI tooling makes simple easier. 🤔 THE UNKNOWN How do we build AI support for new technologies? 💖 THE GOOD FUTURE We get higher quality tools and use AI to help with the glue. ☠ THE BAD FUTURE Language models poison the web and kill discussion sites, giving the libraries of today a big incumbency advantage.

Slide 57

Slide 57 text

THANK YOU! LinkedIn Explosion spaCy Prodigy Twitter Mastodon Bluesky explosion.ai spacy.io prodigy.ai @honnibal @[email protected] @honnibal.bsky.social