[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y ] [Search | Free Show | Home]

Learning Assembly and C in uni right now

This is a blue board which means that it's for everybody (Safe For Work content only). If you see any adult content, please report it.

Thread replies: 15
Thread images: 4

File: in this moment.jpg (128KB, 1920x1080px) Image search: [Google]
in this moment.jpg
128KB, 1920x1080px
Uni just started and we have to learn Assembly and C because they form the basis of hardware communication with OSes and because of that its for some reason important to know them so you know how everything works

I kinda get the logic, my professor said having 10 years of java work experience doesnt mean shit and doesnt mean you are a good programmer

ANYWAYS, what stuff should I do to prepare for these? I heard C and assembly are both ultra cancerous and super annoying to learn. How do I prepare
>>
>reddit spacing
>retarded opinions
>fell for the college meme
sage
>>
File: distraught tails.png (206KB, 364x346px) Image search: [Google]
distraught tails.png
206KB, 364x346px
>>62159474

shut the FUCK up idiot
>>
>>62159381
bumpo
>>
>>62159614

dont ignore me cuz im a redditor

this subreddit sucks anyways
>>
>>62159381
C and ASM are not cancerous to learn. C is a very simple language that tries not to do too much for you so you get a grip and learn it's important to make what's most efficient for your use case. Sure, there are libraries and the standard library is great, but you're encouraged to create your own solutions to your own problems.

For C, go with K&R. It's a great book coauthored by one of the creators of C, Dennis Ritchie. For ASM, I'm afraid I don't have much to tell you. If you know how machines work and the basics of computer architecture, just grab a reference manual for your target architecture and start memorizing instructions.
>>
>>62159381
bump for interest
>>
C and asm are important because they are both small and difficult languages to use well. If you want to develop a program, most of the abstraction has to happen in your head or on paper, not in the code. This forces you to think in terms of abstractions and algorithms, making you a better software developer in the long run. It's like making furniture with hand tools - you have to plan your cuts to be efficient. If you carry that learned efficiency into a project using power tools, you will be a better woodworker than if you started with power tools.

Another way to think about it is that c and asm, like hand tools, are very precise. If you want to build a house, you can make the walls very quickly with power tools. Precision is not as important. A millimeter here or there doesn't matter much for a wall that's 2m tall. On the other hand, sometimes you need to use chisels and shims to make a door or window open correctly. High level languages are like power tools. It makes sense to use them when you need to complete a job quickly, but if you need to make something that absolutely has to work a certain way, it makes sense to do it slowly with precise tools.
>>
File: 1462142021616.png (201KB, 500x429px) Image search: [Google]
1462142021616.png
201KB, 500x429px
>>62159381
C is a pretty difficult language to learn if you're new to programming. It involves fundamental paradigms and concepts of computer science that would take a good 30 years of innovation and philosophising about before people would realize they didn't need.
What really doesn't help that is that the syntax is doodycaca.
It's definitely not ideal. If this is your first programming language then you'll just go through the motions without ever appreciating why it's designed that way and why it's a good idea, and then work your way backwards 6 months to a year down the line understanding why things are that way.

Assembly is C, but with everything I just said amplified until it drowns out any of the redeeming qualities and it's fucking absurd to consider it. It's quite literally the most fundamental instructions for a computer reduced to a three character instruction that requires 12 other lines for it to do anything.
This is the equivalent of a 6th grade biology course starting out by teaching you about the volatility of elements and why they bond with eachother.

If you're going to course without any background in programming, I don't think you can appreciate how confused you'll be. And it won't be your fault. The information they'll be giving you will be so nondescript on its own that if you try to make sense of it you'll drive yourself insane.

If you have to take the course, make the best of it anyways. Take as much notes as possible and work backwords copying other people's work if you need to.

You might hear some canned statements in this thread about how "you're just 2 stoopid" to learn about low-level C, but /g/ is filled with simpletons that don't get the bigger picture and reduce everything to platitudes so don't take it to heart.
>>
>>62159381
For C I recommemd starting with K&Re then read The C Standard Library. After that, read the source code of a good open source project based on C, like sqlote, nginx, lua etc. Finally finish off with Expert C book.
>>
>>62161654
Sorry for the typos. I can't seem fucking write on mobile.
>>
>>62159381
MIT or Stanford?
>>
>>62160551
t. Rust developer.
C is fine, first language or not.
Assembly is also fine as a first language, it all depends on what you need to learn.
One of my first languages I learned in uni were assembly for a small atmega chip.
They assumed we knew the basics of C and even though nobody had done any programming at that time, everybody followed the course.
Programming is not hard.
>>
>>62159381

>I kinda get the logic, my professor said having 10 years of java work experience doesnt mean shit and doesnt mean you are a good programmer

That's plain wrong and arrogant.
But if you learn ONLY Java you gonna miss a lot of fun when it comes to programming..

>what stuff should I do to prepare for these?

Depends on what the topics are..
Are you doing x86 assembly for the notebook or are you gonna programm some kind of microchips/boards?
For C I always recommend "Kernighan&Ritchie: The C programming language (2nd edition)", it raised generations of C programmers and is written very well.


>I heard C and assembly are both ultra cancerous and super annoying to learn.

A long time ago that's exactly what I thought. I had to learn both at university and didn't enjoy it. But now after years of programming in various languages I get the beauty and simplicity of C and Assembly.
They are really great to have in your tool box, because they are so low level. Of course it feels really weird how much "verbose" things you have to do for a simple print('hi world'), but that's how you computer works, deep down inside.
Assembly is really great for understanding C (C is to Assembly what Python is to C, so to say). And C is great for understanding each Algol-style language (C++, C#, Java and so on).

So don't be as stupid as I was:
Learn C with open arms and open eyes. You will benefit from a lot in the long run.


>>62159474

>calling paragraphs "reddit spacing"
>stop_liking_what_I_dont_like.png
>too stupid for college

die in a fire
>>
File: image macro insult.jpg (37KB, 499x338px) Image search: [Google]
image macro insult.jpg
37KB, 499x338px
>C and assembly
>ultra cancerous
Thread posts: 15
Thread images: 4


[Boards: 3 / a / aco / adv / an / asp / b / bant / biz / c / can / cgl / ck / cm / co / cock / d / diy / e / fa / fap / fit / fitlit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mlpol / mo / mtv / mu / n / news / o / out / outsoc / p / po / pol / qa / qst / r / r9k / s / s4s / sci / soc / sp / spa / t / tg / toy / trash / trv / tv / u / v / vg / vint / vip / vp / vr / w / wg / wsg / wsr / x / y] [Search | Top | Home]

I'm aware that Imgur.com will stop allowing adult images since 15th of May. I'm taking actions to backup as much data as possible.
Read more on this topic here - https://archived.moe/talk/thread/1694/


If you need a post removed click on it's [Report] button and follow the instruction.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com.
If you like this website please support us by donating with Bitcoins at 16mKtbZiwW52BLkibtCr8jUg2KVUMTxVQ5
All trademarks and copyrights on this page are owned by their respective parties.
Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
This is a 4chan archive - all of the content originated from that site.
This means that RandomArchive shows their content, archived.
If you need information for a Poster - contact them.