7 Reasons Looker Built a New Language for Data
By Daniel Mintz
Chief Data Evangelist, Looker
January 16, 2018 — Santa Cruz, CA
To many people, analytics tools all look the same. Some dashboards, a few reports, a way to slice data. That’s because the real differentiators lie behind the scenes, where the great tools are separated from the merely good ones (and the not so good ones).
Behind Looker’s pretty face is something quite revolutionary: LookML. And even though the vast majority of users will never see a line of LookML, this new language for data is what makes Looker uniquely powerful, agile, and trustworthy–for everyone.
LookML has plenty of fans (me among them), but not everyone is immediately sold. When skeptics hear about LookML, they usually have one of two reactions:
- “Why invent a new data language when SQL already exists?” or
- “I have to write code (😱😩😭)? Can’t I use a graphical user interface (GUI) instead?”
And if you’re not familiar with LookML, these questions are totally reasonable. Plenty of people have tried to replace SQL or build graphical programming languages and failed. But knowledge and understanding of that history is exactly why we’re confident this is the right path.
Firstly, it’s important to know that LookML isn’t a replacement for SQL—it’s a better way to write SQL.
That distinction is critical, because while general-purpose programming languages have proven vibrant and dynamic, the world of data languages has been pretty stagnant. Assembly became C became Java and Python and Ruby—letting programmers focus on writing great programs instead of low-level tasks like managing memory. But data languages haven’t seen the same evolution–data analysts still mostly write SQL by hand, worrying about low-level concerns every time they write a query.
When Lloyd Tabb, Looker’s founder, started designing LookML, he began with the belief that data languages needed to evolve. But that didn’t lead him to a graphical interface. Lloyd had seen many graphical languages, and he’d learned that they are inherently imprecise, inefficient, and bad at expressing complexity simply. That’s why they’re mainly used as teaching tools today, rather than for building production systems.
But Lloyd’s vision for LookML wasn’t just about avoiding pitfalls, it was about making data users’ lives better. So to spell out our thinking more clearly, let me lay out seven reasons we believe LookML is a major step forward for data languages:
- LookML is all about reusability. Programmers have a mantra: Don’t Repeat Yourself. But most data analysis is full of repeated work. You extract raw data, prepare it, deliver an analysis, and…then never use any of that work again. This is hugely inefficient, since the next analysis often involves many of the same steps. With LookML, once you define a dimension or a measure, you build on it, rather than rewriting it again and again.
- It’s easy to learn. LookML is constructed around SQL, specifically because SQL is ubiquitous. That lets us tap into a huge pool of people who are already familiar with it. A graphical language would force everyone to start learning from scratch. But the basics of LookML can be picked up by SQL-speaking data analysts in a couple of hours.
- LookML is version controlled. Doing data well requires tracking what was changed when, by whom, and why. But graphical languages simply don’t allow that kind of modern version control. Previous attempts to incorporate version control into data systems have been clunky, proprietary, and have actually impeded collaboration. LookML provides version control using Git, the programming industry standard.
- It’s simple to debug. If you’ve ever tried debugging a graphical language, you know the pain of trying to untangle a bird’s nest of connectors. LookML developers benefit from a full-fledged Integrated Development Environment featuring auto-completion, error highlighting, contextual help, and a validator that helps you fix errors. None of that would be possible with a graphical language.
Continue reading article here: https://looker.com/blog/7-reasons-looker-built-a-new-language-for-data