Não, não é de todo para trás.
A "direção" tem muito a ver com nossa perspectiva. Um usuário satisfeito com o caminho atual para interfaces simples, "uma experiência de todos os dispositivos", verá a CLI como um retrocesso ou uma regressão, com certeza. Não está de acordo com suas expectativas gerais.
Um programador, administrador ou usuário avançado pode vê-lo como a progressão lógica das ferramentas de acordo com sua experiência. Muitos deles começam usando ferramentas GUI. Quando eles querem ou precisam escalar, eles rapidamente descobrem porque a CLI existe e que a progressão ressoa com aqueles que estão construindo mais ferramentas CLI.
Existe isto por Paul Ferris: link
Para mim, pessoalmente, a ideia de sintaxe diferencia os dois. Quando a sintaxe está um pouco presente em uma GUI, o resultado quase nunca é bom e tão flexível quanto a sintaxe CLI bem pensada. Quando isso é acoplado a pipes e redirecionamento, a GUI fica inativa porque não é muito útil fora dos casos de uso planejados.
Minha preferência pessoal sobre isso é ferramentas CLI que oferecem uma opção --gui ou --verbose suficiente para permitir que um wrapper GUI interaja de uma forma robusta, incluindo barras de status e outros elementos básicos que as pessoas procuram na GUI.
É claro que o custo disso é essencialmente dois programas com um bastante inútil sem o outro, mas o maior benefício é poder incorporar uma ou mais ferramentas CLI em uma GUI personalizada sem modificação das referidas ferramentas CLI. Na maioria das vezes isso é feito apenas para oferecer uma opção GUI em uma determinada CLI, mas a ideia de conduzir várias ferramentas com uma GUI orientada a "processo" ou "caso de uso" pode fornecer resultados semelhantes ao encadeamento, redirecionamento e criação de scripts para esse caso de uso. disponibilizá-lo para pessoas que não realizariam essas operações com regularidade suficiente para atingir o domínio e, ao mesmo tempo, não inibir os usuários do CLI.
Eu encontrei essa abordagem no SGI IRIX e gostei muito dela. Eu encontrei-me usando a interface gráfica ou a linha de comando, conforme necessário, e o bom era saber exatamente o que os botões de fantasia estavam realmente fazendo.
Onde há muitos ambientes operacionais diferentes, os wrappers GUI podem diferir consideravelmente sem afetar a ferramenta CLI também.
Eu vejo isso no Linux hoje, com coisas como ferramentas de disco / sistema de arquivos, onde a GUI pode agregar muito valor até mesmo aos usuários familiares do CLI.
No caso de sistemas de arquivos / discos / dispositivos conhecidos, eliminar o CLI não é difícil, e pode ser roteirizado, é claro. Erros podem ser dolorosos no entanto.
Quando não são conhecidas, ou talvez a execução das operações não seja feita regularmente o suficiente para permanecer sólida e livre de erros, a execução da GUI fornece um ambiente que pode ser facilmente verificado, operações encadeadas e executadas com confiança. scripts necessários.