Over a million developers have joined DZone.

Finding Abstractions That Give Data Applications 'Flight'

Nailing the best abstractions is a quintessential software challenge, but we are often forced to compromise in order to get the details right for one particular use case.

· Big Data Zone

Learn how you can maximize big data in the cloud with Apache Hadoop. Download this eBook now. Brought to you in partnership with Hortonworks.

Continuing with our recent theme of abstraction in data applications, Dave King gave a talk last month explaining his design principles for "Making Code Sing: Finding the Right Abstractions." Nailing the best abstractions is a quintessential software challenge. We strive for generality, flexibility, and reuse, but we are often forced to compromise in order to get the details right for one particular use case. We end up with projects that we know have amazing potential for use in other applications but are too hardcoded to make repurposing easy. It’s frustrating to see the possibilities locked away, just out of reach.  

Dave's talk discussed design principles that balance object-oriented and functional programming techniques to create a hybrid abstraction architecture. The result is both high levels of customization and easy reconfiguration. And, like a Lego box filled with potential, it’s really fun, leveraging our creative lateral thinking just as much as our linear mind. How is visualizing genes like visualizing music? How is analyzing countries like analyzing proteins? How does manufacturing line look like a social network? The answer is in the abstractions.

The sharing economy is rapidly becoming a collaboration economy, and the ability to build off of others’ work—and more fluidly off of our own—is key. By writing software with this in mind, and by supporting abstractions that allow for analogies to be drawn between use cases, we give our code wings. 

As you'll see in the video, Dave shared a data application built with these concepts in mind, a version of Conway's game of life. Try it out, take it in some unexpected directions, and tell us about it!

Hortonworks DataFlow is an integrated platform that makes data ingestion fast, easy, and secure. Download the white paper now.  Brought to you in partnership with Hortonworks

architecture ,soa

Published at DZone with permission of Michael Perez, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}