3 ms·
Maybe it’s just my pattern matching brain and current interests noticing this more, but there seems to be an uptick in content that bridges the knowledge gap be
by haswell 3y ago
Maybe it’s just my pattern matching brain and current interests noticing this more, but there seems to be an uptick in content that bridges the knowledge gap between assembly and higher level languages, and that’s been awesome for someone diving in at this later phase of my career.
As a self taught developer, I tried to learn “bottom up”, i.e. starting from low level concepts in my early teens. Everything I tried to learn bounced off of my brain, and what really got me going was picking up Python, and later Ruby (not rails) in the early 2000s.
This eventually grew into a successful career, and I spent most of my professional life not really knowing much more than the general gist of lower level stuff.
More recently, I decided to go back to trying to learn this and it’s like discovering a whole new world. 20 years of coding gave me great intuitions for higher level code, but left all of these unanswered questions about how it works at a lower level. And it’s making me fall in love with code all over again, because now it all makes so much sense, and answers these questions I sometimes forgot that I had. Taking this a step further and going down to the level of circuits is even more mind expanding, and has been a joy.
If you’ve been coding for a long time and this all seems hard to imagine breaking into, all I can say is: try again! You might be surprised at how much easier it will be now.
- begueradj 3y agoThat's a long brave path you had. From my experience, once you understand the "bottom/low level", you will go back to the "up/high level". I studied and used at university Assembly language and C (and C++) and I am not willing to write an e-commerce application with ASM 80x86
- haswell 3y agoA big part of my interest is because I want to tinker with electronics projects, and I’m curious about embedded work. I love that there’s an ecosystem of chips and boards that make this easy, but I realized I’d love to be able to crack open e.g. a broken Commodore 64 and know enough to troubleshoot and repair it. Or use smaller microcontrollers for use cases that don’t really require an entire OS. Beyond this, I think a lot of human thinking is inherently limited by the higher level abstractions we impose on the world, and so while I’d never attempt to write an e-commerce app in assembly, I’ve grown to appreciate the value of understanding the whole system and the wider set of options and deeper intuitions available to me as a result.
- begueradj 3y agoElectronics ... I understand you in this case.
- Semitangent 3y agoIf you have not encountered it yet, I highly recommend Ben Eater's 8-bit computer series (https://eater.net/8bit/ https://eater.net/8bit/). I don't remember any other piece of material which made me grok the deep underpinnings of CPU instructions as this. There was an almost surreal moment where my brain went "ooooooh, this is how a CPU instructions is just a complex network of switches with on/off states". Ben Eater's other material is also great, he's just a good teacher. Building on that, the "NAND2Tetris" starts, as the name suggests, with basic logic gates and packages these low level concepts Matryoshka-style into recursive boxes with the end goal of programming a Tetris clone. See https://www.nand2tetris.org/ https://www.nand2tetris.org/
- haswell 3y agoI’m deep down the Ben Eater rabbit hole and enjoying it thoroughly. His “Hacking a weird TV censoring device” [0] video is an incredibly fun watch, and what made me an instant subscriber. Currently working through his 8-bit series and planning to build one at home. - [0] https://youtu.be/a6EWIh2D1NQ https://youtu.be/a6EWIh2D1NQ
- ngcc_hk 3y agoOh … I bought one kit for my hotel q for 2 weeks. The rule relaxed and hence no time for that. Should get it out to do after dust for 2+ years
- danielvaughn 3y agoI've noticed the same, and I'm equally happy about it. I was also self-taught. I began teaching myself web dev around 2009 and have been doing it ever since. A few times here and there, I tried to learn the lower level stuff, but it's very daunting outside of an academic setting. In the past year, however, I've really tried to change my attitude. My 2024 resolution is to gain a baseline level of competency down to the assembly layer at least.