Talk:Pick operating system
|WikiProject Computing / Software||(Rated C-class)|
I have worked with Pick since 1989. I also work with SQL Server, Oracle, and other programming languages like VB.NET, PASCAL, HTML/OS, Java etc. The idea that Pick is outmoded, 'clumsy' or useless is absurd. It is still powering many organizations around the world. It's still powerful, and it's still remarkably parsimonious with resources (less important today in an era of cheap RAM and disc storage). Some tasks are easier to this day in Pick than in a SQL Server type database, because the multivalue data model is, indeed, a closer approximation of the 'real world' needs for many types of data. Having a clumsy series of flat joined tables to represent, say, an invoice, versus a single data record that contains all of it in one place is often disadvantageous from a programming and maintenance standpoint, and in this way, Pick somewhat prefigured Object Orientated Databases like the Cache database (derived from the parallel-evolved MUMPS system). Quick aggregate calculations on 'columns' are incredibly slow in Pick versus a true column/row database like SQL Server, but many functions, most especially those involved with string handling, are still lightyears easier to implement and faster to process. Pick is no more a panacea than SQL Server or Oracle are, but, after many decades, it's still relevant, still powerful, still useful. In fact, I find development in Pick Basic to still be among the fastest languages I've ever used. Even faster is using VB.NET with the toolkits provided by Rocket Software and others to create Windows applications that use Pick for storage and retrieval functions. I create 'data objects' as exposed classes in VB.NET and then work in net to manipulate them. This is, by and large, MUCH faster AND more elegant than trying to do the same thing with SQL Sever. — Preceding unsigned comment added by 220.127.116.11 (talk) 14:08, 24 October 2014 (UTC)
Pick does allow the Equivalent of Joins, and easily, through 'T-Correlatives' and 'I'descriptors' created in the Data Dictionary. It is inaccurate to portray Pick as somehow unable to accomplish the functional equivalent of joins. Pick programmers do this every day. — Preceding unsigned comment added by 18.104.22.168 (talk) 14:10, 24 October 2014 (UTC)
doubt the neutrality
Does anyone else, upon reading sentences like the following,
"Pick is considered by many who use it to be years ahead of its competitors..."
...rather doubt the neutrality of the last few contributors to this article?
Such an assessment might have been true in 1985, but is rather hard to justify in 2005. I don't know why I get this impression, but the whole article reads as if written by some UK-residing Pick zealot who has little or no background in any other system. (And I speak as someone who's worked 25+ years in Pick.)
I've only used Pick a little, but I also question the statements about it being years ahead of its competitors, as well as the Pick database is still far more powerful and efficient than any other. I won't make any claim to being very familiar with any particular database system; but I seem to recall a less rosy picture of Pick than the article suggests. More importantly, though, is that it's easy to say that the database is 'faster, stronger, better' but there are no references made to back up the claim. In some ways it's more akin to an advertisement than an objective article.
I've removed the two offending sentences. The article is generally flawed in that none of its content is verifiable: there are no citations online or offline. flavius 02:42, 23 February 2006 (UTC)
- I used A CMC Reality system for several years in the mid 70s. Yes, it is idiosyncratic in its ways, and you don't have the mathematical rigour of a SQL database (which didn't exist at the time; Dr Codd was only just enunciating the principles of relational databases). But in terms of getting the job done, I think the comments in the article are perfectly justified. For some applications, I would still rather do it in PICK and Data/Basic than in the various modern solutions I use today. For me the most telling point is that we had a powerful mini-computer for the day - it had a 50MB disc and 80 kB of main memory. Using these minute resources (by today's standards), it supported multiple users - we often had a dozen or so at once, and operated a dial-up bureau service for some of our clients. --APRCooper (talk) 16:13, 11 February 2008 (UTC)
I see elements of this article which are both too positive and too negative. I agree that the Pick database is very advanced, although joins would be a welcome addition and I welcome being able to do SQL on some of the present systems. I don't agree that the problem with the industry is the variey of systems; it has actually spurred competition and development. I also think that Pick is object-oriented, if you map Pick elements onto object-oriented elements in an intelligent way.
The problem with Pick in the wider competitive world has been the lack of GUI screens and GUI reporting. The task of Gui-fying a Pick application can be daunting, especially for a sophisticated one that is actually worth saving on its other merits. Also, the older members of the community, fat, dumb, and happy from their earlier successes, are often slow to embrace GUI-fication or just avoid it altogether, leaving the field open for Oracle (read "Snor-acle") or SQL Server applications.
Also, I don't think Pick is "denormalized". Anyone who has ever read the rules of normalization carefully would recognize that Pick can easily satisfy all but first-order normal form, and it is a hotly contested bone of contention whether the strict interpretation of first-normal form is a positive, constructive limitation or only invented as a marketing tool to advance simplistic rows-and-columns databases versus more flexible databases. The idea of single values being necessary to satisfy first-normal form is far from universally accepted.
Here is the mapping of Pick elements to other object-oriented languages:
Methods=external subroutines (user-defined functions are in most varieties of Pick and are extending this) and are accessible to all programs in an account (schema) when catalogued or to the package (program file) if not Package=program file Property=variable in a Named Common, Common, or subroutine header Inheritance is supplied by Named Commons, Commons, and subroutine headers, and by the fact that all methods (subroutines) are available to all programs (or at least those in the same file). Reuse is supplied by using subroutines and $INCLUDEs. Polymorphism is a little different but can be supplied just by using different subroutine names and by the use of CALL @subname. Also, passign dynamic arrays can provide polymorphic capabilities. This is one place where other object-oriented languages offer a small advantage, but it is extremely small. Objects are supplied by arrays (either dynamic or dimensioned, especially when used with EQUATEs, but dimensioned are better). Arrays in C aren’t objects because they all must be the same data type. Arrays in Pick can be mixed data types, so they qualify as objects. Constructors could be made up of subroutines. Since arrays do not have to be declared, calling the subroutine or doing the read to initialize an array is the same as declaring an object (which then calls a constructor). Public/private issues are handled by declaring variables as common and by cataloging programs and subroutines or not. They brag about “garbage collection” capabilities in C, C++, Java, and, especially, C#, but all you have to do in Pick is to set a variable equal to “”. And, if you don’t, it simply pages it off to disk eventually anyway! It has had garbage collection since its inception.
None of this is really true for languages such as Pascal, COBOL, Fortran, and regular Basic, hence, the need for “object-oriented” languages. Reuse and inheritance are actually better in Pick than in object-oriented languages.
I also don't like that the author didn't mention mvBase, mvEnterprise, D3, or Sequioa. Univision doesn't really replace Mentor, nor does mvBase. Both are copies of Mentor enhanced, changed, and augmented to achieve other purposes. Also, UniVerse doesn't really emulate Pick very well. It is much more a Prime-style system. Its A and S dictionary items do not support B-/CALL- correlatives or the LPV operator in Fs or As. These can be significant limitations in moderately sophisticated applications.
P.S. - Pick is no longer an "operating system". I don't think there is a single native system out there anymore. It is strictly a relational database management system, usually on Unix, Lynux, or Windows (InterCache will also run on Apple).
Also, AccuTerm from AccuSoft Enterprises is worth mentioning as a major force in the Pick/MultiValue world as a Visual Basic-like GUI environment and terminal emulation software.
Note that many people do not refer to Pick as "Pick" anymore, but simply as "MultiValue" RDBMSs.
PROCs seems to be viatl part of Pick/multivalued systems. Anyone would like to share some knowledge on that in the main article?--Aou 22:36, 14 April 2006 (UTC)
I added a stub on PROC. PROC is similar to UNIX shell scripts. In my experiences long ago, PROCs were often used in PICK but they were not essential. Lamorak 16:08, 2 June 2006 (UTC)
firmware vs. software implementations
Corrected a factual error: The Ultimate segment had this sentence: "This was the first implemenation to be done in software only, so upgrades were accomplished by a tape load, rather than a new chip." This is inaccurate, as the article reflects, Ultimate was a firmware port. A new section was added to provide a factual home for that sentence, as ADDS was the first of the software ports. --Playabender 22:29, 26 September 2006 (UTC)
I suspect the person who made the software comment meant to refer to the initial implementation of the Ultimate product, which did include adding a writable control store to the Honeylevel 6 system. It therefore was all soft, but was a mix of firmware and software.
Most Ultimate systems were deployed with coprocessors developed very quickly after their first products came out, which were implemented with AMD 2901 bit slice processors, and prom based firmware that was not "soft".
The commenter here is about 98% correct about the software comment, since a system which ran on a single processor, with kernel, and Pick virtual code implemented in that processor's instruction set does not fit the Ultimate's first product. But it did have an interesting mix of Honeywell Level 6 firmware and software, which was unique in the history of Pick implementations.
The system which hosted the Pick execution engine coprocessor, whether Dec hardware, or Honeywell hardware always had a kernel doing the I/O for the system in that system's instruction set.
Since this is such an old OS, that was used past 2000 -- what year 2000 issues did various versions of Pick have? In what years will the various versions become unusable, for what reasons? Can the older software be run on newer hardware, perhaps under some sort of VM? -22.214.171.124 (talk) 13:27, 14 May 2008 (UTC)
- Yes, Pick keeps track of the date by a count of days since Dec. 31, 1967 (Day 0). Y2K would have only been an issue with programs that used a 2-digit year. So, there could have been some problems from that standpoint. But, as far as the operating system goes, no problems were introduced at the turn of the millenium. - Charleca (talk) 20:58, 15 May 2008 (UTC)
- There were no real problems with Y2K, but Pick had its own issues earlier - known at the time as "the day 10,000" problem, when those internal dates rolled from four digits to five. There were a number of library routines and really old programs that assumed an internal date would always be four digits. May 17th, 1995 was when dates rolled from 9999 to 10000. It turned out to be a non-issue, despite attempts by some consultants to turn it into a bigger deal. -- User:jianmcgowan —Preceding undated comment was added at 03:29, 3 February 2009 (UTC).
Capitalization: Pick or PICK?
The article refers to the system as "Pick" but in people's comments I usually see it written as "PICK". Which is correct? From what I have seen it appears to be that "Pick" is correct and "PICK" is a mispelling used so often it becomes perceived as correct. (eg, SQL -> "sequel") Which is actually correct? Also, the name if after the founder, Mr. Richard Pick. 126.96.36.199 (talk) 13:29, 9 July 2008 (UTC)
Pick was the name of the main author of the system, and the one who took it on to a product, Richard Pick. Use of all caps for his last name is probably incorrect, since it is the name of a person. And the initials POS is more likely to make one think of Point of Sale than the Pick system.
The Pick OS arena also has a product by Microdata called Sequel, so that can cause confusion as well.
Pickguy claims that the Pick OS is not obsolete . But the link to togerlogic doesn't really help - that leads to a data base product, not an OS William M. Connolley (talk) 08:29, 18 February 2011 (UTC)
You are correct that "Pick" is no longer sold or marketed as an independant "operating system", though it was last century! These days 'Pick' is typically deployed as a a database application running on top of Windows or a Unix/linux variant. That said, kit retains many of the facities normally associated with an operating system, such as a print spooler, and file/disk management facilities (*nix implementations typically use RAW partitions, though on Windows 'Pick' files can map to multiple Windows file — Preceding unsigned comment added by 188.8.131.52 (talk) 22:26, 26 December 2012 (UTC)
I worked in Australia as a programmer exclusively on Pick systems from 1983-93, including WICAT. AFAIK it stood for World Institute for Computer Aided Training. The machines used a Motorola MC68000 processor, and the Pick port was done programmers at the Lionel Singer Group. Singer was a well known entrepeneur in Australia. Here are a couple of references which mention Singer and WICAT http://www.computerworld.com.au/article/74029/lionel_singer_larger_than_life_no_longer/ http://news.google.com/newspapers?nid=1300&dat=19891010&id=B8soAAAAIBAJ&sjid=Y5EDAAAAIBAJ&pg=3899,7571101 --TrogWoolley (talk) 21:19, 12 September 2014 (UTC)