Rahul Goma's bookshelf: programming en-US Fri, 24 Oct 2014 12:38:13 -0700 60 Rahul Goma's bookshelf: programming 144 41 /images/layout/goodreads_logo_144.jpg <![CDATA[Data Structures & Algorithms in Java (Mitchell Waite Signature Series)]]> 594290 617 Mitchell Waite 1571690956 Rahul Goma 5 programming 4.35 1998 Data Structures & Algorithms in Java (Mitchell Waite Signature Series)
author: Mitchell Waite
name: Rahul Goma
average rating: 4.35
book published: 1998
rating: 5
read at:
date added: 2014/10/24
shelves: programming
review:

]]>
<![CDATA[Kestrels, Quirky Birds, and Hopeless Egocentricity]]> 13485355 100 Reginald Braithwaite Rahul Goma 4 programming
The author is extremely articulate with his explanations. The book is rather code-heavy. The examples are very well chosen, and follow a logical flow. The stuff on recursion combinators is a pure delight.

Having had a love affair with Factor in past, I liked that the book nods to concatenative language family in the end.

I don't understand all of the material well yet; it's quite dense after all. I am likely to keep coming back to this book in future.]]>
4.30 Kestrels, Quirky Birds, and Hopeless Egocentricity
author: Reginald Braithwaite
name: Rahul Goma
average rating: 4.30
book published:
rating: 4
read at: 2014/06/12
date added: 2014/06/13
shelves: programming
review:
What happens when the world of combinatory logic meets the world of runtime metaprogramming? Read this excellent book from Reg Braithwaite to find out! The material in this book will fry your brain; in a good way.

The author is extremely articulate with his explanations. The book is rather code-heavy. The examples are very well chosen, and follow a logical flow. The stuff on recursion combinators is a pure delight.

Having had a love affair with Factor in past, I liked that the book nods to concatenative language family in the end.

I don't understand all of the material well yet; it's quite dense after all. I am likely to keep coming back to this book in future.
]]>
<![CDATA[Smalltalk, Objects, and Design]]> 2015891 312 Chamond Liu 1583484906 Rahul Goma 0 programming, to-read, parked 4.10 1996 Smalltalk, Objects, and Design
author: Chamond Liu
name: Rahul Goma
average rating: 4.10
book published: 1996
rating: 0
read at:
date added: 2014/01/18
shelves: programming, to-read, parked
review:

]]>
<![CDATA[To Mock a Mockingbird and Other Logic Puzzles]]> 194769 256 Raymond M. Smullyan 0192801422 Rahul Goma 0 4.20 1985 To Mock a Mockingbird and Other Logic Puzzles
author: Raymond M. Smullyan
name: Rahul Goma
average rating: 4.20
book published: 1985
rating: 0
read at:
date added: 2014/01/18
shelves: curiosity, programming, to-read, parked
review:

]]>
Java Concurrency in Practice 127932 --Martin Buchholz
JDK Concurrency Czar, Sun Microsystems

"For the past 30 years, computer performance has been driven by Moore's Law; from now on, it will be driven by Amdahl's Law. Writing code that effectively exploits multiple processors can be very challenging. Java Concurrency in Practice provides you with the concepts and techniques needed to write safe and scalable Java programs for today's--and tomorrow's--systems."
--Doron Rajwan
Research Scientist, Intel Corp

"This is the book you need if you're writing--or designing, or debugging, or maintaining, or contemplating--multithreaded Java programs. If you've ever had to synchronize a method and you weren't sure why, you owe it to yourself and your users to read this book, cover to cover."
--Ted Neward
Author of Effective Enterprise Java

"Brian addresses the fundamental issues and complexities of concurrency with uncommon clarity. This book is a must-read for anyone who uses threads and cares about performance."
--Kirk Pepperdine
CTO, JavaPerformanceTuning.com

"This book covers a very deep and subtle topic in a very clear and concise way, making it the perfect Java Concurrency reference manual. Each page is filled with the problems (and solutions!) that programmers struggle with every day. Effectively exploiting concurrency is becoming more and more important now that Moore's Law is delivering more cores but not faster cores, and this book will show you how to do it."
--Dr. Cliff Click
Senior Software Engineer, Azul Systems

