Live data from Hacker News

Ask HN: Language compiled to Excel spreadsheets?

news.ycombinator.com

21–30 of 50 posts

Re: Ask HN: Language compiled to Excel spreadsheets?

#21
post #14

For non-technical people whose tasks have reached the limit of what can easily be maintained in Excel, it seems like you need the opposite as well--call it a spreadsheet decompiler, which outputs this hypothetical declarative DSL. Alice in accounting maintains a set of spreadsheets for a number of years, and finally the task of adding some new feature, or porting it to a batch system in some production line-of-busine…

This is a bit harder. An Excel spreadsheet has no self-evident order of evaluation -- the cell dependency graph can be arbitrarily complicated.

Of course, Excel itself (and other spreadsheet programs) already do "decompiling", but this works like an always-on loop that resolves the direct, algebraic dependencies but makes no distinction for business logic. This is probably true of most real decompilation tasks.

Re: Ask HN: Language compiled to Excel spreadsheets?

#22
I think the main reason people choose to use Excel the way they do (aside from lack of choice resulting from policy, etc., decisions) is the easy, no-coding onramp to building things (And tools that let you do coding aside from what is built into Excel would likely, for those policy constrained, fall afoul of the same constraints.) So, I suspect a compile-to-excel language helps anything; the people that need it won't use it, the people that would use it already have many ways to use traditional programming languages to produce apps that the end-user accesses through Excel.

Re: Ask HN: Language compiled to Excel spreadsheets?

#23

A programming language that is as easy to write as Excel formulas exists already: It's called BASIC. Lots of people fell in love with it since the late 70's. Sure it's often ridiculed, mostly by people who somehow manage to slide an ill-fitting and unwarranted Djikstra quote in their argument, but the language has evolved with the times and once enabled millions of programmers to earn a respectable and honest living.…

I absolutely agree. My first experience was with QuickBASIC in the late 90s. I don't remember how I got my hands on it, but it was remarkably easy to pick up for a 10 year old with no programming experience and no one else in the house to answer questions. It was clearly designed with a quick feedback loop and small barriers to entry in mind.

And you remember the documentation that came with that? Absolutely amazing for the time. Although syntax highlighting had not become prevalent yet, the absolute bliss of just pressing F1 and seeing all the documentation you needed was and still is unmatched. Python integration with its various IDEs still doesn't compare to what an obscure dialect like QB64 offers today.

Re: Ask HN: Language compiled to Excel spreadsheets?

