We love a good debate. And we love data. So when the existential question of spaces vs. tabs came up in our team, we just had to run a real-time survey and collect thousands of data points around it. While we were at it, we figured it was time to settle the debate around other equally important developer issues like Hint vs. LaCroix, Vim vs. Emacs, and more. And, as any self-respecting serverless data company would do, we built our own web app - called the Binary Survey - that collects free-form JSON, queries live data using SQL, and displays results in real-time. We even open-sourced the code and wrote a detailed blog post about how we built our serverless analytics app on clickstream data, because that's what we love.
Since the creation of the Binary Survey in February 2019, we've heard from more than 2,500 developers on where they stand on these issues. Here are five things we have learned to be true (so far):
1. SQL over NoSQL
SQL is making a strong comeback with more modern systems embracing SQL and an overwhelming 84% of respondents preferring SQL over NoSQL. There has been a resurgence in modern data systems embracing SQL, including Google Spanner, CockroachDB, Kafka, TimescaleDB and Rockset, to name a few. But wait, hadn't SQL been left for dead? Why are we going back to the future? I mean, who needs JOINS anymore?! Well, it turns out that, for developers building data-driven applications, it is annoying to write custom code to glue together a data pipeline and it is difficult to learn a bunch of different query languages for different NoSQL databases. It explains the renewed interest in SQL, and the possibility that the future of data is being reshaped as we speak.
2. Vim over Emacs
Vim is winning by a good margin with 80% of respondents choosing vim over emacs in the (decades-long) editor war between the church of Emacs and the cult of Vim. Some emacs users joke that vi has two modes – "beep repeatedly" and "break everything", while vim users have said emacs stands for “Eventually Munches All Computer Storage”. Sorry, St IGNUcius, we love you, but the people have spoken in favor of vim. This feels like a good time to break into the vi song:
You think it's neat to type an "a" or an "i"--
You won't look at emacs, no you'd just rather die
You know you're gonna have to face it;
You're addicted to vi!
3. React over Angular
React is comfortably leading the pack right now with 70% of respondents in favor. Both React and Angular have cohesive, reusable, modular components but the similarities end there. In fact, people have said comparing the two is like comparing apples and oranges - one is a library and the other is a framework. Still, when you have to choose between the two make sure you ask the three questions that matter:
- Is it easy to learn?
- Does it fit well with my use case?
- What is the overall developer experience like?
Ultimately for developers, its a lifestyle choice. So the bigger question is, why couldn’t the React component understand the joke? Because it didn’t get the context.
4. Hint over LaCroix
Hint water has been named the de facto official drink of Silicon Valley, dethroning the fan favorite LaCroix with a 59% lead. In fact, Forbes ran an article on Hint where the author trolled Twitter feeds to uncover that Hint is stocked at Uber, Google, Facebook, Yelp, LinkedIn, Spotify, Snap Inc., Product Hunt, Instagram, Hulu, and a plethora of smaller firms you haven't heard of of yet. If you think it's just water, you're wrong - it's water reinvented! It's water with a hint of flavor. Not one, but 28 flavors!! Coffee is for closers, Hint water is for all.
5. Spaces over Tabs
Developers are much better at reading code in a style they are familiar with, and spaces are winning by a thin margin with 54% developers preferring to use spaces over tabs. Stackoverflow has reported that developers who use spaces make more money than those who use tabs, even if they have the same amount of experience. (Apparently the difference in income is more pronounced in certain regions like India.) The curious case of more money in spaces is not easy to unravel but somehow, somewhere, word must have gotten around because our survey shows that developers are leaning towards blank spaces as we speak.
Jump in, the water's warm
The survey is still running. So far we've had 2574 developers participate, but the debate is still going strong - so jump right in and make your voice heard at https://rockset.com/binary-survey/ In fact, if you're the kind who tends to “be the change”, I urge you to bring up other burning developer issues you'd like us to debate. Let's do this.