Hello, I’m looking for a good place for learning C, preferably off proprietary platforms like Youtube or bloated sites filled with trackers and scripts. If you know websites, videos, ebooks (any type of content basically) regarding C, don’t hesitate linking them below. I’d be really grateful, as I’m trying to find my way in the world of programming :)

EDIT: sorry for all the deleted comments, those were duplicates lemmur made accidentally of my original comments.

  • @peppermint@lemmy.ml
    link
    fedilink
    43 years ago

    I’m by no means professional. If you know any other programming language, in C the only data structure you have is a fixed size array (addressed by a pointer), and you need to reinvent your own methods around common problems. Go over to tutorialspoint or github:awesome-c to learn the 20 or so keywords it has and then try to implement something like a vector dot-product, string concatenation, a CSV parser or something similar by example. If you are unfamiliar with what a pointer is, then you need to get used to the concept before you can really make use of C’s minimalistic grammar. For that, maybe github:awesome-c will help with links to tutorials.

    • lemmitOP
      link
      fedilink
      53 years ago

      unfortunately, i don’t understand anything of what you said. i never programmed before, and because i heard c is the base of many other languages i thought it might be a good idea trying to learn it first, before moving to more complex languages.

      • @gun@lemmy.ml
        link
        fedilink
        23 years ago

        I think you are misguided in assuming that because most other languages are based off of C, they are more complex. It’s the opposite. Modern programming languages abstract away a lot of the tasks that you would have to do manually in C.

        For example, in C you have to keep track of memory yourself. This can lead to all sorts of funny problems where you forget to release memory, so your program starts taking up more and more memory forever. Or in other cases, you DO release memory, but you have an address to that memory that you forget to do something about. So you can start reading random data, or your program could crash because you start messing with computer memory in places you aren’t supposed to.
        For example, one time, Windows detected my C program as a virus and deleted it when I ran it. It was because my code had a bug that would have replaced every byte of memory with the letter ‘a.’

        You can learn a lot about computers by writing C, but if you’re just starting out, my advice is that you learn python. Or, you could go on Khan Avademy and look at their coding tutorials, that’s how I got started.

      • @peppermint@lemmy.ml
        link
        fedilink
        13 years ago

        Sorry, I did not realize. In that case, have a scroll through the awesome-c page that was posted under my comment, maybe there’s something just for you.

      • @peppermint@lemmy.ml
        link
        fedilink
        13 years ago

        I suppose there’s more than one, but together they will have plenty of tutorials :) thanks for helping to choose one

  • Adda
    link
    fedilink
    33 years ago

    I went to look at my professor’s website about C programming from his course at university. Well, not so much of useful beginner stuff there which are in English. I would at least encourage you to make sure to read a bit about the theory behind programming in general, not just how to program in C particularly, if this is meant to be your first time programming ever.

    Beside the classic The C Programming Language book mentioned earlier in the comments (as far as I know, highly recommended by everyone), one website there looked interesting in the whole introduction to programming department, as well as seemingly quite a good introduction to the C programming language with examples, assignments etc.: Notes for a university course about C. Just by flicking through a few chapters, it seems pretty good to me, to be honest.

    From my experience, though. It does not matter that much what will you decide to start with in a long run. It will be hard at first, whichever website/book you decide to pick. The good thing is, after a while, it will get just easier and easier with a time. That was at least my route when I first have been learning about programming (started with C, too). It is up to the beginners to stick with their endeavour. It is really useful to search for some practice assignments along the way to make the learning process more interesting and rewarding. Just reading about programming will not work at all. Programming has to be experienced first-hand, I would say. One learns by solving problems, assignments, little projects. And this whole effort takes a lot of patience. Lots of searching the internet for answers to things you do not understand, but every little bit helps.

    Hope you will find fun in programming and go through all of that up until the end… Or, I mean, there is no end per se. Prepare for learning something new every day for the rest of your programming days.

    • lemmitOP
      link
      fedilink
      33 years ago

      no its not. guess im just clueless about programming

      • @stopit@lemmy.ml
        link
        fedilink
        13 years ago

        you prefer “bloated proprietary sites and trackers”…makes believe you’re trolling.

      • @stopit@lemmy.ml
        link
        fedilink
        13 years ago

        if you’re serious…I am a very old man, who usually only lurks, because my interest in C is not to get a job, but for the fun in mental challenge. Youtube videos, and most free courses were either too basic (most of them) or too much (Harvard’s free open course)…sooooooo… this is what I did: I started working through a book; “C: How to program” Dietel - very detailed instructions and shit-tons of practice problems. After I got through the Arrays chapter, I started to worke through “The C programming language” by Ritchie - the “classic” I’m told. Midway through the “C bible” I can confidently work through CS50. Although I only started with CS at all and C as my first language at middle age for a mentally challenging hobby, you may be able to start with Harvard’s CS50 if you’re younger or smarter than me.