#24
When we have semi-complicated models we try to factor out the harder part to run outside Excel -- and thus have programming utilities available -- and write "front-end" logic (currency conversions, inflation adjustments, charts, etc.) in Excel. I work a lot with Matlab, and this is really to use with the .xlam add-in provided. The trick is to figure out the division between the "back-end part" (that needs debugging tools, tests, etc.) and the "spreadsheet part" (that can take an understandable, but black-boxed/stored-as-values input and do spreadsheet logic that's flexible enough for the guys who need to mess with that).

Re: Ask HN: Language compiled to Excel spreadsheets?

#25
Excel's programming model is called "non monotonic data flow programming" [1]. The diagram referenced in [1] shows which other languages support that model Therefore I would suggest to start from Oz, Alice, Curry, AKL, FCP... as the platforms for Excel replacement

[1] https://www.info.ucl.ac.be/~pvr/paradigmsDIAGRAMeng108.pdf

Re: Ask HN: Language compiled to Excel spreadsheets?

#27

Earlier quoted context omitted.

I absolutely agree. My first experience was with QuickBASIC in the late 90s. I don't remember how I got my hands on it, but it was remarkably easy to pick up for a 10 year old with no programming experience and no one else in the house to answer questions. It was clearly designed with a quick feedback loop and small barriers to entry in mind.

And you remember the documentation that came with that? Absolutely amazing for the time. Although syntax highlighting had not become prevalent yet, the absolute bliss of just pressing F1 and seeing all the documentation you needed was and still is unmatched. Python integration with its various IDEs still doesn't compare to what an obscure dialect like QB64 offers today.

Yeah, it was fantastic. After programming in QuickBASIC ~1998-99, I didn't really do any programming for about 8 years. When I got back into it (in college) I was frustrated by how difficult it seems to get off the ground. The world of c++, python, command line, vim, shared libraries, package repositories, etc..., is very powerful, but it takes a lot of knowledge to get to the point of creating something of value.

At my job, we have been getting non-programmers (at least people who aren't 100% programmers) to learn some python. It has been going fairly well, but there is still a lot of ancillary knowledge, often about the programming environment, that they don't have which means a programmer needs to get involved. As much as I dislike Excel, it does a great job of letting people think about their business logic without getting side tracked dealing with dependencies, libraries, whatever. I feel like BASIC had similar strengths, but was code with all of the advantages that brings. More modern languages like python could learn something from it.

Re: Ask HN: Language compiled to Excel spreadsheets?

#28

A programming language that is as easy to write as Excel formulas exists already: It's called BASIC. Lots of people fell in love with it since the late 70's. Sure it's often ridiculed, mostly by people who somehow manage to slide an ill-fitting and unwarranted Djikstra quote in their argument, but the language has evolved with the times and once enabled millions of programmers to earn a respectable and honest living.…

I've also noticed the trend with various dialects of Basic producing tightly-knit communities but I wonder if you can credit that to the language itself. Is a modern, object-oriented Basic really friendlier than (a subset of) Python or Lua (edit: with a similar standard library)? I find it at least as likely that today Basic's reputation as an informal, hobbyist- and beginner-friendly language shapes the communities that use it in a certain way more than the language itself. I acknowledge this may not have been the case in the 1985 or even 1995. Blitz3D [1] was an exceptionally quick and easy way to do 3D in the year 2001 but at that point it could have been written to expose the same API, say, to a Pascal compiler.

What exactly is right about Basic has been a matter of great interest to me lately because I have been thinking about developing a bootable early home computer Basic-like interactive environment for UEFI. I quickly realized that one of the hardest design decision involved in this project would be whether the language of the environment should actually be a dialect Basic (rather than Logo, Lua, Scheme, JavaScript, Tcl, Python or something else entirely).

On a related note, I wish there were large empirical studies of how quickly new programmers learn to use each of the stereotypically friendly languages. Perhaps MOOC will eventually produce those.

[1] https://en.wikipedia.org/wiki/Blitz3D

Re: Ask HN: Language compiled to Excel spreadsheets?

#29

There might be some merit to this in very specific use cases but I suppose for those use cases you might be better off using a language / environment such as Python or R anyway. I know quite a few heavy Excel users (mostly of the MBA variety). They sometimes accomplish astonishing feats with Excel. They're skilled and knowledgeable problem-solvers but they're not very likely to touch a programming environment other t…

>> Spreadsheets are also a very visual environment compared to a text-based programming language.

I like to think of a spreadsheet to be a REPL for the masses.

Re: Ask HN: Language compiled to Excel spreadsheets?

#30

Earlier quoted context omitted.

And you remember the documentation that came with that? Absolutely amazing for the time. Although syntax highlighting had not become prevalent yet, the absolute bliss of just pressing F1 and seeing all the documentation you needed was and still is unmatched. Python integration with its various IDEs still doesn't compare to what an obscure dialect like QB64 offers today.

Yeah, it was fantastic. After programming in QuickBASIC ~1998-99, I didn't really do any programming for about 8 years. When I got back into it (in college) I was frustrated by how difficult it seems to get off the ground. The world of c++, python, command line, vim, shared libraries, package repositories, etc..., is very powerful, but it takes a lot of knowledge to get to the point of creating something of value. At…

This is identical to my experience teaching non-programmers to write Python. We end up reverting to Excel so often.
Post reply on HN