Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Long time AS/400 programmer here. I think the confusion arises from mixing the terms "SQL database" and what IBM refers to as the "Single-level Store" [1]. The AS/400 has true orthogonal persistence, much like a database engine. But for a few specialized exceptions, there are no "files" anywhere on an AS/400 like on a typical operating system. Everything is an "object" (yes, extremely overloaded term) and there are specific ways to perform actions against objects.

To add to this confusion, IBM ported DB/2 to OS/400 atop the native OS/400 data object model. You can use SQL but that just gets compiled to native operations against what are known as "physical files" (confusing name, yes) and "logical files". Physical files are fixed-length record files with data in them. Logical files are indexes atop physical files. A PC analog to this would be FoxPro, Dbase, Paradox, Alpha, etc.

Many OS/400 programs access these files using the native model; not SQL. Tandem and HP Non-Stop work in very similar ways.

[1] https://en.wikipedia.org/wiki/Single-level_store



So, my impression, is many applications for AS/400 are written in RPG or COBOL, languages which in their AS/400 implementations treat "files" really no differently than they do on any other platform. Or, similarly, DB2/400 stores database tables as these single-level store objects underneath, but to a programmer writing SQL queries, it doesn't really make much difference – the experience is pretty similar to writing SQL queries for DB2 for z/OS, DB2 for LUW, or DB2 for VSE/VM (and what differences do exist are more due to the divergent code bases of the different products than due to the single-level store.)

I get the impression that S/38 and OS/400 have some really interesting concepts at the core of the OS, but it is questionable how well the higher levels layered on top leverage those concepts.

"Everything is an object" would be a lot more powerful if IBM let customers/ISVs define their own object types, when as far as I am aware they don't. Yet IBM will define dozens upon dozens of object types for all kinds of obscure requirements, many of which are no longer even relevant today [1][2].

[1] https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_74/...

[2] https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_74/...


Interesting history in your [1]:

The thinking at the time was that disk drives would become obsolete, and would be replaced entirely with some form of solid state memory.

What were they smoking? Bubble Memory?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: