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

Bom. Na verdade C# foi minha primeira opção eu a deixei de fora pois é minha linguagem principal, logo era injusto comparar com minhas pesquisas Durante a semana. E sim eu faria nela se pudesse pagar pelos recursos. Não pretendo criar um monólito e preciso de no mínimo 3 serviços para iniciar. O que em c# me custaria muita memória (cerca de 500mb em pico). Mais do que posso pagar, o que no momento é: 0.

Sobre os critérios, acho que essa impressão sobre crystal ficou muito mais pela falta do que excesso. Ahh e se a linguagem tem defeitos. Tive que fazer questão de deixar no fim um disclaimer sobre. De forma alguma quero que alguém a escolha por isso. Eu sei dos riscos e do que posso tolerar da linguagem. C# por exemplo, apesar de não possuir um sistema de inferência de tipos mais forte, é sempre minha primeira opção pela solidez.

Porém, o post no geral era realmente sobre o que as pessoas consideram: "produtivo". E respeito bastante o argumento de que abordagens mais conservadoras podem a longo prazo serem mais benéficas ao processo.

Contudo, tenho que discordar em parte sobre dois pontos: o sistema de macros, ressaltei é claro que esses devem ser ínfimos, e aplicados cirurgicamente. E sobre o sistema de lifetime. Esses sim tenho que reforçar, criar abstrações em certos aspectos em rust é doloroso. Leva muito tempo, esforço e aumenta a complexidade de forma absurda. Existem frameworks em rust em que um simples http response tem 4 argumentos genéricos com 2 sendo de lifetime.

E pra finalizar, diria que só tenho duas tristezas nessa vida: Swift estar na mão da Apple e Scala ter sido criada sob a JVM.

Carregando publicação patrocinada...
1

Ficou mais estranho ainda querer evitar monólito (o Stack Overflow não evitou, pode atender demanda de um dos 30 sites de mais acessados no mundo com um servidor, tudo em C#, porque eles não tinham rios de dinheiro, sem contar os inúmeros casos de serverless).

Não entendi de onde vem esses 500MB do C#, nem que Crystal atende o critério de poder pagar 0, muito menos como Crystal consegue ser segura (se não for temo opções melhores), não ter controle de tempo de vida (obrigatório para ser seguro sem GC), coletor de lixo (porque só assim vai gastar muito menos memória que C#), mas eu sempre gosto de aprender (GC baseado no Boehm é extremamente ineficiente, gastador de memória e causa vazamentos, foi ele que deu má fama aos GCs). Nem deveria ter uma linguagem com GC na conversa quando o requisito é estrito consumo de memória. Se falar que vai desligar o GC, C# também pode, mas em qualquer caso consome mais memória ainda, e se for gerenciar a memória na mão, não consigo imaginar porque não usar outras coisas inseguras. (avabei de descobrir que atualmente ela vaza memória em hello world).

Nem imagino que ganho terá em quebrar os executáveis, ou quanta economia fará (em geral isso é custo). E espero que não esteja falando de arquitetura de microsserviços, a não ser que esqueceu de falar que está trabalhando em um dos maiores projetos do mundo, e onde vai achar tanto programador e Crystal.

Acho que se apega a pontos pouco importantes e não está observando casos reais, misturando coisas, que me fez pensar desde o início que estava fazendo cherry picking. Pelo menos espero que já domine Crystal. Dominar e ter um ecossistema forte d~´ao mais produtividade que detalhes pequenos (eu diria minísculos pelo que foi indicado).

Eu acho que você tem uma visão equivocadas de algumas coisas e escolheu ter essa visão (não por falta de conhecimento técnico), eu poderia ficar argumentando, mas eu sei pouco do que realmente quer fazer (inicialmente falou de algo e depois mudou na (t)replíca) para argumentar melhor e parece que não será produtivo.

Mas estou sempre aberto a aprender, por isso bato muito na tecla que não consigo ver, imaginar, entender sobre certas decisões.

2

Não quero ser muito aguerrido nessa discussão pois tenho que dizer: sim, eu testei C#. Sim, eu testei outras linguagens. Lembre, você não sabe qual projeto estou trabalhando. E não, C# não consegue atender meus requisitos de memória uma vez que apenas para subir uma instância da clr com Aspnet é necessário 80mb de memória enquanto Crystal ou Go gastam 3. A escolha da arquitetura não é por moda e sim por praticidade. Não é um site apenas, logo não consigo manter tudo em um servidor. Então compreenda que fiz uma escolha apropriada pra mim. Não recomendei a ninguém que faça a mesma. Mas esses pontos se disponíveis em uma linguagem simplesmente me fazem escrever rapidamente um código extremamente limpo. E aposto que concorda com a maioria já que c# e f# apresentam quase todas as características que citei.

0

Por isso ficou improdutivo, parece que só queria desabafar, não dá detalhes e pede para opinarmos.

De qualquer forma agora veio mais algumas informações que confirmam vários aspectos do que eu disse, principalmente de fazer cherry picking sobre o que eu disse e do que responder. E mais uma, que é sobre a apostagem não ser sobre ser produtivo.

É claro que Crystal gasta menos memória inicial, porque gasta mais depois, afina usa um GC ingénuo, que é quase um mock, por isso dizem que vão mudar, e vai gastar mais memória e aí perde a vantagem pretendida por não ter controle sobre isso.

Eu fui ver mais sosbre Crystal e percebi que a comunidade dela é bastante ingênua, parecido com o que acontece com V, e acreditam em coisas que a computação não permite e acabam fazendo marketing para si mesmos de que fizeram a escolha certa. E acabam convencendo outras disso.

Não estou dizendo que Crystal seja uma linguagem ruim, eu já havia avaliado antes e sei que tem méritos e eu poderia usar em algum cenário, mas ela não é tão boa quanto alguns acham. Fazem parecer que ela é mágica, quando apenas não estão vendo o truque.

Faltou decidir se queria produtividade, baixo consumo real de memória ou outra coisa.

No fundo a maioria dos projetos nem precisam de muito cuidado, a pessoa faz de um jeito que não o ideal, mas funciona, e fica todo mundo feliz, não importa se é produtivo, se não atende requisitos que nem precisavam existir.

Por tudo isso não tenho mais o que dizer. Boa sorte no seu projeto.

2

Eu respeitei sua opinião de que o impacto do que apontei pode ser subestimado. Desde o primeiro comentário. Rebati alguns pontos. Mas essa insistência em falar sobre o projeto em si me cansa. O post nunca foi sobre isso. Ainda sim agradeço por tudo. Quem sabe um dia eu perceba que você está completo de razão, ou não. Isso só o futuro determina. Obrigado por comentar.