We want our students to understand technology at a conceptual level first, end to end:
1. Client side - Mobile, web, terminal 2. Server side - Database interactions, system design and optimization 3. Batch - ML models and scripting
AFAIK, JavaScript is the only language that is able to cover everything end to end (front end to backend to scripting to even ML) so I'm able to come up with appropriate exercises for each of the moving parts.
Afterwards, they should pickup domain specific language that optimizes for each task.
I think it may be too overwhelming for students to learn different languages and learn the high level concepts at the same time.