Resources to learn programming

Discussion in 'Plugins and Coding' started by Minikloon, Jun 22, 2016.

  1. Minikloon

    Minikloon Member

    Messages:
    11
    Likes Received:
    137
    Trophy Points:
    28
    Hello.

    I really think everyone should learn programming. Even only a little, it helps people think rationally and resolve real-life situations efficiently.
    Here are some resources I recommend to get started.

    Web
    https://www.reddit.com/r/learnprogramming/wiki/faq
    This FAQ answers most questions a beginner may have in a very comprehensive manner.
    It also links to lots of other resources be it online or books.
    This is the link I always give when someone asks me how to get started.

    https://www.codecademy.com/learn
    Not super comprehensive but the interactivity is motivating.
    Once you check out a topic you can learn more through other resources.

    https://www.youtube.com/user/derekbanas
    Youtube channel with teaching material for lots of different topics.
    Very straight to the point.

    http://www.csharpcourse.com/
    Solid introduction to programming with C# available as a free e-book.
    Oriented towards professional software development but very in depth.
    I love the second chapter going over every keyword of a simple program.

    http://openbookproject.net/thinkcs/python/english3e/
    If you don't "get" it, this Python introduction will help you.

    Books (yes, they still exist!)
    Head First Java
    This may not be exactly for programming beginners, but it sure will help learning Java.
    I love the Head First series in general and highly recommend O'Reilly books.

    Programming: Principles and Practice Using C++
    This is a very big book but it's extremely comprehensive.
    It has a more scholarly approach but if you're the patient type it pays off.

    Go to a local book library
    They all have a computer section. Sometimes it's only consumer type books, but sometimes there will be programming books.
    Just know what language you're looking to learn before going and pick a random book on it. Just make sure to check reviews on the Internet before buying.
    This may allow you have to have books in your native language.

    Bukkit
    http://wiki.bukkit.org/Plugin_Tutorial
    This tutorial can help anyone to create their first Bukkit plugin, even if they have zero programming experience.
    It goes through how to setup your development environment and what code you need to make your plugin work.

    https://www.spigotmc.org/forums/spigot-plugin-development.52/
    This forum section is the Stack Overflow of everything Bukkit.
    If you have a question which hasn't been answered already by Googling it, this is the place to ask it.

    Blogs from smart people
    https://blog.codinghorror.com/
    Founder of Stack Overflow.

    http://ithare.com/
    IT and Programming blog with tons of interesting posts.

    http://www.hanselman.com/blog/
    Well-known Microsoft employee.

    http://martinfowler.com/
    Agile proponent.

    https://codeblog.jonskeet.uk/
    God.

    Advanced
    Head First Object-Oriented Analysis and Design
    An approachable guide on everything object-oriented.
    When I first started, this book really helped me make it "click" on how to architecture software.

    Clean Code
    I think this is one of the most valuable books I own. Its format makes it delightful to read and it's very down-to-earth.
    This book can help someone move from intermediate to great developer.


    Recreative

    TIS-100 and Human Resources Machine
    These games won't help you get a job, but they definitely help solve problems using pseudo-assembly.


    Personal Tips

    • An ounce of practice is generally worth more than a ton of theory.
    • Focus on one thing at a time. Try and master a single language first.
    • There's more to programming than code. There are tools which you need to know to get a job, like your IDE, version control, dependency management, googling.
    • Googling is the #1 most important skill. It's much worse a sin to stay ignorant than not knowing something.
    • The more you learn, the more you realize how little you know. Don't sweat it, just keep making stuff with what you do know and stay open to learning.
    • It's 2016, you can't avoid some web development no matter how hard you try.
    • Avoid snake oil. Sometimes there's significant commercial backing evangelizing technologies. Every tech is just one tool in your toolbox. Learn to use to right one for the job. The right one is often the one you know most.
     
    Last edited: Jun 23, 2016
  2. Mac

    Mac Member

    Messages:
    616
    Likes Received:
    211
    Trophy Points:
    93
    This is an awesome post
     
    LowFat likes this.
  3. LowFat

    LowFat Member

    Messages:
    388
    Likes Received:
    265
    Trophy Points:
    78
  4. Cheez

    Cheez Member

    Messages:
    2,099
    Likes Received:
    1,081
    Trophy Points:
    113
    Nice Mini, this actually interests me since I plan on attending College for programming.

    Also, every coder ever:
    [​IMG]
     
    Power Ranger likes this.
  5. LowFat

    LowFat Member

    Messages:
    388
    Likes Received:
    265
    Trophy Points:
    78
    retweet
     
  6. LilNugget

    LilNugget Member

    Messages:
    659
    Likes Received:
    584
    Trophy Points:
    93
    Awesome thread!
     
  7. johncoles

    johncoles CEO Staff Member Management

    Messages:
    332
    Likes Received:
    2,238
    Trophy Points:
    223
    johncoles
    Management
    The way I got started was because I had something that I wanted to make and I would thoroughly recommend that as a way to start. Find something simple that you want that doesn't exist or does but doesn't do it exactly how you want. For me it was allowing people to control my Christmas Lights (yes, that was a thing). For @rubik_cube_man it was CubeCraft ;) The reason I recommend this as a way to learn is that unlike tutorials you decide what the end product is. You know when it's finished and it forces you to learn but doesn't feel like a boring project as it is something that you want to exist. Just my 2ยข.
     
    TuxxPenguin, Cheez and Sannne like this.
  8. FalseHonesty

    FalseHonesty Member

    Messages:
    908
    Likes Received:
    901
    Trophy Points:
    93
    I'm going to star this post to read asap, thanks! <3
     
  9. Guinchuu

    Guinchuu Member

    Messages:
    196
    Likes Received:
    740
    Trophy Points:
    118
    It really is incredible... :oops::p
     
  10. RynezDev

    RynezDev Member

    Messages:
    5,281
    Likes Received:
    1
    Trophy Points:
    163
  11. Timme7893

    Timme7893 Member

    Messages:
    5
    Likes Received:
    0
    Trophy Points:
    1
    Nice tutorial!
     
    Last edited: Jul 12, 2016
  12. MatureGuy.exe

    MatureGuy.exe Member

    Messages:
    7,393
    Likes Received:
    9,414
    Trophy Points:
    514
    Dotsially
    Iron
    Finally something...
    Nice tutorial...
    @Timme7893 please don't necro post :p
     
  13. CattyCat

    CattyCat Member

    Messages:
    2,270
    Likes Received:
    718
    Trophy Points:
    128
    Catty__Cat
  14. SrKlompenstein

    SrKlompenstein Member

    Messages:
    2,158
    Likes Received:
    2,726
    Trophy Points:
    283
    SrKlompenstein
    Obsidian
  15. SantaClawz416

    SantaClawz416 Member

    Messages:
    2
    Likes Received:
    1
    Trophy Points:
    1
    If I may add another source where I learned to program java. Here it is: link
     
  16. ColdSight21

    ColdSight21 Member

    Messages:
    33
    Likes Received:
    2
    Trophy Points:
    8
    Ik a lot about programming
     
  17. Sheepspiker

    Sheepspiker Member

    Messages:
    63
    Likes Received:
    8
    Trophy Points:
    8
    programming is kind of like learning how to type
     
  18. CattyCat

    CattyCat Member

    Messages:
    2,270
    Likes Received:
    718
    Trophy Points:
    128
    Catty__Cat
    [​IMG]
    True, I got good at typing after I first started programming.
     
    Last edited: Aug 22, 2016