Get up and running fast with the basics of programming using Java as an example language. This short book gets you thinking like a programmer in an easy and entertaining way. Modern Programming Made Easy teaches you basic coding principles, including working with lists, sets, arrays, and maps; coding in the object-oriented style; and writing a web application.
This book is language agnostic, but will mainly cover Java, with some references to Groovy, Scala, and JavaScript to give you a broad range of examples to consider. You will get a taste of what modern programming has to offer and set yourself up for further study and growth in your chosen language.
What You'll Learn Code using the functional programming style Build and test your code Read and write from files Design user interfaces Deploy your app in the cloud
Who This Book Is For Anyone who wants to learn how to code. Whether you're a student, a teacher, looking for a career change, or just a hobbyist, this book is made for you.
This book is lousy as a tutorial for any of the four languages it claims to cover. It comes closest to being a Java textbook, but there are dozens of better textbooks available for Java. It has some value as a refresher comparison of several popular languages. For example, an engineer may have learned JavaScript to design web pages. Then he/she later learned Java to handle a broader range of applications. But if the programmer then had to work on another web app using JavaScript after several years, he/ she would then need a refresher course illustrating the differences between the languages. Unfortunately, this book does not give comprehensive comparisons of all four languages.
Also, some stupid errors fail to inspire confidence in what the author is teaching. For example, early in the book, Davis is trying to explain integer arithmetic in Java. So he says that 33/3 equals 10. Of course, it actually equals 11. What he should have done is use 32/3 or 31/3 to show that Java will only calculate the integer part and not the remainder. Worse yet, he never bothered to tell us what happens with the other languages he claims to be covering, nor how Java calculates the remainder using the % operator. Also, he should probably have used a simpler ratio such as 5/2 to avoid running into resolution problems with those languages that provide floating point solutions (e.g. 10.333333 etc). Then he could have shown that 5/2 equals 2 in Java or Scala, and 2.5 in Groovy and JavaScript. Furthermore, it would have been handy to tell us that Lisp languages such as Clojure merely return the original fraction 5/2.
Lots more things annoyed me about this book. For example, the use of legendary characters such as griffins, dragons, zombies, vampires and unicorns in examples of Java code merely adds to the confusion while we're trying to understand subtle inheritance issues. It is difficult enough trying to figure out whether an inherited class is public, private or protected, without having to also figure out whether or not "undead" is the same as "alive".