Becoming a Polyglot: Lessons from Natural Language Learning
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Part Number | 35 | |
Number of Parts | 48 | |
Author | ||
Contributors | ||
License | CC Attribution - ShareAlike 3.0 Unported: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this | |
Identifiers | 10.5446/33180 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
|
DjangoCon US 201735 / 48
2
5
6
14
16
23
26
30
31
32
34
39
43
48
00:00
Programming languageNatural numberBuildingScripting languageJava appletBlock (periodic table)Software developerType theoryProgramming languageData storage deviceObservational studyLengthSoftware developerSimilarity (geometry)Inheritance (object-oriented programming)GradientBuildingBlock (periodic table)CodeCASE <Informatik>InformationIntegrated development environmentNatural languageWordDifferent (Kate Ryan album)Disk read-and-write headCategory of beingQuicksortData conversionStudent's t-testData typeRandom variableNeuroinformatikShared memorySign (mathematics)BitComputer animation
03:28
Fundamental theorem of algebraMenu (computing)Assembly languageBounded variationGoogolComputerNeuroinformatikDirection (geometry)Order (biology)Error messageProgramming languageMultiplication signPoint (geometry)Assembly languageEquals signMachine codeInformationType theoryIdentity managementMereologyCategory of being1 (number)Sign (mathematics)WordContent (media)Computer programmingCodeInheritance (object-oriented programming)Level (video gaming)Sheaf (mathematics)Data miningBounded variationFreewareLogische ProgrammierspracheWebsiteBootingStandard deviationNatural languageConnected spaceSoftware developerBitPairwise comparisonCodeData storage deviceMathematicsDemosceneRight angleHookingMobile appComputer animation
09:57
Similarity (geometry)Limit (category theory)Figurate numberProgramming languageProduct (business)Direction (geometry)Semiconductor memoryCodeNeuroinformatikPhysical systemNatural languageCodeSocial classMedical imagingMaxima and minimaStudent's t-testBounded variationStress (mechanics)Convex setDifferent (Kate Ryan album)Right angleLevel (video gaming)Buffer overflowAnalogyAreaVulnerability (computing)Limit (category theory)Game theoryField (computer science)Set (mathematics)Client (computing)Rule of inferenceReading (process)WritingBit rateMultiplication signError messageChemical equationWordSpeech synthesisAlphabet (computer science)Formal grammarBulletin board systemBitFacebookNatural numberForcing (mathematics)SpacetimePoint (geometry)Similarity (geometry)LinearizationControl flowType theorySubsetPower (physics)InformationPresentation of a groupRegulärer Ausdruck <Textverarbeitung>Software bugNetwork topologyStructural loadXMLComputer animation
16:26
Hecke operatorProgramming languageSoftware bugGraph coloringWordNetwork topologyExpert systemComputer animation
17:20
Interactive televisionAreaFeedbackExpert systemArithmetic meanBit rateOrder (biology)Programming languageRight angleWordNatural languageCodeError messageMetropolitan area networkComputer animation
19:13
Natural languageProgramming languageStatement (computer science)Alphabet (computer science)CountingCycle (graph theory)Right angleControl flowComputer animation
20:09
Nintendo Co. Ltd.Programming languageFrequencyWordSpacetimeStatement (computer science)Greatest elementBasis <Mathematik>Sign (mathematics)Poisson-KlammerArithmetic meanPolygonNatural languageMultiplication signComputer programmingStapeldateiMainframe computerDifferent (Kate Ryan album)Right angleError messageDifferenz <Mathematik>Computer animation
22:05
Programming languageProgramming languageNatural languageRight angleAreaTelecommunicationEstimatorProjective planeMathematicsLine (geometry)Software developerSelf-organizationQuicksortComputer programmingGreen's functionSet (mathematics)Ocean currentComputer animation
24:32
XML
Transcript: English(auto-generated)
00:01
name it so many of you here today as he mentioned we're gonna talk about becoming a polyglot lessons from natural language learning and first hi
00:25
why did this pop into my head well when I was 13 I started learning French like a lot of people do in high school not a big deal I went to college kept learning French decided I wanted to teach it got to student teaching a lot of my students were native Spanish speakers so I was like I
00:43
shouldn't graduate yet I should learn Spanish that'd be a great idea then I could teach my students better and then I did that and realized actually high school is a little bit rough I should become a college professor so I went on and was working on my PhD and decided that that wasn't enough so I I had
01:04
lived in Tunisia for a year between undergrad and grad school and I thought you know the way they speak in Tunisia is super awesome I want to do some studies about stuff like that and so I learned well that's gonna take learning Arabic and I figured yeah you know PhD Arabic let's do all of it and once
01:24
I finished all of that I realized you know being a professor probably isn't really the lifestyle that I'm after and I had done some Python to analyze my language data and became a developer instead when I tell people that they're like oh yeah that kind of makes sense you know languages syntax and I'm like
01:45
kinda and so let's talk more about that and just in case you think that it's the people that I've met I got this quote from the code Academy JavaScript course just like a language has nouns verbs and prepositions JavaScript has its own building blocks instead of calling them
02:04
building blocks however because that's what nouns and verbs are called whatever developers call them data types I'm like well okay all right there's some similarities there are also some differences and knowing about the similarities and differences helps us to better appreciate where we can
02:24
transfer those ways of learning and where we can't so let's start with the differences oh but I'm gonna be saying natural language a lot throughout this and when you might wonder well why don't you just say spoken language spoken language sure that's gonna be English French Spanish Arabic whatever else but we have such a wealth of languages in the world that are sign
02:45
languages American Sign Language British Sign Language did you know that not all English shares the same sign language we don't and so by saying natural language we're being sure to include all natural languages and that's pretty awesome now on to the differences the first thing that we want to think
03:05
about is who who is this language trying to get information to with a natural language it's pretty obvious people human beings we are communicating ideas to people who are ideally listening and in a conversation
03:23
having some sort of exchange with us thinking about the words that we're saying all this kind of stuff with the programming language computer we are giving instructions to the computer to carry out the lesson here is that these are fundamentally different there's just there's no
03:43
back-and-forth with the computer there's and you might say what about and it's just so different to begin with because of who these languages are for then why why is it so fundamentally different that's partly
04:04
about why we are using these types of languages with natural languages we are expressing our emotions we are asking for clarification we are giving more information we might be simply saying things in a certain way to express part of our identity who we are that language is a lot of more about
04:24
the ideas around what we're saying than the actual content of the words of what we're saying and we can express a lot of things through the way we say things when we come to a programming language we might be doing some amazing
04:41
stuff and a lot of people in here are doing just incredible stuff hopefully everyone but no matter what we're doing with that programming language we are still writing code that's going to be turned into assembly language sent to us an assembler and turn into machine code we are giving directions to a computer we can be doing all of these amazing
05:04
different things but at the end of the day that's what programming is is giving directions to a computer because we're the ones doing the amazing things the computer cannot do it on its own even the computer wouldn't exist without other amazing people the lesson here is then that these types of
05:22
languages have very different goals that communicating two-way more than two-way with other human beings is just extremely different from giving directions to a computer to have it do what we want to do then there's also how we learn things with natural languages if we're hearing before
05:44
we're even born we start to hear the language that is spoken around us or languages right it's not uncommon it's actually more common in the world to hear more than one language those of us in the US often forget that and so we start hearing these languages and even newborn babies react differently when they hear the languages language or languages that were spoken around
06:05
them while they were in the womb then they do with a different language that they've never been exposed to and that's super awesome so from the very beginning or before the beginning how you look at it we are alert learning languages
06:22
that deaf children are seeing signs or seeing gestures if their parents are hearing and they are learning it from the start later on we might add one two three four more you can keep learning languages literally until you die it'll take you longer but you still can do it which is pretty awesome our brains do cool things but then there's programming languages you can
06:46
start pretty young hour of code has a really fun pre reader section but you still have to have a kid who's got a certain level of logic and a certain level of facility with a computer so maybe four or five year old I'm guessing there I started with code Academy great
07:03
website free stuff a friend of mine went to a developer's Academy which I'm just using these boot camps and coding academies that exist out there no matter what though maybe you have a teacher maybe you don't what you're doing is learning to sit down in front of a computer and learning how to give a computer the directions that it needs in order to do the
07:24
things that you want it to do you can learn lots of programming languages you might have a special connection with your first programming language but the lesson here is that there are no native speakers of programming languages and some of you may say well why does that matter well there's this common conception possibly misconception we can talk more about that at
07:45
lunch that native speakers are the gold standard by which everything should be judged but you can't judge yourself against something that doesn't exist so when we're coding everybody
08:00
has learned this they may have learned it more easily or more slowly they may be amazing at it or they still may be working on it but everybody has learned this in a conscious way it's not that baby who just unconsciously learns that language our next comparison is variation and change on my
08:22
favorite topics if we're working with a natural language then we will see different ways of saying the same thing there might be nuances between these different ways but the basic goal is the same so you might go to the store you should go to the store or in the south well
08:40
here you might should go to the store and while you might you know giggle a little bit one of my co-workers uses might could I love it you'll still understand the basic intent there are also non-standard ways of speaking that are completely valid and that we can understand just fine so if you hear something like I never done nothing like that before you
09:06
may have judgments about it that's your problem but you will understand it this is also this tolerance for variation is how we get change at some point someone said for the first time let me google that for you and whoever they were speaking to may or may not have
09:24
understood now we definitely all understand it and the fact that this caught on is also meaningful because certainly nobody says let me yahoo that for you with programming languages
09:41
we don't have it quite so easy if we want something to work in Python and not just come back with an error we can't replace that equal sign with an is or with an EQ we can't change the order to a way that a human being would naturally understand oh yeah she means the same thing there that's cool that'll work I can do that now the computer is gonna throw back
10:01
errors at you it's just not the way it is if we try to use a regex and we do read out search great everything's fine if we try to just type in read out Google you're gonna get a syntax error and somebody's probably going oh but wait I could do that I could tell it to accept read out Google yeah you could that's awesome you could give directions to the
10:23
computer to make it learn variation and that's the point that you have to tell the computer that this variation is completely acceptable otherwise it just truly doesn't know what to do with it we've all had you know a space in the wrong spot or an indentation error in Python or a period extra or missing depending and you have to go back and fix it because it has to
10:45
be literally what it expects computers don't do variation people do variation people add variation for the computers to understand then let's move on to the similarities so we've learned a lot from the differences what we can and can't expect out of these
11:03
programming languages brains brains are wonderful they do so many amazing things that we don't think about that we just automatically do it's fantastic we pick up information about the world all around us and they help us remember things like natural languages and programming languages but they just don't go on forever right you need to sleep to commit memories so getting
11:31
enough sleep when you are trying to learn a natural language or programming language will help you stress a little bit of stress can help your brain a lot of stress not good
11:42
so more sleep less stress can help us be better at natural languages or programming languages the lesson here is to respect your brain's limits there are other ways that it has limits you know people say self-care take a break yeah that's this to respect your brain the next
12:03
thing is that okay you've got these physical things up but we're talking about languages right yeah we are languages are skills programming languages natural languages their skills the example I like to use in Texas where I taught big football school tell a class of 25 students
12:23
coming to learn French they're so excited imagine I give the quarterback brand-new quarterback maybe played football as a kid the playbook and a book about how to throw a football they're sitting there looking at me like what's wrong with you and so then I say all right do we
12:46
put that person on the field for the first game and then they are horrified right reading about a thing is not the same as doing a thing you can't throw a football just by reading about it like even a generally athletic person they might be able to throw it you know
13:01
technically yes I threw it it landed there but you're not gonna throw it all the way down the field and that's the goal that we need to practice natural languages or programming languages we absolutely have to practice the minute we quit practicing it's so sad
13:23
but our skills start declining and you might say oh you can pick it back up yeah those neural pathways are there they just have to be strengthened all the time so yeah you can pick it back up later it will be easier to relearn than to learn the first time but it's it's just the way skills work right somebody quits playing football and they still know the
13:44
rules they still can throw the ball but they can't throw it quite as far as before then while we're talking about skills when we're teaching natural languages we often talk about the four skills we've got speaking listening writing and reading cool great
14:01
students are often better at one or two or maybe even three of the four than another one but there is that imbalance that if someone's learning French there is a huge amount of French and English vocabulary that's shared if you're a fluent English speaker or if you're a Spanish speaker there's loads of vocabulary and grammar that's shared so maybe you're gonna have an
14:22
easier time reading but when it comes to writing it still might be a little bit harder and then if you're trying to listen to real speech on the radio oh that's gonna be take some practice for Arabic at least the way it's taught at UT that actually kind of flips the alphabet so different that it's easier to speak and listen to it for students at first than it is
14:45
to be able to read and write it even now I have to kind of force myself to stop on those Arabic Facebook posts and keep practicing reading Arabic then for our programming languages we don't really think about it but it's kind of the same we write code of course that's what we learn to
15:06
do that's how it's taught most of the time here write code it's amazing you can make your computer do things yeah so most of us that I know we write some code but we spend a lot of reading other people's codes because some bug came up somewhere because we have to integrate with
15:25
some vendor product because we can't figure out what's going on with this existing system and we just need to add on to it so we end up reading code which is a different aspect of that skill set maybe there's a bug that we can't fix when we go to Stack Overflow being able to sift
15:43
through what's just rudeness and what's useful is a skill then talking about code talking to our co-workers about code talking to our clients about code and what it's going to do these are skills that need practice that you can get better at so when you feel like you're doing
16:02
terrible at something or that somebody else is so much more awesome at something stop and think about their full skill set because we all have strengths and weaknesses and of try not to compare yourselves but you know that's another topic the lesson here then is that there are many many facets of skills to work on and that we all can be working on
16:24
these in one area or another would I think that's probably some blue sky and a tree and doesn't that just happen when you are listening to a new language reading a new
16:43
language trying to fix a bug in a language you're less familiar with what the heck do you do I have no idea what's going on here I know this language like I can pick out some of these words just like their colors but what is going on we have to ask questions there are other
17:05
people who know more than us or who know different things than us or who can help us think in different ways asking questions is so important to learning and to becoming an expert you say but asking questions is hard and then they will know they don't know everything we're
17:21
a jerk if they think that you have to know everything because each of us sometimes we're the person on the left sometimes we're the person on the right we all know more in one area than another we all know less in one area than another if you're super amazing at coding in all of the languages that you know right now that is awesome good for you hopefully
17:41
you can remember what it was like to be the person who knew less if you can't then pay more attention to the people who do know less see how they act see how they interact with other people and see where you can help them sometimes the people who know less will ask questions that will help the people who know more improve their code and be like why did you do it this way instead of this other way that I just read about and
18:03
you're like yeah why did I do it that way you know it can be a good experience so we might not all be experts in everything we're definitely not we're but we're also not all just completely clueless and everything either the lesson here is that we need feedback and review code
18:22
reviews can be intimidating but without that you don't know if you've got some major flaws that are just gonna come bite you in the ass like five minutes after it goes into Prague with learning natural languages too I might think that yeah I heard this word I read it in the dictionary it means this no problem great I go out in the world
18:42
and I use this word and I get a really bad reaction I'm like but this means this right and they're like yeah it means that but you only say it if you're trying to make somebody go away or you only say it depending on the culture if you're a man or a woman and you just you cannot say that word that happens so we have to interact with other
19:05
people we have to make ourselves vulnerable to being told that we're wrong in order to improve and get better all right everybody's like oh what's this what's that seven doing there
19:20
that seven happens to represent a glottal stop which is not a meaningful consonant in any language that I can think of oh no Maltese in most languages that use the Roman alphabet but in American English you'll notice it in things like uh-oh it's not oh or uh-ho
19:44
uh-oh that little break right there that's the glottal stop so in Squamish this First Nations language in on the coast of Canada on the west coast I mean you know I'm from is not the only one that counts they have a glottal stop and they write their language
20:01
primarily in the Roman alphabet like okay cool that's definitely about natural languages where you going so these are if statements in the four languages that I work with on a regular basis on the top left got Python if with a colon at the end bottom left we've
20:24
got Django we've got a nice little curly brackets and percent signs if and then we've got to add that in diff squished together one word lowercase top right is SPSS syntax and in my particular shop we use this for data prep and it has to be do if the
20:45
capitals are convention but not required and you need a period at the end of all of these statements and you have end space if period then we have the programming language called natural as done by software AG that we use at UT with our super awesome mainframe
21:02
so the capitals are required in this one if then also required and dash if so if I've been doing a lot of natural I might go into SPSS and accidentally do an in dash if period
21:20
then I'm gonna get an error like oh dang it did that again or if I go into Django I might be like in space if nope still not working this is completely normal this happens all the time bilingualism or polylingualism multilingualism has lots of benefits it helps us to think faster see things in different ways but there are also some things that
21:44
we end up doing like mixing up which is which every now and then and natural languages it can actually help to delay the onset of Alzheimer's and dementia which is super cool nobody wants that stuff but it's also good for programming languages because you can learn to think about things in different ways and learn which of your tools might be the right
22:03
one in each situation so our lovely sign with our lesson that a bilingual is not two monolinguals in one that we see things differently we work with things differently and that is just such a great thing it brings richness into how we approach problems and what
22:22
we do and so it can help us as we are trying to fix problems and it can help the organizations that we work for finally bottom line those beautiful nice green dollar bills what you may know in a lot of areas that if you speak Spanish a lot of areas of us if you
22:46
speak Spanish you might get paid more for being bilingual school teachers for example you can get a bilingual bonus I wanted to add a conference two weeks ago but this is true of programming as well that on average learning adding a new language to your resume is about three thousand
23:06
dollars more in salary per language like we'd all like that so let's earn more money whoo my last thing is languages are awesome whether they're natural languages or programming languages natural
23:22
languages learning more of them can help us communicate with more of the world in their native language and if you don't understand the value of that then please go learn a natural language go talk to a native speaker of that language in their language and then in your native language and see how it feels different see how that communication changes because it will
23:43
and if you think it doesn't then try again but with programming languages too we really do think about it differently that with all the tools I have I will know okay so for this I'm going to use Python for this I'm going to use SPSS because my shop uses it but I'm actually trying to get them to try to do it more in Python because I think that pandas will
24:04
actually end up being a better solution than the SPSS syntax and that's current pet project or you know maybe I need to learn something else because I'm not quite sure if my tool set is the best right now and I want to make it even better and all of these things will give us the right tools for the right job and help us to be better developers in
24:24
the end and that's awesome thank you
Recommendations
Series of 11 media