Talk:HP Time-Shared BASIC

TSB related to RMB?
Anyone know if/how HP Time-Shared BASIC relates to Rocky Mountain BASIC? Aside from the fact that they both came from HP at about the same time, the language features described appear similar. If HP TSB is related to RMB, I'd like to move the HP TSB info into that and turn this into a redirect. —DragonHawk 04:28, 9 November 2005 (UTC)


 * Whether or not they are related, I'd probably object to converting this page into a redirect. HP TSB was sold as a major product in its own right, and directly contributed to the growth of HP's fledgling computer business; it deserves an article. —Atlant 13:49, 9 November 2005 (UTC)


 * Well, WRT merging, IMO, it really depends on how they're related. If TSB and RMB are basically the same thing (with RMB just being a later version of the same code), then it doesn't make sense to have separate articles.  Just like Mozilla Firebird and Mozilla Firefox end up at the same place.  If, OTOH, they're not the same thing, maybe TSB at most inspired features in RMB, it doesn't make sense to merge them.  But before we have that discussion, I'd like to know more about the actual early history of RMB, and the history of TSB in general.  :) —DragonHawk 23:37 9 November 2005 (UTC)


 * There is essentially no relation between the two. TSB evolved out of something developed at a university around 1967, IIRC.  RMB most likely evolved from the BASIC written in-house for the HP 9830/9835/9845, though none of the code is shared. —Brouhaha 07:04, 31 January 2007 (UTC)


 * That university would be Dartmouth College, where BASIC was developed by two professors, John G. Kemeny and Thomas E. Kurtz during 1963 and 1964. HP BASIC for their standalone minicomputers was a fairly direct descendant of the Dartmouth prototype, but by the time it appeared as HP 2000 Time-Shared BASIC it had begun to diverge.  For one thing, Dartmouth BASIC was always compiled, even at the very beginning, whereas the Hewlett-Packard variants were interpreted. — QuicksilverT @ 20:19, 11 October 2013 (UTC)

HP Time-Sharing or Time-Shared?
I'm probably the only one that cares, but it seems like most (all?) of the HP documentation says TSB stands for Time-Shared BASIC Should the article be renamed? —The preceding unsigned comment was added by Dzubint (talk • contribs) 21:37, 30 January 2007 (UTC).


 * It looks like you're absolutely correct, at least as of version 2000F. —Atlant 01:24, 31 January 2007 (UTC)


 * All fixed now -- thanks! —Atlant 01:40, 31 January 2007 (UTC)

CPUs?
I thought 2000A was single CPU just like 2000E? —TimRiker 08:07, 28 March 2007 (UTC)

File Name Bug
In the Fall of 1971 I was in high school and we found a bug in the 2000/A file name system. If you added a ',' on the end, it would give you a file name error, but if you just hit return and accepted it, it would store the file and display it in the directory. You could not delete it though! So when we found out the password to another high school, we made a paper tape of random file names ending in ',' and used-up all their directory space so they couldn't save their files. To be nice though, we admitted our deed to the supervisor account, and told them the bug we found. The bug was fixed within the day. K5okc (talk) 05:56, 19 December 2013 (UTC)

Separate?
The article sounds like HP2000 TSB is software to run on HP2100 hardware. As well as I know, it is sold as a complete system, though the underlying hardware is 2100 based. We are not used to thinking about things that way today, though many products come with software (firmware) in ROM along with dedicated hardware. Could you, at the time, buy HP2100 hardware, and then run TSB software on it? Gah4 (talk) 21:13, 27 February 2019 (UTC)


 * HP 2100 refers to a family of Hewlett-Packard minicomputers. An HP-2000 system consists of two minicomputers, such as an HP-2114A and an HP-2116A and one or more hard disk drives, a magnetic tape drive, high-speed paper tape reader/punch and a Teletype terminal.  The HP-2116A minicomputer handles computations and the HP-2114A acts as an I/O processor to switch between the various users' jobs and handle serial connections to a cluster of teleprinter terminals. — Quicksilver (Hydrargyrum)T @ 02:18, 21 July 2019 (UTC)
 * The HP2000E was an "HP 2000 TSB" system, but it only had one processor. Hence the 16 terminals limit (as opposed to 32 terminals supported on the dual-processor like the HP 2000F. The HP2000E also only gave error messages in a short form, saving some memory space.
 * The HP2000 Access was basically (ahem) a slightly enhanced HP2000F. A few more language features and commands (I forget what they were). and a hardware configuration that was slightly larger. The "Access" commands were for spooling to an IBM mainframe; the "Access" was marketed as an IBM RJE station. That's what it was for "Access"ing. 100.36.114.74 (talk) 04:49, 17 June 2024 (UTC)

Other differences
The Other differences section should also mention the quirky way the  function works in   statements, compared to later ANSI BASIC. I encountered this difference while trying to convert an old HP BASIC program to run in True BASIC and for the longest time couldn't understand why output that should have been on one line was being split into two lines, thus ruining output formatting. Through trial and error and digging through the Hewlett-Packard manuals, I learned that if the TAB function specifies a print column smaller than the current position of the print head, HP BASIC ignores the TAB and continues printing on the same line, while ANSI BASICs, such as True BASIC, generate a newline, causing printing to continue in column 1 on the next line. A bit of program restructuring can overcome the incompatibility, allowing the same code to work on HP BASIC and ANSI BASIC.!

strings
The article mentions Fortran 77 and C in explaining TSB strings, but both of those came later. Also, TSB strings aren't quite like some others, as it will refuse to create a discontiguous string. Should it be explained differently? Gah4 (talk) 21:45, 15 January 2020 (UTC)

and simple tasks like concatenation can potentially overflow the string unless it was set to be very large to begin with
The article says, about strings: and simple tasks like concatenation can potentially overflow the string unless it was set to be very large to begin with. Note that the maximum length is 72, not usually considered very large. (It seems they are designed to print on 72 character wide terminals.) Gah4 (talk) 22:30, 24 February 2020 (UTC)

HP used a system similar to Fortran and other languages with array slicing
As well as I know it, Fortran array slicing didn't come until Fortran90. It doesn't seem fair to ascribe TSB arrays in the 1970's to a Fortran feature from 1990. Also, I think it still isn't quite right. TSB has restrictions on string assignment, that you can't create a non-contiguous string. Fortran has no such restriction on array assignment. That is, TSB treats them more like strings, and less like arrays. Also, the 72 maximum is what I remember, but HP might have changed it along the way. Gah4 (talk) 02:47, 24 April 2024 (UTC)

File System
HP TSB had a fancy data file system i the language. It was object stream oriented. Files were heterogeneous objects (such as numbers and strings). Both serial and random access. There was file and record locking control. so you could implement fancy multi-user applications.

Along with TSB's fancier output IMAGE formatting statements, the file system was the standout feature. 100.36.114.74 (talk) 04:53, 17 June 2024 (UTC)