What is Big Think?  

We are Big Idea Hunters…

We live in a time of information abundance, which far too many of us see as information overload. With the sum total of human knowledge, past and present, at our fingertips, we’re faced with a crisis of attention: which ideas should we engage with, and why? Big Think is an evolving roadmap to the best thinking on the planet — the ideas that can help you think flexibly and act decisively in a multivariate world.

A word about Big Ideas and Themes — The architecture of Big Think

Big ideas are lenses for envisioning the future. Every article and video on bigthink.com and on our learning platforms is based on an emerging “big idea” that is significant, widely relevant, and actionable. We’re sifting the noise for the questions and insights that have the power to change all of our lives, for decades to come. For example, reverse-engineering is a big idea in that the concept is increasingly useful across multiple disciplines, from education to nanotechnology.

Themes are the seven broad umbrellas under which we organize the hundreds of big ideas that populate Big Think. They include New World Order, Earth and Beyond, 21st Century Living, Going Mental, Extreme Biology, Power and Influence, and Inventing the Future.

Big Think Features:

12,000+ Expert Videos

1

Browse videos featuring experts across a wide range of disciplines, from personal health to business leadership to neuroscience.

Watch videos

World Renowned Bloggers

2

Big Think’s contributors offer expert analysis of the big ideas behind the news.

Go to blogs

Big Think Edge

3

Big Think’s Edge learning platform for career mentorship and professional development provides engaging and actionable courses delivered by the people who are shaping our future.

Find out more
Close
With rendition switcher

Transcript

Question: Ruby on Rails lowers the technical expertise necessary to create a web application; is expertise becoming less critical?

David Heinemeier Hansson: 
I think Ruby on Rails absolutely lowers the bar in terms of what it takes to get a web application going.  Some people see that as a negative thing.  Like, “Oh, the barbarians are at the gate”  or “We've got all of these unwashed masses flowing into our beautiful, pristine programming communities.”  I've heard things a lot of times before.  Visual Basic before that was chastised for bringing in sort of "unpure" programmers.  I think it's bullshit.  There is no such thing as the "pure" programmer, and I think that what's magic about the Ruby in Rails community is exactly that it attracts people from all different camps, that it attracts people who are not primarily programmers.  I find that often the best ideas come from people who are not programmers, people who bring just an entirely different perspective on things.

In fact, being a newbie is such an important stage because that's where you question everything.  When I first came to Ruby, I questioned everything.  I was like, “Why doesn't this thing exist?  Why is this hard?  That's stupid.  We should change that.”  You have this sort of initial naïve approach to things that makes it impossible for you just to see what should be impossible.  You just do.

If I had known in the beginning how much work it would have been to actually create Rails, I probably would never have started.  I started because I just found one little thing that to my naive newbie sense seemed easy to do.  I think it's really important that we keep this flow of new people, new blood, fresh blood coming into the community, and I also think it's wonderful that we're creating a larger group of people who can create applications.  Trying to have protectionism is never a good idea.  Trying to sort of set up, like there should only be these carefully trained programmers who are able to make programs... Bah.  That's not how it should be.  We should absolutely have programmers of all kinds.  Some of these programmers will be new, and they won't know everything, and they'll create shitty programs.  But you know what?  Most of the time, a shitty program solves the problem.  You don't need perfect programs all the time.  There are so many problems in the world that the tiny group of pristine, white knight programmers just can't solve.  They can't solve all of them; there's just not enough of them.  So we need programmers of all levels to solve the programming problems of the world.

Question: How simple can things get in terms of programming?

David Heinemeier Hansson:  So, for me it's really there's two angles to this.  There is we can absolutely make things simpler.  I think I made a lot of web development a lot simpler with Rails.  But there is a natural physical limit where at the end programming is just choices.  How should the program work?  What should happen when you click this button?  Those choices are ultimately what's the key to programming, and you can't get out of that, which is also why I think that sometimes it's a little bit of a pipe dream to think that there's going to be these magical new environments where somebody who knows nothing about programming will just be able to drag and drop a few things into a box, and then, voila!, you will have the most amazing program in the world.  No.  It's really not gonna happen like that because to have the most amazing program in the world, you need to care about a thousand decisions, and recording those thousand decisions takes a programming language.

So, there is a lower limit to how simple it can get, and that lower limit is, “Do you care about these decisions?”  Once you...  All the decisions you care about have to be codified somehow, and I don't know of any more effective way of doing that than with a great program language.  So I'm not a big believer that at some point we're all going to create these wonderful applications.  There will be a class of applications where you design a niche and say: okay, if I have to just slightly tailor some accounting software—yeah, there can be something simple for that.  But if you want the freedom of expression to create any type of web applications today, you need a tool that's expressive enough to enable that, and that is a programming language.  It doesn't get any simpler than that.

Recorded on July 22, 2010

Interviewed by Peter Hopkins

 

There’s No Such Thing as a ...

Newsletter: Share: