A discussion regarding what AI will not replace in software engineering led to this post. AI cannot replace what it doesn't have, which is self-consciousness. The mental manifestation of self-consciousness is reflection. And the physical manifestation of it is the action which is taken after reflection (this, in my opinion, is what is 'dharma').
'Dharma' may mean different things in different fields. 'Dharma' in the context of software engineering is basically what Dr. McIlroy had refered to as 'negative coding'. It's the process of removing code instead of adding it making the software simpler.
'Dharma' process can be explained very easily. If an action is taken without reflection, it's not dharma, unless the instincts which are the cause of action have been trained with the process which is created with reflection. This process of training the instincts is commonly referred to as 'culture'. So, many a time, during code reviews, the software engineers would instinctually know that a piece of code has problems. This is because of the 'culture', i.e., they have gone through so much code that they have refined their instincts with the culture of software engineering 'dharma', so even without consciously reflecting, they know that the piece of code that they are reviewing has a problem.
AI is trained with the latter method, that is, its 'instincts' are being refined to the extent that it starts doing things which come out of a lot of reflection. So, it's trying to replicate the dharma of software engineering. What it lacks is self-consciousness. What this means is that, unlike humans who can remove a piece of code from what they wrote after reflecting on it, AI cannot remove a piece of code from its own programming. That is, AI cannot do negative coding on the code it created without interacting with any external agents other than the code and its own programming.
This can be said in another way. Humans can evolve by just meditating like the Buddha; a piece of program cannot just sit and evolve itself. Evolution is like 'negative coding'. And the final destination of 'negative coding' is zeroness, which, unlike the Buddha, computers cannot experience, or reach, or meditate upon.
Typos fixed using ChatGPT.