Reddit reviews Thinking in Java (4th Edition)
We found 28 Reddit comments about Thinking in Java (4th Edition). Here are the top ones, ranked by their Reddit score.
We found 28 Reddit comments about Thinking in Java (4th Edition). Here are the top ones, ranked by their Reddit score.
Uhm, I would first start with a complete introduction to OOP. This book:
http://www.amazon.co.uk/Thinking-Java-Bruce-Eckel/dp/0131872486/ref=sr_1_1?ie=UTF8&qid=1451750882&sr=8-1&keywords=thinking+in+java
helped me a lot. Once you go through with it, you should have a pretty solid understanding of OOP and Java.
Also I cannot stress enough how important this thing is, many people seem to neglect it nowadays:
http://www.oracle.com/technetwork/java/codeconventions-150003.pdf
I recommend following books once you understand Java more :):
Effective Java by Joshua Bloch:
http://www.amazon.co.uk/Effective-Java-Second-Joshua-Bloch/dp/0321356683/ref=sr_1_1?ie=UTF8&qid=1451750978&sr=8-1&keywords=effective+java
Head First - Design Patterns by Eric Freeman:
http://www.amazon.co.uk/Head-First-Design-Patterns-Freeman/dp/0596007124/ref=pd_sim_14_2?ie=UTF8&dpID=61APhXCksuL&dpSrc=sims&preST=_AC_UL160_SR138%2C160_&refRID=1J4FWDFZDD8XERKQEY2Q
Clean Code by Robert C. Martin:
http://www.amazon.co.uk/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882/ref=pd_sim_14_3?ie=UTF8&dpID=51oXyW8WQwL&dpSrc=sims&preST=_AC_UL160_SR124%2C160_&refRID=1J4FWDFZDD8XERKQEY2Q
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.
This list isn't about "coding" per-se but is more focused on concepts, sw.en., practices, etc.
Thinking in Java is one of my favorites, the definitive introduction to object oriented programming and design.
Code Complete, Don't know anyone who hasn't heard of this so far
The Pragmatic Programmer: From Journeyman to Master
"Thinking in java" is the best book.
Thinking in Java https://www.amazon.in/dp/0131872486/ref=cm_sw_r_cp_apa_i_T9wrDbHHP4R1A
Immediate, unequivocal answer: Thinking in Java by Bruce Eckels.
I've posted this before but I'll repost it here:
Now in terms of the question that you ask in the title - this is what I recommend:
Job Interview Prep
Junior Software Engineer Reading List
Read This First
Fundementals
Understanding Professional Software Environments
Mentality
History
Mid Level Software Engineer Reading List
Read This First
Fundementals
Software Design
Software Engineering Skill Sets
Databases
User Experience
Mentality
History
Specialist Skills
In spite of the fact that many of these won't apply to your specific job I still recommend reading them for the insight, they'll give you into programming language and technology design.
Thinking in Java - Bruce Ekel
Head First Java - Kathy Sierra
Stanford's Programming Methodology Lecture Series
Thinking in Java and Head First Java are also really good.
this is the best java book i know: http://www.amazon.com/Thinking-Java-4th-Bruce-Eckel/dp/0131872486 should have anything you need.
Java is a great language to start out with and I would recommend two books to get you running. Since you are new to the language and programming in general, start with Head First Java. Then, move on to a more advanced treatment like Core Java. Thinking in Java is also very good but it's dense and some people have a difficult time digesting it.
Once you have the basics of the language down, learn about working with databases. Then, move on to server-side development as that's where the jobs are.
Despite the similarity of their names, Java and JavaScript are not similar and cannot be used interchangeably. JavaScript is primarily used in UI development in web browsers, although server-side implementations have existed for almost as long as JavaScript itself. Currently, the most fashionable of these implementations is node.js.
Lastly, since you are looking to work professionally but without any formal education, know that you are going to have a difficult time getting work for the first several years. You might find that learning JavaScript (and HTML and CSS) are a quicker route to finding a job as front-end web developers often do not require a college degree, whereas Java programming jobs invariably do.
Read, in this order:
Those three books should get you wherever you need to be, without getting more specific books (e.g. framework books).
Head First Java
Thinking in Java
Effective Java
Java Concurrency in Practice
Best $150 you'll ever spend. Read in order listed.
После java можно как-раз.
По java советую Thinking in Java и Effective Java и в довесок.
I always liked Effective Java the most, might be a little too advanced. I'm really not sure where you are in terms of comfort with syntax and basic concepts. Can you explain further what you've done in terms of programming in Java, and how you understand these concepts?
Also, I would suggest checking out TheNewBoston video series on Java programming, lots of great syntax and implementation of concepts you mentioned. http://www.youtube.com/watch?v=Hl-zzrqQoSE&playnext=1&list=PLAFF55E55870752DA
I think I may have found a book more for your level. www.amazon.com/Thinking-Java-4th-Bruce-Eckel/dp/0131872486. Thinking in Java. From a review, here are some topics covered:
Object-design basics
Inheritance and polymorphism
Object lifetimes
Exception handling
Multithreading and persistence
Java on the Internet
Analysis and design basics
Java basics: keywords and flow control
Initializing objects
Java packages
and many more.
Some of these I'm sure you've seen, and this will be another look at them, others will be new but important to know and understand.
try the book https://www.amazon.com/Thinking-Java-4th-Bruce-Eckel/dp/0131872486 also the book for the java certs is pretty good but gets pretty down in the weeds
Different people have different learning styles.
Is it this one?
​
Thinking in Java by Bruce Eckel on Amazon.
I learned Java when it first came out, and I had a good background in C++. Back then, there weren't a lot of tutorials on the web, but there were books, and most of them were oriented to C++ programmers. You might want to look at Thinking in Java.
The short answer:
Try this book
Oracle's Java site is a pretty good resource too.
Now the long answer, you probably do not want to hear:
The amount of time and effort you will invest in your education will probably reflect on the level of professional you will become. Learning a programming language is just a small part of the knowledge you need to acquire to become a good software developer. Just like learning to operate a video camera will not make you a successful filmmaker.
Although school is not the only way to become a programmer, it forces you to visit a vast pool of concepts including design, testing, analysis, algorithms, data structures, memory management, concurrency and many more. This exploratory process forces you to take a peek on many areas of software development that you will likely never visit otherwise; this is an important exercise not only to be successful at this trade, but it will also help you discover new areas of interest.
If time is not on your side, at least try to emulate a college curriculum when doing your online self training. Do not stop at learning the language, dig much deeper.
Thinking in Java is an excellent resource.
ok so at school we worked with Big Java . Good book for beginners but it doesn't seem as comprehensive. Thinking in Java is the best book in my opinion, it is covers an insane amount of topics, but it is more of a challenge in case you have a short attention span (it tends to be more serious than the others, rendering it more boring in return).
Now in case you want something more playful Head First Java is a fun one, it uses pictures , and jokes and uses day to day examples in order to make things stick better to your brain. In case you find that kind of stuff better, than it is recommended, but it does cover less than both of the predecessors.
For later inquires, you can check out the books on this list
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
First, I would say don't focus too much (at first) on whether you are coding in OO, but whether or not you are building or structuring your application for readability, scalability, and maintainability. Do you have code that repeats in multiple places? Do you have functions that are too long? Learned to detect code smell and refactor them properly. Once you are developing good programming practice, then start learning what OO and design patterns are all about - and how they will help you design your applications even better.
Laravel is a framework built using OO principles and good design patterns. Because it is a framework providing all the scaffolding, you can quickly build good and maintainable applications without a lot of design and forethought. However, when you are creating a new model or a new controller, you are creating a class. For example, when you create a new Laravel controller extending the base Controller class, you are doing OOP. Of course, that doesn't mean you understand what OO is.
PHP was never designed with OO from the ground up. It was an afterthought and honestly not a very good one. It doesn't force you to think and write in OO. For example, a lot of the base functions and methods are not OO. If you want to understand OOP, I suggest you start with a high-level book and then move on to a true OO programming language that forces you to write and think in OO and nothing else. I am not saying you should abandon PHP/Laravel and switch to a new language, but learn OO with a OO programming language. Once you understand OO, then come back to PHP/Laravel and then you can appreciate what the language provides and what it doesn't in terms of OO.
I highly suggest you read this high-level book first. It is a quick read and you can get an older version for like 25 cents in paperback. It does a really good job explaining what OO is to people who aren't even programmers: https://www.amazon.com/Object-Oriented-Technology-Managers-Taylor-1991-11-06-dp-B01F9FU6OK/dp/B01F9FU6OK/ref=mt_mass_market_paperback?_encoding=UTF8&me=&qid=
Then move on to a OO language like Java or C#. Don't use C, C++, Python, Javascript, or Ruby for this because again, they don't force you to write in OO. The latter ones allow you to write non-OO code, so it won't be as effective trying to learn OO with them. I recommend Java because it is built in OO from the ground up. There are tons of resources, tutorials, books, and videos.
I highly recommend this book to learn both OO and Java. It is an oldie but goodie. I even attended one of the author's design camp a while back: https://www.amazon.com/Thinking-Java-4th-Bruce-Eckel/dp/0131872486. I am sure there are other great books and resources but I haven't picked up a Java book in a long while.
Good luck and feel free to reach out if you have more questions,
Ben
i agree. books and tinkering are the very best way to get introduced to programming.
i read my first programming book the summer between my sophomore and junior years in high school. (i don't recall how old that made me at the time. 16? bah, i'm getting old.) anyway, that book was Herbert Schildt's The Complete Reference: C++. i found it really interesting, but knowing what i know now Python (The Quick Python Book and Learning Python are good) or Java (I learned on Thinking in Java, but Effective Java is supposed to be good, too) are probably better places to start.
hopefully your parents support your desire to learn programming. $30-$50 for a programming book and access to a computer are a small price to pay for starting a child on a hobby that could turn into a good career!
good luck, and keep us posted! :)
If you are also new to OO programming in general, I would get these books and work on the examples. They will provide you with an excellent foundation for programming in Java.
http://www.amazon.com/First-Design-Patterns-Elisabeth-Freeman/dp/0596007124/ref=sr_1_1?ie=UTF8&s=books&qid=1251928378&sr=8-1
http://www.amazon.com/Thinking-Java-4th-Bruce-Eckel/dp/0131872486/ref=pd_sim_b_54
http://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683/ref=sr_1_1?ie=UTF8&s=books&qid=1251928591&sr=1-1
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
Not the op
However all the main IDEs are good, those are Eclipse, Netbeans and IntelliJ (as far as I am aware). At university you will probably be learning with Eclipse, BlueJ (which I have never used, but is supposed to be educational) or maybe even notepad. If they give you a choice I'd use Eclipse to learn with since it is used by a lot of companies and open source projects.
==
operator. The==
operator in Java compares memory address and not content of the strings, a quick google search turns up this blog post with some details on Strings in Java. Basically you should usestring1.equals(string2)
when comparing strings in Java.I taught myself it following various tutorials online but the books teach you better practices than those most of the time and are more in depth. Java a Beginners Guide seems highly rated on Amazon and has been kept up to date. When I was at university I saw a few copies of Thinking in Java around but it's a tad out of date now, Head First Java might also be worth a look.
The videos I used to learn Java were a combination of thenewboston videos (these don't encourage good practices but show a basic way of getting started) and some Java games programming related videos by thecodinguniverse.
Once you have the basics of Java down, might I also suggest completing the challenges on /r/dailyprogrammer to help get you more comfortable with it.
How about
http://www.amazon.co.uk/Thinking-Java-introduction-object-oriented-programming/dp/0131872486/ref=sr_1_1?ie=UTF8&qid=1311757403&sr=8-1
Takes awhile to read though!