Reddit 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.

Computers & Technology
Books
Computer Software
Thinking in Java (4th Edition)
Check price on Amazon

28 Reddit comments about Thinking in Java (4th Edition):

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/Constantine_V7 · 6 pointsr/cscareerquestions

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

u/Svsk71 · 6 pointsr/AskProgramming

"Thinking in java" is the best book.
Thinking in Java https://www.amazon.in/dp/0131872486/ref=cm_sw_r_cp_apa_i_T9wrDbHHP4R1A

u/devnull5475 · 5 pointsr/java

Immediate, unequivocal answer: Thinking in Java by Bruce Eckels.

u/CSMastermind · 4 pointsr/learnprogramming

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


  1. Cracking the Coding Interview: 189 Programming Questions and Solutions
  2. Programming Interviews Exposed: Coding Your Way Through the Interview
  3. Introduction to Algorithms
  4. The Algorithm Design Manual
  5. Effective Java
  6. Concurrent Programming in Java™: Design Principles and Pattern
  7. Modern Operating Systems
  8. Programming Pearls
  9. Discrete Mathematics for Computer Scientists

    Junior Software Engineer Reading List


    Read This First


  10. Pragmatic Thinking and Learning: Refactor Your Wetware

    Fundementals


  11. Code Complete: A Practical Handbook of Software Construction
  12. Software Estimation: Demystifying the Black Art
  13. Software Engineering: A Practitioner's Approach
  14. Refactoring: Improving the Design of Existing Code
  15. Coder to Developer: Tools and Strategies for Delivering Your Software
  16. Perfect Software: And Other Illusions about Testing
  17. Getting Real: The Smarter, Faster, Easier Way to Build a Successful Web Application

    Understanding Professional Software Environments


  18. Agile Software Development: The Cooperative Game
  19. Software Project Survival Guide
  20. The Best Software Writing I: Selected and Introduced by Joel Spolsky
  21. Debugging the Development Process: Practical Strategies for Staying Focused, Hitting Ship Dates, and Building Solid Teams
  22. Rapid Development: Taming Wild Software Schedules
  23. Peopleware: Productive Projects and Teams

    Mentality


  24. Slack: Getting Past Burnout, Busywork, and the Myth of Total Efficiency
  25. Against Method
  26. The Passionate Programmer: Creating a Remarkable Career in Software Development

    History


  27. The Mythical Man-Month: Essays on Software Engineering
  28. Computing Calamities: Lessons Learned from Products, Projects, and Companies That Failed
  29. The Deadline: A Novel About Project Management

    Mid Level Software Engineer Reading List


    Read This First


  30. Personal Development for Smart People: The Conscious Pursuit of Personal Growth

    Fundementals


  31. The Clean Coder: A Code of Conduct for Professional Programmers
  32. Clean Code: A Handbook of Agile Software Craftsmanship
  33. Solid Code
  34. Code Craft: The Practice of Writing Excellent Code
  35. Software Craftsmanship: The New Imperative
  36. Writing Solid Code

    Software Design


  37. Head First Design Patterns: A Brain-Friendly Guide
  38. Design Patterns: Elements of Reusable Object-Oriented Software
  39. Domain-Driven Design: Tackling Complexity in the Heart of Software
  40. Domain-Driven Design Distilled
  41. Design Patterns Explained: A New Perspective on Object-Oriented Design
  42. Design Patterns in C# - Even though this is specific to C# the pattern can be used in any OO language.
  43. Refactoring to Patterns

    Software Engineering Skill Sets


  44. Building Microservices: Designing Fine-Grained Systems
  45. Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
  46. NoEstimates: How To Measure Project Progress Without Estimating
  47. Object-Oriented Software Construction
  48. The Art of Software Testing
  49. Release It!: Design and Deploy Production-Ready Software
  50. Working Effectively with Legacy Code
  51. Test Driven Development: By Example

    Databases


  52. Database System Concepts
  53. Database Management Systems
  54. Foundation for Object / Relational Databases: The Third Manifesto
  55. Refactoring Databases: Evolutionary Database Design
  56. Data Access Patterns: Database Interactions in Object-Oriented Applications

    User Experience


  57. Don't Make Me Think: A Common Sense Approach to Web Usability
  58. The Design of Everyday Things
  59. Programming Collective Intelligence: Building Smart Web 2.0 Applications
  60. User Interface Design for Programmers
  61. GUI Bloopers 2.0: Common User Interface Design Don'ts and Dos

    Mentality


  62. The Productive Programmer
  63. Extreme Programming Explained: Embrace Change
  64. Coders at Work: Reflections on the Craft of Programming
  65. Facts and Fallacies of Software Engineering

    History


  66. Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software
  67. New Turning Omnibus: 66 Excursions in Computer Science
  68. Hacker's Delight
  69. The Alchemist
  70. Masterminds of Programming: Conversations with the Creators of Major Programming Languages
  71. The Information: A History, A Theory, A Flood

    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.

  72. Peter Norton's Assembly Language Book for the IBM PC
  73. Expert C Programming: Deep C Secrets
  74. Enough Rope to Shoot Yourself in the Foot: Rules for C and C++ Programming
  75. The C++ Programming Language
  76. Effective C++: 55 Specific Ways to Improve Your Programs and Designs
  77. More Effective C++: 35 New Ways to Improve Your Programs and Designs
  78. More Effective C#: 50 Specific Ways to Improve Your C#
  79. CLR via C#
  80. Mr. Bunny's Big Cup o' Java
  81. Thinking in Java
  82. JUnit in Action
  83. Functional Programming in Scala
  84. The Art of Prolog: Advanced Programming Techniques
  85. The Craft of Prolog
  86. Programming Perl: Unmatched Power for Text Processing and Scripting
  87. Dive into Python 3
  88. why's (poignant) guide to Ruby
