Successfully reported this slideshow.
Your SlideShare is downloading. ×

More Intuitive Programming Through Better Code Completion

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 9 Ad

More Intuitive Programming Through Better Code Completion

Download to read offline

Code completion (IntelliSense and friends) has become a default feature in source code editors, that helps beginners and veterans alike to navigate their way through the ever growing complexity of language and library functionality, as well as the code of their colleagues and even their own. However, this feature has barely evolved since its inception, partly due to the myopia that the object oriented programming paradigm brings with it. I think it is time to change that and will present a way forward.
Presented at Game Dev Days Graz Online Edition 2020

Code completion (IntelliSense and friends) has become a default feature in source code editors, that helps beginners and veterans alike to navigate their way through the ever growing complexity of language and library functionality, as well as the code of their colleagues and even their own. However, this feature has barely evolved since its inception, partly due to the myopia that the object oriented programming paradigm brings with it. I think it is time to change that and will present a way forward.
Presented at Game Dev Days Graz Online Edition 2020

Advertisement
Advertisement

More Related Content

Similar to More Intuitive Programming Through Better Code Completion (20)

Advertisement

Recently uploaded (20)

More Intuitive Programming Through Better Code Completion

  1. 1. long title is long More Intuitive Programming Through Better Code Completion Dietmar Hauser | roborodent e.U. | 2020
  2. 2. Intuition • Acquiring knowledge without conscious reasoning • Influenced by crystalized knowledge • "Educated guessing" • Low mental effort Dietmar Hauser | roborodent e.U. | 2020
  3. 3. Intuition in Programming • Traditionally • "Cheap" programmer time vs. expensive computer time • Plenty of conscious reasoning required • Recalling or acquiring knowledge • Intuition only at competence level • Now (especially in GameDev) • Expensive programmer time vs. cheap computer time • Fast iterations are possible and desired • Trial and error programming is feasible • Intuitive programming is becoming the norm Dietmar Hauser | roborodent e.U. | 2020
  4. 4. "Intelligent" Code Completion (ICC) • Type some incomplete statement • Press a key and the code editor will… • do nothing • show a list of suggestions • autocomplete it • Fill in the rest, assisted by ICC • Compile, Run, Debug • Repeat! Dietmar Hauser | roborodent e.U. | 2020
  5. 5. Imperative Programming • The oldest still relevant programming style • Subject is implied and always the same • Verb is most important, but hardest to find • Objects are trivial, their order is not • ICC helps with object order, but not with verb Dietmar Hauser | roborodent e.U. | 2020 fputs(file, "Hello Worldn"); Verb Object 1 Object 2 Computer! Subject WTF?!
  6. 6. Objective Oriented Programming • The most common programming style • ICC can infer Verb from primary object (Object 1) • Primary object looks like Subject, but isn't • ICC doesn't help with finding the primary object Dietmar Hauser | roborodent e.U. | 2020 file.WriteLine("Hello World"); file << "Hello World" << endl; VerbObject 1 Object 2 Computer! Subject Computer! 2nd verb & 3rd object
  7. 7. Intuition Oriented Programming • A future programming style • An example syntax: • Start by writing Object 1, Object 2 • Hit that ICC key • ICC lists all possible Verbs for those objects • Profit! Dietmar Hauser | roborodent e.U. | 2020 WriteLine(file, "Hello World"); Verb Object 1 Object 2 Computer! Subject
  8. 8. Conclusions • Accessibility in programming is important… • … but also seriously lacking … • … but will also benefits veterans • IOP can happen in the code editor… • … but gets better with language support • There are many small improvement possible • Let's get started! Dietmar Hauser | roborodent e.U. | 2020
  9. 9. Dietmar Hauser | roborodent e.U. | 2020 roborodent Dietmar Hauser P r o g r a m m e r Software Solutions | Creative Consulting https://www.roborodent.com @rattenhirn dietmar.hauser@roborodent.com https://slideshare.net/DietmarHauser https://fb.me/roborodent https://github.com/rattenhirn/ https://www.linkedin.com/in/rattenhirn/

Editor's Notes

  • Thanks for having me
    My first online conference
    Improvised orga is very much in the spirit of game development
    My talk is kinda improvised, but only 7 minutes long
    The reason for doing it is that I love programming and want to make it better
    I hope for a robust discussion afterwards
  • Let's start by talking about intuition

    it is a mushy word

    my working definition

    Example for hierarchy: learning a manual skill or an instrument

    We like it because it is low effort
  • A typical workflow when using intuition

    key combo, or it happens automatically

    3 levels of success
  • How does this look in practice
  • In my hubris I have dubbed it

×