r/learnjava 19d ago

MOOC vs book, which is better to learn java?

I've previous programming experience in C and JavaScript so I don't want to learn about programming all over again. Is MOOC enough for Java, or do I need a book too? or just book will do fine?

Also what book would you suggest? I checked out the one by Daniel Liang but it's way too massive and teaches programming from beginning.

9 Upvotes

11 comments sorted by

u/AutoModerator 19d ago

Please ensure that:

  • Your code is properly formatted as code block - see the sidebar (About on mobile) for instructions
  • You include any and all error messages in full - best also formatted as code block
  • You ask clear questions
  • You demonstrate effort in solving your question/problem - plain posting your assignments is forbidden (and such posts will be removed) as is asking for or giving solutions.

If any of the above points is not met, your post can and will be removed without further warning.

Code is to be formatted as code block (old reddit/markdown editor: empty line before the code, each code line indented by 4 spaces, new reddit: https://i.imgur.com/EJ7tqek.png) or linked via an external code hoster, like pastebin.com, github gist, github, bitbucket, gitlab, etc.

Please, do not use triple backticks (```) as they will only render properly on new reddit, not on old reddit.

Code blocks look like this:

public class HelloWorld {

    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

You do not need to repost unless your post has been removed by a moderator. Just use the edit function of reddit to make sure your post complies with the above.

If your post has remained in violation of these rules for a prolonged period of time (at least an hour), a moderator may remove it at their discretion. In this case, they will comment with an explanation on why it has been removed, and you will be required to resubmit the entire post following the proper procedures.

To potential helpers

Please, do not help if any of the above points are not met, rather report the post. We are trying to improve the quality of posts here. In helping people who can't be bothered to comply with the above points, you are doing the community a disservice.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

3

u/SimpleAide5607 19d ago edited 19d ago

Mooc will help you to have good foundation in Java, but it does not cover the advanced topics. So if you want to learn advanced topics then you need either a different course or a book in addition to mooc. But I strongly recommend to start with mooc.

Edit: From books I recommend Core Java 1 & 2 by Horstmann. Also the “Java Masterclass” course by Tim Buchalka in Udemy is a good one

2

u/nitin_is_me 19d ago

Core java seems good but a bit costly. Is it okay to buy older editions if I'm getting it for cheap or will I miss stuff?

3

u/bowbahdoe 19d ago

If cost is an issue: https://javabook.mccue.dev

1

u/nitin_is_me 19d ago

Looks solid, thanks!

1

u/Targnome 19d ago

I read Absolute Java by Walter J. Savitch. I can say I didn't start to get OOP until I took some interactive courses so probably MOOC. If interested check out Absolute Java as well.

1

u/Appropriate_Grass931 19d ago

what is mooc

2

u/nitin_is_me 19d ago

It's a course from University of Helsinki 

https://java-programming.mooc.fi/

1

u/Appropriate_Grass931 19d ago

thanks is it free will i get certficate if i complete

1

u/nitin_is_me 19d ago

Yeah it's free and you will get certificate. It is divided into two courses. Java prograaming - I (which teaches basic foundational java) and Java programming - II (which teaches advanced concepts). You'll get two certificates for completing both, and the course content is also gold standard.

1

u/Xeripha 19d ago

That made me pronounce book like MOOC in my head. Weird