News for hackers. Stuff that matters.
Re:Ask HN: What would Excel's formula language look like if ... by Pxtl on Monday December 02, 2013 @10:29AM (#6834194)
Honestly, I think the bones of Excel's language are fine. It's very natural for anybody who knows highschool math. There are obviously a few features I'd want redesigned - like the inline-if stuff, and a good lambda syntax would be nice. Better Boolean support would be a big thing.

Basically I'd want something like C# or Python.

The big thing is that Excel is for non-coders, so you can't use programmer-centric syntax. That means that C's ternary operators, double-equal-signs equality test, and the ampersand/pipe boolean logic is right out.

On the other hand, I like curly braces, and the "BEGIN" "END" keywords of wordy languages seem more confusing than simple braces. Or indent-based since the environment can be trusted to enforce them and make them neat. But curly-braces are good for one-liners, which are important to Excel.

.NET support would also be a huge plus.

Oh, I just designed Boo.

Yeah, Boo (or something very close to it) would be my language for Excel. Except for the silly double-equality thing, screw that, since most variable declarations will be a cell anyways so the assignment operator isn't too useful for Excel and you can make assignment verbose with a "let" keyword.

My biggest problem with Excel isn't the formula language but the muddy-thinking nature of spreadsheets themselves. I'd rather see a middle-ground between a database and a spreadsheet, something like Lotus Improv.

Make the user specifically define the names of their variables they're using and whether they're a scalar, an array, or a 2d array. Make the formulas visible above these things.

Re:Ask HN: What would Excel's formula language look like if ... by wink on Tuesday December 03, 2013 @03:34PM (#6842992)
I think localizing it was a big mistake. I don't even want to know if this is fixed now, but I am fairly certain that stuff written in German Excel didn't work in English installations. =SUM() vs =SUMME()