- No decent IDEs
- very few libraries. I think there are about 500 gems compared with around 20000 Java libs in open source alone
- no native threads
- An active record one: Active Record does not use prepared statements and executes very poorly on a database. Now maybe a language/framework does not always need to be fast, but it should allow for efficient execution on a database, which is often shared infrastructure.
- Slow? execution speed. I need to do my own measurement on this one but I have it on my radar as a problem.
- The possibility of developers creating unmaintable code with clever tricks. Not sure on this one either until I have more experience.