>want to be a professor in CS >hate OOP and most highly abstract data structures >prefer working with interpreters/assemblers instead Am I doomed to industry? I've heard that OOP is integral to CS research, but it's boring and tedious as shit >inb4 "hurr he doesn't understand so he hates it"
I took a shit ton of math including algebra, analysis, and graph theory well before I decided to study CS, so that's not the problem.
Modern CS isn't actually CS, most colleges are just training codemonkeys. Given that codemonkeys are minimum wage nobodies, if you give it a decade that will move off to self-study, trade schools, or some other shit.
At that point college CS will actually be CS again. And assembly and functional programming will be the relevant things, not OOP.
>Am I doomed to industry? For now? Yes. Just try and tied it over without becoming irrelevant.
also, > If you want advice regarding college/university or your career path, go to - Advice.
You can learn about asm and compiler and interpretor theory without going to college. It's called books and the internet
>CS research >interpreters/assemblers Dude, the 80s are over, programming language research is all about putting another abstract intermediate layer on top of C/Java/whatever so you can use the whole functional stuff for easy parallelization. Nobody cares about assembler anymore.
> I've heard that OOP is integral to CS research
Where the fuck did you hear that? Maybe in some super-specific fields or something.
You could take a mathematical approach to designing a CPU ISA (instruction set architecture), one that improves over all the junk we have today.
Intel ISA is revolting. 68K is better but too few registers for the compilers we have today. ARM wastes space with conditional codes.
I have done assembly programming in a lot of these and I can assure you these reek. Badly.
Even RISC-V is "more of the same" and gives me little confidence. We need something new, new thinking, new approaches.
That could be you.
>Get a better idea about how a computer works, so it isn't just "magic" >Learn more about how to think like a computer works. >By understanding code from a lower level, you can more eaily write and optimize code at a higher level
There are only upsides to learning asm, and there's no reason to not learn at least one. Literally only Pajeets will try to argue against this.
No one's arguing against people learning assembly, but using it in day to day work is not something that should happen outside of niche areas.
what are interpreters and assemblers like sempai~
t. code monkey in training
name was not for this board pls ignore
Those same "codemonkeys" make more than you ever will, straight out of college.
Two stupid things have been said in this thread "Minimum wage" and "CS" in the same sentence "Am I doomed to industry?" Translation: "Am I doomed to make assloads of money?"
Yes friend, yes you are
okay, majoring in CS != making shitloads of money straight out of school. If going into a development position, Some only start at 40k. Some start at 80k. Average is probably around 60k. It's really not that much nowadays if you think about it.
Oh look. Another dumfuk shitting all over OOP. And why? Because you find it "boring"? "Tedious"? "Distasteful"? "Gauche"?
Yeah, whatever you say, chief. I don't care if you took a "shit ton" of math. I think you're just to slow to grasp the concept. Or maybe you're basic, linear, pure math mind isn't ready for it.
Go ahead and stick with your basic first year bullshit, friendo. Maybe you can be a highly specialized professor stuck in lab deep under the campus soldering microprocessors with the shithead BA of video game design undergrads only there as a prereq. But if you want to program something more complex than a raspberry pi, you better start learning to love classes. What the fuck is better than OOP for anything? You can scream and cry and keep clutching onto C and asm like your favourite little toys. But one day, you will need to grow the fuck up., kiddo.
Actually, I don't think you're cut out for CS, m80. Why don't you do what the rest of Veeky Forums does and pretend to hate the field because you are "too smart" for it, or "above" it, when you are really just intimidated by things that are too abstract for you to grasp.
>OOP >More advanced
>And assembly and functional programming will be the relevant things >And assembly will be the relevant things >assembly will be relevant
Is this a new meme?
to be fair, OOP does tend to be a bit overhyped in CS education. It's a good way to structure stuff, but I've seen whole classes (required, 1st year) just on OOP. That's ridiculous. It's like 1 page worth of concepts.
>It's like 1 page worth of concepts
There's a lot more to OOP than java-style inheritance and members. I mean I don't think Java-style OOP is that good either, but your statement is pretty stupid, as there's a lot more kind of things ie various design patterns(and concepts uses in them), best practices, that kind of stuff. Plus it's not usually (as far as my experience was) a class *just* on OOP, but simply an intro programming class that uses an OOP language. You're still covering all the other programming concepts you'd get in a non-OOP imperative programming course. (although different than a functional or other paradigm course).
I mean look at the amount of concepts covered in other 1st year courses (ie calc I).
>OOP >research are you fucking retarded?
while my original statement was somewhat exaggerated, I will stand by the idea that OOP is overhyped. I never claimed it is just Java-style OOP either. Also, it is basically a fact that OOP doesn't factor into most modern CS research.
>Also, it is basically a fact that OOP doesn't factor into most modern CS research.
Yes, I whole-heartedly agree. I was actually Do I think it shouldn't be taught in 1st year though? No. It has its place. It's good for certain kinds of programming. Although functional programming should also be taught as well in 1st year. It's good to be aware of multiple paradigms, and languages are increasingly becoming multi-paradigm.
Assembly isn't important for being a professor, it is (or at least was and will be) important for being a teacher; and professors are required to be teachers for some reason.
OOP is shit, and the industry is losing interest. You need to read/watch around the subject more.
Assemblers are basically compilers, but for assembly languages.
Interpreters are mainly used for high level languages or scripting languages. Essentially they "run" uncompiled code.
You feed source code to an Interpreter. It converts that to some sort of "intermediate representation". It reads that and uses it as instructions to execute it's own code. The behavior ends up like the source code.
One of my profs does research on assembly. Specifically, live code analysis for dynamic type inference so you can do binary software verification. He's some kind of scary wizard who once tracked down a random X crash to a CPU microcode bug on a weird architecture I had never heard of, gives phrack articles as reading assignments, and will take points off your C programming assignment for every time you don't follow the GCC programming conventions to the letter, including unnecessary white-space, and going over 80 characters.
>assembly will be relevant lol what
So, since OOP isn't used in research, what commonly is? Functional programming? Declarative languages?
Whatever the hell you want. Usually code isn't even written, just math and psuedocode (so some kind of imperative language usually). Although I guess it depends on which area.