Most programming languages have some design decisions that influence their usage and applicability.
For example:
- Python focused on maintainability/readability of code and had indentation be a part of the language itself.
- Java's intention was to be cross platform OOP 'easier' and 'friendlier' than C++
- Objective-C was built as an OO wrapper around C not knowing the future of C++ at the time
- Erlang is designed for highly fault tolerant and concurrent systems
- PHP designed for handling dynamic creation of web pages
- CoffeeScript designed to expose the good parts of Javascript and adding OOP syntactical sugar and hiding the nuances (globals etc.) of JS 'behind the scenes' etc.
Each programming language tried to exploit and capitalize on a particular niche IMHO. The above are my perspectives on what were the founding principles of the programming languages and that governed their evolution and widespread adoptability. Of course, there are many more, but the list is only intended as an example
However, I've struggled to understand the founding principles on which Ruby is based and its growing popularity. What were the founding principles of Ruby that makes it popular today? Or is it the genius of one man who designed the Rails framework? If the latter was it that Ruby made the designing of Rails better/easier/faster? In what sense?
The most commonly cited reason as per its creator is '...wanted a fun weakly typed programming language' - I don't see that as a reason for creating a new programming language altogether! Programming is sheer fun IMHO irrespective of the language (each language has some bad parts, but one either gets around it or lives with it).
So what niche did (or does) Ruby exploit that isn't exploited by the current languages? What is the 'strong point' (USP) of Ruby that has led to its widespread adoptability? What did Ruby do that wasn't done before (or was extremely difficult)?
I'm not a Ruby programmer, but just a Ruby noob and hence the confusion.
Disclaimer: This is NOT a flame war and I'm not looking for Ruby vs Programming language type of answers. I am looking for the design decisions on which Ruby is based that has led to widespread adoption. What niche does Ruby satisfy to have become popular or is that purely attributed to Rails?