I was first exposed to GUI libraries in the 80's, and all of them initially included typical GUI objects like buttons, checkboxes, edit fields, and so on, but I don't recall being able to write a program that included a GUI library with a pre-built spreadsheet-like grid component until I first saw Visual Basic.

What was the first language library to actually include a GUI grid component?

  • If you're not necessarily tied to the idea of 'libraries', dBase 2 had a built-in BROWSE command, and apparently dates to 1981 (I first used it in 1987, not sure whether the 1981 version had BROWSE or not).
    – LAK
    Sep 10, 2020 at 17:51
  • Although, now that I think back some more, the dBase2 and FoxBase+ BROWSE command wasn't well-suited for programmatic usage; we wrote our own equivalent. It wasn't until the enhanced version in FoxPro (ca 1989) that we could use it meaningfully inside programs. Not sure when dBase got the same, probably dBase IV.
    – LAK
    Sep 10, 2020 at 17:57
  • I haven't used the List Manager in the classic Macintosh OS, but I think it was part of the original 1984 OS and remember reading a column of advice in how to right good programs, and along with "The Text Manager is not a word processor" and "The Resource Manager is not a database", was "The List Manager is not a spreadsheet".
    – supercat
    Sep 10, 2020 at 19:15
  • Might be able to find ads in old Byte or other magazines for libraries with grid-type widgets.
    – LAK
    Sep 10, 2020 at 19:26
  • 1
    The Xerox Star (1981) was the first commercial system to have a large collection of widgets. Likely a SmallTalk grid or table widget in there.
    – Brian
    Sep 10, 2020 at 19:32

1 Answer 1


One candidate is the form widget in the Project Athena Xaw library.

I couldn't find an exact date for this library; Project Athena started in 1983.

And it's really a for graphical UI, not a text-based one like dBase.

  • @StephenKitt much later.
    – dirkt
    Sep 10, 2020 at 18:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .