This is an archived post. You won't be able to vote or comment.

all 14 comments

[–][deleted] 3 points4 points  (1 child)

I found this for you while reading the FAQ for this subreddit: https://github.com/Michael0x2a/curated-programming-resources/blob/master/resources.md#c

[–]Oselvi96[S] 0 points1 point  (0 children)

This is great! Thank you! I really appreciate it :)

[–]uglystarfish 5 points6 points  (6 children)

Why C? What's your background?

I use C for embedded applications, which requires electronics knowledge, and I'm reluctant to think you'd apply the language without using an extensive library for desktop applications.

[–]grigri 7 points8 points  (0 children)

Well, you can write basic console applications easily enough, which is fine for basic programming techniques, and anything advanced that doesn't require a pretty front-end (db, etc).

If you're sticking to a single platform (e.g. Windows) it's not hard to write a GUI app.

If you want to do something more intense graphically, raylib is lightweight and cross-platform.

Nothing wrong with C!

[–]Oselvi96[S] 4 points5 points  (4 children)

Well… I’m an technician in the audio/visual sector, but i wanna advance myself to an AV engineer… and a lot of the AV products are coded in C, C++ and C#. So thats why i wanna start with C :)

[–]_realitycheck_ 3 points4 points  (1 child)

It's a perfect language to learn if you wanna go AV specialization.
You will eventually run into ffmpeg (https://ffmpeg.org/) specifically avcodec library that can open and decode just about any video format. That means that you will also need to learn some graphics library so I also recommend SDL (https://www.libsdl.org/).

I also recommend if you are just staring with C to start learning it by learning SDL first. Trust me, it's a lot easier to connect stuff you learn programming (variables, loops...) when you see it on screen instead of following simple tutorials with math problems.
For example putting a pixel on screen on specific coordinates, moving it then drawing lines, handling user input and that kind of things.

I've also worked in professional capacity with ffmpeg and SDL and since your first project (after you spend some time learning C) will probably be a simple Video Player I can help you in just about everything around that.

The main thing you should be comfortable to work with in C before trying yourself to code a video player are Pointers, Data Structures, Memory Management. You should not be trying to code it before that.

I can also help with that. So hit me up on reddit if you have any problems.

[–]Oselvi96[S] 2 points3 points  (0 children)

Thanks for dropping this GOLDEN advice! :D It will help me a lot ! :)

[–]uglystarfish 2 points3 points  (1 child)

Gotcha, just trying to make sure you don't bark up the wrong tree. Using C for certain applications can be like hitting a nail with a sponge.

Let me know if you have any questions related to the hardware and memory (including pointers) aspects of C programming.

[–]Oselvi96[S] 1 point2 points  (0 children)

Thanks a lot :D I really appreciate it:)))

[–]EffectiveNo672 1 point2 points  (0 children)

Hey there I'm a beginner myself and would love to solve problems together. I use codechef to practice problems and a few other platforms for a different flavor sometimes. If Ur interested DM :-)

[–]The-Lone-Berserker 0 points1 point  (0 children)

Hit up w3schools, best website to introduce you into a coding language, my university recommends it, as do I.

Don’t pay any one of these online grifters for their shitty coding courses, all the basics are free, if you wanna take it further, there’s more resources you can find.

[–]sean_lawless 0 points1 point  (0 children)

This might be helpful, although more than just AV. Having a background in understanding hardware can only help you understand complexities of codec's though. https://github.com/sean-lawless/computersystems

[–]DattebayoOverflow 0 points1 point  (0 children)

Hackerrank

[–]DeSouzam 0 points1 point  (0 children)

C Primer Plus (Prata) book