[DÚVIDA ] Porquê Python se C/C++ é bem melhor??
Contexto Inicial:
Em um teste para uma empresa, foi me pedido para tratar uns dados, subir num banco de dados e retorna uma analise dos dados. Até aqui tudo certo, fiz usando Python e pandas(Apesar de saber, não sou dev e não gosto muito do python).
O problema que o Python ao ler o CSV(gigante!) me retornava uma falha de segmentação. quando lia por volta de 2000 a 3000 linhas do arquivo, o script parava e retornava a falha, o kernel(linux) salva a falha no log e vida que segue.
Nada dava certo. Então separei o problema em 2 partes, ou scripts. O primeiro era escrito em C, lia o arquivo CSV, armazenava 5000 linhas em outro aquivo .txt e o segundo script, em Python, lia o novo arquivo gerado, formatava os dados e enviava para o mongo atlas.
Ao escrever o script C, a memoria era liberada e por isso o arquivo podia ser lido sem travar. Ou seja, Ponteiros Wins!
A Questão:
Aprendendo TensorFlow recebi o mesmo problema, falha de segmentação!(frustrante). E me veio a mente, porquê escrever o Tensorflow para uso com o python e não para uso direto com C/C++?(embora possa ser usado com C++, não é a mesma coisa)
Porquê não desenvolver uma biblioteca para uso direto em linguagens de médio nivel como C e C++?? Não seria mais lógico desenvolver redes neurais(que faz uso de muito calculo com matrizes, grafos, etc) em linguagens com mais controle, e consequentemente melhor otimização do trabalho?
PS1 - Entendo que Python torna o trabalho com redes neurais mais acessivel para não programadores e pesquisadores de outras areas.
PS2 - Ao usar Torch com Lua pude desenvolver pequenas redes sem problemas. o mesmo com PyThorch. O Erro de segmentação só ocorre com o python e apenas quando uso programas mais 'pesados' como o tensorflow ou o pandas(pandas é pesado?? haha). Isso tira a possibilidade de falha na memoria fixa.
PS3 - Pelo pouco que vi, erro de segmentação é uma especie de overflow porém mais vago. Pode ser um erro da gestão de memoria do proprio python, do kernel, da memoria fisica(defeito), de qualquer lugar. Uso o arch linux, tenho 7 anos de experiencia com ambientes linux mas não entendo nem nunca precisei ler os logs do sistema/kernel, e como não sou dev python, acho um trabalho desnecessario pesquisar/solucionar isso. Esse erro também acontece no meu segundo notebook, rodando Manjaro.
PS4 - A empresa para qual fiz o script disse que eu podia fazer o desafio como quisesse, usando a linguagem de minha escolha: ao entregar o script eles nunca nem retornaram a mensagem kkkkkk a vida do 'junior'(buscando minha primeira oportunidade) é uma humilhação...