Hacker News new | ask | show | jobs
by micheles 1170 days ago
>In my experience teaching programming, we spend very little time helping students actually write code. >Instead, the mentors mainly deal with problems of tooling – “it says ‘EADDRINUSE’ and crashes”; “git is giving an error”; “npm just says segmentation fault”.

He is doing things wrong. If he wants the students to use modern tools he first need to give a course on the tools and later another one on programming.

Otherwise he must not use modern tools (no git, no react) and use some simplified teaching environment (not ideal, but at least he will not be distracted by the tooling issues).

In my experience (I have to work a lot with Ph.D. students in science with very little IT expertise) the tools are always the issue, while the algorithmic thinking is rarely a problem, so probably a course on the tools is more useful than one on programming.

He must focus on tools that are not the fashion of the moment, so the terminal is okay, git is okay, React is not okay.

4 comments

This makes sense.

You don’t start woodworking by cutting a hardwood timber to length by eye with a circular saw.

You get familiar with the basics like a hand saw, tape measure, and some soft wood like balsa.

You’re first vehicle was _probably_ a bicycle or go-kart, not a truck or race car.

If you arent teaching the modern tools then you arent teaching the "marketable skills to get a job" which is increasingly the focus of education. Nobody cares about underlying principals anymore.
Somebody needs to care, or we end up with a society that doesn't know how things work at a fundamental level, which is also the bases for major innovations. Imagine LLMs coming into existence without anyone understanding the principals of linear algebra. Imagine making advances in physics or chemistry without underlying principles.
How TF do you get a segfault from npm?
Well it’s not uncommon to have Node segfault, especially when interfacing with native extensions of one kind or another. NPM is just a Node script. It runs a whole lot of other Node scripts as preconditions by default. Many of them, maybe even most, interface with native extensions of one kind or another.
OK, Node I can see. I suppose part of the point of the article is that a student doesn't know npm from node, nor how npm run works.

On the flip side, a core tool like node segfault commonly seems like a problem. Or at least a problem with poorly-written native extensions.

It depends where in the sciences they come from. Physicists don’t have much problem with abstract thinking, but biologists, maybe not as good (I used to help my biologist PhD student roommate write some Perl to crunch numbers). It reminds me of that xkcd comic https://xkcd.com/435/.