[COFF] [COFF from TUHS] Re: yet another C discussion (YACD) and: Rust is not C++

segaloco via COFF coff at tuhs.org
Wed Feb 1 11:50:05 AEST 2023


COFF'd

> I think general software engineering knowledge and experience cannot be
> 'obsoleted' or made less relevant by better languages. If they help,
> great, but you have to do the other part too. As languages advance and
> get better at catching (certain kinds of) mistakes, I worry that
> engineers are not putting enough time into observation and understanding
> of how their programs actually work (or do not).

I think you nailed it there mentioning engineers in that one of the growing norms these days is making software development more accessible to a diverse set of backgrounds.  No longer does a programming language have to just bridge the gap between, say, an expert mathematician and a compute device.

Now there are languages to allow UX designers to declaratively define interfaces, for data scientists to functionally define algorithms, and WYSIWYG editors for all sorts of things that were traditionally handled by hammering out code.  The concern of describing a program through a standard language and the concern that language then describing the operations of a specific device have been growing more and more decoupled as time goes on, and that then puts a lot of the responsibility for "correctness" on those creating all these various languages.

Whatever concern an engineer originally had to some matter of memory safety, efficiency, concurrency, etc. is now being decided by some team working on the given language of the week, sometimes to great results, other times to disastrous ones.  On the flip side, the person consuming the language or components then doesn't need to think about these things, which could go either way.  If they're always going to work in this paradigm where they're offloading the concern of memory safety to their language architect of choice, then perhaps they're not shorting themselves any.  However, they're then technically not seeing the big picture of what they're working on, which contributes to the diverse quality of software we have today.

Long story short, most people don't know how their programs work because they aren't really "their" programs so much as their assembly of a number of off-the-shelf or slightly tweaked components following the norms of whatever school of thought they may originate in (marketing, finance, graphic design, etc.).  Sadly, this decoupling likely isn't going away, and we're only bound to see the percentage of "bad" software increase over time.  That's the sort of change that over time leads to people then changing their opinions of what "bad software" is.  Look at how many people gleefully accept the landscape of smart-device "apps"....

- Matt G.


More information about the COFF mailing list