"I have a strong interest in concurrency, and have probably written more thread deadlocks and made more synchronization mistakes than most programmers. Brian's book is the most readable on the topic of threading and concurrency in Java, and deals with this difficult subject with a wonderful hands-on approach. This is a book I am recommending to all my readers of The Java Specialists' Newsletter, because it is interesting, useful, and relevant to the problems facing Java developers today."
--Dr. Heinz Kabutz
The Java Specialists' Newsletter

"I've focused a career on simplifying simple problems, but this book ambitiously and effectively works to simplify a complex but critical subject: concurrency. Java Concurrency in Practice is revolutionary in its approach, smooth and easy in style, and timely in its delivery--it's destined to be a very important book."
--Bruce Tate
Author of Beyond Java

" Java Concurrency in Practice is an invaluable compilation of threading know-how for Java developers. I found reading this book intellectually exciting, in part because it is an excellent introduction to Java's concurrency API, but mostly because it captures in a thorough and accessible way expert knowledge on threading not easily found elsewhere."
--Bill Venners
Author of Inside the Java Virtual Machine

Threads are a fundamental part of the Java platform. As multicore processors become the norm, using concurrency effectively becomes essential for building high-performance applications. Java SE 5 and 6 are a huge step forward for the development of concurrent applications, with improvements to the Java Virtual Machine to support high-performance, highly scalable concurrent classes and a rich set of new concurrency building blocks. In Java Concurrency in Practice , the creators of these new facilities explain not only how they work and how to use them, but also the motivation and design patterns behind them.

However, developing, testing, and debugging multithreaded programs can still be very difficult; it is all too easy to create concurrent programs that appear to work, but fail when it matters most: in production, under heavy load. Java Concurrency in Practice arms readers with both the theoretical underpinnings and concrete techniques for building reliable, scalable, maintainable concurrent applications. Rather than simply offering an inventory of concurrency APIs and mechanisms, it provides design rules, patterns, and mental models that make it easier to build concurrent programs that are both correct and performant.

This book covers:


Basic concepts of concurrency and thread safety Techniques for building and composing thread-safe classes Using the concurrency building blocks in java.util.concurrent Performance optimization dos and don'ts Testing concurrent programs Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model]]>
432 Brian Goetz 0321349601 Rahul Goma 0 programming, to-read, parked 4.47 2005 Java Concurrency in Practice
author: Brian Goetz
name: Rahul Goma
average rating: 4.47
book published: 2005
rating: 0
read at:
date added: 2014/01/18
shelves: programming, to-read, parked
review:

]]>
<![CDATA[Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming]]> 17802513 319 Simon Marlow 1449335942 Rahul Goma 0 programming, parked, to-read 4.56 2013 Parallel and Concurrent Programming in Haskell: Techniques for Multicore and Multithreaded Programming
author: Simon Marlow
name: Rahul Goma
average rating: 4.56
book published: 2013
rating: 0
read at:
date added: 2014/01/18
shelves: programming, parked, to-read
review:

]]>
<![CDATA[Beginning Scala (Expert's Voice in Open Source)]]> 6307660 372 David Pollak 1430219890 Rahul Goma 2 programming 2.98 2009 Beginning Scala (Expert's Voice in Open Source)
author: David Pollak
name: Rahul Goma
average rating: 2.98
book published: 2009
rating: 2
read at:
date added: 2013/12/16
shelves: programming
review:
I did not find it particularly helpful. The examples are confusing and some, even worse, are daunting.
]]>
<![CDATA[Data Structures And Algorithms in Java]]> 27842

Now revised to reflect the innovations of Java 5.0, Goodrich and Tamassia's Fourth Edition of Data Structures and Algorithms in Java continues to offer accessible coverage of fundamental data structures, using a consistent object-oriented framework. The authors provide intuition, description, and analysis of fundamental data structures and algorithms. Numerous illustrations, web-based animations, and simplified mathematical analyses justify important analytical concepts.

