Is Software Programming an Engineering Domain?
đ„To have Computer Science as an engineering domain and teaching âProgramming Languagesâ in the name of it, has to be the biggest scam of last two decades, effects of which are now being felt across the industry.
âïžTechnical reason:
Programming is just communicating in another language. Lots of meaningless abstractions have been built around to talk to a single entity, i.e. computer.
Its usage is to get something represented in a virtual world. But, first that thing needs to exist in real world and then we can automate process.
There are many examples where people from other domains like linguistics, art, philosophy, mathematics, etc. who have created more robust and light weighted tools (software) in comparison to native software domain workers. Reason? The need to get something done or automated is the biggest propellent in these cases. These people learn a programming language in quick time, get their job done and then build business around it or make it open source, whatever seems best.
đPhilosophical reason:
Look at history of humans: 70,000 year old history. Have we ever worked with anything virtual?
Hardware is real, software is virtual. We never see the outcome with our bare eyes. The satisfaction of holding an output is missed by the core.
đExamples:
Look at journey of NVIDIA, Tesla, etc. They are still playing with hardwares. Unlike Meta, Google, IBM, etc. who are losing their shine and are more interested in taking over companies and killing ideas to maintain their status quo, NVIDIA, TESLA, etc. understand the key piece, i.e. involvement of humans in gradual improvement of machines to automate mundane work.