sábado, 11 de dezembro de 2010

Spreadsheets: looking around

Spreadsheet OS: the idea of user interacting with a spreadsheet, and the multiple dependencies of the spreadsheet are maintained dynamically. This to be extended to an operating system.

Org as a spreadsheet system: Org is an Emacs with several features to organize outlines, agendas, documents and spreadsheets. Spreadsheets can use standard formulas or Lisp expressions. To explore and to possibly use some of the ideas.

VisiCalc-like development in Lisp: Cells extension to CLOS in Common Lisp that allows one to code Lisp applications that dynamically react to changes in slot values, much like the way spreadsheet cells behave) and Cello (a GUI framework built on top of Cells). Good ideas but looks like development stopped in 2004.

Free Spreadsheets running on Linux: several interesting products/projects: SIAG, Disaml, Esheet and SES, Gnumeric... Doc and sources for Linux spreadsheets. 

Siag Office, a free Office Package for Unix with an X-based spreadsheet written in C and Scheme, extensible using Scheme. SIAG is Scheme based. Fast and small, for light Unix distributions. Permit extensions in several languages. Is a complete office suite. Based on SIOD, Scheme in One Defun.  Manual here.

Dismal, a spreadsheet for Emacs written in Lisp.

Esheet and SES, also running on Emacs: Simple Emacs Spreadsheet (SES, ses-mode or SesMode) is major mode in Emacs that mimics traditional SpreadSheet software, and uses EmacsLisp formulas


Oleo seems pretty weak. Lightweight free software under GNU.

Abacus student project at Portuguese university. See files at abacus-0.9.13


Spreadsheets under BSD, comparison and evaluation, part 1 anda part 2.


Resolver, a Python based spreadsheet. Approaches very closely the idea of a functional spreadsheet: the read-eval-print loop, the program containing cell. See First look at Resolver for the concepts. In Resolver each cell formula is dynamically translated to its Python equivalent. It's “a somewhat pathological but entirely new way of programming using a spreadsheet.”


XXL is an  interesting project of spreadsheet development.
. Author Vincent Granet ideas on the numerical errors in spreadsheets: "... Writing a spreadsheet is an error-prone activity. A very interesting study by R. Panko (see Resources) shows that a significant error rate exists in the production of computing sheets of various sizes, even when done by experienced developers. He also demonstrates the frequent lack of validation methods for building computing sheets and the scarce use of a posteriori checking tools. It is also surprising to learn that many companies use simple spreadsheets for developing large accounting applications instead of using more reliable software products that are better suited to handling a large amount of data".
. And considerations on spreadsheet as a programming model: "A computing sheet is a set of values linked by references, which constitute a sort of graph. The formula denotations of most spreadsheets, based on cells which refer to other cells, provide very low-level semantics for describing the spreadsheet structure. Mutatis mutandis (the necessary changes having been made), this is similar to the programming languages of the early 60s, with the goto statement used as the main means for structuring code. This analogy with programming languages is not fortuitous. Building a computing sheet is similar to building a program. For at least three decades, work in the programming world has been done in order to offer numerous tools and methods for building programs that are structured, reliable, extensible, etc. Apparently, such work has not yet been done in the area of spreadsheets or at least has had no visible effect in most software products."

. good short history of spreadsheets
. project divided in spreadsheet and graphical interface. 4 students.
. Language STk, implementarion of Scheme with the Tk graphical toolkit. STk superseeded by STKlos. Implemented R5RS Scheme standard.
. Xxl is written in STK: STk is a free software Scheme implementation, adhering to the R4RS standard. STk is now succeeded by STklos. It has bindings for the Tk graphical toolkit and is supported by SLIB, the portable Scheme library.
. tkTable widget for dynamic table update and presentation.
. LaTex for printing.
. Review:  several hints at other developments like Oleo, Gnumeric and Siag
. Project description:   downloaded
. STK homepage
. XXL Spreadsheet, several non-working links (dec/2010)
. Reference 



The Gnumeric spreadsheet is part of the GNOME desktop environment: a project to create a free, user friendly desktop environment.
"The goal of Gnumeric is to be the best possible spreadsheet. We are not attempting to clone existing applications. However, Gnumeric can read files saved with other spreadsheets and we offer a customizable feel that attempts to minimize the costs of transition". (Wikipedia) 
Gnumeric source code available.
[Downloaded at  Gnumeric source\install_moduleG9qzXv\gnumeric-1.10.15\src ]


Spreadsheet example in Susman Scheme book. A good starting point:  ssch25.pdf


Look at Excel, 123, and Google Docs:

- Google Docs: simple, practical, good visual, lot of fucntions, import-export, Javascript/HTML gadgets


Tools for spreadsheets:


How to automate Microsoft Excel from Microsoft Visual C# .NET

10 Useful Google Spreadsheet Formulas You Must Know – woorkup.com


Ultimate guide to table UI patterns

Excel Reporting Samples for Microsoft .NET, ASP.NET, C#, VB.NET, XLS and Microsoft Visual Studio .NET 


Scripting Google with Google Apps Scripts - Enterprise Applications from eWeek

Creating Flash Charts From Google Spreadsheets

How to use Pivot Tables for Google Docs

Miscellaneous:



(This is more on cloud computing... to put the spreadsheet in the cloud) PiCloud | Cloud Computing. Simplified.

A general reference on spreadsheets, Wikipedia. 


Centro de Excelencia em Planilhas - Cursos de Excel

Spreadsheets FAQ

List of spreadsheet software - Wikipedia, the free encyclopedia

Wikicalc

ZK Spreadsheet is an Ajax spreadsheet component

slsc: this is a much modified version of the public domain spread sheet sc, posted several years ago by Mark Weiser as vc, originally by James Gosling.

To look carefully, the idea of spreadsheet central for apps development: Excel Document-Oriented Database with Python Map & SQL Reduce | Gobán Saor

Why the interest in spreadsheets?  Look at
    https://sites.google.com/site/gcoendeposito/sicp-discussao-ideias-planilh
    You will find the first reference on my idea of a functional spreadsheet. And a discussion full of ideas to develop.
    The idea of a functional spreadsheet comes first with the observations that it is very easy to write a spreadsheet in a functional language. Just eval each cell and that is it. You may have numbers (atoms) or expressions (in functional notations). Just evaluate it. You are done.
    This idea can be carried a step further with each spreadsheet cell being a full functional program. We can even think of it as parallel programming framework since spreadsheets usually have a logic to detect dependencies between cells.
    It is also a developper/programmer framework, observing that a spreadsheet works on a typical REPL cycle.

Nenhum comentário:

Postar um comentário