Even today, yes, but not the “code” you are familiar with in your programming. Some AI systems “write” their own code by using data as the programming language. You can consider the AI’s core algorithms as the compiler that interprets the data/source code. Often, this creates a model (think of it as a static binary) that is put into production. The behavior of these systems is dependent on the “source code” (i.e. data) used to train the system. At runtime, the new data is processed essentially by the training data set used as source code.
The analogy can continue with statically and dynamically typed systems. As pointed out above, these AI systems are often statically typed. What this means in practice is that the system becomes static after training when put into production. At Intelligent Artifacts we’ve developed what is analogous to a dynamically typed system that is capable of real-time, continuous learning while in production. In this way, we don’t need to figure out every possible situation the system may encounter. Instead, the system adapts itself in real-time to new types of data.