- Joined
- Jun 25, 2018
I don't wanna bother catching every quote I saw in the last few pages, but: x86 is more than perfect to learn from. its odd that people are speaking against it at all. took C++ 1 and HTML/CSS my first semester; and x86 along with C++ 2 & DSA for my second. since then, I've read gameboy code with no issue, and have been capable of reading Cheat Engine's generated asm output for executables (granted, that one is in x86 still) with little to no issue.
hell, I don't know why people make such a big deal about learning one OS' functionality, and fetishize abstraction so much.
Oh wow, I only know how to page memory in windows thanks to VirtualAlloc... oh wait, I can instantly google search the mmap equivalent for Linux (yes, even before LLMS forced their way into search engines). And at what cost do we have these abstractions in high level languages such as C/C++? the more I read through Operating Systems: 3 Easy Pieces, and continue to learn the win32 api, the more I see that the C suites language features were the beginning of the end for what people bitch about Java/Rust/Python/etc now. Yea, x86 could do with some convenience features to decrease how verbose you have to be, but we have niggas literally stating that you can 'return' multiple variables via a struct (when that isn't even true) when x86 LITERALLY lets you """return""" as many values as you can through as many available registers you have at your disposal. LIKE GODDAMN NIGGA, NO ONE KNOWS SHIT ON WHAT PROGRAMMING EVEN IS ANYMORE. I honestly find Python devs who make impressive shit in their shitty language more respectable than C/C++ devs (and I primarily code in C++). Hell, I remember seeing early C code from 20+ years ago that basically looked more like assembly than what exists now.
/schizo (somewhat) TL;DR: Your learning path should start with either C++ or Java due to how much info there is out there for starter to intermediate projects, and cos you should get used to writing modular code (not Clean Code™ , modular). Then, learn x86 since its pretty straightforward. ANY language after that is a complete cakewalk (anyone who hypes COBOL/FORTRAN as uber hard languages are retarded niggers who were ngmi). I have never looked at NAND2TETRIS (plan to eventually), but learn x86, and you will easily understand any other asm. you genuinley have to have a sub 100 IQ to get confused at any implementation of ASM code if you have at least learnt ONE (and same goes for compiled languages if you learn C++/Java).
Also, I love vim/neovim hotkeys/modes and whatnot, but stick to Visual Studio (NOT CODE, 2022). Anyone serious needs to learn to properly debug programs - PRINT DEBUGGING IS RETARDED - and until Ryan Fleury is done with his debugger (and assuming its any good), Visual Studio has the most visually intuitive debugger out there. Also, learn how to properly load libraries from a bat file; or better yet, from the LoadLibrary function or whatever the Linux equivalent is if yer on there.
hell, I don't know why people make such a big deal about learning one OS' functionality, and fetishize abstraction so much.
Oh wow, I only know how to page memory in windows thanks to VirtualAlloc... oh wait, I can instantly google search the mmap equivalent for Linux (yes, even before LLMS forced their way into search engines). And at what cost do we have these abstractions in high level languages such as C/C++? the more I read through Operating Systems: 3 Easy Pieces, and continue to learn the win32 api, the more I see that the C suites language features were the beginning of the end for what people bitch about Java/Rust/Python/etc now. Yea, x86 could do with some convenience features to decrease how verbose you have to be, but we have niggas literally stating that you can 'return' multiple variables via a struct (when that isn't even true) when x86 LITERALLY lets you """return""" as many values as you can through as many available registers you have at your disposal. LIKE GODDAMN NIGGA, NO ONE KNOWS SHIT ON WHAT PROGRAMMING EVEN IS ANYMORE. I honestly find Python devs who make impressive shit in their shitty language more respectable than C/C++ devs (and I primarily code in C++). Hell, I remember seeing early C code from 20+ years ago that basically looked more like assembly than what exists now.
/schizo (somewhat) TL;DR: Your learning path should start with either C++ or Java due to how much info there is out there for starter to intermediate projects, and cos you should get used to writing modular code (not Clean Code™ , modular). Then, learn x86 since its pretty straightforward. ANY language after that is a complete cakewalk (anyone who hypes COBOL/FORTRAN as uber hard languages are retarded niggers who were ngmi). I have never looked at NAND2TETRIS (plan to eventually), but learn x86, and you will easily understand any other asm. you genuinley have to have a sub 100 IQ to get confused at any implementation of ASM code if you have at least learnt ONE (and same goes for compiled languages if you learn C++/Java).
Also, I love vim/neovim hotkeys/modes and whatnot, but stick to Visual Studio (NOT CODE, 2022). Anyone serious needs to learn to properly debug programs - PRINT DEBUGGING IS RETARDED - and until Ryan Fleury is done with his debugger (and assuming its any good), Visual Studio has the most visually intuitive debugger out there. Also, learn how to properly load libraries from a bat file; or better yet, from the LoadLibrary function or whatever the Linux equivalent is if yer on there.