3 ms·
It should be again like this. I only truly understood C after I wrote my own fully functional Operating System (e.g. paging, interrupts, user mode, multitasking
by protoman3000 5y ago
It should be again like this. I only truly understood C after I wrote my own fully functional Operating System (e.g. paging, interrupts, user mode, multitasking and multicore etc.) and got it running on bare metal. Programming other things in C now often feels like when you beat the final level in recent Mario games ("Champions Road") and replay the core game again, it just flows is easy and highly enjoyable.
I'd recommend every serious programmer to write their own OS.
- vladharbuz 5y agoI've wanted to do this but had some trouble finding a good reference. Do you have any resources you can share? Thank you! :)
- ajxs 5y agoThe resource that got me started on this topic was: https://wiki.osdev.org/Main_Page https://wiki.osdev.org/Main_Page There's some decent tutorials available on here that provide a good introduction to the topic.
- jlg23 5y ago> It should be again like this. OTOH the time of jumpers and dip-switches for configuring hardware state is over; I am not sure I want to give any gaming company any chance to persist not only in some management layer of my computer but also in peripherals.
- offtop5 5y ago>I'd recommend every serious programmer to write their own OS. Um, I do extremely well working exclusively with higher level languages like Python and JavaScript. If we're talking about pure salary, a senior web dev will probably make more than the vast majority of embedded engineers. I'm totally nitpicking here, but I don't like the gatekeeping of saying you need to be able to use a low level language to be a programmer
- vladharbuz 5y agoWithout passing judgement on either side, I think the wording of your comment and the wording of the comment you're replying to speak for themselves. You mention you're talking about “pure salary”, while the comment you're replying to speaks about the enjoyment and knowledge brought about by understanding what's going on under the hood. You may well have very different yardsticks. Programming means different things to different people.
- offtop5 5y agoHow are we defining programming. As far as I'm concerned if I can create a small game using Unity, even if I don't really understand what's going on, that is programming. If an intern writes a small Python script to format CSV contacts, that's programming. Programming can be completely visual as well, such as Unreal blueprints. I don't suggest going that route because it doesn't open up many career opportunities, but it still is programming. Personally I've never been able to use a lower level language to get anything done. And I still have a fantastic career.
- LocalH 5y agoThat was a recommendation, not a gatekeep.