Hacker News new | ask | show | jobs
by jeff_marshall 3556 days ago
Too true - both the negative (who wants to program an abacus), and the positive (there is no magic in this program/device).

I feel like developers tend to favor the magic, due to the burden it relieves, without having to consider the negatives due to the way the business of software works.

2 comments

Not all developers, but I'd say that certainly the majority seem easily entranced by the "latest and greatest" especially in some areas of software; web development is the most prominent example to come to mind.
Web development has the most innovation because it is the least entrenched. It is not hard to write a bare-bones web application that produces output that can be read on browsers everywhere.

Compare that to the difficulty of writing a cross-platform GUI framework. It's not even easy to write bindings for existing GUIs because it's hard to wrap C++ in a way that doesn't have you manually managing memory or discarding other language features and philosophies.

This is why we're seeing the Electron approach to GUI apps grow. It's easier to write bindings for chromium and feed it HTML.

No, we are seeing Electron because Web hipsters never coded in anything else other than JavaScript.
Modern C++ pretty much avoids manual memory management (except in the few instances where you really want it) with smart pointers and STL.
Maybe it's because most of the apps or programs web developers make don't last more than a few years.
Oh god, this. So much this. I'm dealing with it right now in a hardware migration. Local iron to AWS. There's so much magic that we can't effectively debug errors. The new system is extremely vanilla and it throws errors where you would want them to. The old system silently swallows them and creates invalid data. I'm not even talking about php or mysql.

Magic is bad when it comes to replicability. I wish more people would take that into consideration when writing software. Your convenience for today is your headache for tomorrow. Be lazy. It's a good trait. But not too lazy.