I have used all the main languages on large projects, and my conclusion is:
1. Ladder is best for about 80% of the code because it is best at visualising the flow of logic within a statement.
2. Function Block is prefered when the code is more about the flow of the data than logic intensive. Usually best at continuous tasks associated with complex PID controls.
3. SFC (Sequential Function Chart) is not really a language, but a means of organising segments of code at a higher level. Useful in some applications, but not all.
4. ST (Structured Text) is there for just three reasons, one so that "prgramming geeks" who can only think in text based languages can do automation, two, some applications can have very intensive case-based decision making that is more efficient to do in ST, and finally, so that the European vendors can get away with selling half-a$$ed software with useless ladder editors.
There is no doubt that highly proficient programmers will tend to migrate towards text based programming because it is faster for them to type it in, but the downside is decreased readability for anyone else following them. ST is ok if your software is only ever going to be read by your fellow geeks, but automation code is often around for decades after it was written and may need accessing by many different people over that time, most of whom are just trying to do a little troubleshooting or a few mods.
For that reason I believe Ladder will remain the "universal" language for automation for a long time to come.