"If there's a book you really want to read but it hasn't been written yet, then you must write it" Toni Morrison

3 books on Java Philosophy [PDF]

Updated: Feb 15, 2026 | Author:
Why is Java such a complicated language? Because it was supposed to become very simple, but...

Java was created by one guy - James Gosling in 1995. At that time, the concept of object-oriented programming (OOP), which conveniently divides programs into classes, was becoming popular. James's idea was like this: What if we made absolutely ALL program components Classes? No functions, no operators, no main script. Just classes. Then programs would become much simpler, because all the "building blocks" would be unified.

However, he immediately had to divide Classes into Classes and Interfaces - so that they could be sent to methods of other classes without having to write the same code twice. And since interfaces were already added, he decided to unify common operators that previously just worked. For example, how do you sort a list of class objects now? The list is a class and sort - is a method. So to send a class in a method of another class, you need to create an interface. Okay, let's create an interface Comparable. And so on...

But then simple languages ​​like Python and JavaScript appeared with scripts, operators and functions and began rapidly stealing Java's popularity. Then Sun (which was developing the language at that time) decided that Java needed functions, because in some cases, creating a class for a simple task is like hammering nails with a microscope.

But easier said than done. The very core of the Java language was designed for the "Classes Only" concept. Reworking it would have meant breaking the virtual machine, breaking all existing enterprise systems written in Java. So they came up with a workaround: Functional Interfaces (interfaces with a single method, written as a lambda function, which is actually an anonymous class). They work like functions, but with a syntax that can drive you crazy. Furthermore, they created functional interface templates and gave with names, which are often not so intuitive (like Supplier and Consumer).

Thus, the attempt to make everything simple and unified led to increased complexity. However, through unification, Java retained its reliability, which is why it remains the most widely used language for building large enterprise systems.

Here are some books on Java Philosophy:

Java for Artists: The Art, Philosophy and Science of Object-oriented Programming
2006 by Rick Miller, Raffi Kasparian


Download PDF

Object-Oriented Programming and Java
2007 by Danny Poo, Derek Kiong, Swarnalatha Ashok


Download PDF

Theoretical Introduction to Programming
2005 by Bruce Ian Mills


Download PDF

See also: Top 10 eBook Organizers



How to download PDF:

1. Install Gooreader

2. Enter Book ID to the search box and press Enter

3. Click "Download Book" icon and select PDF*

* - note that for yellow books only preview pages are downloaded
Author: Maria Lin
Maria Lin, is a seasoned content writer who has contributed to numerous tech portals, including Mashable and bookrunch, as a guest author. She holds a Master's degree in Journalism from the University of California, where her research predominantly concentrated on mobile apps, software, AI and cloud services. With a deep passion for reading, Maria is particularly drawn to the intersection of technology and books, making book tech a subject of great interest to her. During her leisure time, she indulges in her love for cooking and finds solace in a good night's sleep. You can contact Maria Lin via email maria@bookrunch.com