During past days of my career, I was conducting a 3-day workshop on 3D modeling basics at Computer Science and Engineering department of an university college at Dhaka. As usual, like my other previous workshops, as a preparatory exercises, I had collected participants' data, and found most of them are at final year of gradutaion. I had taken into account that, I was required to explain basic stuffs in 3D in such way, so that, everybody enjoys the workshop. I wanted to explain from their point of perspective.
If you are a software developer or a programmer, you must be having your own understanding of the term called OOP (object oriented programming). This is radically a huge concept. I*n fact, software like 3DSMAX, Maya are marvels of object oriented software programming. A 3D designer, who has never done programming before, should still understand at least the single most important aspect of any 3d modeling software's object oriented nature, there is no clear distinction between data and functions.
In traditional programming theories, data and functions are two different concepts. What is Data? Data is simply 'the information' which is a numeric value (look from programmer's view), a string of text characters, but static. And, what is a function? A function is an action. In fact, function is a procedure. This relevantly acts on data, create new data. Data is passed into a function, which processes the same to produce output data. Ok, here is an example; If we write a function designed to add two numbers together. The two numbers are data that are input into the function. The sum is the output, which is also data. The function must contain specific "slots" into which the two numbers can be input, and these slots are the function's parameters. This concept of parameter is linked to basics of any 3D program especially 3DSMAX.
In most 3D programs, the distinction between data and functions remains clear to its users. Whenever you create a primitive object, a function is called that creates that object's data object. If you edit the shape of that drawn object, another function is called that takes the current 'drawn' object's data as input and processes it to produce new data. In pure OOP theory, however, there is no clear distinction between data and functions. Instead, data and related functions are packagaed together into the units called objects.