Why do I have to learn x86 assembly for my CS degree??? I’m not a brainlet but I’m not austistic enough for all this
Lying makes little baby Jesus cry.
I think every programmer should have a rough idea how it works.
If you understand how things work "behind the scenes" then it will help you write more efficient codes
>>69754050Men, many of us learned mips, x64 seems a lot more relavent to me.
they should teach MIPS, not x86CISC is garbage
>>69754050Every book I read about programing low key tells you that every high level language is trash and that if you want good performance you have to learn assembly.Ive taken the route to ignore assembly until i need it,there are shit ton of other things to learn more important then 100 instructions and why our compilers are shit.
>>69754050>assembly teached on collegelmao.that's being done on high school.CS memers.amazing.
>>69754050Fuck I hated this class so much, and it was taught by a literal boomer faggot who hated trump, claimed pajeets were "great coders", and told everyone they should learn COBOL so they can get a job. Anyway OP the good news is that once you finish this class, you'll likely never have to do this shit again.
>>69754050It's not that bad + It's interesting to understand how early programmers did things. If you don't find that fascinating in itself then you don't deserve to have a CS degree.
>>69755221>It's interesting to understand how early programmers did thingsIt's really not though. In all honesty it's a massive waste of time. I took this shit last year and I already forgot everything I learned in that class.
>>69755131dumb ESL poster.
>>69754050>but I’m not austistic enough for all thisThen why do you think you deserve a CS degree?
Just make a python script that generates the assembly for you. EZPZ.
>>69754050>at&t syntaxtime to find a new college anon
>>69755672I for one prefer AT&T syntax
>>69755699classic stockholm syndrome
>>69754050We had to know MIPS on paper without computers or shit, exam was do this on paper and tasks werent much easier than ones from other classes. Good old times
>>69755672>>69755699>>69755815all the assemblers have different syntax, assembly syntax is garbage
>>69755699The only true syntax is the syntax of the holy book.
>>69754050> Why do I have to know how computers work?> t. computer scientist
>>69754050In a single asm unit you'll learn just enough to be able to debug your native code and understand the basics of your arch. Invaluable for most people, pointless for web designer pajeets.
I mean I'm on your side of it's bullshit that you must learn it because we had to go through it too. That mentality sucks. My guess is it's there so if you're part of that small percentage that actually runs into it on the job world. Even then, probably those who DO run into it probably enjoy assembly.
>>69754050learn Z80 assembly instead
>>69754050Because college is like an introductory course to everything. A small percentage of CS grads will go on to do embedded software / reverse engineering, and they'll need that shit.Also forcing you to learn that stuff gives you personal insight into "what's happening under the hood" like no reading assignment would.
>>69755202Im sure that happened
The whole point is understanding a closer abstraction from machine language, so you can better understand what further abstractions get compiled to.In part, since there's still machine language as the end product. It's just not efficient to try to read and write machine language yourself. Kinda puts modern arguments about code readability into perspective.
>>69754729>MIPSWhich one?There's like 7 different incompatible ISAs called MIPS.
>>69754050Learn it well and you may end up getting paid a fuckton of money to maintain some god-awful system that was never updated but is critical to some business operation. COBOL devs get paid six figures starting in a lot of places because of this.Also, if you're like me and do vulnerability research, it helps with writing exploit code from time to time.
>>69754624hello, future webdev.
>>69755202funny cuz it's the polar opposite irl
>>69755699>>69756119.intel_syntax noprefix ftwNo other used assembler uses AT&T syntax. Intel manuals and references use (obviously) Intel syntax and the suffixes sometimes change the instruction name too much to be trivially searchable. There is no significant benefit of AT&T syntax neither, it doesn't remove any confusion, ambiguity nor doesn't make anything more readable.
>>69754050>not a brainlet>doesnt understand asmok
>>69754050I just had an interview for a position where they asked a lot of behind the scenes stuff. Assembly included.What the fuck do you think CS should be ? Knowing python ? Knowing how to play with graphs and Dijkstra / Bellman Ford or Ford Fulkerson algorithm ?You should know how everything works from top to bottom. Your most important classes are anything related to algorithms, operating system and compilers, especially those last two.
>>69754050It's much simpler than higher level languages.You'll learn it in a week.
>>69759666using at&t makes regex syntax highlighting very easy to implement
>>69756141its called "informatics" here and its study of information: consisted of information theory, probability, signal processing, physics
>>69759848Slav country?Kod mene je isto "informatika".
>>69759837isn't not hard for Intel syntax neitheris there any other editor beside Nano that uses regex-based syntax highlighter?
>>69754050It's hazing, just like 90% of the rest of your CS degree. Better get used to it and being called a brainlet if you complain.
>>69754669I like more 6502 assembler desu
>>69754729Educational flavors of MIPS are good for getting a good basic grasp on assembly: subroutines, branches, conditions, bit manipulations, GPIO usage, low-level optimizations and motivations in compiler designs. BUT, unless you're going into some very specific embedded system development (I think networking hardware tends to use MIPS the most) you're going to be working on x86 or similar CISC ISAs. And, yeah, you'll probably be working in C, but it's a good idea to have an intimate understanding of what comes out on the other side of the compiler and assembler.
>>69755202COBOL is niche as fuck and by rights ought to have died in the 1960s, but aren't some banks paying top dollar for COBOL programmers because all the boomers are retiring or dying off, and they're too scared to port their shit off the mainframe out of fear of fucking up their general ledger?
Learning assembly because you're forced or for no reason is totally pointless and people should understand this. This also holds true for other subjects like assembly programming. It's painful for the student, they won't remember anything and they will have a horrible image of it . Instead give them a reason to learn it themselves
>>69763311it isn't for no reason at all. The reason is so that you understand something about how the sausage gets made, instead of your compiler or interpreter just being a magical black box that somehow makes the computer do what you tell it to. Also if you're debugging native code it comes in handy to be able to read disassembly. if you don't care and just want to be some webshitter writing JS all day, then why are you going to college in the first place?
>>69763565i totally agree with you but most students don't feel like assembly is useful to them. That's what i meant with "for no reason", i said it from the students point of view
I had MIPS32 Assembly (much less painfull than X86 :DDD) and i believe the reason is simply to have a rough idea of how low level and assemblers work. It was a feature in Computer Architecture I and II but not the main point.
>>69757296you say it like its hard to believe
>>69754050If you don't like learning about computers, why are you doing a CS degree?
>>69754050x86 is literally easier than C or C++. It's just like simple logic instructions. Writing it may be painful, but reading should not be hard, especially with a reference sheet and a pen and paper.
I'm learning MIPS right now. easy af
>>69759961>i just want a piece of paper desuJust like learning to program, or any actual computer science is hazing.
>>69763311This is the point a lot of people are missing here. In a 15 week course, with exams and holidays/snow days off you're not going to get anywhere near enough exposure to do anything interesting. No company is going to let you anywhere near their mainframe without intensive training or years of experience first. Yes, it's nice to see how it works under the hood, but FORCING students to learn this is a massive waste of time. But that's the problem with college in general, 80% of it is a waste of time but because every employer demands one schools have to do a dog and pony show to keep you there for 4-5 years when you should be done in 1-2 max.
>>69754050puh-fucking-lease. it takes maybe two weeks to pick up on the subset of assembly language required for a comparch/os/whatever course. Work harder. If it was easy, every asshole would do it. Half-assed shit like this is why we have so many brainlet webdevs shitting up the industry. Fucking hell. It's SUPPOSED to be hard.
>>69754110Does your country have something called "compilers", pajeet? No, you can't shit in it.
>>69754050This is where I failed outtwiceIt's funny too because looking back it's not really that difficult - I do wish we had learned MIPS or something instead of x86 though because it's sort of bullshit and bloated as shit
>>69755699i prefer AT&T because that's what I learned. they both suck, however; when your flavor choices are hot garbage and dogshit, you tend to go stick with whatever you survived the first time around.
>>69755962Nasm's is the best. Most readable without having to append letters to instructions or throw in symbols. Honestly, I have no idea why anyone is being taught in any other syntax when Nasm and Fasm are literally the only assemblers still being developed on.
>>69754729True chads learn SISC.
>>69755202We've all had a prof like that. Press F to pay respect.
>>69757472We used the MARS emulator if that helps.
>>69755240It's not a waste of time, you stupid twat. This is how every fucking field of anything works. It's always important to understand the development of the science from the early beginning to understand how it has evolved to now to be able to make any significant contribution to it's continued evolution. This is the view in any academic setting and guess where you get a degree. If you disagree with the philosophy of academia that's another level of retardation that I won't bother to argue with.
>>69759944>Isn't >not>neitherThree rights make a left, I suppose.
>>69765440>complains you can't get enough done to be valuable in 15 weeks. >also claims that you should be able to finish the education in 1-2, years Hmmmm....
>>69768389>hehe learn my outdated assembly language>hehe learn my upper level math while you're at itCollege is a meme. There, did I break it down for you enough, faggot?
>>69754729They taught MIPS at my school
>>69754050for real? All these pants on head retarded modules and you complain about goddamn asssembler? Just memorize the more common shit like loops, arrays, exponents and subroutines and youll be fine.
>>69766823Not OP, but I work with Java and C#. Will learning assembly really help me?Geniously curious, my father has old books on it.
>>69754050VAX assembly is way nicer
>>69754066>that gifFirst off youre a massive fag for using that format without animation. Second, that meme is literally meant for idiots who believe they're smart.
>>69754050What's the purpose of these instructions? From my limited experience with ASM, it simply seems to be printing numbers up to $0x63Also, can someone explain why $0x8049418 is being passed as an argument to printf?
>>69754050>Why do I have to learn the fundamental assembly language for most modern systems
>>69769507>why $0x8049418 is being passed as an argumentIts an address, since the type of a string is char *
>>69769279yes, it will help. you'll begin to pick up what is happening behind the scenes after just a few hours of reading the basicst. have to learn some assembly for my dissertation
>>69769279>>69770403i should also add that it will be painful at first if you've never taken a look at anything low level but stick at it i guess
>>69769159Yep you confirmed what I suspected. It's okay that you were too simple to pass assembly, anon. There are plenty of openings for webdevs.
>>69770775Don't web dev's earn more these days anyway?
>>69754050Why do you seem to think assembly is difficult? It's way easier than any programming language, just a lot more verbose.
>>69754050to understand how basic registers workbe happy you're learing x86 and not some arcane bullshit
>>69765440I learned a form of assembly in a semester.We had enough time to write our own escape codes for handling floating point processes
If you don't know x86 you are a stupid nigger and souldn't be allowed near a computer. Only retard monkey niggers don't care about how a computer actually works.
>>69760038>6502Ah, an anon of refined tastes.
>>69754050>not autistic enoughmfw I'm too autistic for CS, my social anxiety made me drop uni
>>69754069Though the first thing you do is come up with a convention about how you want to have 'functions' work. I remember thinking huh, really no advantage to my code vs compiled code since I'm structuring it all like a c program or something,
>>69754050Burnout 3 - Takedown, now that's a powerful piece of software. It burns the shit out of your PS2 and is THE most CPU and GPU intensive game on PCSX2's library, you need a minimum of a 4th generation i5 to play this game at full speed, and a that's at native resolution, if you want to play at 1080p, you're gonna need a Radeon HD 7970 or a GTX 1050 Ti, assuming you want to play with all the effects enabled. Whatever shitty program you'll write throught your life will NEVER be as good as Criterion Games' PS2/Xbox masterpiece, I'd even go as far as to say Burnout 3 - Takedown is a more impressive piece of software than the Linux kernel.
>>69771344>unoptimized piece of shit is impressive at all
>>69771042I dropped out because people wouldn't let me join their groups (despite the fact they were all writing Pajeet tier code and I was one of the few people getting A's/B's and writing decent code). Shit made me realize it was high school all over again with the social ostracizing and harassment because people judge my intelligence on how I look; and if it's still happening in college it's never going to stop. Also I got depressed because I thought I was finally going to make friends and get a girlfriend like all those college movies I've seen. Nope. I never got invited to any parties, and the few open/public ones people were having they'd give me the cold shoulder or give me looks like 'what the fuck are you doing here'. Fucking normies, I swear.
>>69754050Sorry brainlet, if you dont master the asm you will never be a true computing wizard. Stick with web dev
Anyone else learned y86 at uni ?
>>69771344I know this is a pasta of some sort, but at least use it when it's relevant.
Enjoy literally no portability with assembly
>>69771830>M-MUH PORTABILITYWhat are macros and using flat binary output.
>>69754050assembly is for making you realize why pointers even exists. on top of that, its for making you realize the power of the turing machine as assembly is very close, albeit the ability to arbitrarily address memory
>>69771593I guess I felt similarly.>start software engineering at uni>be excited, think I'll finally find people I can relate to>after first month realize most of them care to party>only a couple has actual interest in studies>they have gfs and me being too socially awkward never get friends>every semester get more lazy>look for excuse to quit>before classes stupid thoughts boggles my mind>heart starts beating faster the closer uni I am>stop near uni>turn back>walk alone in city for couple of hours, then go home>can't handle it after 2 years, stop going to classes entirely>fail classes, drop outI think I could handle it now, learned to not mind anyone's opinion and shut in voices in my head (stupid thoughts).But I'm 30 now, so, whatever... Computers always be my hobby thoAnd when my little brother starts his own life, I'll probably sort myself out of here
>>69754066Such a powerful image
>>69754050>why do I have to learn how a computer executes code for my CS degree?if you're even asking this question you need to drop your major immediately and go to a trade school or something. Also, if x86 is as deep as your school goes into low level stuff your degree is worth less than shit. Don't post on this board anymore you actual brainlet
>>69755274me want 6 figure starting income
I wish I learned x86 assembly in school.My course that used assembly used a fictional assembly language, SIC-XE, that was created by a guy for a textbook he wrote. The problem is that the book is over 30 years old with no updated version. My school is one of the very last to use this book, so there are no resources online for it.The author of the book did create a simulator, but it is incompatible with almost any modern system - so one of the professors at my school wrote a simulator for it, but it's trimmed down and doesn't support all of the instructions.
>>69769467Believe it or not the image is trying to tell you something about the cognitive biases people use to make decisions from day to day. They work fairly well but have a tendency to make the same kind of errors over and over again.Of course it's pretentious to imply science is always "right". But it is true doing science requires a lot more cognitive thinking to try and get it right. Relying on your intuition will make you right often but also make you prone to heuristics errors.
>>69771042I know this feel>hated every second of college>still pushed through for years>mental weakness caused me to literally come home and cry to my mom out of stress>fail a class senior year>can't bring myself to tell anyone>nervously dodge the question cause I know everyone will give me shit for it>drop out the following semester>now a neet that wakes up at 1 pm every day
>>69754050Because it gives you a better grasp of what what pointers, void, null, undefined, arrays, stack, overflows, registers, and so on actually mean. Which, if utilized properly, allow you to write better code, by avoiding silly mistakes such as using functions where you cannot control size of input (gets() for instance).
>>69755202COBOL is great you asshole.
>>69754050aim to pass the class, if you absorb some knawledge good, if not, not a big deal. If in some case you need it for future projects, online refreshers can help you catch up faster, than any sit in class can.
>>69754050If you've made it that far into the degree you shouldn't have any problems.
>>69772585That's computer engineering though
>>69771866Macros won’t do you any good if the instruction set isn’t the same or a different architecture entirely.
>>69774492false, computer engineers focus exclusively on lower level and hardware. any cs still needs a decent understanding of low level stuff. Computer science should be roughly 40% math (algorithms, structures, lambda calculus, other discrete math), 30% system related stuff (OS, assembly, hardware, etc.), 20% existing protocols/services, and 10% programming (mostly learn on your own).
>>69754050we had to do a project on pic32 microcontroller, it was pretty fun
>>69760263>you're going to be working on x86 or similar CISC ISAsARM is also very possible, is (mostly) RISC, and occupies a lot of the embedded space.
>>69765440>Yes, it's nice to see how it works under the hood, but FORCING students to learn this is a massive waste of time.Learning in COLLEGE about how things work is a waste of time in your book???I think you've missed the whole fucking point, both of learning and of your stupid little life, and should kill yourself with a rusty spork.
>>69754050this is CS.CS is not for you then.CS is NOT a programming major
>>69774697>Macros won’t do you any good if the instruction set isn’t the same or a different architecture entirelyThat's what the macros can be used for, you dumbass.