Monday, August 24, 2015

Courses start

Courses started today, but my class this semester is Tues/Thurs. I did read the first chapter of the book (Sebesta, Concepts of Programming Languages). Most of it was material known to me, but I didn't mind going through it. I did catch what I believe is a pretty big omission: no discussion of data-driven programming languages.

This isn't a surprising bias in academia; data-driven languages are generally all vendor 1-off's to support ERP systems. That said, the people who know them are the highest paid folks in the industry, so it seems that one might want to come to terms with them for that reason alone.

The major difference between them and imperative languages is the way variables are handled. Most imperative languages scope variables as local and global. Object oriented languages have more scope options, since things can be visible to a method, a class, a derived class, or everybody. Data-driven languages treat variables as fields in records. As such, the scoping really comes down to who can access the record, not where it's declared or how it gets referenced. Persistence of variables is also very different. Again, it's tied to the underlying record (which may get modified, duplicated, or deleted by any number of processes at pretty much any time) rather than the code constructs.

I'll concede that, in practice, most data-driven code looks a lot like imperative code. But, where it is different, it's REALLY different. Given that the bulk of business programming is moving to ERP systems, an extra chapter on that would have been in order.

No comments:

Post a Comment