Executando verificação de segurança...
2

Dentro da avaliação técnica eu concordo com tudo que foi dito, mas no escopo de negócio eu acredito que linguagem é não apenas importante, como a escolha correta (baseado em fatores mercadológicos), pode significar a vida de um negócio.

Pensando com a cabeça de um CTO ou até mesmo CEO de uma startup, se eu decidir iniciar um projeto com Javascript sei que em cada esquina vou encontrar mão de obra, e portanto, será mais "barato" escalar no longo prazo.

Se eu iniciar o mesmo projeto em Ruby, por exemplo, se minha empresa estiver longe dos grandes centros já posso esquecer a contratação presencial, e certamente o custo de manutenção será maior, chegando até o ponto da refatoração total para outra linguagem mais popular por falta de orçamento técnico.
Já vi acontecer, é caro, causa demissões e às vezes invibializa um projeto inteiro.

Carregando publicação patrocinada...
2

Você está correto, Heigler... e obrigado por ampliar o que eu resumi em uma oração (segunda oração de meu segundo parágrafo).

Basei-me mais pela proposição inicial, cujos requisitos são para atender a um projeto pessoal e não a uma requisito comercial e de considerável monta.

A linguagem deve ser adequada ao tamanho e requisitos do projeto.

Como foi citado o caso de uma starup, além da linguagem adequada, o que é uma pequena fração a ser considerada, temos também que abordar coisas como: Tornando sua App Web Mais Rápida! | 4 Técnicas de Otimização.

Agora, pensando em fazer o que o consultor/administrador de empresas Carlos Júlio fala: começar pequeno e crescer rápido, que em nossa área nos referimos em fazer algo que deve escalar, temos que ampliar o assunto indo mais na linha do vídeo A Forma Ideal de Projetos Web | Os 12 Fatores um compilado de The Twelve-Factor App.

Isso também pode ser conferido no artigo Engenharia de Software na Web: os 12 fatores, que descreve cada ponto.:

  1. Base de código
    • Uma base de código com rastreamento utilizando controle de versões, muitos deploys
  2. Dependências
    • Declare e isole as dependências explicitamente
  3. Configurações
    • Armazene as configurações no ambiente
  4. Serviços de Apoio
    • Trate os serviços de apoio como recursos anexados
  5. Construa, lance, execute
    • Separe estritamente os builds e execute em estágios
  6. Processos
    • Execute a aplicação como um ou mais processos que não armazenam estado
  7. Vínculo de Porta
    • Exporte serviços via vínculo de portas
  8. Concorrência
    • Escale através do modelo de processos
  9. Descartabilidade
    • Maximize robustez com inicialização rápida e desligamento gracioso
  10. Paridade entre desenvolvimento e produção
    • Mantenha o desenvolvimento, homologação e produção o mais similares possível
  11. Logs
    • Trate logs como fluxos de eventos
  12. Processos administrativos
    • Rode tarefas de administração/gestão em processos pontuais

Mais uma vez, vemos que a linguagem é só um item, dentre outras 12 estratégias.

Para entender mais, veja este "estudo de caso" Como fazer o Ingresso.com escalar? | Conceitos Intermediários de Web.