Where can I learn to code?

Discussion in 'Programming' started by belal, Feb 2, 2020.

  1. I wanna learn how to code plugins, where do I start? Are there any good youtubers (I've tried sourcecode, didn't explain really well)?
  2. First of you will need to learn java, I used some e-books and videos from udemy, after that learning to make plugins isn't really that hard as the spigot API is easier to learn that the java API.
  3. How do you try sourcecode..?
    Also there are dozens of other threads on here asking the same question.
    So as a wise man once said... https://www.google.com/
  4. Optic_Fusion1

    Resource Staff

    They probably meant the {TheSourceCode} YT channel playlist

    I thought about making a java tutorial & bukkit tutorial playlist, but I'm a lazy fuck
  5. There are two ways you can go about this. The first is the more common, and that is learning the Java programming language. If you want to effectively write Spigot plugins, you need to have a solid foundation in Java. You do not need to be an expert, but you should know enough to effectively write code. You can spend a few weeks learning Java from someone like thenewboston:
    It'll seem boring at first, especially since it has nothing to do with minecraft (yet!) but it is a required perquisite. The Spigot API uses Java, and if you want to interact with it you need to know how first. While it is (was? I haven't been around much) common to hear about people trying to write plugins with no Java experience, it does not work. Save yourself the headache, and learn Java first.
    Once you know Java, learning the Spigot API should be very easy -- you can learn about the event system (which notifies your plugins when various events occur) here: https://www.spigotmc.org/wiki/using-the-event-api/ and you can learn the rest at the JavaDocs, which documents all the classes and methods available in the API https://hub.spigotmc.org/javadocs/spigot/overview-summary.html
    If you are not interested in Java, maybe consider Skript -- I have never used it, and a lot of the Java people tend to look down on it, but if you interest is solely in Minecraft, it might be a better choice.
    #6 Sploon, Feb 2, 2020
    Last edited: Feb 2, 2020
  6. A few weeks? More like a few months - at a minimum.

    That's why I like to learn by doing. Pick a small project, and learn programming while implementing it. Will it be perfect? Of course not. But you'll learn a lot along the way and have a sense of accomplishment as you go. Don't post it in this forum for critiques, because you'll have 10 people who just have to prove they're smarter than you by telling you what (they claim) you did wrong. 90% of the job is making something that works, and if the people here don't like what you did, that's their problem. Then pick a bigger project, use some of the things you learned and you'll learn more.
    • Like Like x 1
    • Agree Agree x 1
  7. I would definitely start with books. They're usually better than Java videos on YouTube.
    If you already have some programming knowledge(whatever the language it is) and you're intelligent then you could try the official documentation on oracle's web site. But honestly, just get a good and beginner friendly book to get a good introduction to object oriented programming. The more advanced will probably be easier to understand then, so some documentations shoulf be fine(but can be boring). Luckily the Bukkit api is quite easy and self explainatory. After you have collected some experience with Java, you can get into bukkit coding by reading the documentations or YouTube videos. Alternatively, you could get a book that teaches java and takes Minecraft as an example. So it basically teaches you the basics about Java and how to use bukkit's api at the same time. Those were especially designed for teenagers, so they're easy to understand and the authors probably try to keep their reader's motivation up.

    So what you do is your decision, but let me tell you:
    The most effective way to begin with a programming language are books.
    And I can promise you, you will have a lot of fun with learning Java and using it to influence a game lome Minecraft.

    Yeah, so good luck : )
  8. a youtuber called sourcecode.... Also there are a lot of tutorials on good i know, but i'm asking people based on experience if they know a good place to learn from.

    Thanks man! appreciate the time you spent to write this.

    I kinda agree that I should lean java without implementing any spigot API first though, because I tried doing that before and I understood NOTHING.

    tbh I never read books, I prefer digital stuff. but thanks for the advise
    #9 belal, Feb 2, 2020
    Last edited by a moderator: Feb 2, 2020
  9. I think that depends on the book. I read a boot of that type and I was able to understand it immediately. And tbh, this is more fun that printin text or making calculations with a Java program.
  11. I recommend books. Like to be honest with you, I really hate books. But books is what you get most off.

    These tutorial on Udemy, you can see they get like 4.6* to 5*. It's nothing compare to reading books (I already in that path, paid for Udemy course that get me no where).

    If you like to do exercise. I recommend you to read "Java comprehensive 10th Edition". Or you can just use mooc.fi (they still use netbean which is what I dislike though)

    Learn the basic first then start doing plugin, maybe like learn 1 2 chapters and read a little bit about Spigot, that would make you not feel boring.

    About length of course, do not care about it.
  12. Learn Java with Alex Lee.
    Learn to develop plugins with VerveDev.
    Learn to develop mods with MrCrayfish.

    Point is, there are plenty of great YouTube tutorials available for things like this.
    I recommend that you learn basic Java before attempting to make plugins (or mods if you ever decide to make those too) as they’re all coded in Java.

    You might also want to try something like Lynda for more professional tutorials. I’ve never tried Lynda or anything similar myself, so I’m not sure how effective it is, but it does have a trial, so it can’t hurt, I guess. But I would start with YouTube tutorials to get a basic grasp of Java and making plugins. :coffee:
    • Funny Funny x 1
  13. Wouldn’t recommend using a youtube tutorial to learn any aspect of java, they’re all shit. Oracle provides official documentation on java syntax, standards, and sdk usage. What’s more, once you learn these basics, the spigot wiki has examples to get you started with spigot development, to test your newfound skills in an environment actually meaningful to (what I assume is) your end goal. Once you’ve became acquainted with basic java (ask someone else to review your code, don’t make this call on your own), begin to research best practices, design principles, etc. Effective java (3rd) is nice for best practices, I’m personally in the midst of reading it myself. Not sure if effective java covers principles, haven’t got that far yet, but assuming it doesn’t, research OOP (probs covered by oracle docs), SOLID, and developer jargon (DRY, KISS, “what the fuck”, etc)

    Docs and books are great for sure, but they’re not for everyone. If they’re not your particular forte, try practical courses (irl), or the more trivial concept of reviewing other’s code (preferably simple code, but not shit) and trying to logically deconstruct it, in order to learn how the language operates; of course with the help of google.

    Also, please use the correct tools from the beginning. IntelliJ is the superior IDE, using eclipse is a huge mistake. By using such software as a beginner, you’re inherently making your code worse, as eclipse isn’t smart enough to warn you about even the simplest mistakes, whereas intellij actually makes an effort. A build tool is also essential in any development environment, I recommend gradle. Maven is also a popular choice, for reasons I’ll never be able to comprehend. In a nutshell, maven is overcomplicated, slow, and horrible for beginners in general. Gradle offers far superior customization capabilities, due to it’s configuration format actually being a fully fledged language. Regardless of this though, it turns out to be roughly 50% simpler. Seriously, I guarantee you that any maven config, can probably be remade in gradle, in half the size.

    This is true, my post unfortunately probably comes across as exactly what bobcat is describing. Though, even though most people who will reply are dicks, they may be trying to help, and may even have quality information in their post. So do post your thread, ignore (or fight) the rude attitude, but absorb the knowledge in the responses.
  14. I mean, c’mon, would you rather listen to me, someone who coded a “Hello, World!” program in Java one time three years ago, or this 117-year-old pig who apparently has a lot of experience with Java?

    For real, though, maybe don’t follow YouTube tutorials to learn basic Java, but you’ll probably want to use one when specifically learning plugin or mod developing. :coffee:
  15. I learned the hard way - I dove straight into the Spigot API and used YouTube playlists to do so. After many months I learned to make my own stuff and I am still improving.
    Just learned the basics of maven and version control. So bloody useful.
    • Like Like x 1
  16. Use git, even on your local machine. And you can use GitHub as a way to backup your files.
    See https://git-scm.com/book/en/v2
    • Agree Agree x 2
  17. I open sourced all my main plugins on GitHub and it’s proven very helpful. And yes as a backup is awesome which is why I include my workspace files there too
  18. Definitely would reccommend learning from Matej aka Kangarko. He has theee full courses and is one of the best
    • Optimistic Optimistic x 1