- Static types are awesome (in the case of TypeScript) for large projects that need to be maintained over time.
- Debugging can be a pain if your source maps do not map nicely to your pre-compiled source.
- Most developers are not familiar with these languages and will need to learn it. There's a ramp up cost involved for your team if you use it for your projects.
- Smaller community (depends on the language), which means resources, tutorials, libraries, and tooling would be harder to find.
- IDE/editor support might be lacking.
- Developers should be cognizant of what their code is being compiled to — because that is what would actually be running, and that is what matters in the end.