A topic arose; one personal to my very being. A topic with a history originating in 1982. One that is personal and unique to everyone with a similar background. That topic is... Now, please don't judge... Is this...
"How many programming languages do you know?"
Damn. I poured another glass of wine and thought... 'How many computer languages DO I know?' The incomplete list, of course starts with ones that I know very well and trails off from there.
- C#
- SQL (Including MSSQL and MySQL)
- HTML
- Foxpro (Visual and DOS)
- CA Clipper (Yes, I am old enough to remember CA Clipper.)
- Java & Javascript
- VB (Although, if asked, I will deny knowing this sorry excuse for a language.)
- Pascal (Includes Turbo Pascal, Delphi GNU Pascal and Fast Pascal.)
- COBOL (includes mainframe COBOL and Microfocus COBOL)
- C & C++ (Just enough to be able to navigate a program.)
- APEX (Salesforces' version of a programming language.)
- SOQL (Salesforces' version of a data query language.)
- IBM 370 Mainframe Assembler
- JCL
- JES2 (Really more of a command interface than a language.)
- Visual Objects
That last one surprised me. I remember that cold winter afternoon in 1994. We were told to leave the office before the heavy snow hit. Not being one to ignore my boss, I hopped in my car, lit a smoke and headed home.
There on my front porch was a large ice cold box from Computer Associates. It was filled with over a dozen blue three ring binders. The manuals were printed on three-hole copy paper and sealed in shrink wrap. I had been accepted into the Beta Test program.
Unfortunately, leafing through the manuals and installing the software was the most enjoyable part of this experience. Attempting to learn VO was neither simple nor enjoyable. Within two years I had starting coding in Delphi, copied over the VO install disks and re-purposed the three ring binders.
Surprisingly enough,Visual Objects is still around and owned by a company called GrafXsoft.
For those who don't know what VO code looks like, here is a little sample from www2.latech.edu:
TEXTBLOCK HELLOWIN.C -- (c) Charles Petzold, 1992
/*--------------------------------------------------------
HELLOWIN.C -- Displays "Hello, Windows" in client area
(c) Charles Petzold, 1992
HELLOWIN.PRG - CA Visual Objects adaptation
John Forsberg, 1994
HELLOEAS.AEF - CA Visual Objects adaptation ( Easy one )
Jari Sevon, 1995
--------------------------------------------------------*/
METHOD Start() CLASS App
LOCAL oWindow AS Window
oWindow := Hello{}
oWindow:Show()
RETURN( SELF:Exec() )
CLASS HELLO INHERIT TOPAPPWINDOW
METHOD INIT(oParent) CLASS HELLO
SUPER:INIT(oParent)
SELF:Caption := "The Easy Hello Program"
RETURN SELF
METHOD EXPOSE(oExpEvent) CLASS HELLO
LOCAL oPoint AS POINT
LOCAL oBoundBox AS BoundingBox
LOCAL oDim AS Dimension
LOCAL nxWinWidth AS INT
LOCAL nyWinHeight AS INT
LOCAL nx AS INT
LOCAL ny AS INT
LOCAL cDispString := "Hello Windows !"
LOCAL nxTextWidth AS INT
LOCAL nyTextHeight AS INT
SUPER:EXPOSE(oExpEvent)
oBoundBox := SELF:CanvasArea
nxWinWidth := oBoundBox:Width
nyWinHeight := oBoundBox:Height
oDim := SELF:SizeText(cDispString)
nyTextHeight := oDim:Height
nxTextWidth := oDim:Width
nx := ( ( nxWinWidth - nxTextWidth ) / 2 )
ny := ( ( nyWinHeight - nyTextHeight ) / 2 )
oPoint := POINT{ nx , ny }
SELF:TextPrint( cDispString , oPoint )
RETURN
Can you see why I jumped right over to use Delphi rather than plugging away, trying to learn this?
No comments:
Post a Comment