Hacker News new | ask | show | jobs
by jcelerier 2039 days ago
> Without Electron it would take me months of intense dedicated time, which I would rather spend on something else.

c'mon, getting the very basics of it in Qt took the better part of 15 minutes and less than 100loc - then it's mostly a menial "where to show which data"

https://github.com/jcelerier/fio-ui

5 comments

> c'mon, getting the very basics of it in Qt took the better part of 15 minutes and less than 100loc

I used to think this same way about things because I had so much time in the tools that I never looked at stuff from a perspective of people who have no clue.

Now that I have a friend going through coding schools and everything with zero understanding, everything I think is "just a 15 minutes of tinkering and you'll know all the bits you need" is actually 3 months of banging your head against the fucking wall.

Don't let your existing experience cloud your judgement.

There is wisdom in this comment. It's important to note, though, that the point about investment applies also to the tools and methodology that the blank slate programmers are being steered towards.

It's both interesting and exasperating that the modern JS ecosystem and its influencers have managed to recreate the experience of downloading SDKs and fiddling with configuration options and dealing with builds that sometimes fail, and that when they don't, build success means producing inscrutable blobs where View Source is rendered useless. On the whole, it's a community that has neglected to maintain the ecosystem's original strengths.

https://www.colbyrussell.com/2019/03/06/how-to-displace-java...

But OP isn't a newbie going to coding school, he/she already knows JavaScript and webdev in general ! Of course if you don't know programming at all it's harder (even then, 3 months seems like an awful lot - this year I teach programming to graphic design students and in ~15 hours they are already able to do neat things on their own with p5.js).

To give my own experience, I'm almost exclusively a C++ coder but had to do two Web projects earlier this year, a React one and a custom one, and even though both times it felt like eating nails, it didn't take more than a day to "get in" ; I'm confident that it's be the same no matter the language except maybe APL and derivatives :)

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.
> 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.

It might be 15 minutes for you, because you already know and used Qt.

I can almost guarantee you that an average frontend developer (web) would not be able to do that.

I wouldn’t say just web developer, but average programmer unfamiliar with Qt’s stack.
This code genuinely looks simple. Can you recommend a good resource for getting started with Qt? Also, is this just for desktop development or is there a relatively straightforward to make it cross-platform compatible? If I can build one Qt app and export it to iOS and Android then I'd much rather do that than Electron.
It's not only that, it is also leveraging the very rich ecosystem built on html and js