Key Features of the Fourth
* Updates to Java 5.0 include new sections on generics and other Java 5.0 features, and revised code fragments, examples, and case studies to conform to Java 5.0.
* Hundreds of exercises, including many that are new to this edition, promote creativity and help readers learn how to think like programmers and reinforce important concepts.
* New case studies illustrate topics such as web browsers, board games, and encryption.
* A new early chapter covers Arrays, Linked Lists, and Recursion.
* A new final chapter on Memory covers memory management and external memory data structures and algorithms.
* Java code examples are used extensively, with source code provided on the website.
* Online animations and effective in-text art illustrate data structures and algorithms in a clear, visual manner.


Access additional resources on the web
* Java source code for all examples in the book
* Animations
* Library (net.datastructures) of Java constructs used in the book
* Problems database and search engine
* Student hints to all exercises in the book
* Instructor resources, including solutions to selected exercises
* Lecture slides]]>
696 Michael T. Goodrich 0471738840 Rahul Goma 4 programming 3.91 1998 Data Structures And Algorithms in Java
author: Michael T. Goodrich
name: Rahul Goma
average rating: 3.91
book published: 1998
rating: 4
read at:
date added: 2012/12/10
shelves: programming
review:

]]>
Testing in Scala 13593714 166 Daniel Hinojosa 1449315119 Rahul Goma 5 programming 3.24 2013 Testing in Scala
author: Daniel Hinojosa
name: Rahul Goma
average rating: 3.24
book published: 2013
rating: 5
read at: 2012/12/07
date added: 2012/12/07
shelves: programming
review:

]]>
Head First C# 1863528
Every few chapters you will come across a lab that lets you apply what you've learned up to that point. Each lab is designed to simulate a professional programming task, increasing in complexity until-at last-you build a working Invaders game, complete with shooting ships, aliens descending while firing, and an animated death sequence for unlucky starfighters. This remarkably engaging book will have you going from zero to 60 with C# in no time flat.]]>
714 Andrew Stellman 0596514824 Rahul Goma 2 programming 3.95 2007 Head First C#
author: Andrew Stellman
name: Rahul Goma
average rating: 3.95
book published: 2007
rating: 2
read at: 2009/01/01
date added: 2012/10/04
shelves: programming
review:
No real discussion of the language.
]]>
Head First Design Patterns 58128
At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on...something else. Something more challenging. Something more complex. Something more fun.

You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild". In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code.

You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead). You want to learn how those principles will help the next time you're up a creek without a design pattern.

Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter.

With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts.

