We programmed first for the PLCs (programmable logic controllers) then for Microprocessors then DOS, then Windows, then Java, then the Browser, then iOS and Android and now the Cloud.
The more things change the more they remain the same.
Each higher level platform, opens up new possibilities (and closes some). Each new platform brings in new levels of efficiencies. Each improvement in the platform, makes it easier to adopt technology, creating a wider market. Each improvement in platform puts a greater challenge to deliver to newer (higher) levels of convenience. Each change shifts the domain of work. Each change reorganises the markets.
Each change also brings in new challenges - e.g. today, the ability to harness collective compute power, connected (networked devices), mobile devices, centralised data stores magnifies and complicates the data security threats and the need for build stronger counter measures.