asciilifeform: ons subsystem he designed beams back "hello world" after an almost-aborted launch, a navigation jet which misfired, and the solar panels sustained some damage by space debris. normally, it's unnecessary to have confirmations of basic operations, but it makes perfect sense under C.'
asciilifeform: 'it's appropriate to make a machine print "hello world" to verify that everything works after all the mind-boggling nonsense has interfered with the real purpose of a computer, and you never know which part of booting up will fail due to a minor bug. the delight in a C programmer's eyes when his machine thus booted typed "hello world" back at him would probably parallel that of a Common Lisp programmer when the satellite communicati
asciilifeform: there does not exist such a thing as 'a c program', even the schoolbook 'hello world' relies on a megatonne of os crapola simply to load and produce human-readable out.
asciilifeform: arguably more different than nintendo vs x86.
asciilifeform: even gcc-to-bare-mips is quite different animal from gcc-to-x86-linux
asciilifeform: so, if we said 'this here x86-64 asm is canonical bignumatron', it will be quite useless to phf with his armhf box, or whatnot.
asciilifeform: but C remains popular not merely because 'c compiler is the first thing to be ported to any new iron' but also because it is 'lowest common denominator.'
asciilifeform: e.g., anything pertaining to bignums - as hopefully is abundantly clear from the example.
asciilifeform: as per the immediately previous thread, some operations are actually SIMPLER, conceptually, to express in x86 asm than in c !
asciilifeform: now also, the effect of 'babelization' is instructively pertinent.
asciilifeform: but in all cases the idiocy is cumulative.
asciilifeform: now ~how much retardation to create himself~ is often within his control, and sometimes he can manage a 0
asciilifeform: thing is, 'right way to do things' is not in practice available to engineer, who always and ~without exception labours inside a cage made of his predecessors' retardation.
asciilifeform: we also have things like shift-with-carry,
asciilifeform: because we have this great thing called 'adc', add-with-carry.
asciilifeform: ( we are on a 32-bit box in this example ) and we add 0x12345678AABBCCDD , a 64-bit int, to another 64-bit int, to get a 128-bit result.
asciilifeform: well let's say that we redefined int as 64b. then the headache would simply be 'why does c not give us the 128-bit mul result that pentium happily disgorges when we mul rax, rbx'
asciilifeform: ^ this is a personal hatred of asciilifeform's, when dealing with bignumatrons
asciilifeform: from comments, '...there are many processor features that are not directly available in C even though they are available in a wide variety of processors (the overflow flag is a prime example). A similar situation that comes to my mind now is that 32bit*32bit multiplication results in a 32-bit integer in C even though most processors yield a 64-bit result...'
asciilifeform: d 32-bit even though pointers became 64-bit. The problem now is that transformations that assumed integers and pointers to be the same size don't work anymore, because now their point of overflow is different.'
asciilifeform: e.g., 'Pointer arithmetic. In the good old times, an int and a pointer used to have the same size. People happily used ints as array indices. Array indexing is just pointer arithmetic, and in some architectures (like x86), you can often perform the pointer arithmetic plus load in a single instruction. Then came 64-bit architectures. For reasons I don't really get (compatibility?), on x86-64 and other 64-bit architectures ints remaine
asciilifeform: even if the peanut gallery has shat all over it.
asciilifeform: the issue in subj link is quite real though.
asciilifeform is out of telepathic-psychoanalytic pills, is ill-equipped to answer the q of what 'c programmer's concept of identity' may be.
asciilifeform incidentally currently cpp's for money, and has much that could be said on the subj, but naggum already said it
asciilifeform: at least the cpp folk are - typically - aware that their retarded horror has broad swath of vendor-specific behaviours and miscellaneous strange.
asciilifeform: as opposed to 'in unix' or 'in winblows'
asciilifeform: you'd be surprised, there are folks who are convinced that they've been 'programming in c' for 30+ yrs.