I read the article, and it annoyed me, because the rebuttal is obvious and wasn't addressed. The rebuttal is do-notation. The second program you write after Hello World is going to use two IO actions instead of one, and so you need a way to sequence them, and every tutorial is going to do that with do-notation. And suddenly all of the other syntax you learned, like how to declare a variable with let-in, or how arrows…
Yeah, no way around learning do-notation even for the simplest of programs. And do-notation is kind of a DSL with a totally different feel than the rest of the language. So getting started writing even simple toy programs in Haskell requires you to learn two languages. No denying that Haskell is a language with a very steep learning curve. (Or is it a very shallow learning curve? Never understood that metaphor. But y…
The time it takes to produce widget 2 ^ t is BASE_TIME * LEARNING_RATE ^ t.
Example with 120 minute starting time and 90% learning rate:
Widget 1 (2 ^ 0) takes 120 (120 * 0.9 ^ 0) minutes to produce.
Widget 2 (2 ^ 1) takes 108 (120 * 0.9 ^ 1) minutes to produce.
Widget 4 (2 ^ 2) takes 97.2 (120 * 0.9 ^ 2) minutes to produce.
Widget 8 (2 ^ 3) takes 87.48 (120 * 0.9 ^ 3) minutes to produce.
Example with 120 minute starting time and 70% learning rate:
Widget 1 (2 ^ 0) takes 120 (120 * 0.7 ^ 0) minutes to produce.
Widget 2 (2 ^ 1) takes 84 (120 * 0.7 ^ 1) minutes to produce.
Widget 4 (2 ^ 2) takes 58.8 (120 * 0.7 ^ 2) minutes to produce.
Widget 8 (2 ^ 3) takes 41.16 (120 * 0.7 ^ 3) minutes to produce.
If you plotted a curve of minutes per widget over time, you would note that the graph for the 70% learning rate would have a much steeper slope than that of the 90% learning rate.
Looking at that you might say, "ah, high learning rates are great!" All else being equal, you would be correct. However, real world tasks with high learning rates often imply high base times and a proportionately large amount of time until proficiency or mastery is reached. That's why "steep learning curves" are "bad things", because it is going to take "a lot of effort" just to "get good" at the skill.
To bring the point home, here are some contrived examples of "90%" and "70%" skills:
Version control:
90% - copying and pasting files
70% - git
Word processing:
90% - Microsoft Word
70% - vim and latex
Databases:
90% - Excel documents in a shared folder
70% - PostgreSQL
Web design:
90% - your web host's website builder
70% - Ruby on Rails
70% - hand coding in notepad
This is just an introduction to the concept as I learned it. Two skills might have the same learning rate, but one might be much more productive than the other. Still this should help you understand the origin of "steep learning curve" and why that's usually considered a "bad thing."