If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team.]]>
638 Eric Freeman 0596007124 Rahul Goma 5 programming, favorites Best book on the subject. 4.29 2004 Head First Design Patterns
author: Eric Freeman
name: Rahul Goma
average rating: 4.29
book published: 2004
rating: 5
read at: 2009/01/01
date added: 2012/10/04
shelves: programming, favorites
review:
Best book on the subject.
]]>
<![CDATA[Learn You a Haskell for Great Good!]]> 6593810 Learn You a Haskell for Great Good! is a fun, illustrated guide to learning Haskell, a functional programming language that's growing in popularity. Learn You a Haskell for Great Good! introduces programmers familiar with imperative languages (such as C++, Java, or Python) to the unique aspects of functional programming. Packed with jokes, pop culture references, and the author's own hilarious artwork, Learn You a Haskell for Great Good! eases the learning curve of this complex language, and is a perfect starting point for any programmer looking to expand his or her horizons. The well-known web tutorial on which this book is based is widely regarded as the best way for beginners to learn Haskell, and receives over 30,000 unique visitors monthly.

]]>
176 Miran LipovaÄŤa Rahul Goma 5 programming, favorites 4.30 2011 Learn You a Haskell for Great Good!
author: Miran LipovaÄŤa
name: Rahul Goma
average rating: 4.30
book published: 2011
rating: 5
read at: 2011/08/09
date added: 2012/10/04
shelves: programming, favorites
review:
The best introductory book on Haskell. And it's free!
]]>
Programming Scala 6532165
Programming Scala clearly explains the advantages of Scala as a JVM language. You'll learn how to leverage the wealth of Java class libraries to meet the practical needs of enterprise and Internet projects more easily. Packed with code examples, this book provides useful information on Scala's command-line tools, third-party tools, libraries, and available language-aware plugins for editors and IDEs.]]>
448 Dean Wampler 0596155956 Rahul Goma 4 programming 3.70 2009 Programming Scala
author: Dean Wampler
name: Rahul Goma
average rating: 3.70
book published: 2009
rating: 4
read at:
date added: 2012/10/03
shelves: programming
review:
It's hard to keep up with its pace but it's a good, useful book.
]]>
<![CDATA[Programming in Scala: A Comprehensive Step-by-step Guide]]> 5680904 776 Martin Odersky 0981531601 Rahul Goma 4 programming, favorites 1. A lot of it needs to updated to the current language version.
2. Some examples in the book are mentally taxing and drive attention away from the main topic.
3. Type classes deserve more attention.
4. Their should be a greater emphasis on language philosophy.]]>
4.21 2008 Programming in Scala: A Comprehensive Step-by-step Guide
author: Martin Odersky
name: Rahul Goma
average rating: 4.21
book published: 2008
rating: 4
read at:
date added: 2012/10/03
shelves: programming, favorites
review:
Still the best book to get into Scala. A few complaints:
1. A lot of it needs to updated to the current language version.
2. Some examples in the book are mentally taxing and drive attention away from the main topic.
3. Type classes deserve more attention.
4. Their should be a greater emphasis on language philosophy.
]]>
<![CDATA[Java 2: The Complete Reference]]> 666032 1154 Herbert Schildt 0072224207 Rahul Goma 3 programming 3.94 2000 Java 2: The Complete Reference
author: Herbert Schildt
name: Rahul Goma
average rating: 3.94
book published: 2000
rating: 3
read at:
date added: 2012/10/03
shelves: programming
review:
It proved useful to me at the time (about four years ago) but I would probably not like this sort of book if handed to me now.
]]>
Thinking in Java 71672 Thinking in Java is a printed version of Bruce Eckel's online materials that provides a useful perspective on mastering Java for those with previous programming experience. The author's take on the essence of Java as a new programming language and the thorough introduction to Java's features make this a worthwhile tutorial.

Thinking in Java begins a little esoterically, with the author's reflections on why Java is new and better. (This book's choice of font for chapter headings is remarkably hard on the eyes.) The author outlines his thoughts on why Java will make you a better programmer, without all the complexity. The book is better when he presents actual language features. There's a tutorial to basic Java types, keywords, and operators. The guide includes extensive source code that is sometimes daunting (as with the author's sample code for all the Java operators in one listing.) As such, this text will be most useful for the experienced developer.

The text then moves on to class design issues, when to use inheritance and composition, and related topics of information hiding and polymorphism. (The treatment of inner classes and scoping will likely seem a bit overdone for most readers.) The chapter on Java collection classes for both Java Developer's Kit (JDK) 1.1 and the new classes, such as sets, lists, and maps, are much better. There's material in this chapter that you are unlikely to find anywhere else.

Chapters on exception handling and programming with type information are also worthwhile, as are the chapters on the new Swing interface classes and network programming. Although it adopts somewhat of a mixed-bag approach, Thinking in Java contains some excellent material for the object-oriented developer who wants to see what all the fuss is about with Java.

]]>
1401 Bruce Eckel 0131872486 Rahul Goma 3 programming 4.16 1998 Thinking in Java
author: Bruce Eckel
name: Rahul Goma
average rating: 4.16
book published: 1998
rating: 3
read at:
date added: 2012/10/03
shelves: programming
review:

]]>
Head First Java 231262
The fact is your brain craves novelty. It's constantly searching, scanning, waiting for something unusual to happen. After all, that's the way it was built to help you stay alive. It takes all the routine, ordinary, dull stuff and filters it to the background so it won't interfere with your brain's real work--recording things that matter. How does your brain know what matters? It's like the creators of the Head First approach say, suppose you're out for a hike and a tiger jumps in front of you, what happens in your brain? Neurons fire. Emotions crank up. Chemicals surge. That's how your brain knows.

