1. The first software wave was system level software. Developers wanted something but made their lives easier, but also wanted control and speed. C and then Java were the stars<p>2. In the second wave, we got languages like Ruby and Python which are flexible and easy for developers to work with. Sometimes it&#x27;s more important to be able to iterate quickly than execute quickly. Server software, app backends, etc were all implemented in whatever language was easiest using HTTP as an interchange with other languages<p>3. In the third wave, developer experience enhancements that scripting languages pioneered trickled down to systems programming with new languages like Swift and Go. These give you most of the benefits of the second wave languages without their significant overhead. Since they are better suited to building small light services, old bulky Ruby &#x2F; Rails app are starting to look antiquated pretty quickly.<p>I also used to go to Rails first for web projects... I use Go now because it&#x27;s more lightweight. I used to do native apps in Objective-C... I now use Swift because it&#x27;s easier to write.