this post was submitted on 17 Oct 2024
1380 points (98.9% liked)

RetroGaming

19555 readers
194 users here now

Vintage gaming community.

Rules:

  1. Be kind.
  2. No spam or soliciting for money.
  3. No racism or other bigotry allowed.
  4. Obviously nothing illegal.

If you see these please report them.

founded 1 year ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 30 points 4 weeks ago (3 children)

I tried decades ago. Grew up learning BASIC and then C, how hard could it be? For a 12 year old with no formal teacher and only books to go off of, it turns out, very. I've learned a lot of coding languages on my own since, but I still can't make heads or tales of assembly.

[–] [email protected] 23 points 4 weeks ago (1 children)

Assembly requires a knowledge of the cpu architecture pipeline and memory storage addressing. Those concepts are generally abstracted away in modern languages

[–] [email protected] 12 points 4 weeks ago* (last edited 4 weeks ago) (1 children)

You don’t need to know the details of the CPU architecture and pipeline, just the instruction set.

Memory addressing is barely abstracted in C, and indexing in some form of list is common in most programming languages, so I don’t think that’s too hard to learn.

You might need to learn the details of the OS. That would get more complicated.

[–] [email protected] 7 points 4 weeks ago

I said modern programming languages. I do not consider C a modern language. The point still stands about abstraction in modern languages. You don’t need to understand memory allocation to code in modern languages, but the understanding will greatly benefit you.

I still contend that knowledge of the cpu pipeline is important or else your code will wind up with a bunch of code that is constantly resulting in CPU interrupts. I guess you could say you can code in assembly without knowledge of the cpu architecture, but you won’t be making any code that runs better the output code from other languages.

[–] [email protected] 9 points 4 weeks ago (1 children)

Try 6502 assembly. https://skilldrick.github.io/easy6502/

My favorite assembly language by far.

[–] [email protected] 2 points 4 weeks ago (1 children)

this page is great. starting right at "draw some pixels" in such a simple way just instantly makes it feel a bit more approachable!

[–] [email protected] 1 points 4 weeks ago (1 children)

If you can't get enough 6502 you can build your own http://wilsonminesco.com/6502primer/

I built a 6502 SBC on a breadboard years ago

[–] [email protected] 1 points 3 weeks ago

cool! I'd stick with commodore 64 if I ever actually do anything tho (very unlikely)

[–] [email protected] 5 points 4 weeks ago (1 children)

Sounds very similar to my own experience though there was a large amount of Pascal in between BASIC and C.

[–] [email protected] 5 points 4 weeks ago (1 children)

Yeah, I skipped Pascal, but it at least makes sense when you look at it. By the time my family finally jumped over to PC, C was more viable. Then in college, when I finally had to opportunity to formally learn, it was just C++ and HTML... We didn't even get Java!

[–] [email protected] 2 points 4 weeks ago

I had used like four different flavors of BASIC by the time I got a IBM compatible PC, but I ended up getting on the Borland train and ended up with Turbo Pascal, Turbo C, and Turbo ASM (and Turbo C++ that I totally bounced off of). I was in the first class at my school that learned Java in college. It was the brand new version 1.0.6! It was so rough and new, but honestly I liked it. It's wildly different now.