Hello from North Carolina

Come in and say hi. Let us know a little about you and where you heard about the Commander X16 or this forum.
Chad Windham
Posts: 4
Joined: Mon Nov 23, 2020 9:37 pm

Hello from North Carolina

Post by Chad Windham »


Stumbling across this is one of the happier moments in my life. I'm a professional web/app dev for 3+ years now with no computer science background (I went through a coding bootcamp) and I've been struggling to find different ways of "teaching" myself computer science. While I've found lots of great resources and have started toying with the idea of fiddling with assembly on the raspberry pi, I've been jealous of everyone that "got started" on all these old systems from the 80's where you "had" to use BASIC or assembly. This is literally a dream come true for me!

User avatar
desertfish
Posts: 1097
Joined: Tue Aug 25, 2020 8:27 pm
Location: Netherlands

Hello from North Carolina

Post by desertfish »


That is great to hear.

It's how I started as well (as a kid), on the Commodore-64 in the mid 80's  first basic but quite soon assembly.

Later, assembly on the Amiga and then C -> C++ -> Java and Python -> C# and Kotlin (present time).

SlithyMatt
Posts: 913
Joined: Tue Apr 28, 2020 2:45 am

Hello from North Carolina

Post by SlithyMatt »


"Learning Computer Science" is a pretty broad goal and, short of getting an actual degree, is difficult to quantify. If you want to learn the basics of computer science, like why languages do what they do, there a lot of things to explore. A lot of great content on YouTube, actually, as good as any University lecture. Chances are, coming from web stack straight into 8-bit assembly, you'll be hopelessly lost. You may want to try gradually stepping down your level of abstraction. Build a console-based program with Python, then try to do the same thing with C. Learning the different languages and seeing how they deal with data should help you connect the dots. If you want to press further down the ladder of abstraction, then try assembly. Doing ARM assembly for a Raspberry Pi is not the best idea, as that is a platform designed to have many layers of abstraction between bare metal and userspace. The X16, however, is a perfect platform for learning assembly. It was designed to have you directly access everything, not depend on a big operating system and countless drivers and services.

Perifractic
Posts: 511
Joined: Sat Apr 25, 2020 4:53 pm

Hello from North Carolina

Post by Perifractic »

Welcome!
mrdoornbos
Posts: 39
Joined: Sun Sep 20, 2020 12:04 am

Hello from North Carolina

Post by mrdoornbos »


Where in North Carolina? I'm just north of Asheville.

User avatar
Cyber
Posts: 482
Joined: Mon Apr 27, 2020 7:36 am

Hello from North Carolina

Post by Cyber »



On 11/24/2020 at 9:13 PM, SlithyMatt said:




Doing ARM assembly for a Raspberry Pi is not the best idea, as that is a platform designed to have many layers of abstraction between bare metal and userspace.



I have not dug into many assemlies yet, but wait. Are you saying that in some systems (like RPi) I will not get to the lowest programming level, even if I'm coding in assembly?

SlithyMatt
Posts: 913
Joined: Tue Apr 28, 2020 2:45 am

Hello from North Carolina

Post by SlithyMatt »



8 minutes ago, Cyber said:




I have not dug into many assemlies yet, but wait. Are you saying that in some systems (like RPi) I will not get to the lowest programming level, even if I'm coding in assembly?



It depends. You can create an assembly program that runs entirely within Raspbian userspace, just like you would with C. But if you are looking to get all the way down to bare metal, you can do that, too, but the platform is not meant for that, so it will be an exercise in frustration more than anything, unless you were actually trying to create your own custom kernel. Either way, the experience of writing in ARM assembly for a complex (it's small but INVOLVED) system like the RPi will be a far cry from a simple system that's meant to be an assembly programming target like the X16 or any other 8-bit system.

rje
Posts: 1263
Joined: Mon Apr 27, 2020 10:00 pm
Location: Dallas Area

Hello from North Carolina

Post by rje »


Welcome, Chad!  You'll find a continuum of fans here, ranging from hardware nerds to business nerds, and everynerd in between.  There's a place for you!

Chad Windham
Posts: 4
Joined: Mon Nov 23, 2020 9:37 pm

Hello from North Carolina

Post by Chad Windham »



On 11/25/2020 at 5:59 PM, mrdoornbos said:




Where in North Carolina? I'm just north of Asheville.



Smack dab in Charlotte actually.

Chad Windham
Posts: 4
Joined: Mon Nov 23, 2020 9:37 pm

Hello from North Carolina

Post by Chad Windham »



On 11/24/2020 at 2:13 PM, SlithyMatt said:




"Learning Computer Science" is a pretty broad goal and, short of getting an actual degree, is difficult to quantify. If you want to learn the basics of computer science, like why languages do what they do, there a lot of things to explore. A lot of great content on YouTube, actually, as good as any University lecture. Chances are, coming from web stack straight into 8-bit assembly, you'll be hopelessly lost. You may want to try gradually stepping down your level of abstraction. Build a console-based program with Python, then try to do the same thing with C. Learning the different languages and seeing how they deal with data should help you connect the dots. If you want to press further down the ladder of abstraction, then try assembly. Doing ARM assembly for a Raspberry Pi is not the best idea, as that is a platform designed to have many layers of abstraction between bare metal and userspace. The X16, however, is a perfect platform for learning assembly. It was designed to have you directly access everything, not depend on a big operating system and countless drivers and services.



Hey thanks for the advice, you're spot on in every way. I've been at this for a while actually and have done all the things!


  • EdX is the best free online video based stuff I've found, plus the speaker acts likes he's on crack so it never gets boring lol


  • Code the Hidden Language of Computer Hardware and Software is a book that has been great for starting from absolutely nothing


  • Inside the Machine is a book that is awesome but not for starting from scratch, you gotta know some stuff first


  • Haven't messed with Python much, but have created various CLI's via Node, Ruby and Rust


  • Also a huge fan of shell scripting (Bash in my case)


  • Currently fiddling with the Rust language more and more, playing with libraries that interface with openGL to try and make some crappy 2D games


You're very right about assembly not being great on the pi, I fiddled with an Arduino 3+ years ago and was pleasantly surprised how easy it was to program (thought it would be harder going into it). I don't really have that anymore but I do have a pi lying around which is why I started seeing about fiddling with that for some basic assembly stuff. I'm probably gonna put that on hold now though and just wait for the X16 release, since it is literally everything I've been wanting.

Post Reply