small typos

This commit is contained in:
Wouter Groeneveld 2022-05-11 14:22:02 +02:00
parent d865cf3f0c
commit bf7bb1ae59
2 changed files with 5 additions and 3 deletions

View File

@ -12,7 +12,7 @@ Bruce Tate didn't like the recommendation of Andy Hunt and Dave Thomas. Just _on
---
In [Fluent Forever: How To Learn Any Language Fast and Never Forget It](https://www.goodreads.com/book/show/19661852-fluent-forever), Gabriel Wyner---a polyglot that fluently speaks Russian, Italian, German, French, English, and less fluently en more---explains his secrets for quickly and efficiently mastering grammar. It's been since 2015 that I read the book, so I can only remember I was impressed, but a new question arises: is learning a new language similar to learning a _programming_ language?
In [Fluent Forever: How To Learn Any Language Fast and Never Forget It](https://www.goodreads.com/book/show/19661852-fluent-forever), Gabriel Wyner---a polyglot that fluently speaks Russian, Italian, German, French, English, and less fluently even more---explains his secrets for quickly and efficiently mastering grammar. It's been since 2015 that I read the book, so I can only remember I was impressed, but a new question arises: is learning a new language similar to learning a _programming_ language?
Plenty of academic research exists on that topic: I could continue by citing papers that confirm this theory, but the fun doesn't stop there, as there are of course also papers that deny it. Theory aside, a few common critical thinking fallacies occur in both spoken and programming language learning. In a recent paper called _Here we go again: Why is it difficult for developers to learn another programming language_, researchers identified that what they call _cross-language clashes_ also occurs while learning a new programming language.
@ -60,10 +60,12 @@ Q5 is very easy to visualize: try to generate a dependency graph of any Node pro
---
For a natural language, many of these questions are organically answered and grown. But for programming languages, we can artificially construct something with a firm baseline and set of beliefs. Sure, there a whole slew of [constructed natural languages](https://en.wikipedia.org/wiki/Constructed_language), both a priori (artistic ones such as Klingon) and a posteriori such as Interlingua. The history of these languages is very fascinating. There, I now brewed a sixth question! Perhaps we could add a Q6: what's the _history_ behind the language? Why was there a need to create yet another language that didn't fit as a DSL in an existing one? Answering that question will usually say something about the purpose, culture, and design philosphy.
For a natural language, many of these questions are organically answered and grown. But for programming languages, we can artificially construct something with a firm baseline and set of beliefs. Sure, there is a whole slew of [constructed natural languages](https://en.wikipedia.org/wiki/Constructed_language), both a priori (artistic ones such as Klingon) and a posteriori such as Interlingua. The history of these languages is very fascinating. There, I now brewed a sixth question! Perhaps we could add a Q6: what's the _history_ behind the language? Why was there a need to create yet another language that didn't fit as a DSL in an existing one? Answering that question will usually say something about the purpose, culture, and design philosphy.
You see, it's never just a case of "I'll start investing in language `x` and be a good programmer really soon!". I even neglected to mention another important consideration: **fun**! Is it fun to write software in that language? Do you like it yourself? Why, or why not?
So, is learning a new language similar to learning a _programming_ language? Yes and no. Learning a programming language comes with much more parameters to consider. French and Japanese also have a rich history and unique culture equipped to them, and by studying their culture, you'll make studying the language easier. But a programming language evolves much quicker, comes with infrastructure, and requires thinking work to successfully marry it with a purpose. I'd dare to say that programming languages are _harder_ to---fully---grasp. Feel free to disagree.
In the end, I tend to go with the recommendation of Andy and David: one language each year is more than enough. Seven in seven weeks is great to get a taste of each one and perhaps take a first jab at answering the above six questions, but you'll never embark on the journey of learning (let alone mastering) the language: there's simply too little time.
- 2019: C++11 and its ecosystem;

File diff suppressed because one or more lines are too long