spreadsheets are code

Post on 09-May-2015

2.365 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

I have said it before, and I'll say it again: Spreadsheets are code. This talk explains why and discusses the implications.

TRANSCRIPT

Spreadsheets are codeFelienne Hermans (@felienne)

Spreadsheets are codeFelienne Hermans (@felienne)

In this slidedeck I explain whyy spreadsheets are code, and what we can do with that idea.

Spreadsheets are mislabeled

Spreadsheets are mislabeled

People often think of spreadsheets as data, but...

Spreadsheets are code

Spreadsheets are code

I have made it my life’s work to spread the happy word

“Spreadsheets are code!”

Spreadsheets are code

I have made it my life’s work to spread the happy word

“Spreadsheets are code!”

If you don’t immediately believe me, I have three reasons*

* If you do believe me, skip the next 10 slides ;)

1) Used for similar problems

This tool (for stock price computation) could have been built in any language. C, JavaScript, COBOL, or Excel.

The problems Excel is used for are often (not always) similar to problems solved in different languages.

2) Formulas are Turing complete

2) Formulas are Turing complete

I go to great lengths to make my point. To such great lengths that I built a Turing machine in Excel, using formulas only.

Here you see it in action. Every row is an consecutive step of the lint.

This makes it, in addition to a proof that formulas are Turing complete,Also a nice visualization of a Turing machine.

3) They suffer from the same problems

3) They suffer from the same problems

3) They suffer from the same problems

3) They suffer from the same problems

In summary: both the activities, complexity and problems are the

same

So if spreadsheets are code, can we apply software engineering methods?

In software, tools have been created to

help programmers understand code

Speadsheets however, lack support for testing, refactoring and code analysis.

My goals is to bring those tools to spreadsheets

In my dissertation, I defined smellsfor spreadsheet formulas

www.felienne.com/publications

In my dissertation, I defined smellsfor spreadsheet formulas

If you say smells

If you say smells, you say refactoring

So, we built BumbleBee: a refactoring tool for spreadsheets

So, we built BumbleBee: a refactoring tool for spreadsheets

You can download BumbleBee frommy website

(felienne.com/BumbleBee)

The transformations are entirely programmable, with a small language

And of course, if you say refactoring,

you say …

And of course, if you say refactoring,

you say testing

Spreadsheets tests are hiding in plain sight

These test formulas are common, and they can be exploited

Our tool Expector can find test formulas

Expector helps users to understand robustness of their spreadsheets

Also available:felienne.com/Expector

Thanks for viewing the slides for

Spreadsheets: are code!

Want to know more?

• Visit my sites felienne.com spreadsheetlab.org

• Send a tweet @felienne

• Send an email mail@felienne.com

top related