If we look back at the histo­ry of com­pu­ting, we can see that IT tech­no­lo­gies were initi­al­ly very bound to the capa­bi­li­ties of the hard­ware, but beca­me more intui­ti­ve and „human“ over the past deca­des:

  1. In the begin­ning (see the Zuse Z3 above), pro­gramm­ers had to phy­si­cal­ly inter­act with the tech­no­lo­gy via pushing and pul­ling regis­ters or punch cards.
  2. In the 70ies and 80ies of the last cen­tu­ry assem­bler pro­gramming beca­me more pre­va­lent, whe­re you still inter­ac­ted rela­tively clo­se with the phy­si­cal hard­ware, but at least it was not a phy­si­cal exer­ci­se any­mo­re.
  3. Com­pu­ter Sci­en­tists then dis­co­ve­r­ed, that the­re are more intui­ti­ve ways to inter­act with com­pu­ters and got inspi­red by coo­king reci­pes: functional/procedural pro­gramming of the 80ies and 90ies (remem­ber PASCAL or C) basi­cal­ly resem­bled what cook­books have done for cen­tu­ries: describ­ing the ingre­dients and a sequence of steps to rea­li­ze a cer­tain out­co­me.
  4. Even more intui­ti­ve was object-ori­en­ted pro­gramming in the 90ies and 2000er years, whe­re lar­ge amounts of source­code was not expres­sed in leng­thy spa­ghet­ti-code but orga­ni­zed intui­tively in objec­ts and methods. This pro­gramming para­digm can alrea­dy be seen as being inspi­red how our brain sees the real world – we lear­ned con­cepts of abs­tract objec­ts (abs­tract ent­i­ties such as cars, trees or buil­dings) and see their realization/instantiation in rea­li­ty. Also, object have cer­tain cha­rac­te­ris­tics (size, color, shape) and func­tions, which cor­re­spond to data and methods asso­cia­ted with the objec­ts.

This, howe­ver, is not the end of the deve­lop­ment. The pro­blem with object-ori­en­ted pro­gramming is that func­tions and methods are more domi­nant and the data is often deeply hid­den in the code or in data silos whe­re the struc­tu­re of the data is only known to a few experts. We cur­r­ent­ly see that the­re is increa­sing atten­ti­on to data (e.g. big data, smart data, data sci­ence) – data is beco­m­ing more and more a first class citi­zen of com­pu­ting. Still many chal­len­ges are ahead of us to rea­li­ze the visi­on of cogni­ti­ve data. We need to find and use more intui­ti­ve rep­re­sen­ta­ti­ons of data, which cap­tu­re their struc­tu­re and seman­ti­cs in machi­ne and human com­pre­hen­si­ble ways, so that we deve­lop a com­mon under­stan­ding of the data along use cases, orga­ni­za­ti­ons, app­li­ca­ti­ons, value chains or domains. Know­ledge graphs, lin­ked data and seman­tic tech­no­lo­gies are good can­di­da­tes in this regard.

Text by:  Prof. Dr. Sören Auer, Technische Informationsbibliothek, L3S Research Center

Sören Auer's blog on tib.eu: Link

Sören Auer's arti­cles on Lin­kedIn: Link