Conversation
Edited 9 months ago
tbh my problem is that C is too high level and rust isn't high level enough
3
1
0
@katka alright then let's bring the machine code monitor out....

....this still feels too high level..
2
0
1
@pasty well i'm writing asm right now and for work i write haskell so what i mean is

you can be more extreme
1
0
0
@kirby i mean i'm literally staring at a register monitor right now
0
1
2

@katka what makes C high level over assembly...

1
0
1
@pasty the way the compiler will shoot you in the foot with UB and non-obvious optimizations
1
0
1
(this is mostly a shitpost but it's also accurate for the kinda languages i work with)
0
0
0
@mar yes that's the joke
I use languages lower level that C and higher level than Rust and nothing in between
0
0
0

@katka undefined behavior is high level now?

1
0
0
@pasty @katka Well low-level/high-level is an antique notion but it's supposed to be that low-level is assembly with at most some macros but it's effectively like fancy hex editing.
And then high-level is when you have a compiler in the middle that's free to mangle your program.
(And C is quite awful at approaching low-level, see lack of native bitfields for example)
1
0
0

@lanodan @katka I don't really see UB (which, really, is just "program shits its pants when you're not careful teehee") as a high level feature because nothing about it is high level? it's not an abstraction, it doesn't make your life easier, it isn't really even a concept?

1
0
0

@pasty @katka Yeah, it's not UB, it's low-level of abstraction vs. high-level of abstraction.

So effectively high/low are like if abstraction would be a boolean.

Meanwhile C is kind of fun as it can both be used at system (bootloader/kernel/…) levels and applications (where OS is abstracted) level.

1
0
0

@lanodan @katka I'm not really sure how that relates to my argument sorry

1
0
0
@pasty @katka Well effectively katka pointed fun at the situation of compilers being a lot of UB, but it's not really the definition.

And even if you'd somehow get rid of UB, optimisations are still going to be non-obvious.
0
0
0