Focus on ETL — Data Oriented Programming
Classifying ETL
It will help to take a bit of time to discuss how software development is classified. Historically, classification of software development were done around methodology and/or representations. Some common ways to look at development are:
- Procedural Programming (C, Fortran, BASIC, and many, many, many others)
- Object Oriented Programming (Java, C++, Smalltalk)
- Pipe Oriented Programming (Shell Scripting)
- Set Oriented Programming (SQL)
- Hybrids (think of an object oriented program called on the UNIX command line that accesses a database with SQL).
Looking at things through the lens of methodology is a more academic view of things, and more prevalent in the early days of computing.
Another Way to Look at Things
Practitioners often look at things a bit differently, often through the functionality of what is being created. Some ways to look at development this way are:
- Web Programming (like PHP, AJAX, DHTML, etc)
- Glue Programming (PERL, Python, TCL, and too many scripting languages to list)
- UI Development (TK, XUL, UIML)
- Mathematics (MatLab, SAS, R, many others)
This is a more practical view of things, more prevalent today, especially in the IT world.
Where We Fall
ETL is function, so they are most easily classifed in a functional way. However Data Oriented Programming is more of a methodology (although more of a hybrid than anything else). So, it is tough to encompass this in just one category. It probably makes most sense to say that ETL should be viewed from the functional point of view, while the things that are used to build ETL processes should be viewed from a methodological point of view.
Next in the “Focus on ETL” series we will be looking at what goes into an ETL process.









September 18th, 2006 at 4:59 am
[…] I think it is very ironic that in ETL and data-oriented programming we run into the same contradictions all the time: […]