What are good relatively free or in-expensive Sites and Resources for Learning Programming?

Discussion in 'Technical Discussion' started by Mendinso, Oct 17, 2019.

  1. Mendinso


    I'm Who I Am. Oldbie
    So, this'll sound like an absolutely dumb question: Because it is, because Googling should theoretically be the answer to this to finding it, but I've always had generally terrible time finding some good resource places for when it comes to this stuff, as well as just generally being able to learn in a manner that makes sense to me (combination of being on hands and visual learner, among other things).

    During my exposure of trying to find some stuff (really by accident and suggestions of friends), I've managed to find relatively decent resources for (both free and paid):

    - Basic (QBasic to be exact)
    - C
    - C++
    - C#

    As well as for Game Design tools:
    - Unity (Several Versions)
    - Unreal Engine 4

    But generally speaking, I've always found incredibly overwhelmed by finding good community resources, specifically asking trouble shooting questions (I'll be frank: I'm terrible at explaining myself and sometimes it make take a bit for me to be able to process information for help in this manner, even trying to write up this topic is giving me issues). I know this is one community of many, but I was wondering in general what are some good resources out there are, both for Programming Targeted Communities, as well as resources for general programming learning as a whole.

    This is largely just for personal learning and hobby related reasons and I just generally have always been fascinated by the programming element side for Program Applications and Games. So if anyone can absolutely suggest some stuff to me, that'd be great. I also have an interest in older machine programming, as well, so even ASM/CPU guides would be great.
  2. HedgeHayes


    Back on track Member
    Bilbao, Spain
    Upgrading my own life to pro edition
    I think it's useful to have someone teach you the basics about general programming before going forward on your own, and there are books and websites written as manuals that can act as good enough textbooks if you don't have someone to ask for help with that. I personally have always found quite hard and confusing to find specific information like you say you do, specially if it's microsoft related. Web programming is usually simpler and clearer explained, but you're mostly talking about the kind of languages that give you a proper base about what's going on behind the scenes, hence the need of studying general concepts before the actual coding.

    I would start with C: learn about variables and their sizes, learn about structures and functions, learn about passing an argument by value and reference, and then learn about pointers, about multi-dimensional arrays, about linked lists and binary trees, and, of course, about file creation and editing. This all was what I found most informative and interesting when I learned programming. From here you can go to C++ and repeat a similar process by learning objects, operators, templates, inheritance, etc.

    Binary/hexadecimal related concepts can be added to your learning as soon as you get what pointers are, but I'd suggest you to wait until you finish learning C just to not add too much to the mix. It's not strictly necessary to delve to deep in this matter to get the grasp of coding, so you could even ignore it and go directly to C++, but get at least a general idea of it before starting with objects.

    Oh, and pseudo-code exists, which is essentially drawing a diagram that represents your code in no specific language so you can design its logic and understand better what you're doing. There are methods to build those diagrams so they can be a lot more visual, and they're really helpful if you're just starting or have to write complex code.

    I hope this helps you a bit in the process of googling and learning, since I'm a little outdated in non-web programming and can't list you specific resources.
  3. It's not. I've been trying to learn to program for 20 years now and you've perfectly summarized the struggle of finding good, useful resources. I especially have trouble with learning on my own so without an especially good explanation I tend to hit a wall really quick.
  4. MarkeyJester


    ♡ ! Resident Jester
    One argument I hear about programming in general, is that code is meant to be ugly, messy, disorganised, or have minimal logic, or to imply that programming inconsistently is the best way to program at all. This probably goes to explaining why all tutorials, guides, books, or any literature which attempts to teach, are absolute shit.

    Simply put, it's not your fault, and it's certainly not a dumb question at all, I believe no-one's written any teaching literature to help explain things properly. People are terrible at teaching in general, especially when it comes to programming, and especially involving C based languages, they are inconsistent, unorganised, messy, and unpredictable slobs, with no sense of structure. Negligence is also a large factor of these, like neglecting to mention you need to halt the program yourself or else the console window closes itself down after the program is finished, it's not the fact that you have to specify the halt, but the fact that no-where in the literature do they mention a necessity to overcome, and many of these are very modern guides too, so it's not like it's designed for DOS or anything.

    I got most of my knowledge from "Teach Yourself C in 24 Hours" by Tony Zhang, but much of my knowledge and ability to program in C was only thanks to my prior knowledge of assembly in general, had I not have had that experience, this book would probably have been useless. A lot of my knowledge has also come from Google searching. Likewise, the idea of being able to teach yourself in 24 hours is highly laughable unless you have some sort of autism, in which case your condition may prohibit you being able to put the information to proper use.

    It's really just trial and error, at least until someone puts together a decent piece of literature.
    • Agree Agree x 1
    • Informative Informative x 1
    • List
  5. Aesculapius Piranha

    Aesculapius Piranha

    つづく Oldbie
    Tutorials are good for getting direction, and I recommend longform tutorials on youtube because you can see the process of creating the projects from scratch much like in a classroom. If they drone you can always increase the playback speed. After that play with the results of whatever project you made in order to internalize the creative process. I found this kind of thing helped me a lot.
  6. 0xfadec0de


    Previously 0xfedbeef Member
    Codecademy does a good job for me; however, my biggest pitfall when I started in Java (which was the first widely used language I touched - my first CS class was in DrRacket) was that it took a while to understand what an object file is for, and what a static method was. If someone had said to me that a static method is one which an object cannot itself invoke, and could only take args, I'd have gotten it. An object file could've been explained as: something that is a template to create new instances of an object. Those two things are utterly fundamental to coding. W/O them, you're kinda in a bind.

    Codecademy costs money, but if you love this stuff, or kinda really like it, it's well worth it. That being said, nothing subs for pure experience, experience, experience.
  7. vexatious


    Your local public library should have some books. Consider second hand stores like Goodwill; cost money but not very much and some are worth over $100.00, and if you have smartphone camera or similar you can snapshot-scan and return book for refund.

    Macintosh Programmers Workshop is a good resource for 68000 and it's free. Here's a three gigabyte ftp backup (recommended for MacOS9 PowerPC and 68k apple users) https://staticky.com/dl/ftp.apple.com/developer/.