And that's how your brain will learn Java. Head First Java combines puzzles, strong visuals, mysteries, and soul-searching interviews with famous Java objects to engage you in many different ways. It's fast, it's fun, and it's effective. And, despite its playful appearance, Head First Java is serious stuff: a complete introduction to object-oriented programming and Java. You'll learn everything from the fundamentals to advanced topics, including threads, network sockets, and distributed programming with RMI. And the new. second edition focuses on Java 5.0, the latest version of the Java language and development platform. Because Java 5.0 is a major update to the platform, with deep, code-level changes, even more careful study and implementation is required. So learning the Head First way is more important than ever.

If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. If you haven't, you're in for a treat. You'll see why people say it's unlike any other Java book you've ever read.

By exploiting how your brain works, Head First Java compresses the time it takes to learn and retain--complex information. Its unique approach not only shows you what you need to know about Java syntax, it teaches you to think like a Java programmer. If you want to be bored, buy some other book. But if you want to understand Java, this book's for you.]]>
720 Kathy Sierra 0596009208 Rahul Goma 5 programming, favorites 4.25 2006 Head First Java
author: Kathy Sierra
name: Rahul Goma
average rating: 4.25
book published: 2006
rating: 5
read at:
date added: 2012/10/03
shelves: programming, favorites
review:
My first programming book. :)
]]>
<![CDATA[Effective Java : Programming Language Guide]]> 105099 The Definitive Guide to Java Platform Best Practices--Updated for Java 7, 8, and 9 Java has changed dramatically since the previous edition of Effective Java was published shortly after the release of Java 6. This Jolt award-winning classic has now been thoroughly updated to take full advantage of the latest language and library features. The support in modern Java for multiple paradigms increases the need for specific best-practices advice, and this book delivers. As in previous editions, each chapter of Effective Java, Third Edition, consists of several "items," each presented in the form of a short, stand-alone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why. The third edition covers language and library features added in Java 7, 8, and 9, including the functional programming constructs that were added to its object-oriented roots. Many new items have been added, including a chapter devoted to lambdas and streams. New coverage includes
Functional interfaces, lambda expressions, method references, and streams Default and static methods in interfaces Type inference, including the diamond operator for generic types The @SafeVarargs annotation The try-with-resources statement New library features such as the Optional interface, java.time, and the convenience factory methods for collections Register your product at for convenient access to the web edition eBook, updates, and/or corrections as they become available.]]>
252 Joshua Bloch 0201310058 Rahul Goma 5 programming 4.45 2001 Effective Java : Programming Language Guide
author: Joshua Bloch
name: Rahul Goma
average rating: 4.45
book published: 2001
rating: 5
read at:
date added: 2012/10/03
shelves: programming
review:

]]>
C++ Primer 768080 --Steve Vinoski, Chief Engineer, Product Innovation, IONA Technologies " The Primer really brings this large and complex language down to size."
--Justin Shaw, Senior Member of Technical Staff, Electronic Programs Division, The Aerospace Corporation "It not only gets novices up and running early, but gets them to do so using good programming practices."
--Nevin ":-)" Liber, Senior Principal Engineer (C++ developer since 1988) This popular tutorial introduction to standard C++ has been completely updated, reorganized, and rewritten to help programmers learn the language faster and use it in a more modern, effective way. Just as C++ has evolved since the last edition, so has the authors' approach to teaching it. They now introduce the C++ standard library from the beginning, giving readers the means to write useful programs without first having to master every language detail. Highlighting today's best practices, they show how to write programs that are safe, can be built quickly, and yet offer outstanding performance. Examples that take advantage of the library, and explain the features of C++, also show how to make the best use of the language. As in its previous editions, the book's authoritative discussion of fundamental C++ concepts and techniques makes it a valuable resource even for more experienced programmers. Program Faster and More Effectively with This Rewritten Classic The source code for the book's extended examples is available on the Web at the address below. ]]>
885 Stanley B. Lippman 0201721481 Rahul Goma 3 programming 4.21 1989 C++ Primer
author: Stanley B. Lippman
name: Rahul Goma
average rating: 4.21
book published: 1989
rating: 3
read at:
date added: 2012/10/03
shelves: programming
review:

]]>