Top products from r/learnjava

We found 67 product mentions on r/learnjava. We ranked the 65 resulting products by number of redditors who mentioned them. Here are the top 20.

Next page

Top comments that mention products on r/learnjava:

u/movie-editor · 2 pointsr/learnjava

If you want to stay in Python, you can try Qt for Python.

pip install pyside2

This will install everything you need to start building Qt programs. It works fine with PyInstaller.

If you want to use Java, in my opinion JavaFX is excellent. It's designed to work fine on desktop, mobile and embedded devices, so adapting to different resolutions won't be an issue thanks to layout panes and DPI scaling options.

If you have Oracle JDK 8, you can start developing JavaFX right away. But for production deployment you should use OpenJDK 11 with OpenJFX 11 and bundle your JRE with your application, for legal and technical reasons.

I find JavaFX easier to work with compared to Qt, including Qt Widgets and Qt Quick (either with C++, QML or Python).

JavaFX is basically a canvas where you can freely paint UI controls, 2D/3D graphics, videos, charts, etc. And you'll know it will look and behave consistently on all platforms.

Java itself is also a great ecosystem with many high quality libraries not available in Python or C++ land.

Learn JavaFX 8 book explains different concepts in JavaFX pretty well with many examples.

Hope I could help.

u/seanprefect · 2 pointsr/learnjava

Interfaces are often hard to understand, that's more a java thing than an OOP thing. As far as books go this one

https://www.amazon.com/Core-Java-I-Fundamentals-10th/dp/0134177304/ref=la_B000AQ1QDY_1_1?s=books&ie=UTF8&qid=1519328730&sr=1-1

is written by the same guy who wrote the java textbook i learned from (but that was like java 5 so my exact book would be out of date, this is up to date) I haven't read this one but going by how much I like my text book i'd imagine it's pretty good.


Going into interfaces and inheritance I'll attempt to provide a more approachable explanation. So classes can be sub classes of another object. This has 2 important affects.

First the subclass can access the properties and methods of its parent, this is useful for many reasons. You don't have to change every class when you want to make a change to some aspect, it also helps keep any given class from getting too large and complicated.

But the second important affect of being a subclass is that it allows other classes to know what a class can or can not do. So for example lets i have a class called animal, and it has the subclass dog, and I have another class called home which has a method that expects an animal. Since dog is a subclass of animal my home class knows it can treat dog like an animal. which involves casting the dog to animal, basically you're telling the JVM "Until i tell you otherwise treat this dog as just an animal" so after that casting you've got a dog but it's only treated as an animal (until you cast it back to dog) this is called polymorphism.

now the thing about subclassing , in java you can only be the child of one class, (this is a java thing not a general OOP thing, different languages have different approaches and there are pros and cons) but what if you want multiple superclasses ?

This is where we have interfaces. Implementing an interface basically promises the JVM that the methods that exist in the interface exist in the class. This means that you can treat classes that implement the interface the same way because you have a list of what you can do with the class , but you don't really make it a proper child of the class.

u/mars-dev · 3 pointsr/learnjava

I agree it is tough to know exactly. There isn't a clear path like there used to be. I'd even concede to some of the comments below about "everyone moving away from locally installed desktop apps"...

But if you do find you need a desktop application and you are familiar with Java, I think JavaFX can work for you. It is tough with the recent changes regarding modules, JavaFX being dropped from Java releases (11+), and the new release cadence of Java itself. But it is still possible and there is active work in the community around it.

You are going to have to read and probably "dig" more than you would for a React application. There isn't a ton of new articles every day about JavaFX or Swing. That doesn't mean it doesn't work. It could just mean that it already works ;-)

