5 ms·
Just the other day I was looking for a good NES IDE for my son who's interested in learning assembly and who has maxed out his PICO-8 skills. I think this would
by sdegutis 7y ago
Just the other day I was looking for a good NES IDE for my son who's interested in learning assembly and who has maxed out his PICO-8 skills. I think this would be a good way for kids to learn some niche skills like assembly that are still going to be needed in some careers but aren't as widespread as JavaScript or Python.
- mikepurvis 7y agoI feel like there's a lot of value in the whole "knowing how the sausage is actually made" thing. You'll still take collections and the garbage collector for granted 95% of the time, like everyone else, but at least you will have some sense what's going on under the hood if you've had to implement pieces of it manually somewhere along the line— and an actual working implementation, not just a toy one for some undergrad class.
- Waterluvian 7y agoHaving done no CS in school and jumping right into python and JS, learning how the sausage was made was immensely satisfying. I wrote a CHIP-8 emulator in Python and then a Game Boy emulator in Rust. None of those skills have been practically useful but were very educational.
- dangero 7y agoConfidence is immensely useful
- metasaval 7y agoUnrelated question: what resources did you use to write your CHIP-8 emulator? I've also been wanting to write one in Python for educational purposes, but haven't found any great resources yet in Python. Granted there are a few in C that I could try to translate over, but I'm curious to know what you used.
- Waterluvian 7y agoI looked at the Wikipedia page and a couple PDFs from Google front page. I stole a collection of games from someone else's project to use for testing. My goal was to get in the door so I picked a language I knew well and set some constraints: 1. Doesn't have to be fast. Just has to run. 2. Write opcodes as pure functions, passing in an array of memory and returning a new array of memory. This made it easy to test and debug. But also made it super slow. 3. DO NOT look at someone else's code. This forced me down a way slower path where I learned a whole lot more than I would have if I just reimplemented others' work.
- acomjean 7y ago>None of those skills have been practically useful Honestly you never know when something you are familiar with becomes important later. Something that was important to get it done may not be as important in later tasks. (My Operating Systems Class at university was greatly useful in my first job, not as much after) My dabbling in JS got me job programming timecard apps for blackberries and changed my work trajectory. This field changes so fast and you can't learn everything, so learning things you enjoy and help you get what you are working on now. That and data-structures and databases, you can never know enough about both.
- filoleg 7y agoFully agreed. Currently doing web dev as a daily job, and even most of my personal projects are all fairly high-level. However, I cannot under-appreciate how useful and eye-opening building my own CPU pipeline and learning assembly was back in college. Just the fact of understanding how it ALL works under the hood (even if it is just a simplified version of it) made me feel amazing and gave me a lot of insights I wouldn't have gotten otherwise.
- RodgerTheGreat 7y agoIt's a platform a good bit older than the NES, but you might have some fun with http://octo-ide.com http://octo-ide.com
- sdegutis 7y agoI found https://8bitworkshop.com https://8bitworkshop.com which seems to be just what we're looking for, but since it's a web app and we don't have internet at home, it's going to take some effort to get it working for him.
- ducttape12 7y agoCuriosity got me - why don't you have internet at home?
- sdegutis 7y agoIt's a huge time sink. We've gotten more done at home in the past 6 months since getting rid of TV and internet than we have in the past 6 years. And our family life is significantly more connected and alive than when we had TV and internet. I heartily recommend everyone try it for a couple months. No TV, no mobile data plan, no home internet, no radio. It's amazingly refreshing. Edit: another reason is that almost all social media is geared towards making you addicted to it and encourages hopelessness, and when you get rid of social media, not just deleting accounts but even to stop consuming it regularly, your attitude will just change for the better on a daily basis. Waking up will feel refreshing, not burdensome, like today is a new opportunity, not a new day of drudgery. Well, at least it will play a big part in this shift.
- tracerfett 7y agoI wish I could try this but I work from home and have recently taken on a side gig, all of which require internet.
- vpzom 7y agoso how are you, uh, posting on the internet right now?
- cbm-vic-20 7y agoThis guy has been streaming development of a NES game: https://www.twitch.tv/zorchenhimer https://www.twitch.tv/zorchenhimer