Files
scrape_r_rational/data/cache2/6axnkd.md
T
2024-12-23 17:35:40 +08:00

8.4 KiB

[RT] [HSF] Programmer at Large, Chapter 11: Does that work?

Post:

Link to content

Comments:

u/arenavanera [+7] *

I like this world a lot, and I'm enjoying the small slice-of-life vignettes, but after 11 chapters I'm starting to get a little antsy for conflict. I'm hoping that either Kimiko's non-centrality or the game theory simulations turn into larger problems soonish.

u/DRMacIver [+8] *

We'll explore the problems, but it's mostly going to continue to be low-conflict slice of life, sorry.

u/failed_novelty [+7] *

I'm very curious about what their 'modern' programming languages look like. Obviously, they've grown and changed as time went on, and they have techniques (and artificial aides) we don't have presently. But it really seems like 90% of their job is just thinking, which seems to be a pretty sweet deal if you can get it.

u/DRMacIver [+5] *

I'm very curious about what their 'modern' programming languages look like. I'm kinda leaving it deliberately underspecified because I don't feel competent to predict the evolution of programming languages accurately beyond the very near term. Roughly the idea in my head (which should be considered more "author headcanon" than canon) is that rather than having a small set of languages, they have a whole "tree" of languages which start from simple cores and compile down to the next level, with an awful lot of formal verification and analysis happening at each translation level, and an awful lot of focus on interoperability standards. It would be absolutely maddening to work with unassisted, but fortunately they don't ever work with it unassisted. But it really seems like 90% of their job is just thinking, which seems to be a pretty sweet deal if you can get it. This too can be yours for the low low price of 10,000 years of toolchain development. ;-)

u/selementar [+2] *

absolutely maddening to work with unassisted, but fortunately they don't ever work with it unassisted Curious case about the languages available to us: Lots of work is done in C transparently, i.e. one almost never has to go to the level it compiles into (machine codes, represented as assembly code). Then there're interpreted languages / VMs, and one almost never has to go to the C/CPP-representation under them. And recently some made translated languages on top of both (1) (2), but didn't entirely manage to organize toolsets for the transparency, i.e. if something goes slightly wrong, there is still a need to go into the underlying representation. The lesson is here is not clear, but it slightly suggests that making a translated language is cheap, but making a toolset to avoid dealing with stuff it is translated into is hard and expensive. And then there's the point of actually spreading the learning of a language, and of how best to use it; a notable example in scripted languages is perl as compared to python: in a way, perl could be used about as conveniently as python is (with a little less sugar), but it did not nudge toward those practices, and lots of perl code thus became write-only code.

u/Jello_Raptor [+2] The Last Tool User*

The issue here is mostly precision of semantics and correctness of conversion. Many languages, especially older ones, don't have a precise formal semantics that tools can work with, or use system quirks that are incredibly difficult to model. Even then we're seeing some progress with formally verified compilers and the like. If you have correctness, then the problem becomes performance, and things like linear type systems can help with those when they start becoming more prevalent.

u/nicholaslaux [+5] *

Why are PTYs a memetics hazard? Just because explaining them take a lot of explanation time for little to no benefit?

u/sparr [+6] *

I'm guessing this is related to tvtropes/Wikipedia tab explosion.

u/gryfft [+14] *

My guess is this is it, since learning that PTY stands for "pseudoteletype" begs the question "what is a teletype" and you pretty much inevitably wind up learning the history of early time-sharing systems, the rise of glass TTYs, the history of terminal emulation and the properties of PTY devices as they are exposed through and used by POSIX-compliant systems ("What's POSIX?" asks Arthur and the can of worms goes on.) It's all interesting history and useful for modern programmers using POSIX systems, but would probably eat up the rest of Arthur's afternoon without getting them closer to solving their problem.

u/PeridexisErrant [+5] put aside fear for courage, and death for life*

modern programmers using POSIX systems The juxtaposition of modern and POSIX would probably eat the reminder of Arthur's voyage, never mind an afternoon.

u/selementar [+3] *

Hey, the standards are still useful! For example, there're a few reasons some distros switched from bash as the default /bin/sh to an "arbitrary fast POSIX-compliant shell". ... Sorry for the formatting overload.

u/PeridexisErrant [+3] put aside fear for courage, and death for life*

For me, yes. For Arthur... maybe not.

u/gryfft [+3] *

Which is why I stipulated "modern," which I intended to mean the 21st century (that was probably unclear.)

u/sparr [+2] *

I was so happy on so many levels when Ubuntu switched to dash. The number of bashisms causing breakages in packages that needed to be fixed were a BONUS, not a cost.

u/nerdguy1138 [+3] GNU Terry Pratchett*

It's a really good idea to warn about the possible wiki-walk beforehand!

u/Gurkenglas [+6] *

It's unlikely that a random one of 114 interesting things will be the culprit, so he should look at others before expending political capital on checking this one.

u/over_who [+5] Aleph you are going to die*

It's unlikely that a random one of 114 interesting things will be the culprit, so they should look at others before expending political capital on checking this one

u/MoralRelativity [+2] *

Looking forward to learning Go#.

u/monkyyy0 [+2] *

Its go with all the bullshit that c# has

u/BadGoyWithAGun [+2] *

Be honest, how much of this series is just self-insert of the main character by having him scoff at programming practices you have an aversion towards? "everyone is autistic and a gendersnowflake" != "rational fiction"

u/heiligeEzel [+1] *

Errrr... Only the main character is autistic -- the others are significantly more well-adjusted. As for the gendersnowflake... it seems like a pretty natural progression of culture that we just collectively stop caring about gender. Once you drop all the biases that people of a certain gender are likely to have certain characteristics, what's the point of keeping the pronouns?

u/sephirothrr [+1] *

What, you didn't enjoy the author shilling his own products that apparently will go on to have ~150 years of popularity?

u/selementar [+1] *

"Temperature Control Feedback Regulation" ... ^(something)-sharp ... openssh!? Clearly missing a "trash"-like tag. On the other hand, "Fragility: High" is not surprising. But a general practice for such code is to rewrite it.

u/GopherAtl [+1] *

But a general practice for such code is to rewrite it. eeh. In a contemporary software development shop, yes, absolutely. The protag is not,primarily, a software developer, though; they are more of a software maintenance engineer. Even in contemporary reality, programmers who maintain legacy enterprise software systems, systems that major corporations depend on, this "if it ain't broke don't fix it, in fact, don't even look at it funny" rule is often effectively law. And that's just when large amounts of money are at stake - when people's lives are at stake, you don't go tearing down essential bits of code that've worked reliably for decades just because they're ugly.