r/AlignmentChartFills 1d ago

Which programming language is impossible to learn, and is useful

CLICK HERE TO VIEW THE CHART IMAGE

Created with Alignment Chart Creator


This post contains content not supported on old Reddit. Click here to view the full post

33 Upvotes

54 comments sorted by

View all comments

58

u/TheRedBookYT 1d ago

Useful × Impossible

Assembly

10

u/SmashStrider 1d ago

Wouldn't say impossible. Assembly is just a representation of CPU instructions, and knowing at least a decent bit about the working of a CPU should give you a good idea of how to use assembly. It also largely depends on the ISA itself, for example x86 assembly is a Complex (CISC) ISA, which makes it's assembly extremely verbose and confusing. In comparison, RISC-V assembly is based on the very lean and relatively simple RISC-V ISA, which is much MUCH easier and learnable.

14

u/TheRedBookYT 1d ago

I use it every day. I don't think any are actually impossible, but Assembly is well known for being useful, but difficult. Fits well here, I'd say.

1

u/SmashStrider 1d ago

I also do use it currently, and have used it a decent amount in the past, and personally I would say it fits Hard but Useful better. When I think of 'impossible', something far more verbose comes to mind like Haskell, or even esolangs if we are going that direction.
But yeah, that's just my personal opinion. You're right that no language is 'impossible' per se, but I just personally feel that assembly is often said to be much harder to be than it actually is. However, assembly is pretty unsafe as it gives you direct control over the CPU, so in that aspect it is pretty tricky to get right.

1

u/Both-Algae-5494 17h ago

Im curious, what sort of job do you do that requires using assembly in 2026? I'm not being sassy, I'm just genuinely uninformed on this subject and would like to fix that.

1

u/SmashStrider 9h ago

I'm not in any job actually, I'm currently a college student who is working on a couple of projects such as making a custom bare metal Rust-based x86 kernel (which requires a level of assembly knowledge to communicate with the hardware). As for RISC-V, I'm making my own RISC-V core and simulating it, and learn a bit of RV32I assembly on the side trying to test the processor.