Jon Udell on the Nerd's Spreadsheet 168
rcs1000 writes "Jon Udell has a interesting article on a new type of spreadsheet: one targeted specifically at techies. The skinny is that any spreadsheet is actually a computer program, only in Resolver One, the product profiled in Udell's piece, this is explicit rather than implicit. And the code is IronPython rather than VBA. There are some other cool things it does — allowing cells to contain objects, and allowing spreadsheets to back-end websites." Udell's screencast gives a good demo, though the presenters are a bit hard to hear due to the phone connection. Resolver's own screencast is an alternative.
Can it... (Score:5, Funny)
Re: (Score:3, Funny)
Re: (Score:2, Funny)
Re: (Score:2)
Logical conclusion (Score:1)
Re: (Score:1, Insightful)
Re:Logical conclusion (Score:5, Funny)
Re: (Score:2)
The old saying is true. (Score:4, Insightful)
Spreadsheets are so useful today that they can do many tasks that are better done with other tools... If you know the other tools.
Storing, analysing and presenting Data (Score:1)
Re: (Score:2, Insightful)
Re: (Score:1)
Re: (Score:2, Informative)
Why should I use this rather than SQL? (Score:4, Insightful)
SQL databases have become much lighter and more efficient these days. Why should I use this store data over a lightweight SQL database?
Re:Why should I use this rather than SQL? (Score:4, Informative)
Re: (Score:3, Interesting)
Re:Why should I use this rather than SQL? (Score:4, Insightful)
Because you have to learn yet another cryptic set of functions to do what is easily accomplished in Excel (or any other spreadsheet)? Most people couldn't give a fuck less about using any package to its full potential and most people utilize Excel as a database rather than a spreadsheet (almost everyone in my wife's company for example).
A spreadsheet will do just fine for the majority of people and the rest would probably use something like Crystal Reports to do anything more advanced. Why? Because there is professional documentation and training available for those packages and R Project requires posts to mailing lists or forums to get answers outside of your own self research on the web. From what I can see in my own personal experience, people working in the real world don't want to spend the time searching around the Internet through mailing list posts and forums for their answers. They want to plunk down $350 and sit through a 6 hour seminar offering them 1 CEU.
YMMV.
Re: (Score:2, Insightful)
See, the hyper spreadsheet is for nerds, just like R would be.
Did you consider his response in the context of the slashdot article/submission? Or do you simply have a grudge against people
who use software without "professional documentation and training"?
Re: (Score:2)
Is a nerd's time somehow less intrinsically less valuable?
Or does 'the context of a slashdot article/submission' intrinsically mean that the nerd in question does not have a 'job in the real world' and therefore has infinite amounts of free time to use the most complex tool for the simplest job?
Granted, it looks really cool and fascinating, and likely it is perfect for a specific type of software development, but one might as well ask 'Why not use Mathematica instead of a spr
Re: (Score:2)
In the engineering company I work in, most people use Excel only as a way of formatting.
It drives me nuts when I see someone tapping away at their calculator, only to type the result into a cell Excel!
Re: (Score:1, Offtopic)
Patriotism is akin to racism.
This isn't true. Nationalism is akin to racism. There is nothing wrong with loving your country as long as you don't start believing that its citizens are somehow superior to everyone else.
Re: (Score:2)
One of the selling points is using it to interact with SQL databases that are used to store data. From the resolver one homepage [resolversystems.com]:
Entire database tables, or the results of arbitrary SQL queries, can be imported directly into Resolver documents as new worksheets, which can immediately be used in calculations. If necessary, Resolver can update the worksheet in real time as the
Re: (Score:3, Funny)
Re: (Score:2)
Maybe because SQL is a horribly awkward and cumbersome language for doing the arithmetic-oriented things that spreadsheets are typically used for.
Re: (Score:2)
If all you're doing is arithmetic, then why are you using this? Wouldn't a traditional spreadsheet be just as useful?
Re: (Score:2)
Solution looking for a Problem (Score:3, Insightful)
That . . . sounds just like a normal spreadsheet to me.
Solution looking for a problem?
Re: (Score:2)
-nB
Re: (Score:1)
Re: (Score:2)
Lat I checked, you expressly could not in Excel with VBA custom worksheet functions. Even if you could, I'd certainly rather do it in Python than VBA, though.
Re: (Score:1)
Re: (Score:2)
Re: (Score:2)
What do operating systems have to do with this?
Re: (Score:2)
System.GNU/Linux.Forms (Score:2)
Re: (Score:2)
2D programming? (Score:3, Informative)
Re: (Score:2)
Allowing spreadsheets to what? (Score:5, Funny)
munge them?
hack them?
copulate with them?
Re: (Score:2, Funny)
Misuse of spreadsheets (Score:5, Interesting)
As far as spreadsheets for programming, I've experimented a lot with data dictionaries to simplify column management and column sub-sets for regular ol' edit-and-report screens. So far it is tricky because one often wants to tweak something for a particular context and one-size-fits-all hits a wall. The trick is finding a good, clean way to "override" specifics from the table when needed or just make alternative entries of a given column and select them via set notation when needed; but I've yet to find a clean, simple convention. It ends up fairly messy such that regular copy-and-paste is unfortunately the cleaner solution much of the time. Maybe if the toolset and the language was geared toward nimble data dictionaries, these approaches would be smoother. Forcing a non-data-oriented language to act data-oriented is like trying to keep a toddler in line.
Re:Misuse of spreadsheets (Score:4, Informative)
Re: (Score:3, Informative)
A good portion of spreadsheets are actually backed by database tables of some kind.
While I think you are selling Oracle and its object-relational kin short if you think they can't handle what you
Re: (Score:2)
That is true, but the user cannot add columns quickly. I'm thinking of having a reserved row for the column name. If you don't put a name there, then it is automatically named the spreadsheet column letter, or the like (and column letters can perhaps still be aliases even if you do have an explicit name).
But in either case the DBMS is just the back-end storage engine, you still need a front-end piece
Re: (Score:2)
That's not really a feature of the DBMS, but of the UI, though. Given the generality of the programmability that resolver one appears to offer, it seems like it should be nearly trivial to implement a sprea
Maybe Spreadsheets are NOT for Nerds? (Score:2)
Re: (Score:2)
Says who? I haven't seen how they implement the particular feature, but Python is a rather full-featured language.
A spreadsheet is essentially a UI which can be wrapped around different storage engines, including an RDBMS. "Spreadsheet" and "database" aren't mutually exclusive alternatives.
Re: (Score:2)
Uh, you're the one that started the languageargument without any specifics, much less "objective proof" of your position. Strange that you'd make that comment, then.
You're not convinced that spreadsheets and dat
Re: (Score:2)
See now, that all depends on the UI, doesn't it?
For me, alter table add (column_name type [constraints]); is quick and easy, but then I'm used to tools like sqlplus. In a graphical tool, it could be as easy as right click on table -> add column -> enter name and optionally type (or accept some default, say varchar2(4000) or even CLOB for Oracle). Hell, you could even design it so that it looks just like a spreadsheet, with "spare" columns after the last one, and you
Re: (Score:2)
Re: (Score:2)
This seems to be something that resolver one is aimed directly at, since a big selling point of its representing everything in Python is enabling IT staff to easily extract business-user-created spreadsheet logic and transfer it to other systems.
Re: (Score:2)
basically you can add tags as basic dimensions or optional categories for anything in the database.
Just found a new way to sleep at work (Score:4, Funny)
nice. Now i'll go someway toward meeting the quota for those that sleep at work [slashdot.org].
Spreadsheet, Or... (Score:2)
Is this a spreadsheet, or a poor man's database?
Re: (Score:2)
What's the difference?
Re: (Score:2)
Picture this scenario. Put your functions in one sheet, lock that sheet (if you can), and distribute a screen-based app in the default sheet. Every time the end-user updates a value in a query cell, the DB gets queried, the data gets transformed and formatted, and the results get updated. Need to update the app? Just force a transfer of the new "spreadsheet" file to all the clients.
Something like this might also make a custom time tracking or trou
Re: (Score:2)
You want real-time reports on streamed data, something like MOODSS [sourceforge.net] is probably the ticket.
Does it run on Linux? (Score:2)
Re: (Score:1)
Re: (Score:2)
Re: (Score:2)
Hex handling (Score:2)
H.
Great Idea (Score:1)
Re: (Score:2)
It sucks when users over use it, not otherwise. (Score:2)
I used to work in the finance department for a very large company, and I was inundated with Excel. People used it for everything and loved it.
The only hurdles come when someone tries to do something that's grossly inappropriate. That notion comes from finance people who love it and try to do everything with it. Sometimes they succede, sometimes
Re: (Score:2)
That's because they have complicated analysis to do, and tend to think an awful lot like programmers do, but really have no training in appropriate tools to use for such things (or, frequently, the tools themselves). An "advanced" spreadsheet is a really good idea, but I think it should targeted toward accountants as much as programmers.
Re: (Score:2)
Re: (Score:2)
Probably on one level because Resolver is meant in large part as a "bridge" so that as a sheet evolves in a direction to which the spreadsheet model is less appropriate, it can be ported out into something else, and the direction the creators expect most people will want to go is into something OO (either a more general Python program, or some other OO langauge where the Python code exported from the spreadsheet will serve as a prototype.)
Re: (Score:2)
Yeah, if it would take much more than a "sort", a spreadsheet might make sense.
Then again, I so rarely have to do this kind of stuff one-off that it doesn't really make sense for me. I'm much more likely to have something that I need solved in a generic way. The 10 lines of Perl (or Ruby, etc) that it might take to model will be harder to write than a spreadsheet, for most people, although I'm not as comfortable with spreadsheets as I am with programming. But th
I *think* it's gonna be cool (Score:2)
I said "WTF?" and stopped reading right there.
Real Interesting point (Score:1)
Seems kinda cool to me. (Score:1)
Lotus Improv / Quantrix please (Score:3)
Give me an item dispenser, the program should name things sensibly as they're created and all formulas should read as plain text like: profits = sales - expenses.
Please.
William
Re: (Score:2)
Re: (Score:2)
Ah Improv. Best spreadsheet I ever used. Though there was this odd thing (advance? don't remember) that took improv one step further and did some great data modelling tasks, but I could only get an evaluation copy. And then it seemed to go away.
Windows Only (Score:2)
There may be some exceptions, but I haven't found any... Once a bloger, journalist, programmer, and I'm sure lawyer, goes to work for "the Borg" they lose all sense of objectivity.
Why in this day and age would someone want to lock themselves into yet another Windows-only application?
I would avoid this
Re: (Score:2)
> desktop, there are certainly enough Apple users these days that OS portability
> should be BUILT-IN to the design process from day one.
Building portability into the design does NOT equate building a final product for zero dollars.
Once the code is written you still have alternate packaging, distribution, and -- especially -- testing. None of which are free, and may not be economically viable.
Mac OS on Intel being the PER
MOD PARENT UP (Score:2)
A Better Headline (Score:1)
"Spreadsheets with First-Class Functions and Objects"
This is just a spreadsheet with the ability to put functions and other objects into cells. It's a good idea, but there is no need to dress this up in marketspeak. We understand techno-babel just fine here.
homebrew (Score:2)
VBA already does this... (Score:4, Insightful)
And does it poorly. And insecurely.
You can already access spreadsheet content from Visual Basic, and include VB script in spreadsheets. The same scripting ability which allows the "wow" features in spreadsheets also creates the potential for abuse - remember macro viruses? Suddenly, documents which formerly contained only data now contained executable code, and it gave rise to a security nightmare.
Yes, today, with VBA, you can do what the article mentions. In fact, it's been possible for years. Problem is that:
Just like VBA, it's a nice nerd's toy, but the wise system programmer recognizes that it has limitations.
And for Gantt charts... (Score:2)
http://faces.homeip.net/ [homeip.net]
they have their work cut out for them (Score:2)
I was a member of a "club" of techies who were investing in the stock market in the 1996 timeframe. We cycled the clubs officer positions through the club membership so everyone knew what others were doing and how. The 2nd year, I got the Treasurers position and my job was to collect "investments" at each meeting and provide a overa
FileMaker, too. (Score:2)
So they buy FileMaker Pro.
Which means, they essentially have a bunch of different, interesting views, with some (very) limited scripting, all ultimately centered around one flat table.
(Yes, I know there are later versions which actually function as relational databases, but most FileMaker stuff I've seen is around version 5 or 6. Most peo
Something like MS Access? (Score:3)
Unfortunately nobody else has ever tried to do it right. The pieces are all out there, but they're not integrated.
I may be a diehard Red Sox fan, but I still cheer when a Yankee makes a good play.
Re: (Score:2)
Then you aren't a true Red Sox fan...
They shouldn't be "integrated"... (Score:2)
Second, FileMaker (and Access) are object lessons in why you shouldn't do it this way. Like you said, the SQL engine has flaws, the scripting language is junk, and the GUI is quirky and weird, but you like the report stuff.
Were this done right, you could keep the reports, and replace everything else. This is how KOffice seems to be implementing this, or trying to -- Postgres or MySQL can be u
Spreadsheets Cause Brain Damage (Score:2)
Scheme on a Grid, anyone? (Score:3, Interesting)
2000-12-07, but I think I've played with it long before that. And yes, it had
database connectivity, could serve data over HTTP and, of course, the extension
(and half of implementation, I'd guess) language was Scheme.
http://siag.nu/siag/ [siag.nu]
Paul B.
"Nerds' Spreadsheet"? (Score:2)
So near and yet so far (Score:2)
On the Mac more was often promised but rarely delivered. There was a very early "spreadsheet" called Trapeze which allowed you to lay out a multiplicity of typically smaller grids which always appealed to me more than the idea of forcing un
It isn't as useless as you think (Score:2, Interesting)
Cells is a mature, stable extension to CLOS that allows you to create classes, the instances of which have slots whose values are determined by a formula. Think of the slots as cells in a spreadsheet (get it?), and you've got the right idea. You can use any arbitrary Common Lisp expression to specify the value of a cell. The Cells system takes care of tracking dependencies among cells, and propagating values.
Resolver seems to take this idea a step further. It looks like you can write nice reporting tools with this. There is no need to bash Resolver because you don't like Access or Excel.
from the web site (Score:2)
Oh yeah? How does Python express hot, naked babes and a sixpack?
Smart, but Don't Get Things Done (Score:2)
http://www.joelonsoftware.com/articles/GuerrillaInterviewing3.html [joelonsoftware.com]
People who are Smart but don't Get Things Done often have PhDs and work in big companies where nobody listens to them because they are completely impractical. [...] For example, they will say, "Spreadsheets are really just a special case of programming language," and then go off for a week and write a thrilling, brilliant whitepaper about the theoretical computational linguistic attributes of a spreadsheet as a programming language. Smart, but not useful."
Re: (Score:1)
Re: (Score:2)
Actually, I believe it is. There are substantial differences [codeplex.com] between IronPython and the reference Python implementation. C++/CLI is a language, IMO, and so is IronPython.
Re: (Score:2)
There is a big difference between having a spreadsheet that you can script in Python and having one where everything you enter through the spreadsheet interface is turned into Python code.
Re: (Score:2)
Yeah, but much as I love OO.o calc, I can't declare a Python class and then put a value of that type into one of its cells.
Re: (Score:2)
While I haven't used this program yet, I believe the major difference is that it allows you to declare new classes and use values of those classes as cells in the sheet. This sounds remarkably useful to me.
Imagine having a CurrencyAmount object. A1 contains =Currenc
The nightmare of auto-generated code (Score:2)
Anyway, I wonder how well modifications you make to the generated code are treated by changes made to the spreadsheet itself...
Anyone who has tried to hack auto-generated code - e.g. from UI code generators (VC++?) knows how ugl