In the recent times, Rust is becoming very popular, and used more and more by people and companies, but why? What is the pros and cons of Rust? Rust does not even have a spec.
Having a "spec" is not a prerequisite to popularity. Perhaps you believe it should be, but it is not.
Rust is effective, reasonably well documented, fully open and delivers something novel; bare metal performance with low defects in a practical language. I find no surprise that this has led to popularity. Just the idea of it was popular before people could really get their hands on it.
Rust is ranked 34th at 0.335%, below Lisp and Prolog.
Go is ranked 19th at 1.114%.
C is ranked 2nd at 14.233%
Rust does not have a stable, standard BNF grammar specification. The language reference document for Rust has 33 or 34 unspecified missing language definitions [see "FIXME" sections].
Even if the Tiobe rankings said Rust was popular, it wouldn't mean much. Their May 2019 rankings also say Apache Groovy has risen from #91 to #17 over the past 12 months, which is clearly wrong. Those rankings are being fiddled with via search engines such as Baidu.
I am not sure if it's already famous. What got my attention was that it simplified systems programing. I don't have a C/C++ background, Rust was my first attempt to learn a low level language. It's been rewarding so far.
This is untrue. Rust is unsafe in all aspects they are claiming to be safe. It's better than C, C++, or Go, but still type unsafe, memory unsafe and concurrency unsafe.
They are popular due to the wrong hype around their "safeties", and having a healthy community.
Rust is effective, reasonably well documented, fully open and delivers something novel; bare metal performance with low defects in a practical language. I find no surprise that this has led to popularity. Just the idea of it was popular before people could really get their hands on it.