OSes of the past: Windows, Variations of Unix's,
OSes of 2018: Android, IOS, All Varations of Browsers, plus all the old ones
---
Cross platform (cross-os) development of the past: nasty (Widget libraries (wxWindows, QT, ... ), os-abstraction libs )
Cross platform development of 2018: nasty still (react-native, xamarin, etc .. )
---
Development pipeline tools of the past: Automake/cmake, make, linker
Development pipeline tools of 2018: npm, webpack
---
Compiler front ends of the past (things that produce assembler or low-level C or stack-machine codes): various C++ front ends, Eifel, etc
Compiler front ends of 2018 (things that spit out javascript): babel (more like macro-assembler), Clojurescript, ReasonML, Fay, Nim .. ,etc
---
In current times, we also added Wireframe/Styling tools into our development pipeline (I do not think we had it in the past). Eg Bootstrap and other styling (that are not integrated into 'compile-time-verification' stage of the modern Front-end languages.
I realize that above is somewhat front-end-dev oriented, but I think the desire to share 'same language' for front and backend development, causes the blur.
I also would add that for data crunching and data distribution (eg CORBA, DRPC) of the past -- we have gained more options, higher quality and free. So I would say this is a material advance for our productivity.