Take a look at OpenJFX (https://openjfx.io/). The Gradle plugin mentioned in the Getting Started section is extremely helpful for getting starting with the latest versions of JavaFX; https://github.com/openjfx/javafx-gradle-plugin.

Scenic View is another tool that makes it easy to debug/understand your JavaFX application; https://github.com/JonathanGiles/scenic-view

If you go the route of building a desktop application in Java, or even .NET, it will be "lonely" compared to a web one. But in my opinion for certain applications it is still much more responsive and provides an enjoyable experience. Specifically I'm thinking of financial applications that have many tables and charts and "Excel like" functionality. These are also possible with web technologies, but if you want/need a desktop application and use Java, then JavaFX works great.

As for a book I'd recommend, I like "Learn JavaFX 8: Building User Experience and Interfaces with Java 8"; https://www.amazon.com/Learn-JavaFX-Building-Experience-Interfaces/dp/148421143X/ I found it to be faily comprehensive.

Good luck!

u/Yogi_DMT · 1 pointr/learnjava

I swear by Oracle's official reference https://www.amazon.com/Java-Complete-Reference-Herbert-Schildt/dp/0071808558

I could write essays on why this book is amazing. It's so well written and structured that i'd recommend it to anyone regardless of how much Java they already know. IMO this book is just leaps and bounds better than any other out there (textbooks included). Now i'm not saying you won't have to put the effort in yourself because at the end of the day you get out what you put in, but as far as explaining concepts clearly, concisely, at a deep level, not skipping over anything, and providing great examples, i haven't found anything close. Rarely do you find a book for any subject that combines accessibility and depth like Herbert Schildt does. This isn't just a book on Java either, it explains OOP and coding concepts that will translate to many other languages as well. It's a masterpiece honestly.

u/reposefulGrass · 7 pointsr/learnjava

There are tons of resources in many different formats of many different qualities.

On the sidebar to the right, there are quite a few. You should pick the format you're most comfortable with -- book, video, course, etc.

As I've read a few books, for absolute beginners, Intro to java: Comprehensive was pretty good. Very easy to get into to.

Thinking in Java or The Java Reference Book are pretty good for people who already know the concepts of programming.

I haven't watched videos for learning java or taken any courses, so this is all I can give you.

EDIT:

I've found a playlist on YouTube, I've only watched the two first videos, but they seem great.

As a beginner, you'd first have to install Java and also a tool to easy use java -- an IDE (Integrated Development Environment) for example. Plenty of YouTube videos covering that.

Here is a course that alot of people seem to like and recommend: MOOC

Lastly, some advice: Stick through with it if you really want to program. Learning to program at first is the hardest part on the journey.

u/Tjinsu · 1 pointr/learnjava

If you're completely new, you'll still need some type of guide or reference, but you can definitely use BlueJ to run your code offline. It's a lot more basic to use, and I always would recommend it to a beginner. Once you get the hang of it, you can move onto a more feature rich program like https://eclipse.org/.

As for guides, you could try and find a PDF online somewhere or save tutorial pages from websites for offline use to refer back to. You could also probably pick up a Java book of some sort, or ebook even.

This is an excellent beginners book:

https://www.amazon.com/Head-First-Java-Kathy-Sierra/dp/0596009208/

u/b_bellomo · 7 pointsr/learnjava

I don't know what is that book's style but these free programming books/courses will strengthen your knowledge of the basics and introduce you to more complex stuff :

u/Joha_Mraadu · 2 pointsr/learnjava

Awesome book for learning java, Thinking in Java by Bruce Eckel:

https://www.amazon.com/Thinking-Java-4th-Bruce-Eckel/dp/0131872486/ref=sr_1_1?s=books&ie=UTF8&qid=1467806510&sr=1-1&keywords=thinking+in+java

Also, when you are finished with that and you can move in Java rather comfortably, Effective Java by Josh Bloch is very useful:
https://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683/ref=sr_1_1?s=books&ie=UTF8&qid=1467806715&sr=1-1&keywords=Effective+java

If you'd like an online course, Tim Buchalka on Udemy is fantastic (50$ though):
https://www.udemy.com/java-the-complete-java-developer-course/

John Purcell's introduction is also very good:
https://www.udemy.com/java-tutorial/

u/cjmarquez · 1 pointr/learnjava

I've bought some udemy courses (not particularly in java) though some are pretty good to at least understand what the technology is or what you can do, I've found that reading the online documentation will provide you the same knowledge (at least for some of the JS frameworks I've studied through the site) while this is not the same for a more complex language like Java, I would suggest you to take the MOOC listed in the tutorial section of this sub, as for books I would say "Head First Java" and one that I'm currently reading and have helped me to understand some of the language concepts better "Core Java Volume I" for fundamentals and volume II for advanced topics
https://www.amazon.com/Core-Java-I-Fundamentals-11th-Horstmann/dp/0135166306/ref=sr_1_2?keywords=core+java&qid=1571173232&sr=8-2
https://www.amazon.com/Head-First-Java-Kathy-Sierra/dp/0596009208/ref=sr_1_1?keywords=head+first+java&qid=1571173566&sr=8-1

Hope this helps

u/road_to_life · 2 pointsr/learnjava

Depending on how much C++ you know, I believe it would be best to start with one of the introductory books and skim real fast through parts which are perfectly clear to you, as a learning resource I can suggest either: https://www.amazon.com/Intro-Java-Programming-Comprehensive-Version/dp/0133761312 I even decided to buy physical book in order to get all the extra content, if you finish that book from cover to cover, do all the exercises and do online quizes and read bonus chapters you will have I dare to say "godlike" foundation in JavaSE and some decent introductory JavaEE knowledge as well (bonus chapters), or if you prefer to read something a bit more modern (Java 8/9) I would suggest: https://www.amazon.co.uk/Java-Program-Early-Objects-Deitel/dp/0134743350/ref=dp_ob_title_bk

u/E3FxGaming · 2 pointsr/learnjava

> I'll definitely check out that mooc that you mentioned.

I recommend this too. If you want a book to compliment the course I recommend Head First Java. Maybe pick it up at a library first and read a few chapters to see if it fits your learning style.

The online course is more practically oriented giving you tasks to do, while the book focuses more on explaining things using really good real-world examples.

u/Tanellthyon · 1 pointr/learnjava

I've been learning from Head First Java the last few days, and as someone with programming experience I really appreciate it. It takes you through the basics of Java but assumes you're fairly familiar with basic programming concepts and terminology, probably from a C/C++ perspective. Since you already knew Java at one point you should be able to pick it up and get up to speed pretty quickly.

But then I'm not sure how far you need to go in the next month, or what your goals are. The book covers up to Java 5.0, but I'd imagine everything it teaches still applies (someone else would have to comment on that though).

I highly recommend it; you could probably get through this book in a few days and spend the remaining weeks focusing on even more advanced stuff, if you wish.

u/lost_in_trepidation · 3 pointsr/learnjava

imho,

  1. go through both courses on mooc.fi

  2. read/work through Thinking in Java

    -- You should "know" Java pretty well at this point

    if you want another resource/a large number of exercises and are willing to spend the money get this book

    https://www.amazon.com/Intro-Java-Programming-Comprehensive-Version/dp/0133761312

    From here you can move on to more intermediate/advanced books like:

  • Effective Java
  • Java Concurrency in Practice

  • Design Patterns: Elements of Reusable...

    At this point you should be good.

u/Java_Junior · 1 pointr/learnjava

I think you should not avoid a course or a book because you think it's boring. Boring does not mean the content isn't important to learn. I moved from Python to Java; all the Python books were fun and exciting, and all of the Java books are boring and dry. But you just have to power through it.


Java: A Beginner's Guide by Schildt is a very good book, but it is boring, and some of the examples are wack. I haven't found a perfect book yet.


This guy is a pretty good teacher and his lessons are short. Some of his examples are a little weird too but overall I like him.


Also remember that HTML and CSS are not programming languages. Java and JS are, and therefore they are a lot more complicated. Being in a classroom setting might be extremely beneficial.

u/allitreddit · 2 pointsr/learnjava

I did learn very first steps from: Think Java: How to Think Like a Computer Scientist (link: https://www.amazon.com/Think-Java-Like-Computer-Scientist/dp/1491929561/ref=sr_1_1?s=books&ie=UTF8&qid=1503375072&sr=1-1&keywords=think+java).

Second step was Herbert Schildt. Java Programming Complete Reference book. Part I where covered Core Java Language.

I did learn both and liked very much.
Hope helps

(What others think about this books. Thanks)

u/Shredforgirls · 0 pointsr/learnjava

Introducion to Java is pretty nice. Before Oracle bought Sun Microsystems, an engineer friend who works at Sun recommended me Thinking in Java.

u/leapy_ · 2 pointsr/learnjava

Well, it's one year since I started my Java programmer career and I think you should start with basic and then decide what you want to do in future (there is lots of path to take).This worked for me:

  1. Get fammiliar with concepts in this book Java: A Beginner's Guide, Sixth Edition. There are basic which u will need everywhere and for me a form was really easy to follow.
  2. Try to create some basic game in console. For example I did some basic "Fallout style" adventure. Important is to try coding yourself and not copy/paste and try to finnish a project.
  3. Choose a path you wanna take. Do you want desctop app, android app or you want to work in a enterprise. Find a technologie which suit your purpose and focus on it. Don't try to learn everything, because then u will know nothing properly.
  4. Try to do something like DVD rental or anything where you will have to implement CRUD operations, use REST API and get your hands dirty with some MVC concepts.
u/wellthatdoesit · 3 pointsr/learnjava

Sure! This is a great desire to have.

Clean Code probably most closely deals with you're specific question. It's very readable, and uses Java for the examples. http://www.amazon.com/gp/aw/d/0132350882


But while you're looking for recourses along these lines, you might also take a look at the super thick, bit super good Code Complete: http://www.amazon.com/gp/aw/s/ref=is_s_ss_i_1_7?k=code+complete+2


Lastly, it also sounds like it might be time to start thinking about design patterns - these are ways to implement solutions to common problems in your code using well-established design principles. The "Gang of Four" book is the classic on the topic, but this one offers a more readable introduction I feel: http://www.amazon.com/gp/aw/d/0596007124/


(Sorry for lack of link formatting, I'm on mobile.)

u/Zektor6 · 2 pointsr/learnjava

first of all, if you specialize in java you need to update your knowledge immediatly, focus on learning java 8 first, then move to 11 because 8 is already phasing out. 9 and 10 are smaller releases so you don't need to focus too much on them.

For a senior position you need to master and be confident with the basics (and not so basics) of the language, cause your position will involve a lot of "help the new guy do x" scenarios. In interviews for senior positions I'm usually asked about: collections, data structures (differences and uses), lambdas, streams, exceptions, string handling, threads, jpa and on more general subjects, algorithms , sql and databases, OOP questions, and design patterns (and sometimes enterprise design patterns).

Then it depends on the kind of position you're applying, I work on backend stuff so I usually get asked about REST and SOAP (yes soap is still relevant!) and the typical frameworks (spring / hibernate / log4j / etc)

This book has helped me improve my general java knowledge a lot, take a look (keep in mind the editions are paired with a particular version of java so some stuff may sound if you're still at 7) https://www.amazon.com/Java-Complete-Reference-Eleventh/dp/1260440230

u/endre86 · 5 pointsr/learnjava

That is a lousy professor. You want to learn more? Nope, don't think so.

You could find open source projects that are written in java. Or maybe check out the source code for OpenJDK (library implementation).

But better yet, pick up a book. You have the popular book Clean Code by R. C. Martin that covers how to write clean and maintainable code. Or maybe the book Head first: Design Patterns by that covers common designs used to make adaptable and reusable code.

But your professor has one point. You should not get lost into code design when still learning the basics. So remember to focus on what you learn in class! :)

u/chris1666 · 1 pointr/learnjava

Also , even when you are taking a break from actual coding, watch a video on it , to watch the vocabulary/words being used to keep it fresh in mind. There are plenty on Udemy, and plent of free ones on youtube such as https://www.youtube.com/watch?v=UMcijMC4Dwk&list=PLdE6x7w0cBLOIdbbfGoXust7aKatLnSm3

As far as books go , this is a classic ... from Oracle ...https://smile.amazon.com/Java-Complete-Reference-Eleventh/dp/1260440230/ref=sr_1_9?keywords=java&qid=1574750082&sr=8-9

u/SpeculativeEffort · 1 pointr/learnjava

We used this book in my intro CS classes: https://www.amazon.com/Starting-Out-Java-Control-Structures/dp/0133957055

Found it to be really good and full of examples and explanations. You can find the book for free if you search around.

u/FuzzyGamer · 7 pointsr/learnjava

For Android I can recommend the Udacity course. Basically they teach you the building blocks of any Android App by making you build a weather App. It's very... "holdy-handsy" though. Each concept is broken down into manageable chunks (small coding exercises). You get to watch videos explaining the concept then you gotta complete the example programs they provide (It's basically just following some TODOs that are commented in the code), and at the end of the class you have to put it all together and add that to the main weather app.

They won't explain any Java syntax / concepts that they use but if you know some OOP language it won't be too hard to understand what they are doing (though it's gonna be a bit harder to understand why they are doing it the way they do).

Top tip: every exercise is accompanied by a short video where someone will show you how to code everything. My suggestion is to watch the video once to get the basic gist of it then go and code by your own (using the Android Reference if needed). Avoid just copy-pasting what you see in the video. It might seem sluggish and hard but that's how you'll get the most out of it.

As for Java, I don't know any course that teaches it in that manner but I can recommend Oracle's Java Tutorials and Head First Java. Oracle's tutorials are really comprehensive but imo they can get a bit dull, while the book is really fun and easy to follow (and if you know a concept already you can just skim that chapter and move on).

u/UpAndDownArrows · 1 pointr/learnjava

I see some recommend Udemy courses and online challenges. These are okay, but what I found to be the single most useful resource for me was this book - Intro to Java Programming, Comprehensive Version (10th Edition)

Also, as someone who is "Oracle Certified Professional, Java SE 7 Programmer" I would strongly advise not to bother with it despite what the other user said. These exams are outdated and test for skills that you don't actually ever need (i.e. most of the exam is small nitpicking stuff that compiler and IDEs will catch for you 100% of times i.e. "hey can you find the missing semicolon here even though we all know in real life you just use an IDE to find this and we have the compiler to tell you about such mistakes anyway")

u/Cesar-Oswaldo · 3 pointsr/learnjava

here's a resource that helped me in learning java geeksForGeeks. After struggling with java for work for several months, I wish the following textbook was found earlier: Java How To Program, Early Objects My friend who actually studied computer science slapped me in the face with it. It's way better than OCA test prep books to achieve understanding

u/get_username · 1 pointr/learnjava

Head first Java. Starts at the beginning. Is surprisingly indepth. Very good conversational style of writing.

u/MikeAeon_ · 3 pointsr/learnjava

I've heard that Head First Java is a good book, but I belive it caters more
to the beginner programmer rather than someone with OOP experience like yourself.
Here's the PDF so you can check it out anyway.

u/takeMeTo88 · 3 pointsr/learnjava

Java: A Beginner's Guide by Herbert Schildt: https://www.amazon.com/Java-Beginners-Guide-Herbert-Schildt/dp/0071809252

I found this to be a great first Java book.

u/dbakathaillist · 1 pointr/learnjava

I used this site to help me learn. I also supplemented what I learned with this book here. Worked well for me.

u/Apostle_1882 · 1 pointr/learnjava

Everyone seems to recommend The Big Nerd Ranch Guide. I'm yet to get it but I've seen it mentioned many times in reply to questions like yours.

https://www.amazon.co.uk/Android-Programming-Nerd-Ranch-Guide/dp/0134171454

u/crooks5001 · 2 pointsr/learnjava

It's a book/pdf. It's available for free with a little searching but I am on my phone so I'm just going to throw the amazon link your way so you can at least see what it is, who the author is etc...

https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882

u/mofomeat · 1 pointr/learnjava

Just to piggyback on OP's question (because I'm interested in the same thing), does anyone have any opinion on Head First Design Patterns?

I was looking at that before I saw this thread.

u/zangof · 2 pointsr/learnjava

I have found the Head First C# book is really good and has a nice mix. Have not tried the Java book but think it should be along the same lines.

http://www.amazon.com/Head-First-Java-Kathy-Sierra/dp/0596009208/ref=sr_1_1?ie=UTF8&qid=1411697697&sr=8-1&keywords=head+first+java

u/anatoly314 · 1 pointr/learnjava

I suggest that Oracle's tutorials together with this book is good starting point
http://www.amazon.com/Thinking-Java-Edition-Bruce-Eckel/dp/0131872486
Also check out this video tutorials: https://www.youtube.com/playlist?list=PLE7E8B7F4856C9B19

u/leighflix · 1 pointr/learnjava

A reference book could be nice. You've already understood everything, you just need to memorize it.


If you still need to understand a few things:

u/lbkulinski · 1 pointr/learnjava

The third edition of Effective Java might be helpful. It was updated for Java 8 and 9. For 10 and 11, I suggest taking a look at some of Oracle’s articles. This one covers local variable type inference.

u/realizmbass · 1 pointr/learnjava

Tony Gaddis's book was my go-to for my intro to java class. You also probably can find a way to not buy it. Use libgen.io