All the fun in computing happens when you figure out how to do something cool you're not supposed to be able to do.
https://mastodon.social/@falcon@mastodon.falconk.rocks/113784517935901980
=> More informations about this toot | More toots from hyc@mastodon.social
I think most people who learned programming from formal coursework probably have too many rules drilled in.
In my college asm class (EECS 381) one of the assignments was to write a software multiplier for MIPS3000. A buddy and I finished early and were just killing time in the lab, tweaking here and there to shave more cycles. We were neck and neck but then I figured out I could load a particular 32bit constant faster by just loading a nearby instruction into a register.
=> More informations about this toot | More toots from hyc@mastodon.social
Ordinarily, as a 32bit RISC, it would take 2 instructions to load a 32bit constant. But one of the instructions in my routine happened to have the exact bit pattern I wanted, and I could grab it with a PC-relative load in a single instruction, which saved one more cycle. My buddy couldn't figure out what I'd done, and finally couldn't match my code's performance.
I commented that bit explicitly before turning in the assignment. The TA wrote "you should not do this".
=> More informations about this toot | More toots from hyc@mastodon.social
People get too hung up on rules about programming. At the end of the day, code is just a sequence of bytes. Bytes are bytes. Types and other abstractions are for programmer convenience. When abstractions get in the way, or it's more convenient to ignore them, they should be ignored. (And of course, you must comment your code to show that's really what you meant to do and you know what you're doing.)
=> More informations about this toot | More toots from hyc@mastodon.social
On a related note - sure, I took all the formal coursework too, for my Computer Engineering degree. But I was already an experienced programmer before I got to college, while the majority of my classmates were learning to program for the first time. I think a lot of them struggled because they never spent a lot of time with it before. Class assignments were pretty meaningless; you needed real use cases to have real motivation and gain understanding.
=> More informations about this toot | More toots from hyc@mastodon.social
For me, I was writing games, game helper tools (how many of us wrote D&D character generators as teenagers?), game cheat tools, etc. I had personal motivation for learning, and applied the knowledge to my pet projects. Without that motivation I can imagine most of the lessons wouldn't have stuck.
=> More informations about this toot | More toots from hyc@mastodon.social
@hyc I'm sure it's possible to learn to program by taking a course, but anyone with the interest and the aptitude to be any good at it (and who had access to a computer) would already have been hacking and experimenting and teaching themselves. If it's in their nature you wouldn't be able to stop them.
If that curiosity and drive isn't there, a course isn't going to turn them into a programmer.
=> More informations about this toot | More toots from dentangle@chaos.social This content has been proxied by September (3851b).Proxy Information
text/gemini