"Hence reading code without human communication does not tell the original purpose."Unfortunately, when code is useful enough to survive for many years, the people who specified, designed and wrote the code are long gone by the time some unfortunate developer comes along and has to understand the code (e.g., to add features or fix bugs). So being able to figure out the original purpose of the code under such adverse circumstances can be a very useful skill to have.
In a startup there isn't a lot of legacy code, but in big companies that have been around for years or decades, old code like that is very common. (However, even in a startup, you might need to be able to make sense of poorly-documented open source code whose developers don't have the time to talk to you.)