Having trouble reading this email? View it in your browser.
New This Week

A Common-Sense Guide to Data Structures and Algorithms »

If you last saw an algorithm in a university course or at a job interview, you're missing out on the raw power that underlies all of programming. Learn how to use algorithms practically and efficiently in your code. Beginners and students will see how to use these concepts correctly from the start, and more experienced programmers will unleash the power, speed, and scalability of the best algorithm for challenging production code.

August PragPub »

  • How To Conduct an Algorithms Interview
  • Refactoring to Functional Style in Java 8
  • The Startling Uniquing of Swift 4 Dictionaries
  • Reliable Source: Virtually Equivalent

Plus: On Tap, Swaine’s World, New Manager’s Playbook, Johanna on Managing Product Development, Antonio on Books, The BoB Pages, Shady Illuminations

Recently Released:

 

Coming Up Next:

  • Mastering Ruby Closures (exPress)
  • Learn Functional Programming with Elixir: New Foundations for a New World
  • Release It! Second Edition: Design and Deploy Production-Ready Software
  • React for Real (exPress)
  • Craft GraphQL APIs in Elixir with Absinthe
Data Structures and Algorithms
August 02, 2017

The already hugely popular A Common-Sense Guide to Data Structures and Algorithms is out of beta and now in print and shipping! Come level up your core programming skills now at pragprog.com/book/jwdsal.

And be sure to catch all the tricks and tips—past, present, and future—in this month's issue of PragPub magazine, now available from theprosegarden.com.

Come and get it today!

/\ndy

A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills

Algorithms and data structures are much more than abstract concepts. Mastering them enables you to write code that runs faster and more efficiently, which is particularly important for today's web and mobile apps. This book takes a practical approach to data structures and algorithms, with techniques and real-world scenarios that you can use in your daily production code. Graphics and examples make these computer science concepts understandable and relevant.

Use Big O notation, the primary tool for evaluating algorithms, to measure and articulate the efficiency of your code, and modify your algorithm to make it faster. Find out how your choice of arrays, linked lists, and hash tables can dramatically affect the code you write. Use recursion to solve tricky problems and create algorithms that run exponentially faster than the alternatives. Dig into advanced data structures such as binary trees and graphs to help scale specialized applications such as social networks and mapping software. You'll even encounter a single keyword that can give your code a turbo boost. Jay Wengrow brings to this book the key teaching practices he developed as a web development bootcamp founder and educator.

Use these techniques today to make your code faster and more scalable.

Now in print and shipping from pragprog.com/book/jwdsal.

August PragPub Magazine

In ancient times, meaning the 1960s and 70s, writing code that involved floating-point calculations was like navigating a minefield. Different computers had different ideas about rounding and precision, and when it came to comparing values, they all had quirks that would produce incorrect and downright crazy results at times.

Things are a lot more stable now, because programmers got together and, over the years, developed an IEEE standard for how floating-point math should work.

Normalized and denormalized, zero and negative zero, infinity and negative infinity, Quiet NaN and Signalled NaN, ULPs and biased exponents, it’s all standardized. In this issue, Jim Bonang digs right down to the bit patterns in explicating the intricacies of comparing floating point numbers — and along the way explores the origins of virtual reality, in a meaty article that is both deep and entertaining.

All this year in PragPub Venkat Subramaniam is showing how to refactor your Java code to functional style by taking advantage of functional and declarative features of Java 8. It’s really a great tutorial on how to rethink problems from a functional perspective, regardless of language.

This month he shows how much time and effort can be saved by using the more advanced builtin functions of a language rather than falling back on primitive functions. Avoiding this common anti-pattern, primitive obsession, pays off especially well in functional languages, which pack a lot of power into their higher-level functions.

Most people tasked with hiring programmers would probably agree that asking an interviewee to write a Quicksort on the whiteboard while you watch is dumb. And most would also agree that the ability to understand algorithms is something you want to test for. Is there a better way to do algorithms interviews than the way we’ve been doing it?

Jay Wengrow, author of A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills, thinks there is, and shares it with us this month.

Frequent contributor Erica Sadun has been tracking the development of the Swift language, and shares some nifty tricks you can do with the latest features in Swift 4.

Regular columnists Johanna Rothman, Marcus Blankenship, Antonio Cangiano, and John Shade are on board as well. It’s a jam-packed issue. We hope you enjoy it!

Now available from theprosegarden.com.

Upcoming Author Appearances

  • 2017-08-02 Alex Miller, KCDC, Kansas City, MO
  • 2017-08-03 Alex Miller, KCDC, Kansas City, MO
  • 2017-08-03 VM Brasseur, PyCon AU
  • 2017-08-08 Johanna Rothman, Agile 2017
  • 2017-08-08 Johanna Rothman, Agile 2017
  • 2017-08-08 Janie Clayton, That Conference, Wisconsin Dells, WI
  • 2017-08-13 Jeff Kelley, 360|iDev, Denver, CO
  • 2017-08-13 Janie Clayton, 360iDev, Denver, CO
  • 2017-08-28 VM Brasseur, /dev/world/2017
  • 2017-09-11 Johanna Rothman, Agile Prague
  • 2017-09-11 Johanna Rothman, Agile Prague
  • 2017-09-11 VM Brasseur, Linux Foundation Open Source Summit North America 2017
  • 2017-09-22 Rachel Davies, Agile Greece Summit, Athens
  • 2017-09-28 Alex Miller, Strange Loop, St. Louis, MO
  • 2017-10-01 VM Brasseur, Velocity NYC
  • 2017-10-05 Rachel Davies, Software Craftsmanship, London
  • 2017-10-06 VM Brasseur, SeaGL 2017
  • Did You Know?

    You can synch your ebooks amongst your devices via Dropbox, including updates! Just login to your account on pragprog.com, edit your profile, and connect your dropbox account. See our FAQ for details.

    Don't Get Left Out

    Are your friends jealous that you get these spiffy email newsletters and they don't? Clue them in that all they need to do is create an account on pragprog.com (email address and password is all it takes) and select the checkbox to receive newsletters.

    Are you following us on Twitter and/or Facebook? Here's where you can find us and keep up with the latest news and commentary, and occasional discounts:

    Tell your friends! Tweet this

    Follow us on Twitter: @pragprog, @pragpub, Andy Hunt @PragmaticAndy.

    Andy Hunt
    Publisher, Pragmatic Bookshelf

    Books • eBooks • PragPub Magazine • Audiobooks and Screencasts
    PragProg.com

    Manage your subscription using your account, or permanently unsubscribe here.
    Sent by the Pragmatic Programmers, LLC. • 9650 Strickland Rd Ste 103-255• Raleigh NC 27615