Hi hope this is the right sort of subject matter for this forum.
Those of you who had previous programming experience (not necessarily schooling/university) with other, higher-level languages, how do you feel assembly has improved your programming in general? Or, alternatively, if assembly was your first language and you've since learned others, how do you think it has coloured the process and your style in those languages?
Often you find people saying that it gives you a closer intimacy with "the metal" but, a 6502 is in some ways a radically different beast from modern architectures. I feel like if anything you'd have to cultivate a lot of discipline in regards to planning and program flow. With modern, statically-typed languages, you have a compiler watching your back to ensure you don't pass arguments of the wrong type to functions, and there are numerous methods of avoiding things which are practically a given in assembly programming, such as global variables and mutable state. I suppose this does actually tie in with being "closer to the metal" though, because you yourself are taking the role of the compiler/interpreter
Also, do you have anything to say regarding the reverse? Is there anything you took from higher-level languages (that mightn't be so obvious to someone who had assembly expertise only) and applied to your assembly programming which you felt was advantageous? I feel like this could be a more limited possibility, but it's a subject I find very interesting.
I was just curious, would love to hear your thoughts. Forgive any factual inaccuracies or wrong assumptions above. I also don't mean to imply that assembly and higher-level (e.g. oop, functional) languages are opposed, just that they often seem to require vastly different sensibilities and means-of-abstraction at times.
Thanks!
Those of you who had previous programming experience (not necessarily schooling/university) with other, higher-level languages, how do you feel assembly has improved your programming in general? Or, alternatively, if assembly was your first language and you've since learned others, how do you think it has coloured the process and your style in those languages?
Often you find people saying that it gives you a closer intimacy with "the metal" but, a 6502 is in some ways a radically different beast from modern architectures. I feel like if anything you'd have to cultivate a lot of discipline in regards to planning and program flow. With modern, statically-typed languages, you have a compiler watching your back to ensure you don't pass arguments of the wrong type to functions, and there are numerous methods of avoiding things which are practically a given in assembly programming, such as global variables and mutable state. I suppose this does actually tie in with being "closer to the metal" though, because you yourself are taking the role of the compiler/interpreter
Also, do you have anything to say regarding the reverse? Is there anything you took from higher-level languages (that mightn't be so obvious to someone who had assembly expertise only) and applied to your assembly programming which you felt was advantageous? I feel like this could be a more limited possibility, but it's a subject I find very interesting.
I was just curious, would love to hear your thoughts. Forgive any factual inaccuracies or wrong assumptions above. I also don't mean to imply that assembly and higher-level (e.g. oop, functional) languages are opposed, just that they often seem to require vastly different sensibilities and means-of-abstraction at times.
Thanks!