Java Generics and Collections: Speed Up the Java Development Process
Maurice Naftalin - 2006
Generics and the greatly expanded collection libraries have tremendously increased the power of Java 5 and Java 6. But they have also confused many developers who haven't known how to take advantage of these new features.Java Generics and Collections covers everything from the most basic uses of generics to the strangest corner cases. It teaches you everything you need to know about the collections libraries, so you'll always know which collection is appropriate for any given task, and how to use it.Topics covered include:• Fundamentals of generics: type parameters and generic methods• Other new features: boxing and unboxing, foreach loops, varargs• Subtyping and wildcards• Evolution not revolution: generic libraries with legacy clients and generic clients with legacy libraries• Generics and reflection• Design patterns for generics• Sets, Queues, Lists, Maps, and their implementations• Concurrent programming and thread safety with collections• Performance implications of different collectionsGenerics and the new collection libraries they inspired take Java to a new level. If you want to take your software development practice to a new level, this book is essential reading.Philip Wadler is Professor of Theoretical Computer Science at the University of Edinburgh, where his research focuses on the design of programming languages. He is a co-designer of GJ, work that became the basis for generics in Sun's Java 5.0.Maurice Naftalin is Technical Director at Morningside Light Ltd., a software consultancy in the United Kingdom. He has most recently served as an architect and mentor at NSB Retail Systems plc, and as the leader of the client development team of a major UK government social service system."A brilliant exposition of generics. By far the best book on the topic, it provides a crystal clear tutorial that starts with the basics and ends leaving the reader with a deep understanding of both the use and design of generics." Gilad Bracha, Java Generics Lead, Sun Microsystems
The Cyber Effect: A Pioneering Cyberpsychologist Explains How Human Behavior Changes Online
Mary Aiken - 2016
Levitt, co-author of Freakonomics - One of the best books of the year--NatureMary Aiken, the world's leading expert in forensic cyberpsychology, offers a starting point for all future conversations about how the Internet is shaping development and behavior, societal norms and values, children, safety, privacy, and our perception of the world. Drawing on her own research and extensive experience with law enforcement, Aiken covers a wide range of subjects, from the impact of screens on the developing child to the explosion of teen sexting and the acceleration of compulsive and addictive behaviors online. Aiken provides surprising statistics and incredible-but-true case studies of hidden trends that are shaping our culture and raising troubling questions about where the digital revolution is taking us.Praise for The Cyber Effect"How to guide kids in a hyperconnected world is one of the biggest challenges for today's parents. Mary Aiken clearly and calmly separates reality from myth. She clearly lays out the issues we really need to be concerned about and calmly instructs us on how to keep our kids safe and healthy in their digital lives."--Peggy Orenstein, author of the New York Times bestseller Girls & Sex"[A] fresh voice and a uniquely compelling perspective that draws from the murky, fascinating depths of her criminal case file and her insight as a cyber-psychologist . . . This is Aiken's cyber cri de coeur as a forensic scientist, and she wants everyone on the case."--The Washington Post"Fascinating . . . If you have children, stop what you are doing and pick up a copy of The Cyber Effect."--The Times (UK)"An incisive tour of sociotechnology and its discontents."--Nature"Just as Rachel Carson launched the modern environmental movement with her Silent Spring, Mary Aiken delivers a deeply disturbing, utterly penetrating, and urgently timed investigation into the perils of the largest unregulated social experiment of our time."--Bob Woodward"Mary Aiken takes us on a fascinating, thought-provoking, and at times scary journey down the rabbit hole to witness how the Internet is changing the human psyche. A must-read for anyone who wants to understand the temptations and tragedies of cyberspace."--John R. Suler, PhD, author of The Psychology of Cyberspace"Drawing on a fascinating and mind-boggling range of research and knowledge, Mary Aiken has written a great, important book that terrifies then consoles by pointing a way forward so that our experience online might not outstrip our common sense."--Steven D. Levitt"Having worked with law enforcement groups from INTERPOL and Europol as well as the U.S. government, Aiken knows firsthand how today's digital tools can be exploited by criminals lurking in the Internet's Dark Net."--Newsweek
The Rust Programming Language
Steve Klabnik
This is the undisputed go-to guide to Rust, written by two members of the Rust core team, with feedback and contributions from 42 members of the community. The book assumes that you’ve written code in another programming language but makes no assumptions about which one, meaning the material is accessible and useful to developers from a wide variety of programming backgrounds.Known by the Rust community as "The Book," The Rust Programming Language includes concept chapters, where you’ll learn about a particular aspect of Rust, and project chapters, where you’ll apply what you’ve learned so far to build small programs.The Book opens with a quick hands-on project to introduce the basics then explores key concepts in depth, such as ownership, the type system, error handling, and fearless concurrency. Next come detailed explanations of Rust-oriented perspectives on topics like pattern matching, iterators, and smart pointers, with concrete examples and exercises--taking you from theory to practice.The Rust Programming Language will show you how to: Grasp important concepts unique to Rust like ownership, borrowing, and lifetimes Use Cargo, Rust’s built-in package manager, to build and maintain your code, including downloading and building dependencies Effectively use Rust’s zero-cost abstractions and employ your ownYou’ll learn to develop reliable code that’s speed and memory efficient, while avoiding the infamous and arcane programming pitfalls common at the systems level. When you need to dive down into lower-level control, this guide will show you how without taking on the customary risk of crashes or security holes and without requiring you to learn the fine points of a fickle toolchain.You’ll also learn how to create command line programs, build single- and multithreaded web servers, and much more.The Rust Programming Language fully embraces Rust’s potential to empower its users. This friendly and approachable guide will help you build not only your knowledge of Rust but also your ability to program with confidence in a wider variety of domains.