I remember this being true for me, a long, long time ago. There was something like a four year gap between me being able to munge linked lists in TiBasic and me being able to reliably install java and compile System.out.println(“hello world”)
Yes, definitely the case. Just imagine a class with 100 students, each with a system that has its own quirks (OS, browser, and a mix of versions, etc). We built codeBoot (https://codeboot.org) specifically for this reason!
I hate to second the grandparent, but perhaps the install process is the most difficult part for the instructor because it is at a stage where the instructor feels 90% responsible for the outcomes.
A criticism like “I didn’t understand recursive functions” is a student problem. A criticism like “the instructions to install the environment never worked” is much more clearly a problem of the instructions. Even if, as you said, there are subtleties.
I will maintain that the only way the install process is actually the most difficult part for the student is if they are already a competent programmer. Which seems unlikely for a class like this.
Yes for me (although difficulty varies depending on what you're trying to install). I would have started programming 2 years earlier than I actually did if my first attempt to install tools to run a programming language had worked.
You have to precisely follow a sequence of instructions without the experience to understand their purpose, or any idea of how to fix things if you make a mistake.
Web technology is an exception to this. People already have a web browser, and ignoring mobile devices, browsers come with a js REPL.
A friend let me host a site on his server, I learned to use FTP (with a firefox add-on he recommended) to copy up HTML files. Later he saw how much duplication I was doing and showed me the humble include statement while using PHP, and pointed towards a book, and I learned to program that way by uploading PHP scripts and running them by visiting their URL. It was some time later before I succeeded in installing a local WAMP stack, even later switching to Linux at home, but if that was a prerequisite I might have bounced. Web technology even just from the backend perspective was a huge enabler.
Still, I don't know if such things are the biggest obstacles, I remember the conceptual hurdle of the for loop syntax being pretty difficult to overcome. (I crashed my friend's server once with a very long loop echoing stuff each iteration that I might have tried opening in multiple tabs at once too.)
I've also seen such initial setup hurdles justified as filters: if you can't handle this, well, programming is full of such obstacles (bigger, smaller, or about the same size left unstated), so maybe it's for the best you just give up now since you probably won't make it. I generally don't like that excuse, and appreciate that getting into programming has been made so easy, but at the same time when a lot of effort has been made into making something so easy (even if not quite as easy as it could be, or as easy as something else) and people still bounce off their first setup difficulty, I sympathize with those who think good riddance, especially if the person isn't an absolute beginner. The horse and water adage always applies.
Yes. The reason I ended up being a python dev is that way back in the day there was a free, easy installer that ran on my machine, including a functional if basic IDE with syntax highlighting. This was Python 1.5 on a Mac Classic. Even getting a C compiler would have been a major lift, this was in the modem days so downloading was always an adventure.
Is that _really_ the case? I find it very unlikely (not just in an OCaml context).