How many times do you read “C++ is dead” or “Is the C programming language still used?”, but in the reality they still very popular.
And how many times we read “WOW this newcomer programming language is the best”, but after few years nothing really happens and the new language decrease in popularity. However, there are some exceptions, the most interesting one is python which rise from a not widely used scripting language to a very popular programming language.
What could explain the longevity of C, the reborn of C++ and the rising of python?
Let’s discover the crossing chasm theory from Wikipedia, which can help us to answer the below question.
In Crossing the Chasm, Moore begins with the diffusion of innovations theory from Everett Rogers, and argues there is a chasm between the early adopters of the product(the technology enthusiasts and visionaries) and the early majority (the pragmatists). Moore believes visionaries and pragmatists have very different expectations, and he attempts to explore those differences and suggest techniques to successfully cross the “chasm”.
Crossing the Chasm is closely related to the technology adoption lifecycle where five main segments are recognized: innovators, early adopters, early majority, late majority and laggards. According to Moore, the marketer should focus on one group of customers at a time, using each group as a base for marketing to the next group. The most difficult step is making the transition between visionaries (early adopters) and pragmatists (early majority). This is the chasm that he refers to. If a successful firm can create a bandwagon effect in which enough momentum builds, then the product becomes a de facto standard.
Moore demonstrates that in fact, there are cracks in the curve, between each phase of the cycle, representing a disassociation between any two groups; that is, “the difficulty any group will have in accepting a new product if it is presented the same way as it was to the group to its immediate left.” The largest crack, so large it can be considered a chasm, is between the Early Adopters and the Early Majority. Many (most) high tech ventures fail trying to make it across this chasm.
The Early Adopters are the rare breed of visionaries “who have the insight to match an emerging technology to a strategic opportunity,… driven by a ‘dream’. The core dream is a business goal, not a technology goal, and it involves taking a quantum leap forward in how business is conducted in their industry or by their customers… Visionaries drive the high-tech industry because they see the potential for an ‘orderof-magnitude’ return on investment and willingly take high risks to pursue that goal.
The Early Majority are pragmatists… “they care about the company they are buying from, the quality of the product they are buying, the infrastructure of supporting products and system interfaces, and the reliability of the service they are going to get… Pragmatists tend to be ‘vertically’ oriented, meaning that they communicate more with others like themselves within their own industry than do technology 2 enthusiasts and early adopters… It is very difficult to break into a new industry selling to pragmatists.
Even if crossing the chasm is more related to selling a product, but it can be also applied to the programming languages adoption. Indeed for each newcomer language, the innovators and the early adopters are their first advocates but many new programming languages fail to convince the early majority and can’t cross the chasm.
C and C++ crossed the chasm 40 years ago and are very popular. And it’s very difficult to convince the Early majority and the late majority to migrate from C/C++ to another language. Many times I read that D, Go or Rust will kill C++, but nothing happens. These newcomer languages still have many difficulties to cross the chasm.
Python is the best example of a language that crossed the chasm. It’s now very popular and from a scripting language, it becomes a popular versatile language. Why does it happen for python?
Let’s go back to this Moore assertion:
According to Moore, the marketer should focus on one group of customers at a time, using each group as a base for marketing to the next group. The most difficult step is making the transition between visionaries (early adopters) and pragmatists (early majority).
The innovators and the early adopters did a good job as advocates and supporters of the language. Indeed, from the beginning, there’s plenty of documentation, guides, tutorials and more. Plus, the developer community is incredibly active. That means any time someone needs help or support, they can get it in a timely manner. Furthermore, Google adopted Python heavily back in 2006, and they’ve used it for many platforms and applications since. Having a corporate sponsor helps a lot to make a language popular.
Special thanks to the early adopter of python who contribute a lot to make it a successful language and good luck to the early adopters of the other newcomer programming languages.