u/zgm3 · 3 pointsr/learnprogramming

Thinking in Java and Head First Java are also really good.

u/xpyter · 2 pointsr/gamedev

this is the best java book i know: http://www.amazon.com/Thinking-Java-4th-Bruce-Eckel/dp/0131872486 should have anything you need.

u/ryosen · 2 pointsr/javahelp

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.

u/oorza · 2 pointsr/javahelp

Read, in this order:

  1. Thinking In Java.

  2. Effective Java

  3. Java Concurrency in Practice

    Those three books should get you wherever you need to be, without getting more specific books (e.g. framework books).
u/Chomskyismyhero · 2 pointsr/learnprogramming

Head First Java

Thinking in Java

Effective Java

Java Concurrency in Practice

Best $150 you'll ever spend. Read in order listed.

u/Xartorx · 2 pointsr/politota

После java можно как-раз.
По java советую Thinking in Java и Effective Java и в довесок.

u/axlor · 2 pointsr/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.

u/crosstalk22 · 2 pointsr/TrollDevelopers

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

u/khedoros · 1 pointr/gamedev

Different people have different learning styles.

  • Get a book and work through the whole thing (I haven't used it, but Head First Java seems to be popular. Thinking in Java is a few years old, but it covers Java 6, which isn't far off from Java 7).

  • Find text internet tutorials

  • Take a class

  • Find a video tutorial series you like (I really don't care for videos, so you'd have to ask someone else for recommendations)

  • After learning the basics from some source, "jump in". Seriously, start programming, because you'll need a lot of practice. Find a little project that's just a couple steps above what you know. Do some research into how to do what you're trying to learn, extend your knowledge, then start writing.
u/AngeDeFrance · 1 pointr/learnprogramming

Is it this one?

​

Thinking in Java by Bruce Eckel on Amazon.

u/gsg927 · 1 pointr/learnprogramming

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.

u/Gankbanger · 1 pointr/learnprogramming

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.

u/h1d3m3 · 1 pointr/java

Thinking in Java is an excellent resource.

u/YourTechnician · 1 pointr/learnprogramming

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

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/benlwong · 1 pointr/laravel

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

u/aboothe726 · 1 pointr/programming

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! :)

u/twicked · 1 pointr/learnprogramming

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

u/LyndonArmitage · 1 pointr/java
  1. I use IntelliJ at work and home, not just for Java but for a lot of other things, it has the fastest and best intelligent auto complete I have seen in an IDE and supports a whole tonne of frameworks and programming languages, it's also got some kickass keyboard shortcuts and a nice dark skin.
    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.

  2. One thing to watch out for is String comparison using the == 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 use string1.equals(string2) when comparing strings in Java.

  3. Nab a book from your university library or buy one on Amazon/The Book Depository.
    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.