Java: A Beginner’s Guide (8th Edition)

Java Fundamentals The History and Philosophy of Java created at Sun Microsystems to be a platform-independent language originally targeted for embedded consumer electronics blew up due to the world wide web internet populated with many types of computers, operating systems, and CPUs adopted syntax from C and object model from C++ Java simplified internet programming… Continue reading Java: A Beginner’s Guide (8th Edition)

Agile Software Development: Principles, Patterns, and Practices

Agile Practices Individuals and interactions over process and tools working well with others, communicating, and interacting is more important than raw programming talent tools can be overemphasized, start small until you outgrow it Working software over comprehensive documentation software without documentation is a disaster, but too much is worse than too little maintain a rationale… Continue reading Agile Software Development: Principles, Patterns, and Practices

Peopleware: Productive Projects and Teams

Managing the Human Resource Intro managers try to treat people as modules Somewhere Today, a Project is Failing 15% (worse for bigger projects) software projects fail due to people-related issues, not technology high tech illusion: we are in high-tech business we are mostly in the human communication business focus on the technical, because it is… Continue reading Peopleware: Productive Projects and Teams

A Philosophy of Software Design

Introduction If you can visualize a system, you can probably implement it Means greatest limitation is theĀ  ability to understand the system we are creating Over time, complexity accumulates, leading to bugs which slows development two general approaches to fight complexity making code simpler and more obvious encapsulate complexity software design continual process, waterfall rarely… Continue reading A Philosophy of Software Design