1
*(int*)pointer_param = bar;
In the above code the two * operators do two different things:1. Converts variable type to pointer.
2. References value found at address.
What was the historical reason for using the * operator for both things? Memory? Is it easier to write a compiler for? Is there something I'm missing?
EDIT:Code, also, It seems like a lisp version would be much easier to write a compiler for and to write; i.e.
(define (address-ref (float_pointer_cast pointer_param)) bar)
Is there some reason that the C-version is easier to write a compiler for/optimize than the lisp?
Instead I'd like to ask what's the longest you'll let a function get in a given language before you break it up? Why?
I have very little experience coding commercially, but I try and never let any function get >1 screenfull, which is 50 lines for me.