Re: Lambda Shambda



[Note: parts of this message were removed to make it a legal post.]

On Thu, Mar 31, 2011 at 5:08 AM, Mike Stephens <rubfor@xxxxxxxxxxx> wrote:

Chad Perrin wrote in post #990130:

I don't think it really qualifies as a language at all. It's more like
an extensible set of cupboards with (non-graphing) calculators from the
early '90s built into them.

You may be interested in this
http://www.programmingforums.org/thread15823.html which shows Excel
solving Dijkstra's Algorithm.

Excel is probably Turing complete (opinions differ) if you exclude the
notion of infinite sets.

If you consider a web site that collects user details, generates an
insurance quote and takes payment, then my initial assessment (I've not
built it yet) is Excel has the required features, including
authentication, logging, cookies etc. You would need a web server to
launch each Excel 'program', and you would need a module that converts
formatted Excel pages into HTML. Some functions like calling web
services and HTML formatting might practically have to be implemented as
non-Excel code (eg VBA or Ruby) but as these would require only simple
configuration they could be viewed as extensions to the inbuilt
functions and would not require programming ability on the part of the
user.

The issue (sometimes called the Turing Tarpit) is that Excel is a
programming alnguage but without many of the sophistications you see in
the likes of Ruby, and therefore may be unnecessarily awkward to program
in.

Nevertheless I think it is instructive. If you can imagine solving
practical problems in Excel then you should be able to solve the same
problems in the more accepted functional languages without being tempted
to slip back into imperative habits.

I guess my little bit of tinkering with this leads me to ask "Why should
I have to instruct the computer how to navigate data structures and code
my own error capturing? Why can't I just define what I want to see, and
then look at whether it turns out as I expected?"

--
Posted via http://www.ruby-forum.com/.


Coding everything in Excel might be an interesting paradigm to play with. It
might even reveal new ways of looking at problems that you hadn't previously
considered. But does it really warrant a title like "lambda shambda" and the
suggestion that it is easier than real languages like Haskell? It might be
possible (I'm skeptical) to write a web app in Excel, but is this really
something you'd want to do for anything other than an exercise?

I'm having a hard time telling whether you're just a little too excited
about this idea, trolling, or legitimately serious.

.



Relevant Pages

  • Re: Memory problem or Excel limitation
    ... the variables names are in french. ... 4- The application is built for french and english users so a lot of code ... > Daily Dose of Excel ... >> The main loop in the program opens a template, ...
    (microsoft.public.excel.programming)
  • Re: Lambda Shambda
    ... an extensible set of cupboards with calculators from the ... early '90s built into them. ... Excel is probably Turing complete if you exclude the ... practical problems in Excel then you should be able to solve the same ...
    (comp.lang.ruby)
  • Re: Newspaper Columns
    ... There is nothing built into Excel to do this. ... See response from Anders Silven: ... A new worksheet is created with the new column arrangement. ...
    (microsoft.public.excel)
  • Re: Search Columns For Change, Insert Blank Rows, and Sum Different Co
    ... Add headers to A1 ... It won't be exactly what you specified, but it's simple and it's built in. ... I have data that I export from Proclarity to Excel monthly. ... Insert 2 new rows and insert the sum for that group on the first newly ...
    (microsoft.public.excel.programming)
  • getting into access, can you point me in the right direction?
    ... I'm starting to use access instead of excel to store data because it's ... trainings of employees in a db for my boss. ... only the second db i've built, and i know i've got a lot to learn. ...
    (microsoft.public.access.gettingstarted)