Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Learning A New Language While Learning A New La...

Learning A New Language While Learning A New Language - GDG DevFest NL, November 2017

My talk from the GDG DevFest Netherlands about learning Dutch and Kotlin at the same time.

Description:
It turns out there are a lot of things that are similar about learning a human language similar to one you already know and a computer language similar to one you already know. Some things being super-similar provides a huge leg up, but there are plenty of false friends in both types of language, and there are plenty of differences which make you wonder why you ever thought these things were similar in the first place. This is a tale of the triumphs and perils (and eerie similarities) of learning Dutch as a native English speaker and Kotlin as a developer with a good grip on Swift.

Ellen Shapiro

November 18, 2017
Tweet

More Decks by Ellen Shapiro

Other Decks in Technology

Transcript

  1. Learning a new language while Learning a new language GDG

    DevFest NL | Amsterdam | November 2017 Ellen Shapiro | @DesignatedNerd | justhum.com
  2. !

  3. !

  4. !

  5. vs.

  6. ->

  7. Nijmegen ME: Kan...ik...uh, betaal...voor... THEM: [smiling and waiting] ME: Uh,

    mijn...maaltijd met een creditcard? THEM: Nee, we accepteren alleen pinpas.
  8. Nijmegen ME: Kan...ik...uh, betaal...voor... THEM: [smiling and waiting] ME: Uh,

    mijn...maaltijd met een creditcard? THEM: Nee, we accepteren alleen pinpas. ME: Uhhh...ik heb niet...
  9. Nijmegen ME: Kan...ik...uh, betaal...voor... THEM: [smiling and waiting] ME: Uh,

    mijn...maaltijd met een creditcard? THEM: Nee, we accepteren alleen pinpas. ME: Uhhh...ik heb niet...spreekt je Engels?
  10. Nijmegen ME: Kan...ik...uh, betaal...voor... THEM: [smiling and waiting] ME: Uh,

    mijn...maaltijd met een creditcard? THEM: Nee, we accepteren alleen pinpas. ME: Uhhh...ik heb niet...spreekt je Engels? THEM: Of course, I lived in New York for three years!
  11. You will try to make a new language bend to

    fit the language you know
  12. Java-style Singleton private var instance: SomeService? = null fun getServiceInstance():

    SomeService { if (instance == null) { val retrofit = Retrofit.Builder() .baseUrl("https://example.com") .addConverterFactory(GsonConverterFactory.create()) .build() instance = retrofit.create<SomeService>(SomeService::class.java) } return instance as SomeService }
  13. Moar Kotlin-ier Singleton val instance: SomeService by lazy { val

    retrofit = Retrofit.Builder() .baseUrl("https://example.com") .addConverterFactory(GsonConverterFactory.create()) .build() retrofit.create<SomeService>(SomeService::class.java) }
  14. True Friends exactly the same computer -> computer student ->

    student weekend -> weekend map -> map filter -> filter
  15. True Friends exactly the same close enough! computer -> computer

    werk -> work student -> student oranje -> orange weekend -> weekend tekst -> text map -> map filter -> filter
  16. True Friends exactly the same close enough! computer -> computer

    werk -> work student -> student oranje -> orange weekend -> weekend tekst -> text map -> map struct -> data class filter -> filter enum -> enum class
  17. !

  18. Verplichte Samenvetting Dia → Fail often and hard. Learn from

    your failures. → Resist the urge to bend a new language to fit one you already know
  19. Verplichte Samenvetting Dia → Fail often and hard. Learn from

    your failures. → Resist the urge to bend a new language to fit one you already know → Don't worry if the initial examples seem contrived.
  20. Verplichte Samenvetting Dia → Fail often and hard. Learn from

    your failures. → Resist the urge to bend a new language to fit one you already know → Don't worry if the initial examples seem contrived. → Find your friends, true and false.
  21. Verplichte Samenvetting Dia → Fail often and hard. Learn from

    your failures. → Resist the urge to bend a new language to fit one you already know → Don't worry if the initial examples seem contrived. → Find your friends, true and false. → Keep trying. You'll figure it out eventually.