perl: This is the worst language I've come across. There are multiple different ways to do the exact same thing, sometimes the rules are understandable but mostly they are insane. For example, the "or" vs "||" is ridiculous to me, and the different namespaces between scalars and vectors such that you can have $a[$a] if I remember correctly. To me, it's a mess of hacks and 'this sounds like a great idea' that makes it almost impossible to maintain over long term.
ruby: In my opinion, ruby suffers the same fundamental problem as php, which is that designers learn to use it instead of those with CS backgrounds, and produce terrible code and terrible practices. I developed on php for a few years, and the company had a hard time finding new employees that would meet the hiring bar because everyone that applied didn't have a CS background so the entire company pivoted to Java. With ruby, you also have inexplicable shortcuts that make code very hard to read, like no distinction between member functions and member variables, things being optional or not like ?, etc. Reading ruby was extremely hard to me, and if you have a large codebase, it's torture.
scala: I know scala is revered by many but I hated it, but admittedly I only used it for a few brief and painful months. It's the first coding language I used that I couldn't survive without an IDE to help me figure out where code was coming from. It was basically impossible to trace through code without an IDE, at least for me. I think it does the same thing that perl does, which is give multiple ways to do the same thing which makes it very hard to read, and the "you don't have to do this if you want" mentality which also makes it hard to read especially for noobs. I hated it.
In my opinion, the easiest language to work in is go. Go has an opinionated, single way to do things, and go fmt is the ultimate arbiter or coding style. No more arguments! I LOVE that you have no choice because it means you have less cognitive load to worry about. Yes, you lose creativity but at the benefit of maintainability. It's not my favorite language, but in terms of how easy it is to jump into a codebase, I feel that it's go. The only thing that I don't like is that package names and struct names are hard to differentiate, so you need the IDE to sort that out for you. For example tool.func1() could either being an package or a struct, so this needs IDE help as well.
My favorite language is Python. I can do things in Python in 5-10 mins that would take me 1 hour in C++ to do in boiler plate. To me, it's the most productive language if you want to get stuff done as quickly as possible. It doesn't scale like compiled languages, but that's a problem for success and most don't reach that stage in the first place.