I'm taking an Object Oriented programming class and was thinking about how it seems to relate pretty well to Plato's Theory of Forms. When you define a class its kinda like creating a non-material ideal, but when you actually implement it, then you create the material form. Or you could think of abstract classes and subclasses of that abstract class in the same way.