April 16, 2008
I’ve been working on a variety of databases/programming languages/operating systems over the years and I’ve had it with IBM.
IBM doesn’t want you to learn how to use their products. Never ever have I been so frustrated at a company for making such poor product documentation. Then it dawned on me. IBM deliberately makes their documentation/website unreasonably difficult and verbose to tout their support/service business.
I don’t mind IBM hardware very much. The laptop I’m on is a Thinkpad and it works pretty well. A lot of our servers are IBM — and we haven’t had too many issues.
IBM’s software documentation is a completely different story.
Exhibit A: DB2 DECLARE STATEMENT SYNTAX
From IBM’s site:
The DECLARE VARIABLE statement defines a CCSID for a host variable and the subtype of the variable. When it appears in an application program, the DECLARE VARIABLE statement causes the DB2® precompiler to tag a host variable with a specific CCSID. When the host variable appears in an SQL statement, the DB2 precompiler places this CCSID into the structures that it generates for the SQL statement.
That didn’t help me very much. All I want to do have a stored procedure with some local variables.
From vendors that aren’t actively trying to piss me off:
Exhibit B: Redbook “Linux Connectivity with IBM i5/OS”
This is a 100+ page document. A while ago I wrote a blog post telling anyone who needed this how to do it in about 200 words (minus the background info I provided)
In order to answer the question “Will this product work with our infrastructure?” you have to sift through a 50 page PDF, and oh-so-attrocious Table 6.
Table 6 is lonnnnnnnnnnnnnnnnnnnng:
Who cares? As long as the job gets done…right? Wrong. Solely relying on IBM makes your IT department reliant on IBM, locked-in, and intellectually crippled. Why have pay highly skilled workers if you’re just paying them to be IBM liaisons?