Hacker News new | ask | show | jobs
by _odey 2038 days ago
From your GH profile I see you're quite familiar with C++ development. Personally I'm not, at all, I'm barely comfortable enough with installing Emacs from source. Considering the time I need to dedicate to my dayjob and the limited amount I have on the weekends I'm not exagerating when saying it would take me months to reach and level where I would be comfortable developing something in Qt. Not impossible, of course, just time consuming.
1 comments

> Personally I'm not, at all, I'm barely comfortable enough with installing Emacs from source.

sure - but to give you an example doing something like that is the kind of project that I'd give to beginning computer science students that know pretty much nothing outside of for-loops and variables, and I know from experience doing that every year that they'd get it done in a few weeks, including learning enough of Qt to achieve it. So if you have existing programming knowledge it should not take more than a week, even without knowing C++.

I have not taught webdev folks C++, but I have taught brand-new C++ programmers just basic things for an intro course. I think it's easy to forget how hard it is to pick up for beginners except for the handful of people who have the ability to "think like the abstract machine".

I think folks who are steeped in the webdev stuff and UI don't always grok languages like C++ or its many footguns as easily as one may suspect. fwiw I feel the same way when I have to do any web stuff (i.e. out of my element). C++ may seem easy, especially when using a framework like Qt, but students tend to get really overwhelmed by all of the rules to avoid the language's pitfalls (e.g. the GSL rules, abseil's tips, Scott Meyer's books and so many other authors, etc).

Perhaps if one is a great teacher, the pedagogy can introduce these things in a tolerable progression. I found as long as students stuck to value semantics only they got it, but as soon as they used a framework that dealt in references / pointers it was a real step function in difficulty. Thinking about the lifetime pitfalls and related UB really ratcheted up the mental load, and I was not really trained how to teach effectively (like most grad students).

> I think folks who are steeped in the webdev stuff and UI don't always grok languages like C++ or its many footguns

It's not specific to web developers. "Grok" has a meaning (and C++ a beastliness) that precludes most C++ programmers from being able to be described as "grokking" C++. Most C programmers don't even grok C, and as far as feats go, it's one that's many times smaller than the one discussed here.