Similar authors to follow
See more recommendations
About Dean Wampler
-- "Programming Scala", a practical book for experienced software developers that introduces this important, modern programming language (coauthor: Alex Payne).
-- "Functional Programming for Java Developers", a succinct introduction for Java developers to the concepts of functional programming, where I motivate its importance and demonstrate how to use FP concepts in Java programs.
-- "Programming Hive", a comprehensive guide to Hive, the SQL tool for Hadoop (coauthors: Ed Capriolo and Jason Rutherglen).
-- "Clean Code", I contributed the chapter on "clean systems" to this book by Robert Martin.
I have a 20-year-old passion for writing software, ranging from embedded systems to Internet and enterprise applications. You can find out more about me at these web sites:
-- http://deanwampler.com: My personal home page.
-- http://polyglotprogramming.com: Presentations, white papers, etc.
-- http://thinkbiganalytics.com: I'm a Principal Consultant in "Big Data" systems.
-- http://blog.polyglotprogramming.com: My blog.
My "off-line" interests include photography, hiking, skiing, and other mountain sports, cooking, and reading, including books that aren't about software!
Customers Also Bought Items By
Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer–but only if you work at it.
What kind of work will you be doing? You’ll be reading code–lots of code. And you will be challenged to think about what’s right about that code, and what’s wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft.
Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code–of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and “smells” gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code.
Readers will come away from this book understanding
- How to tell the difference between good and bad code
- How to write good code and how to transform bad code into good code
- How to create good names, good functions, good objects, and good classes
- How to format code for maximum readability
- How to implement complete error handling without obscuring code logic
- How to unit test and practice test-driven development
Need to move a relational database application to Hadoop? This comprehensive guide introduces you to Apache Hive, Hadoop’s data warehouse infrastructure. You’ll quickly learn how to use Hive’s SQL dialect—HiveQL—to summarize, query, and analyze large datasets stored in Hadoop’s distributed filesystem.
This example-driven guide shows you how to set up and configure Hive in your environment, provides a detailed overview of Hadoop and MapReduce, and demonstrates how Hive works within the Hadoop ecosystem. You’ll also find real-world case studies that describe how companies have used Hive to solve unique problems involving petabytes of data.
- Use Hive to create, alter, and drop databases, tables, views, functions, and indexes
- Customize data formats and storage options, from files to external databases
- Load and extract data from tables—and use queries, grouping, filtering, joining, and other conventional query methods
- Gain best practices for creating user defined functions (UDFs)
- Learn Hive patterns you should use and anti-patterns you should avoid
- Integrate Hive with other data processing programs
- Use storage handlers for NoSQL databases and other datastores
- Learn the pros and cons of running Hive on Amazon’s Elastic MapReduce
Dean Wampler, especialista em Java e autor de Programming Scala (O'Reilly), mostra a você como aplicar princípios de FP como imutabilidade, evitar efeitos colaterais e funções de ordem mais alta no seu código em Java. Cada capítulo fornece exercícios para auxiliá-lo a praticar o que aprendeu. Assim que você entender os benefícios da programação funcional, descobrirá que ela melhora todo o código que você escreve.
•Aprenda os princípios básicos da FP e aplique-os à programação orientada a objetos
•Descubra como a FP é mais concisa e modular que a OOP
•Aprenda lições úteis de FP para o seu projeto de tipos em Java – como, por exemplo, evitar nulos
•Projete estruturas de dados e algoritmos usando princípios de programação funcional
•Escreva programas concorrentes usando o modelo Actor e software transactional memory
•Use bibliotecas funcionais e frameworks para Java – e aprenda aonde ir a seguir para aprofundar seu conhecimento em programação funcional
Software development today is embracing functional programming (FP), whether it's for writing concurrent programs or for managing Big Data. Where does that leave Java developers? This concise book offers a pragmatic, approachable introduction to FP for Java developers or anyone who uses an object-oriented language.
Dean Wampler, Java expert and author of Programming Scala (O'Reilly), shows you how to apply FP principles such as immutability, avoidance of side-effects, and higher-order functions to your Java code. Each chapter provides exercises to help you practice what you've learned. Once you grasp the benefits of functional programming, you’ll discover that it improves all of the code you write.
- Learn basic FP principles and apply them to object-oriented programming
- Discover how FP is more concise and modular than OOP
- Get useful FP lessons for your Java type design—such as avoiding nulls
- Design data structures and algorithms using functional programming principles
- Write concurrent programs using the Actor model and software transactional memory
- Use functional libraries and frameworks for Java—and learn where to go next to deepen your functional programming skills