1) Use Anki with pictures and pronunciation to get necessary vocabulary. But it needs audio to learn pronunciation. Very important.
2) Speak, listen, speak, listen with native speakers in person. _Nothing_ beats this!
3) Evening school is a bonus
I love brazilian Portugese becuase I love Brazil and it's people and culture. So I listen to a lot of brazilian music and I am always curious about lyrics. I try to sing along, but it's hard sometimes to read it in english and pronouncate, sometimes 't' is 'chi' ... I might be wrong , I am new to the language and I am learning. I have picked up a lot of words in my subconscious and I know what they mean and this is probably a good way learn in my opinion.
> I'm guessing the answer is making small things, but what exactly? I've made so many to do list apps I don't know what to do with them
My favorite way has always been to not just build small things, but build small useful things. There is always something that could be better, and there is always a subset of languages best for the task at hand. If it's a CLI, then a language that can compile to binary tends to be best (for me at least), so that already limits the languages somewhat. Then depending on what the task is, it might make sense to learn a new language for it.
Then naturally over the years I've picked up 10-15 languages this way, by just following what each language seems best at, and not being afraid of spending 2-3 weeks writing something basic.
Then for each language you learn, next one gets a lot easier, especially when most mainstream languages today are Algol-like languages and more similar to each other than different.
As any language, the core is "why" do you want to learn it. Is it to add it to a list and that's it? Then you might struggle by creating todo lists or play pretend on Duolingo.
On the other hand, if you do have a goal in mind try to do tiny bits of that.
My goal for natural languages is always connecting with another culture at a deeper level than just using English. If that's the case, you get someone to talk/write to and slowly do it. It won't be instantaneous or dopamine fueled but after a few years you might realise that you've been chatting with someone completely in their language without major hiccups.
For programming languages, I understand that filling a CV is tantalising and useful, so you've got to come up with projects and things you'd actually like to be doing with such a language.
You could say you want to pick up COBOL for a future job, well figure out what would make sense to use it for and go with that.
And if you really cannot think of anything, then you can fall back to make something up: make a game with such a language (even better if it is not meant for games), automate something, recreate a small tool which you find frustrating. And even if after you have read this and still cannot find a thing which gets you, maybe learning this language is not within your current interests and you might start considering to move on.
Make things that require you to use the parts of the language you don't have a strong grasp on yet, so as to get to know those better. Sorting algos, data structures, a kanren, and a library website would be a good variety pack. And aside from that, reading codebases is also important. Read the code of your CPAN equivalent, your Alexandria equivalent, your Spring equivalent, and your SDL equivalent.
Create something you actually need, or port something you already created in another language.
I needed a tool to get the contents of a remote zip file without downloading the whole file. I wanted to learn Go, so I created the tool with Go, then I ported it to Rust when I wanted to learn Rust.
Writing one from scratch gives a lot of understanding to how it works under the hood and in the process you learn right phraseology and treat all languages as computational fronteds.
It’s true that 70% of a language is about ~100-300 words. In linguistics this is called the “core sight set”. If you’re in a pinch traveling I recommend asking an AI for the 300 most frequent word core sight set and cramming these with Anki. You can get gist with about 10 hours of study and be much more useful than 100 hours of Duolingo. With the core sight set and a generous amount of loan words and gesticulation you can communicate practically any necessity to anyone. It will by no means be elegant or poetic but it gets the job done reliably. It’s the 10,000 word long tail of vocabulary where a language shines but it’s the first 300 where it lives and breathes.
1) Use Anki with pictures and pronunciation to get necessary vocabulary. But it needs audio to learn pronunciation. Very important. 2) Speak, listen, speak, listen with native speakers in person. _Nothing_ beats this! 3) Evening school is a bonus
I love brazilian Portugese becuase I love Brazil and it's people and culture. So I listen to a lot of brazilian music and I am always curious about lyrics. I try to sing along, but it's hard sometimes to read it in english and pronouncate, sometimes 't' is 'chi' ... I might be wrong , I am new to the language and I am learning. I have picked up a lot of words in my subconscious and I know what they mean and this is probably a good way learn in my opinion.
I thought this was about programming languages before I saw it was from BBC, making me ask - what is the best way to learn a new programming language?
I'm guessing the answer is making small things, but what exactly? I've made so many to do list apps I don't know what to do with them
> I'm guessing the answer is making small things, but what exactly? I've made so many to do list apps I don't know what to do with them
My favorite way has always been to not just build small things, but build small useful things. There is always something that could be better, and there is always a subset of languages best for the task at hand. If it's a CLI, then a language that can compile to binary tends to be best (for me at least), so that already limits the languages somewhat. Then depending on what the task is, it might make sense to learn a new language for it.
Then naturally over the years I've picked up 10-15 languages this way, by just following what each language seems best at, and not being afraid of spending 2-3 weeks writing something basic.
Then for each language you learn, next one gets a lot easier, especially when most mainstream languages today are Algol-like languages and more similar to each other than different.
As any language, the core is "why" do you want to learn it. Is it to add it to a list and that's it? Then you might struggle by creating todo lists or play pretend on Duolingo.
On the other hand, if you do have a goal in mind try to do tiny bits of that.
My goal for natural languages is always connecting with another culture at a deeper level than just using English. If that's the case, you get someone to talk/write to and slowly do it. It won't be instantaneous or dopamine fueled but after a few years you might realise that you've been chatting with someone completely in their language without major hiccups.
For programming languages, I understand that filling a CV is tantalising and useful, so you've got to come up with projects and things you'd actually like to be doing with such a language.
You could say you want to pick up COBOL for a future job, well figure out what would make sense to use it for and go with that.
And if you really cannot think of anything, then you can fall back to make something up: make a game with such a language (even better if it is not meant for games), automate something, recreate a small tool which you find frustrating. And even if after you have read this and still cannot find a thing which gets you, maybe learning this language is not within your current interests and you might start considering to move on.
Make things that require you to use the parts of the language you don't have a strong grasp on yet, so as to get to know those better. Sorting algos, data structures, a kanren, and a library website would be a good variety pack. And aside from that, reading codebases is also important. Read the code of your CPAN equivalent, your Alexandria equivalent, your Spring equivalent, and your SDL equivalent.
Create something you actually need, or port something you already created in another language.
I needed a tool to get the contents of a remote zip file without downloading the whole file. I wanted to learn Go, so I created the tool with Go, then I ported it to Rust when I wanted to learn Rust.
Writing one from scratch gives a lot of understanding to how it works under the hood and in the process you learn right phraseology and treat all languages as computational fronteds.
It’s true that 70% of a language is about ~100-300 words. In linguistics this is called the “core sight set”. If you’re in a pinch traveling I recommend asking an AI for the 300 most frequent word core sight set and cramming these with Anki. You can get gist with about 10 hours of study and be much more useful than 100 hours of Duolingo. With the core sight set and a generous amount of loan words and gesticulation you can communicate practically any necessity to anyone. It will by no means be elegant or poetic but it gets the job done reliably. It’s the 10,000 word long tail of vocabulary where a language shines but it’s the first 300 where it lives and breathes.